Merge remote-tracking branch 'origin/master'

This commit is contained in:
qwerdvd 2023-05-26 15:11:13 +08:00
commit a5ce23d38f
2 changed files with 34 additions and 17 deletions

View File

@ -1,12 +1,16 @@
# flake8: noqa # flake8: noqa
OLD_URL = "https://api-takumi.mihoyo.com" OLD_URL = "https://api-takumi.mihoyo.com"
NEW_URL = 'https://api-takumi-record.mihoyo.com' NEW_URL = 'https://api-takumi-record.mihoyo.com'
OS_URL = "https://sg-public-api.hoyolab.com"
STAR_RAIL_SIGN_INFO_URL = f'{OLD_URL}/event/luna/info' STAR_RAIL_SIGN_INFO_URL = f'{OLD_URL}/event/luna/info'
STAR_RAIL_SIGN_INFO_URL_OS = f'{OS_URL}/event/luna/os/info'
STAR_RAIL_SIGN_LIST_URL = f'{OLD_URL}/event/luna/home' STAR_RAIL_SIGN_LIST_URL = f'{OLD_URL}/event/luna/home'
STAR_RAIL_SIGN_LIST_URL_OS = f'{OS_URL}/event/luna/os/home'
STAR_RAIL_SIGN_EXTRA_INFO_URL = f'{OLD_URL}/event/luna/extra_info' STAR_RAIL_SIGN_EXTRA_INFO_URL = f'{OLD_URL}/event/luna/extra_info'
STAR_RAIL_SIGN_EXTRA_REWARD_URL = f'{OLD_URL}/event/luna/extra_reward' STAR_RAIL_SIGN_EXTRA_REWARD_URL = f'{OLD_URL}/event/luna/extra_reward'
STAR_RAIL_SIGN_URL = f'{OLD_URL}/event/luna/sign' STAR_RAIL_SIGN_URL = f'{OLD_URL}/event/luna/sign'
STAR_RAIL_SIGN_URL_OS = f'{OS_URL}/event/luna/os/sign'
STAR_RAIL_MONTH_INFO_URL = f'{OLD_URL}/event/srledger/month_info' # 开拓阅历接口 STAR_RAIL_MONTH_INFO_URL = f'{OLD_URL}/event/srledger/month_info' # 开拓阅历接口
STAR_RAIL_MONTH_DETAIL_URL = ( STAR_RAIL_MONTH_DETAIL_URL = (
f'{OLD_URL}/event/srledger/month_detail' # 开拓阅历详情接口 f'{OLD_URL}/event/srledger/month_detail' # 开拓阅历详情接口

View File

@ -23,11 +23,11 @@ from ..sruid_utils.api.mys.models import (
RECOGNIZE_SERVER = { RECOGNIZE_SERVER = {
'1': 'prod_gf_cn', '1': 'prod_gf_cn',
'2': 'prod_gf_cn', '2': 'prod_gf_cn',
# '5': 'cn_qd01', '5': 'prod_qd_cn',
# '6': 'os_usa', '6': 'prod_official_usa',
# '7': 'os_euro', '7': 'prod_official_euro',
# '8': 'os_asia', '8': 'prod_official_asia',
# '9': 'os_cht', '9': 'prod_official_cht',
} }
@ -35,6 +35,9 @@ class MysApi(_MysApi):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
def check_os(self, uid: str) -> bool:
return False if int(str(uid)[0]) < 6 else True
async def create_qrcode_url(self) -> Union[Dict, int]: async def create_qrcode_url(self) -> Union[Dict, int]:
device_id: str = ''.join(random.choices(ascii_letters + digits, k=64)) device_id: str = ''.join(random.choices(ascii_letters + digits, k=64))
app_id: str = '8' app_id: str = '8'
@ -126,13 +129,13 @@ class MysApi(_MysApi):
return data return data
async def get_sign_list(self, uid) -> Union[SignList, int]: async def get_sign_list(self, uid) -> Union[SignList, int]:
# is_os = self.check_os(uid) is_os = self.check_os(uid)
is_os = False
if is_os: if is_os:
params = { params = {
'act_id': 'e202304121516551', 'act_id': 'e202303301540311',
'lang': 'zh-cn', 'lang': 'zh-cn',
} }
else: else:
params = { params = {
'act_id': 'e202304121516551', 'act_id': 'e202304121516551',
@ -147,19 +150,17 @@ class MysApi(_MysApi):
async def get_sign_info(self, uid) -> Union[SignInfo, int]: async def get_sign_info(self, uid) -> Union[SignInfo, int]:
# server_id = RECOGNIZE_SERVER.get(str(uid)[0]) # server_id = RECOGNIZE_SERVER.get(str(uid)[0])
# is_os = self.check_os(uid) is_os = self.check_os(uid)
is_os = False
if is_os: if is_os:
# TODO # TODO
params = { params = {
'act_id': 'e202304121516551', 'act_id': 'e202303301540311',
'lang': 'zh-cn', 'lang': 'zh-cn',
'region': 'prod_gf_cn',
'uid': uid,
}
header = {
'DS': generate_os_ds(),
} }
HEADER = copy.deepcopy(self._HEADER_OS)
HEADER['Cookie'] = await self.get_ck(uid, 'OWNER')
HEADER['DS'] = generate_os_ds()
header = HEADER
else: else:
params = { params = {
'act_id': 'e202304121516551', 'act_id': 'e202304121516551',
@ -227,7 +228,19 @@ class MysApi(_MysApi):
}, },
) )
else: else:
data = -99 HEADER = copy.deepcopy(self._HEADER_OS)
HEADER['Cookie'] = ck
HEADER['DS'] = generate_os_ds()
HEADER.update(header)
data = await self._mys_request(
url=_API['STAR_RAIL_SIGN_URL_OS'],
method='POST',
header=HEADER,
data={
'act_id': 'e202303301540311',
'lang': 'zh-cn',
},
)
if isinstance(data, Dict): if isinstance(data, Dict):
data = cast(MysSign, data['data']) data = cast(MysSign, data['data'])
return data return data