chore(admin): final polish and QA doc
This commit is contained in:
@@ -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)
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user