37 lines
1.2 KiB
Python
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())
|
|
|