倒计时限制
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m12s

This commit is contained in:
2026-06-24 15:06:05 +08:00
parent 0c3065f970
commit cfb6b52cc2
8 changed files with 191 additions and 27 deletions

View File

@@ -6,6 +6,7 @@
import { ref } from 'vue'
import { ElMessage } from 'element-plus'
import { AssetService } from '@/api/modules'
import { formatRemainingTime, FrontendRateLimitError } from '@/utils/business/apiRateLimit'
import type {
AssetBoundCard,
AssetWalletResponse,
@@ -183,7 +184,7 @@ export function useAssetInfo() {
ElMessage.error(response.msg || '查询失败')
cardInfo.value = null
}
} catch (error: any) {
} catch {
cardInfo.value = null
} finally {
loading.value = false
@@ -413,7 +414,7 @@ export function useAssetInfo() {
* 刷新资产数据(调用refresh接口后重新加载)
* @param identifier - 资产标识符
* @param assetType - 资产类型(card/device)
* @returns true if refresh was successful, false if rate limited (429)
* @returns true if refresh was successful, false if rate limited
*/
const refreshAsset = async (identifier: string, assetType: string): Promise<boolean> => {
try {
@@ -426,10 +427,12 @@ export function useAssetInfo() {
}
return true
} catch (error: any) {
console.log(error)
// Check if it's a 429 rate limit error
if (error instanceof FrontendRateLimitError) {
ElMessage.warning(`操作过于频繁,请${formatRemainingTime(error.remainingMs)}后再试`)
return false
}
if (error?.response?.status === 429) {
ElMessage.warning('操作过于频繁,请30秒后再试')
ElMessage.warning('操作过于频繁,请5分钟后再试')
return false
}
return false