chore(admin): final polish and QA doc

This commit is contained in:
2025-12-13 21:46:34 +08:00
parent 49bc8b83b1
commit 85a60009f3
27 changed files with 145 additions and 75 deletions

View File

@@ -1,6 +1,17 @@
import axios from 'axios'
import { ElMessage } from 'element-plus'
let lastToastKey = ''
let lastToastAt = 0
function toastErrorOnce(key, message, minIntervalMs = 1500) {
const now = Date.now()
if (key === lastToastKey && now - lastToastAt < minIntervalMs) return
lastToastKey = key
lastToastAt = now
ElMessage.error(message)
}
export const api = axios.create({
baseURL: '/yuyx/api',
timeout: 30_000,
@@ -15,16 +26,15 @@ api.interceptors.response.use(
const message = payload?.error || payload?.message || error?.message || '请求失败'
if (status === 403) {
ElMessage.error(message || '需要管理员权限')
toastErrorOnce('403', message || '需要管理员权限', 5000)
} else if (status) {
ElMessage.error(message)
toastErrorOnce(`http:${status}:${message}`, message)
} else if (error?.code === 'ECONNABORTED') {
ElMessage.error('请求超时')
toastErrorOnce('timeout', '请求超时', 3000)
} else {
ElMessage.error(message)
toastErrorOnce(`net:${message}`, message, 3000)
}
return Promise.reject(error)
},
)