from flask import Blueprint, jsonify, request from database.account.account_data import create_new_account from sdk_server.models.login.login_data import LoginReq,LoginRsp,Account from database.account.account_data import find_account_by_name login_blueprint = Blueprint('login', __name__) @login_blueprint.route('/hkrpg_cn/mdk/shield/api/login', methods=['POST']) @login_blueprint.route('/hkrpg_global/mdk/shield/api/login', methods=['POST']) @login_blueprint.route('/account/ma-cn-passport/app/loginByPassword', methods=['POST']) def login(): body=request.get_json() try: login_req = LoginReq(**body) except Exception as e: return jsonify({"error": "Invalid input", "details": str(e)}), 400 account_data=find_account_by_name(login_req.account) if not account_data: create_new_account(login_req.account) account_data=find_account_by_name(login_req.account) rsp=LoginRsp( retcode=0, message="success", data=LoginRsp.Data( account=Account( uid=str(account_data.id), name=account_data.username + "@MikuMiku", token=account_data.token, is_email_verify=0, realname="Miku", identity_card="114514", country="OS", area_code="OS", ), device_grant_required=False, realname_operation="NONE", realperson_required=False, safe_mobile_required=False ) ) return jsonify(rsp.model_dump())