mirror of
https://github.com/KimigaiiWuyi/GenshinUID.git
synced 2025-05-31 04:30:29 +08:00
🎨 更换API地址, 去除自动刷新
This commit is contained in:
parent
0683a4240f
commit
e5bf2e088c
@ -52,11 +52,17 @@ with open(MAP_PATH / talentId2Name_fileName, "r", encoding='UTF-8') as f:
|
||||
with open(MAP_PATH / avatarName2Element_fileName, 'r', encoding='UTF-8') as f:
|
||||
avatarName2Element = json.load(f)
|
||||
|
||||
|
||||
async def enkaToData(uid: str, enka_data: Optional[dict] = None) -> dict:
|
||||
if enka_data:
|
||||
pass
|
||||
else:
|
||||
enka_data = json.loads(httpx.get(url=f'https://enka.network/u/{str(uid)}/__data.json', headers={'User-Agent': 'GenshinUID/2.0'}).text)
|
||||
enka_data = json.loads(
|
||||
httpx.get(
|
||||
url=f'https://enka.minigg.cn/u/{str(uid)}/__data.json',
|
||||
headers={'User-Agent': 'GenshinUID/2.1'},
|
||||
).text
|
||||
)
|
||||
if enka_data == {}:
|
||||
return enka_data
|
||||
now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
|
||||
@ -117,19 +123,31 @@ async def enkaToData(uid: str, enka_data: Optional[dict] = None) -> dict:
|
||||
char_data['avatarSkill'].append(skill_temp)
|
||||
|
||||
if char_data['avatarName'] in ['神里绫华', '安柏']:
|
||||
char_data['avatarSkill'][0], char_data['avatarSkill'][-1] = char_data['avatarSkill'][-1], \
|
||||
char_data['avatarSkill'][0]
|
||||
char_data['avatarSkill'][2], char_data['avatarSkill'][-1] = char_data['avatarSkill'][-1], \
|
||||
char_data['avatarSkill'][2]
|
||||
char_data['avatarEnName'] = char_data['avatarSkill'][1]['skillIcon'].split('_')[-2]
|
||||
char_data['avatarSkill'][0], char_data['avatarSkill'][-1] = (
|
||||
char_data['avatarSkill'][-1],
|
||||
char_data['avatarSkill'][0],
|
||||
)
|
||||
char_data['avatarSkill'][2], char_data['avatarSkill'][-1] = (
|
||||
char_data['avatarSkill'][-1],
|
||||
char_data['avatarSkill'][2],
|
||||
)
|
||||
char_data['avatarEnName'] = char_data['avatarSkill'][1]['skillIcon'].split(
|
||||
'_'
|
||||
)[-2]
|
||||
elif char_data['avatarName'] in ['旅行者']:
|
||||
char_data['avatarSkill'][0], char_data['avatarSkill'][-1] = char_data['avatarSkill'][-1], \
|
||||
char_data['avatarSkill'][0]
|
||||
char_data['avatarSkill'][1], char_data['avatarSkill'][-1] = char_data['avatarSkill'][-1], \
|
||||
char_data['avatarSkill'][1]
|
||||
char_data['avatarSkill'][0], char_data['avatarSkill'][-1] = (
|
||||
char_data['avatarSkill'][-1],
|
||||
char_data['avatarSkill'][0],
|
||||
)
|
||||
char_data['avatarSkill'][1], char_data['avatarSkill'][-1] = (
|
||||
char_data['avatarSkill'][-1],
|
||||
char_data['avatarSkill'][1],
|
||||
)
|
||||
char_data['avatarEnName'] = str(avatarId)
|
||||
else:
|
||||
char_data['avatarEnName'] = char_data['avatarSkill'][-1]['skillIcon'].split('_')[-2]
|
||||
char_data['avatarEnName'] = char_data['avatarSkill'][-1]['skillIcon'].split(
|
||||
'_'
|
||||
)[-2]
|
||||
|
||||
# 处理命座
|
||||
talent_temp = []
|
||||
@ -196,7 +214,9 @@ async def enkaToData(uid: str, enka_data: Optional[dict] = None) -> dict:
|
||||
weapon_info['promoteLevel'] = 0
|
||||
weapon_info['weaponLevel'] = weapon_data['weapon']['level']
|
||||
if 'affixMap' in weapon_data['weapon']:
|
||||
weapon_info['weaponAffix'] = list(weapon_data['weapon']['affixMap'].values())[0] + 1
|
||||
weapon_info['weaponAffix'] = (
|
||||
list(weapon_data['weapon']['affixMap'].values())[0] + 1
|
||||
)
|
||||
else:
|
||||
weapon_info['weaponAffix'] = 1
|
||||
weapon_info['weaponStats'] = []
|
||||
@ -207,9 +227,17 @@ async def enkaToData(uid: str, enka_data: Optional[dict] = None) -> dict:
|
||||
weapon_prop_temp['statValue'] = k['statValue']
|
||||
weapon_info['weaponStats'].append(weapon_prop_temp)
|
||||
# 武器特效,须请求API
|
||||
effect_raw = json.loads(httpx.get('https://info.minigg.cn/weapons?query={}'.format(weapon_info['weaponName'])).text)
|
||||
effect_raw = json.loads(
|
||||
httpx.get(
|
||||
'https://info.minigg.cn/weapons?query={}'.format(
|
||||
weapon_info['weaponName']
|
||||
)
|
||||
).text
|
||||
)
|
||||
if 'effect' in effect_raw:
|
||||
effect = effect_raw['effect'].format(*effect_raw['r{}'.format(str(weapon_info['weaponAffix']))])
|
||||
effect = effect_raw['effect'].format(
|
||||
*effect_raw['r{}'.format(str(weapon_info['weaponAffix']))]
|
||||
)
|
||||
else:
|
||||
effect = '无特效。'
|
||||
weapon_info['weaponEffect'] = effect
|
||||
@ -225,16 +253,24 @@ async def enkaToData(uid: str, enka_data: Optional[dict] = None) -> dict:
|
||||
artifact_temp['nameTextMapHash'] = artifact['flat']['nameTextMapHash']
|
||||
artifact_temp['icon'] = artifact['flat']['icon']
|
||||
artifact_temp['aritifactName'] = icon2Name[artifact['flat']['icon']]
|
||||
artifact_temp['aritifactSetsName'] = artifact2attr[artifact_temp['aritifactName']]
|
||||
artifact_temp['aritifactSetsName'] = artifact2attr[
|
||||
artifact_temp['aritifactName']
|
||||
]
|
||||
artifact_set_list.append(artifact_temp['aritifactSetsName'])
|
||||
artifact_temp['aritifactSetPiece'] = artifactId2Piece[artifact_temp['icon'].split('_')[-1]][0]
|
||||
artifact_temp['aritifactPieceName'] = artifactId2Piece[artifact_temp['icon'].split('_')[-1]][1]
|
||||
artifact_temp['aritifactSetPiece'] = artifactId2Piece[
|
||||
artifact_temp['icon'].split('_')[-1]
|
||||
][0]
|
||||
artifact_temp['aritifactPieceName'] = artifactId2Piece[
|
||||
artifact_temp['icon'].split('_')[-1]
|
||||
][1]
|
||||
|
||||
artifact_temp['aritifactStar'] = artifact['flat']['rankLevel']
|
||||
artifact_temp['aritifactLevel'] = artifact['reliquary']['level'] - 1
|
||||
|
||||
artifact_temp['reliquaryMainstat'] = artifact['flat']['reliquaryMainstat']
|
||||
artifact_temp['reliquaryMainstat']['statName'] = propId2Name[artifact_temp['reliquaryMainstat']['mainPropId']]
|
||||
artifact_temp['reliquaryMainstat']['statName'] = propId2Name[
|
||||
artifact_temp['reliquaryMainstat']['mainPropId']
|
||||
]
|
||||
|
||||
artifact_temp['reliquarySubstats'] = artifact['flat']['reliquarySubstats']
|
||||
for sub in artifact_temp['reliquarySubstats']:
|
||||
|
@ -22,6 +22,7 @@ FILE_PATH = os.path.join(os.path.join(os.path.dirname(__file__), 'mihoyo_libs'),
|
||||
INDEX_PATH = os.path.join(FILE_PATH, 'index')
|
||||
Texture_PATH = os.path.join(FILE_PATH, 'texture2d')
|
||||
|
||||
AUTO_REFRESH = False
|
||||
CK_HINT = '''获取Cookies教程:https://github.com/KimigaiiWuyi/GenshinUID/issues/255
|
||||
绑定uid:uid为原神uid,如绑定uid12345
|
||||
绑定mys:mys为米游社通行证,如绑定mys12345'''
|
||||
@ -327,6 +328,8 @@ async def draw_event():
|
||||
|
||||
@sv.scheduled_job('cron', hour='4')
|
||||
async def daily_refresh_charData():
|
||||
global AUTO_REFRESH
|
||||
if AUTO_REFRESH:
|
||||
await refresh_charData()
|
||||
|
||||
async def refresh_charData():
|
||||
|
Loading…
x
Reference in New Issue
Block a user