| | from flask import Flask, jsonify, request |
| | import time |
| |
|
| | app = Flask(__name__) |
| |
|
| | fake_db = { |
| | "accounts": [], |
| | "generate_lists": { |
| | "items": [ |
| | { |
| | "title": "3D Anime Generate", |
| | "content": [ |
| | { |
| | "credit": 100, |
| | "id": "1", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/0.jpg", |
| | "name": "REALISTIC", |
| | "level": 0 |
| | }, |
| | { |
| | "credit": 80, |
| | "id": "2", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/2.jpg", |
| | "name": "DRAWING", |
| | "level": 0 |
| | }, |
| | { |
| | "id": "3", |
| | "name": "TOY FIGURE", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/3.jpg", |
| | "credit": 60, |
| | "level": 1 |
| | }, |
| | { |
| | "id": "4", |
| | "name": "3D", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/4.jpg", |
| | "credit": 120, |
| | "level": 2 |
| | }, |
| | { |
| | "id": "5", |
| | "name": "ANIMATION", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/1.jpg", |
| | "credit": 90, |
| | "level": 2 |
| | } |
| | ] |
| | }, |
| | { |
| | "title": "REALISTIC Generate", |
| | "content": [ |
| | { |
| | "id": "6", |
| | "name": "REALISTIC", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/0.jpg", |
| | "credit": 100, |
| | "level": 1 |
| | }, |
| | { |
| | "id": "7", |
| | "name": "DRAWING", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/2.jpg", |
| | "credit": 80, |
| | "level": 1 |
| | }, |
| | { |
| | "id": "8", |
| | "name": "TOY FIGURE", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/3.jpg", |
| | "credit": 60, |
| | "level": 1 |
| | }, |
| | { |
| | "id": "9", |
| | "name": "3D", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/4.jpg", |
| | "credit": 120, |
| | "level": 1 |
| | }, |
| | { |
| | "id": "10", |
| | "name": "ANIMATION", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/1.jpg", |
| | "credit": 90, |
| | "level": 3 |
| | } |
| | ] |
| | }, |
| | { |
| | "title": "DRAWING Generate", |
| | "content": [ |
| | { |
| | "id": "11", |
| | "name": "REALISTIC", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/0.jpg", |
| | "credit": 100, |
| | "level": 3 |
| | }, |
| | { |
| | "id": "12", |
| | "name": "DRAWING", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/2.jpg", |
| | "credit": 80, |
| | "level": 3 |
| | }, |
| | { |
| | "id": "13", |
| | "name": "TOY FIGURE", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/3.jpg", |
| | "credit": 60, |
| | "level": 2 |
| | }, |
| | { |
| | "id": "14", |
| | "name": "3D", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/4.jpg", |
| | "credit": 120, |
| | "level": 2 |
| | }, |
| | { |
| | "id": "15", |
| | "name": "ANIMATION", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/1.jpg", |
| | "credit": 90, |
| | "level": 2 |
| | } |
| | ] |
| | }, |
| | { |
| | "title": "ANIMATION Generate", |
| | "content": [ |
| | { |
| | "id": "16", |
| | "name": "REALISTIC", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/0.jpg", |
| | "credit": 100, |
| | "level": 3 |
| | }, |
| | { |
| | "id": "17", |
| | "name": "DRAWING", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/2.jpg", |
| | "credit": 80, |
| | "level": 1 |
| | }, |
| | { |
| | "id": "18", |
| | "name": "TOY FIGURE", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/3.jpg", |
| | "credit": 60, |
| | "level": 1 |
| | }, |
| | { |
| | "id": "19", |
| | "name": "3D", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/4.jpg", |
| | "credit": 120, |
| | "level": 2 |
| | }, |
| | { |
| | "id": "20", |
| | "name": "ANIMATION", |
| | "imageUrl": "https://huggingface.co/spaces/anime-backend/stablediffusionapi/resolve/main/assets/images/1.jpg", |
| | "credit": 90, |
| | "level": 2 |
| | } |
| | ] |
| | } |
| | ] |
| | } |
| | } |
| |
|
| | def generate_new_id(): |
| | if not fake_db["accounts"]: |
| | return 1 |
| | return max(account["id"] for account in fake_db["accounts"]) + 1 |
| |
|
| | @app.route('/account/<platform>/<udid>', methods=['GET']) |
| | def get_or_create_account(platform, udid): |
| | platform = platform.upper() |
| | if platform not in ["IOS", "AND"]: |
| | return jsonify({ |
| | "success": False, |
| | "object": None, |
| | "error": "Invalid platform" |
| | }), 400 |
| |
|
| | account = next((acc for acc in fake_db["accounts"] if acc["udid"] == udid), None) |
| | |
| | if account: |
| | return jsonify({ |
| | "success": True, |
| | "object": { |
| | "account": { |
| | "id": account["id"], |
| | "timestamp": account["timestamp"], |
| | "udid": account["udid"], |
| | "platform": account["platform"], |
| | "credit": account["credit"], |
| | "level": account["level"] |
| | } |
| | }, |
| | "error": None |
| | }) |
| | else: |
| | new_account = { |
| | "id": generate_new_id(), |
| | "timestamp": int(time.time()), |
| | "udid": udid, |
| | "platform": platform, |
| | "credit": 100, |
| | "level": 0 |
| | } |
| | fake_db["accounts"].append(new_account) |
| | |
| | return jsonify({ |
| | "success": True, |
| | "object": { |
| | "account": { |
| | "id": new_account["id"], |
| | "timestamp": new_account["timestamp"], |
| | "udid": new_account["udid"], |
| | "platform": new_account["platform"], |
| | "credit": new_account["credit"], |
| | "level": new_account["level"] |
| | } |
| | }, |
| | "error": None |
| | }), 201 |
| |
|
| |
|
| | @app.route('/update/account/<udid>', methods=['POST']) |
| | def update_account_by_udid(udid): |
| | try: |
| | if not request.is_json: |
| | return jsonify({ |
| | "success": False, |
| | "error": "Content-Type must be application/json" |
| | }), 400 |
| |
|
| | incoming_data = request.get_json() |
| | |
| | |
| | account = next((acc for acc in fake_db["accounts"] if acc["udid"] == udid), None) |
| | |
| | if not account: |
| | return jsonify({ |
| | "success": False, |
| | "error": "Account not found" |
| | }), 404 |
| | |
| | |
| | if 'credit' in incoming_data: |
| | account['credit'] = int(incoming_data['credit']) |
| | if 'level' in incoming_data: |
| | account['level'] = int(incoming_data['level']) |
| | if 'platform' in incoming_data: |
| | account['platform'] = incoming_data['platform'].upper() |
| | |
| | account['timestamp'] = int(time.time()) |
| | |
| | return jsonify({ |
| | "success": True, |
| | "object": { |
| | "account": account |
| | } |
| | }) |
| | |
| | except Exception as e: |
| | return jsonify({ |
| | "success": False, |
| | "error": str(e) |
| | }), 500 |
| | |
| |
|
| | @app.route('/generate_list', methods=['GET']) |
| | def get_generate_list(): |
| | return jsonify({ |
| | "success": True, |
| | "object": { |
| | "generate_lists": fake_db["generate_lists"] |
| | }, |
| | "error": None |
| | }) |
| |
|
| | if __name__ == '__main__': |
| | app.run(host='0.0.0.0', port=7860) |