import json from flask import Blueprint, jsonify, request from utils.crypto import generate_combo_token from sdk_server.models.login.login_v2_data import LoginV2Req,LoginV2Rsp from database.account.account_data import find_account_by_uid login_v2_blueprint = Blueprint('login_v2', __name__) @login_v2_blueprint.route('/hkrpg_cn/combo/granter/login/v2/login', methods=['POST']) @login_v2_blueprint.route('/hkrpg_global/combo/granter/login/v2/login', methods=['POST']) def login_v2(): res=LoginV2Rsp() body=request.json login_v2_req=LoginV2Req(**body) data_dict = json.loads(login_v2_req.data) token_data = LoginV2Req.Data(**data_dict) if not token_data: res.retcode=0 res.message="Invalid login data" return jsonify(res.model_dump()) account_data=find_account_by_uid(int(token_data.uid)) if not account_data: res.retcode=-201 res.message="Game account cache information error" return jsonify(res.model_dump()) res.message="OK" res.data=LoginV2Rsp.Data( account_type=1, open_id=str(account_data.id), combo_token=generate_combo_token(str(account_data.id)), data="{\"guest\":false}" ) return jsonify(res.model_dump())