Files
neonsr/sdk_server/controllers/login/login_controller.py
Naruse ec8972d5d6 init
2025-04-15 19:36:05 +08:00

42 lines
1.5 KiB
Python

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())