|
|
from flask import Flask, request, jsonify |
|
|
import numpy as np |
|
|
import random |
|
|
import time |
|
|
|
|
|
app = Flask(__name__) |
|
|
|
|
|
|
|
|
shared_data = { |
|
|
"users": [ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
] |
|
|
} |
|
|
|
|
|
|
|
|
account_model = { |
|
|
"id": None, |
|
|
"timestamp": int(time.time()), |
|
|
"udid": None, |
|
|
"platform": None, |
|
|
"credit": 100 |
|
|
} |
|
|
|
|
|
|
|
|
def generate_new_id(): |
|
|
if not shared_data["users"]: |
|
|
return 1 |
|
|
return max(user["id"] for user in shared_data["users"]) + 1 |
|
|
|
|
|
|
|
|
@app.route('/') |
|
|
def home(): |
|
|
return "stablediffusionapi test" |
|
|
|
|
|
|
|
|
@app.route('/users', methods=['GET']) |
|
|
def get_users(): |
|
|
return jsonify({"users": shared_data["users"]}) |
|
|
|
|
|
|
|
|
@app.route('/user/<udid>', methods=['GET']) |
|
|
def get_user_by_udid(udid): |
|
|
|
|
|
user = next((u for u in shared_data["users"] if u["udid"] == udid), None) |
|
|
|
|
|
if user: |
|
|
|
|
|
return jsonify({ |
|
|
"id": user["id"], |
|
|
"timestamp": user["timestamp"], |
|
|
"udid": user["udid"], |
|
|
"platform": user["platform"], |
|
|
"credit": user["credit"] |
|
|
}) |
|
|
else: |
|
|
|
|
|
new_user = { |
|
|
"id": generate_new_id(), |
|
|
"timestamp": int(time.time()), |
|
|
"udid": udid, |
|
|
"platform": request.headers.get('User-Agent', 'unknown'), |
|
|
"credit": 100 |
|
|
} |
|
|
|
|
|
|
|
|
shared_data["users"].append(new_user) |
|
|
|
|
|
|
|
|
return jsonify({ |
|
|
"id": new_user["id"], |
|
|
"timestamp": new_user["timestamp"], |
|
|
"udid": new_user["udid"], |
|
|
"platform": new_user["platform"], |
|
|
"credit": new_user["credit"] |
|
|
}), 201 |
|
|
|
|
|
if __name__ == '__main__': |
|
|
app.run(host='0.0.0.0', port=7860) |