init
This commit is contained in:
16
sdk_server/controllers/config/agreement_controller.py
Normal file
16
sdk_server/controllers/config/agreement_controller.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from flask import Blueprint, jsonify
|
||||
from sdk_server.models.config.agreement_data import AgreementInfoRsp
|
||||
|
||||
agreement_blueprint = Blueprint('agreement', __name__)
|
||||
|
||||
@agreement_blueprint.route('/hkrpg_cn/mdk/agreement/api/getAgreementInfos', methods=['GET'])
|
||||
@agreement_blueprint.route('/hkrpg_global/mdk/agreement/api/getAgreementInfos', methods=['GET'])
|
||||
def agreement():
|
||||
response_data = AgreementInfoRsp(
|
||||
retcode=0,
|
||||
message="OK",
|
||||
data=AgreementInfoRsp.Data(
|
||||
marketing_agreements=[]
|
||||
)
|
||||
)
|
||||
return jsonify(response_data.model_dump())
|
||||
19
sdk_server/controllers/config/alert_ann_controller.py
Normal file
19
sdk_server/controllers/config/alert_ann_controller.py
Normal file
@@ -0,0 +1,19 @@
|
||||
from flask import Blueprint, jsonify
|
||||
from sdk_server.models.config.alert_ann_data import AlertAnnRsp
|
||||
|
||||
alert_ann_blueprint = Blueprint('alert_ann', __name__)
|
||||
|
||||
@alert_ann_blueprint.route('/common/hkrpg_cn/announcement/api/getAlertAnn', methods=['GET'])
|
||||
@alert_ann_blueprint.route('/common/hkrpg_global/announcement/api/getAlertAnn', methods=['GET'])
|
||||
def alert_ann():
|
||||
response_data = AlertAnnRsp(
|
||||
retcode=0,
|
||||
message="OK",
|
||||
data=AlertAnnRsp.Data(
|
||||
alert=False,
|
||||
alert_id=0,
|
||||
remind=True,
|
||||
extra_remind=True
|
||||
)
|
||||
)
|
||||
return jsonify(response_data.model_dump())
|
||||
17
sdk_server/controllers/config/alert_pict_controller.py
Normal file
17
sdk_server/controllers/config/alert_pict_controller.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from flask import Blueprint, jsonify
|
||||
from sdk_server.models.config.alert_pic_data import AlertPicRsp
|
||||
|
||||
alert_pic_blueprint = Blueprint('alert_pic', __name__)
|
||||
|
||||
@alert_pic_blueprint.route('/common/hkrpg_cn/announcement/api/getAlertPic', methods=['GET'])
|
||||
@alert_pic_blueprint.route('/common/hkrpg_global/announcement/api/getAlertPic', methods=['GET'])
|
||||
def alert_pic():
|
||||
response_data = AlertPicRsp(
|
||||
retcode=0,
|
||||
message="OK",
|
||||
data=AlertPicRsp.Data(
|
||||
total=0,
|
||||
list=[]
|
||||
)
|
||||
)
|
||||
return jsonify(response_data.model_dump())
|
||||
13
sdk_server/controllers/config/batch_upload_controller.py
Normal file
13
sdk_server/controllers/config/batch_upload_controller.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from flask import Blueprint, jsonify
|
||||
from sdk_server.models.config.batch_upload_data import BatchUploadRsp
|
||||
|
||||
batch_upload_blueprint = Blueprint('batch_upload', __name__)
|
||||
|
||||
@batch_upload_blueprint.route('/common/h5log/log/batch', methods=['POST'])
|
||||
def batch_upload():
|
||||
response_data = BatchUploadRsp(
|
||||
retcode=0,
|
||||
message="success",
|
||||
data=[]
|
||||
)
|
||||
return jsonify(response_data.model_dump())
|
||||
35
sdk_server/controllers/config/combo_config_controller.py
Normal file
35
sdk_server/controllers/config/combo_config_controller.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from flask import Blueprint, jsonify
|
||||
from sdk_server.models.config.combo_config_data import ComboConfigRsp,QrEnabledApps,QrAppIcons
|
||||
|
||||
combo_config_blueprint = Blueprint('combo_config', __name__)
|
||||
|
||||
@combo_config_blueprint.route('/hkrpg_cn/combo/granter/api/getConfig', methods=['GET'])
|
||||
@combo_config_blueprint.route('/hkrpg_global/combo/granter/api/getConfig', methods=['GET'])
|
||||
def combo_config():
|
||||
response_data = ComboConfigRsp(
|
||||
retcode=0,
|
||||
message="OK",
|
||||
data=ComboConfigRsp.Data(
|
||||
protocol = True,
|
||||
qr_enabled = False,
|
||||
log_level = "INFO",
|
||||
announce_url = "",
|
||||
push_alias_type = 0,
|
||||
disable_ysdk_guard = True,
|
||||
enable_announce_pic_popup = False,
|
||||
app_name = "崩坏RPG",
|
||||
qr_enabled_apps=QrEnabledApps(
|
||||
bbs=False,
|
||||
cloud=False
|
||||
),
|
||||
qr_app_icons=QrAppIcons(
|
||||
app="",
|
||||
bbs="",
|
||||
cloud=""
|
||||
),
|
||||
qr_cloud_display_name="",
|
||||
enable_user_center=False,
|
||||
functional_switch_configs=[]
|
||||
)
|
||||
)
|
||||
return jsonify(response_data.model_dump())
|
||||
51
sdk_server/controllers/config/combo_controller.py
Normal file
51
sdk_server/controllers/config/combo_controller.py
Normal file
@@ -0,0 +1,51 @@
|
||||
from flask import Blueprint, jsonify
|
||||
from sdk_server.models.config.combo_data import (
|
||||
ComboRsp,
|
||||
KibanaPc,
|
||||
Report,
|
||||
Telemetry,
|
||||
LogFilter,
|
||||
RenderMethod,
|
||||
Function
|
||||
)
|
||||
|
||||
combo_blueprint = Blueprint('combo', __name__)
|
||||
|
||||
@combo_blueprint.route('/combo/box/api/config/sdk/combo', methods=['GET'])
|
||||
def combo():
|
||||
response_data = ComboRsp(
|
||||
vals=ComboRsp.Values(
|
||||
kibana_pc_config=KibanaPc(
|
||||
enable=1,
|
||||
level="Info",
|
||||
modules=["download"]
|
||||
),
|
||||
network_report_config=Report(
|
||||
enable=1,
|
||||
status_codes=[206],
|
||||
url_paths=["dataUpload", "red_dot"]
|
||||
),
|
||||
modify_real_name_other_verify=True,
|
||||
telemetry_config=Telemetry(
|
||||
dataupload_enable=1
|
||||
),
|
||||
enable_web_dpi=True,
|
||||
h5log_filter_config=LogFilter(
|
||||
function=Function(
|
||||
event_name=[
|
||||
"info_get_cps",
|
||||
"notice_close_notice",
|
||||
"info_get_uapc",
|
||||
"report_set_info",
|
||||
"info_get_channel_id",
|
||||
"info_get_sub_channel_id"
|
||||
]
|
||||
)
|
||||
),
|
||||
webview_rendermethod_config=RenderMethod(
|
||||
use_legacy=True
|
||||
),
|
||||
list_price_tierv2_enable=True
|
||||
)
|
||||
)
|
||||
return jsonify(response_data.model_dump())
|
||||
@@ -0,0 +1,17 @@
|
||||
from flask import Blueprint, jsonify
|
||||
from sdk_server.models.config.compare_protocol_ver_data import CompareProtocolVerRsp
|
||||
|
||||
compare_protocol_ver_blueprint = Blueprint('compare_protocol_ver', __name__)
|
||||
|
||||
@compare_protocol_ver_blueprint.route('/hkrpg_cn/combo/granter/api/compareProtocolVersion', methods=['POST'])
|
||||
@compare_protocol_ver_blueprint.route('/hkrpg_global/combo/granter/api/compareProtocolVersion', methods=['POST'])
|
||||
def compare_protocol_ver():
|
||||
response_data = CompareProtocolVerRsp(
|
||||
retcode=0,
|
||||
message="OK",
|
||||
data=CompareProtocolVerRsp.Data(
|
||||
modified=False,
|
||||
protocol=[]
|
||||
)
|
||||
)
|
||||
return jsonify(response_data.model_dump())
|
||||
12
sdk_server/controllers/config/data_upload_controller.py
Normal file
12
sdk_server/controllers/config/data_upload_controller.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from flask import Blueprint, jsonify
|
||||
from sdk_server.models.config.log_upload_data import LogUploadRsp
|
||||
|
||||
data_upload_blueprint = Blueprint('data_upload', __name__)
|
||||
|
||||
@data_upload_blueprint.route('/sdk/dataUpload', methods=['POST'])
|
||||
@data_upload_blueprint.route('/loginsdk/dataUpload', methods=['POST'])
|
||||
@data_upload_blueprint.route('/crashdump/dataUpload', methods=['POST'])
|
||||
@data_upload_blueprint.route('/apm/dataUpload', methods=['POST'])
|
||||
def data_upload():
|
||||
response_data = LogUploadRsp(code=0)
|
||||
return jsonify(response_data.model_dump())
|
||||
17
sdk_server/controllers/config/risky_check_controller.py
Normal file
17
sdk_server/controllers/config/risky_check_controller.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from flask import Blueprint, jsonify
|
||||
from sdk_server.models.config.risky_check_data import RiskyCheckRsp
|
||||
|
||||
risky_check_blueprint = Blueprint('risky_check', __name__)
|
||||
|
||||
@risky_check_blueprint.route('/account/risky/api/check', methods=['POST'])
|
||||
def risky_check():
|
||||
response_data = RiskyCheckRsp(
|
||||
retcode=0,
|
||||
message="OK",
|
||||
data=RiskyCheckRsp.Data(
|
||||
id="none",
|
||||
action="ACTION_NONE",
|
||||
geetest={}
|
||||
)
|
||||
)
|
||||
return jsonify(response_data.model_dump())
|
||||
42
sdk_server/controllers/login/login_controller.py
Normal file
42
sdk_server/controllers/login/login_controller.py
Normal file
@@ -0,0 +1,42 @@
|
||||
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())
|
||||
36
sdk_server/controllers/login/login_v2_controller.py
Normal file
36
sdk_server/controllers/login/login_v2_controller.py
Normal file
@@ -0,0 +1,36 @@
|
||||
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())
|
||||
|
||||
20
sdk_server/controllers/login/query_dispatch_controller.py
Normal file
20
sdk_server/controllers/login/query_dispatch_controller.py
Normal file
@@ -0,0 +1,20 @@
|
||||
import base64
|
||||
from flask import Blueprint
|
||||
from rail_proto.lib import Dispatch,RegionInfo
|
||||
|
||||
query_dispatch_blueprint = Blueprint('query_dispatch', __name__)
|
||||
|
||||
@query_dispatch_blueprint.route("/query_dispatch", methods=["GET"])
|
||||
def query_dispatch():
|
||||
rsp = Dispatch(
|
||||
retcode=0,
|
||||
region_list=[
|
||||
RegionInfo(
|
||||
name="NeonSR",
|
||||
title="NeonSR",
|
||||
env_type="21",
|
||||
dispatch_url="http://127.0.0.1:21000/query_gateway",
|
||||
)
|
||||
]
|
||||
)
|
||||
return base64.b64encode(rsp.SerializeToString()).decode()
|
||||
45
sdk_server/controllers/login/query_gateway_controller.py
Normal file
45
sdk_server/controllers/login/query_gateway_controller.py
Normal file
@@ -0,0 +1,45 @@
|
||||
import base64
|
||||
import json
|
||||
from flask import Blueprint,request
|
||||
from rail_proto.lib import GateServer
|
||||
|
||||
query_gateway_blueprint = Blueprint('query_gateway', __name__)
|
||||
|
||||
@query_gateway_blueprint.route("/query_gateway", methods=["GET"])
|
||||
def query_gateway():
|
||||
version = request.args.get('version')
|
||||
with open('version.json', 'r') as f:
|
||||
reader = json.load(f)
|
||||
config = reader.get(version)
|
||||
if config:
|
||||
rsp = GateServer(
|
||||
retcode=0,
|
||||
ip="127.0.0.1",
|
||||
port=23301,
|
||||
asset_bundle_url="",
|
||||
lua_url="",
|
||||
ex_resource_url="",
|
||||
mdk_res_version="",
|
||||
enable_version_update=True,
|
||||
enable_design_data_version_update=True,
|
||||
enable_save_replay_file=True,
|
||||
enable_upload_battle_log=True,
|
||||
enable_watermark=True,
|
||||
event_tracking_open=True,
|
||||
)
|
||||
else:
|
||||
rsp = GateServer(
|
||||
retcode=0,
|
||||
ip="127.0.0.1",
|
||||
port=23301,
|
||||
asset_bundle_url="",
|
||||
lua_url="",
|
||||
ex_resource_url="",
|
||||
enable_version_update=True,
|
||||
enable_design_data_version_update=True,
|
||||
enable_save_replay_file=True,
|
||||
enable_upload_battle_log=True,
|
||||
enable_watermark=True,
|
||||
event_tracking_open=True,
|
||||
)
|
||||
return base64.b64encode(rsp.SerializeToString()).decode()
|
||||
40
sdk_server/controllers/login/token_login_controller.py
Normal file
40
sdk_server/controllers/login/token_login_controller.py
Normal file
@@ -0,0 +1,40 @@
|
||||
from flask import Blueprint, jsonify, request
|
||||
from sdk_server.models.login.token_login_data import TokenLoginReq
|
||||
from sdk_server.models.login.login_data import LoginRsp,Account
|
||||
|
||||
from database.account.account_data import find_account_by_uid
|
||||
|
||||
token_login_blueprint = Blueprint('token_login', __name__)
|
||||
|
||||
@token_login_blueprint.route('/hkrpg_cn/mdk/shield/api/verify', methods=['POST'])
|
||||
@token_login_blueprint.route('/hkrpg_global/mdk/shield/api/verify', methods=['POST'])
|
||||
@token_login_blueprint.route('/account/ma-cn-session/app/verify', methods=['POST'])
|
||||
def token_login():
|
||||
res=LoginRsp()
|
||||
body=request.json
|
||||
req=TokenLoginReq(**body)
|
||||
account_data=find_account_by_uid(int(req.uid))
|
||||
if not account_data or account_data.token != req.token:
|
||||
res.retcode=0
|
||||
res.message="Game account cache information error"
|
||||
else:
|
||||
res.retcode=0
|
||||
res.message="OK"
|
||||
res.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(res.model_dump())
|
||||
|
||||
Reference in New Issue
Block a user