查询扭蛋碎片+点券

This commit is contained in:
yml2213
2026-08-08 17:50:00 +08:00
parent 379a9d58d3
commit 395096e229
8 changed files with 183 additions and 9 deletions
+25
View File
@@ -2,6 +2,7 @@ import { ref } from 'vue'
import { useToast } from './useToast'
import {
GetAccounts,
QueryXiaodianAssets,
QueryScore,
ReloadAccounts,
VerifyAllExchange,
@@ -24,6 +25,13 @@ const accounts = ref<Account[]>([])
const selectedIndices = ref<Set<number>>(new Set())
const statusMap = ref<Record<string, AccountStatus | boolean>>({})
const scoreMap = ref<Record<string, string>>({})
export interface XiaodianAssets {
success: boolean
coupons: number
fragments: number
error?: string
}
const xiaodianAssetsMap = ref<Record<string, XiaodianAssets>>({})
export function useAccounts() {
const { showToast } = useToast()
@@ -96,10 +104,24 @@ export function useAccounts() {
showToast('积分查询完成', '', 'success')
}
const queryAllXiaodianAssets = async () => {
showToast('查询点券和碎片', '正在查询账号资产...', 'info')
try {
const data = await QueryXiaodianAssets()
xiaodianAssetsMap.value = data?.results || {}
const successCount = Object.values(xiaodianAssetsMap.value).filter(item => item.success).length
showToast('资产查询完成', `成功 ${successCount}/${accounts.value.length} 个账号`, successCount > 0 ? 'success' : 'warn')
} catch (e: any) {
showToast('资产查询失败', e?.message || '', 'error')
}
}
const getScore = (name: string): string => {
return scoreMap.value[name] || localStorage.getItem('accScore_' + name) || '-'
}
const getXiaodianAssets = (name: string): XiaodianAssets | undefined => xiaodianAssetsMap.value[name]
const resetStatus = () => {
statusMap.value = {}
localStorage.removeItem('statusMap')
@@ -173,13 +195,16 @@ export function useAccounts() {
selectedIndices,
statusMap,
scoreMap,
xiaodianAssetsMap,
loadAccounts,
reloadAccounts,
toggleAccount,
toggleAll,
restoreSelection,
queryAllScore,
queryAllXiaodianAssets,
getScore,
getXiaodianAssets,
resetStatus,
setStatuses,
mergeStatuses,