捕获异常

This commit is contained in:
2026-05-25 15:09:58 +08:00
parent 3662306e8d
commit 453dde2eaa
4 changed files with 31 additions and 4 deletions

View File

@ -21,6 +21,9 @@ interface UserItem {
id: number; id: number;
username: string; username: string;
par_uid: number; par_uid: number;
wallet_capital:{
amount:string
},
created_at: string; // 时间字符串类型 created_at: string; // 时间字符串类型
status: number; status: number;
parent: ParentUser; // 嵌套的父级用户对象 parent: ParentUser; // 嵌套的父级用户对象

View File

@ -31,8 +31,8 @@ const hasError = ref(false)
const errorMessage = ref('') const errorMessage = ref('')
let unwatchRoute: (() => void) | null = null let unwatchRoute: (() => void) | null = null
// API // API
const isApiError = (err: any): boolean => { const isApiError = (err: any): boolean => {
console.log('err:', err); console.log('err:', err);
// axios config // axios config
if ((err as any).config) return true if ((err as any).config) return true
@ -41,9 +41,32 @@ console.log('err:', err);
// //
if (err.message?.includes('timeout') || err.message?.includes('Timeout')) return true if (err.message?.includes('timeout') || err.message?.includes('Timeout')) return true
// //
if (err.message?.includes('cancel') || err.message?.includes('cancel') || err.name === 'CanceledError') return true if (err.message?.includes('cancel') || err.name === 'CanceledError') return true
// //
if (err.message?.includes('request') || err.message?.includes('Request') || err.data || err.msg) return true if (err.message?.includes('request') || err.message?.includes('Request') || err.data || err.msg) return true
// ========== ==========
// Element Plus { fieldName: [errorMessage], ... }
// Error
if (err && typeof err === 'object' && !err.message && !err.stack) {
const keys = Object.keys(err)
if (keys.length > 0 && keys.every(key => Array.isArray(err[key]))) {
// {varietyName: [], ...}
return true
}
}
// Element Plus
const errorMessage = err.message || err.msg || ''
//
const formValidationKeywords = ['validate', 'validation', '校验', '验证', '必填', 'required', 'pattern', '格式']
if (formValidationKeywords.some(keyword => errorMessage.toLowerCase().includes(keyword.toLowerCase()))) return true
// fieldtrigger
if (err.field || err.fieldName || err.prop || err.validator) return true
//
if (Array.isArray(err.errors) && err.errors.length > 0) return true
//
if (err.name === 'ValidationError' || err.name === 'FormValidateError') return true
return true return true
} }

View File

@ -264,6 +264,7 @@ const getClientList = async () => {
// //
clientTree.value = data.data.map((item) => ({ clientTree.value = data.data.map((item) => ({
...item, ...item,
amount: item.wallet_capital.amount,
// //
createdTime: item.created_at, createdTime: item.created_at,
// //

View File

@ -54,7 +54,7 @@ export const clientTableColumns = [
{ prop: 'username', label: '用户名', align: 'center' as const }, { prop: 'username', label: '用户名', align: 'center' as const },
{ prop: 'createdTime', label: '注册时间', align: 'center' as const }, { prop: 'createdTime', label: '注册时间', align: 'center' as const },
{ prop: 'agentUsername', label: '所属代理', align: 'center' as const }, { prop: 'agentUsername', label: '所属代理', align: 'center' as const },
{ prop: 'wallet_capital.amount', label: '资金', align: 'center' as const, isNumber: true }, { prop: 'amount', label: '资金', align: 'center' as const, isNumber: true },
{ label: '状态', slotName: 'status', align: 'center' as const }, { label: '状态', slotName: 'status', align: 'center' as const },
{ label: '操作', slotName: 'action', align: 'center' as const }, { label: '操作', slotName: 'action', align: 'center' as const },
] ]