dev
This commit is contained in:
@@ -121,7 +121,8 @@ async def get_info_by_dnfhelper(uid: str, state: AltersDep, redis: RedisDep):
|
||||
result = await get_user_info_by_id(uid, state)
|
||||
return response(data=result)
|
||||
except Exception as e:
|
||||
return response(code=500, message=str(e), data=None)
|
||||
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)
|
||||
|
||||
|
||||
|
||||
+32
-14
@@ -83,7 +83,6 @@ async def get_user_info_by_id(user_id: str, alter: AltersDep):
|
||||
name = next((k for k, v in job_mapping.items() if v == alter.origin), '')
|
||||
# 通过OCR助手获取用户信息
|
||||
helper_info = await get_main_user_info_by_id(user_id, name)
|
||||
print(helper_info)
|
||||
if helper_info is None:
|
||||
raise ResponseException('当前助手ID不存在或已隐藏,请确认后重试')
|
||||
else:
|
||||
@@ -97,13 +96,10 @@ def trans_to_dcalc_set(detail, alter: AltersDep):
|
||||
raise ResponseException('未能匹配到当前职业对应的角色信息,请确认后重试')
|
||||
basic = get_equipment('0')
|
||||
basicAvatars = basic.funs.get_dress_list([])
|
||||
equs = detail.get('equs', [])
|
||||
avatars = detail.get('avatars', [])
|
||||
emblems = detail.get('emblems', [])
|
||||
equips = {}
|
||||
avatar = {}
|
||||
emblem = {}
|
||||
for equ in equs:
|
||||
emblems = {}
|
||||
for equ in detail.get('equs', []):
|
||||
info = {
|
||||
'id': '0',
|
||||
# 强化
|
||||
@@ -133,12 +129,12 @@ def trans_to_dcalc_set(detail, alter: AltersDep):
|
||||
# if dcalcEquFusion:
|
||||
# info['fusion'] = dcalcEquFusion.id
|
||||
info['enchant'] = getEnchatIdByName(equ.get('enchant', ''), equ.get('posName', ''), basic.enchants)
|
||||
emblems = [getEmblemIdByName(i.get('detail', ''), i.get('categorize', ''), i.get('rarity', ''), basic.emblems) for i in equ.get('emblems', [])]
|
||||
# emblems = [getEmblemIdByName(i.get('detail', ''), i.get('categorize', ''), i.get('rarity', ''), basic.emblems) for i in equ.get('emblems', [])]
|
||||
# info['emblem_0'] = emblems[0] if len(emblems) > 0 else 0
|
||||
# info['emblem_1'] = emblems[1] if len(emblems) > 1 else 0
|
||||
equips[equ['posName']] = info
|
||||
|
||||
for item in avatars:
|
||||
for item in detail.get('avatars', []):
|
||||
info = {
|
||||
'id': '',
|
||||
'option': '',
|
||||
@@ -176,15 +172,28 @@ def trans_to_dcalc_set(detail, alter: AltersDep):
|
||||
# 先默认这个了 不管了
|
||||
item['enchant'] = 'Lv1~95+1|攻击强化(12%)|增益量(7%)'
|
||||
info['enchant'] = getEnchatIdByName(item.get('enchant', ''), item.get('posName', ''), basic.enchants)
|
||||
emblems = [getEmblemIdByName(i.get('detail', ''), i.get('categorize', ''), i.get('rarity', ''), basic.emblems) for i in item.get('emblems', [])]
|
||||
info['emblem_0'] = emblems[0] if len(emblems) > 0 else 0
|
||||
info['emblem_1'] = emblems[1] if len(emblems) > 1 else 0
|
||||
# emblems = [getEmblemIdByName(i.get('detail', ''), i.get('categorize', ''), i.get('rarity', ''), basic.emblems) for i in item.get('emblems', [])]
|
||||
# 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
|
||||
|
||||
rarities = ['稀有', '神器', '传说', '史诗']
|
||||
for item in detail.get('emblems', []):
|
||||
pos = item.get('pos', '')
|
||||
if not pos:
|
||||
continue
|
||||
rarity = item.get('rarity', '')
|
||||
lv = item.get('lv', 1)
|
||||
if rarity in rarities:
|
||||
lv += rarities.index(rarity) * 5 - 1
|
||||
emblems[pos] = {'lv': lv, 'items': [getEmblemIdByAttr(i.get('attr', ''), i.get('rarity', ''), i.get('type', ''), basic.emblems) for i in item.get('items', [])]}
|
||||
return {
|
||||
'job': job,
|
||||
'equips': equips,
|
||||
'avatars': avatar,
|
||||
'emblems': emblems,
|
||||
'avatarLink': detail.get('avatarLink', ''),
|
||||
'fogOathLv': detail.get('fogOathLv', 0),
|
||||
'dressInfo': [
|
||||
{
|
||||
'dress': i.get('name', ''),
|
||||
@@ -194,9 +203,6 @@ def trans_to_dcalc_set(detail, alter: AltersDep):
|
||||
for i in detail.get('avatars', [])
|
||||
],
|
||||
}
|
||||
# 处理装备
|
||||
# 处理时装
|
||||
pass
|
||||
|
||||
|
||||
def getEnchatIdByName(name: str, position: str, items: list):
|
||||
@@ -220,3 +226,15 @@ def getEmblemIdByName(detail: str, categorize: str, rarity: str, items: list):
|
||||
return 0
|
||||
except Exception as _:
|
||||
return 0
|
||||
|
||||
|
||||
def getEmblemIdByAttr(attr: str, rarity: str, type: str, items: list):
|
||||
try:
|
||||
if type == '白金':
|
||||
return attr
|
||||
for item in items:
|
||||
if item.get('attr', '') == attr and item.get('type', '') == type and item.get('rarity', '') == rarity:
|
||||
return item.get('id', 0)
|
||||
return 0
|
||||
except Exception as _:
|
||||
return 0
|
||||
|
||||
@@ -110,6 +110,7 @@ class EmblemData(Base):
|
||||
type = Column(Text)
|
||||
value = Column(Text)
|
||||
fame = Column(Integer)
|
||||
attr = Column(Text)
|
||||
|
||||
|
||||
class JadeData(Base):
|
||||
|
||||
+1
-1
Submodule backend/openapi updated: 60d8022f36...4a72406baa
@@ -17,6 +17,8 @@ export default defineComponent({
|
||||
configStore.config.equips = res.equips
|
||||
configStore.config.avatar = res.avatars
|
||||
configStore.config.avatarLink = res.avatarLink
|
||||
configStore.config.emblems = res.emblems
|
||||
configStore.config.sundry.fog = res.fogOathLv
|
||||
const { alert } = useDialog()
|
||||
visible.value = false
|
||||
await alert({
|
||||
@@ -51,15 +53,13 @@ export default defineComponent({
|
||||
<calc-input class="!w-60" v-model={uid.value} />
|
||||
</div>
|
||||
<div>
|
||||
<p class="text-#e9c556/80">
|
||||
* 点击导入后会从助手通过文字识别获取打造
|
||||
</p>
|
||||
<p class="text-#e9c556/80">
|
||||
* 部分打造无法获取,此处仅做快捷导入
|
||||
</p>
|
||||
<p class="text-#e9c556/80">* 点击导入后会从助手通过文字识别获取打造</p>
|
||||
<p class="text-#e9c556/80">* 部分打造无法获取,此处仅做快捷导入</p>
|
||||
</div>
|
||||
<div class="flex justify-around items-center">
|
||||
<calc-button onClick={execute} disabled={isLoading.value}>导入</calc-button>
|
||||
<calc-button onClick={execute} disabled={isLoading.value}>
|
||||
导入
|
||||
</calc-button>
|
||||
<calc-button onClick={() => (visible.value = false)}>取消</calc-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user