diff --git a/backend/api/routes/info.py b/backend/api/routes/info.py index 006088b8..463412b3 100644 --- a/backend/api/routes/info.py +++ b/backend/api/routes/info.py @@ -124,13 +124,13 @@ async def get_dnfhelper_list(uid: str, redis: RedisDep): @router.get('/dnfhelper/{uid}/') async def get_info_by_dnfhelper(uid: str, state: AltersDep, redis: RedisDep): - try: - result = await get_user_info_by_id(uid, state) - return response(data=result) - except Exception as e: - if isinstance(e, ResponseException): - return response(code=500, message=str(e), data=None) - return response(code=500, message='Failed to fetch DNFHelper info', data=None) + # try: + result = await get_user_info_by_id(uid, state) + return response(data=result) + # except Exception as e: + # if isinstance(e, ResponseException): + # return response(code=500, message=str(e), data=None) + return response(code=500, message='Failed to fetch DNFHelper info', data=None) @router.post('/skillTree/') diff --git a/backend/core/open/helper.py b/backend/core/open/helper.py index a67f4284..bd4e6495 100644 --- a/backend/core/open/helper.py +++ b/backend/core/open/helper.py @@ -108,6 +108,7 @@ def trans_to_dcalc_set(detail, alter: AltersDep): equips = {} avatar = {} emblems = {} + oaths = {} for equ in detail.get('equs', []): info = { 'id': '0', @@ -185,6 +186,13 @@ def trans_to_dcalc_set(detail, alter: AltersDep): # info['emblem_0'] = emblems[0] if len(emblems) > 0 else 0 # info['emblem_1'] = emblems[1] if len(emblems) > 1 else 0 avatar[item['posName']] = info + for index, item in enumerate(detail.get('oaths', [])): + info = {'id': -1, 'adaptation': 0} + dcalcOath = next((i for i in basic.oaths if i.name == item), None) + if dcalcOath: + info['id'] = dcalcOath.id + info['adaptation'] = 3 if index < 11 else 0 + oaths[str(index)] = info rarities = ['稀有', '神器', '传说', '史诗'] for item in detail.get('emblems', []): @@ -203,6 +211,7 @@ def trans_to_dcalc_set(detail, alter: AltersDep): 'emblems': emblems, 'avatarLink': detail.get('avatarLink', ''), 'fogOathLv': detail.get('fogOathLv', 0), + 'oaths': oaths, 'dressInfo': [ { 'dress': i.get('name', ''), diff --git a/backend/dataFiles/dcalc_0.db b/backend/dataFiles/dcalc_0.db index 8b6489e9..5224dc39 100644 Binary files a/backend/dataFiles/dcalc_0.db and b/backend/dataFiles/dcalc_0.db differ diff --git a/backend/openapi b/backend/openapi index 20f052e9..be3ff246 160000 --- a/backend/openapi +++ b/backend/openapi @@ -1 +1 @@ -Subproject commit 20f052e93e58762be450d510dc6d8568c90721ae +Subproject commit be3ff246ed3e77b7e95714df0c4cf74dc915eb60 diff --git a/frontend/src/pages/Character/Config/import.vue b/frontend/src/pages/Character/Config/import.vue index e49d4887..c18e806a 100644 --- a/frontend/src/pages/Character/Config/import.vue +++ b/frontend/src/pages/Character/Config/import.vue @@ -19,6 +19,7 @@ export default defineComponent({ configStore.config.avatarLink = res.avatarLink configStore.config.emblems = res.emblems configStore.config.sundry.fog = res.fogOathLv + configStore.config.oaths = res.oaths const { alert } = useDialog() visible.value = false await alert({