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

37 lines
1.2 KiB
Python

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