mirror of
https://github.com/zclzone/vue-naive-admin.git
synced 2025-04-30 22:29:01 +08:00
fix: 优化接口异常弹窗及消息提醒方式
This commit is contained in:
parent
c5d93628f0
commit
8cb3d2cf19
@ -14,7 +14,7 @@ export default {
|
||||
// 刷新token
|
||||
refreshToken: () => request.get('/auth/refresh/token'),
|
||||
// 登出
|
||||
logout: () => request.post('/auth/logout'),
|
||||
logout: () => request.post('/auth/logout', {}, { needTip: false }),
|
||||
// 切换当前角色
|
||||
switchCurrentRole: role => request.post(`/auth/current-role/switch/${role}`),
|
||||
// 获取角色权限
|
||||
|
@ -10,10 +10,10 @@
|
||||
import { useAuthStore } from '@/store'
|
||||
|
||||
let isConfirming = false
|
||||
export function resolveResError(code, message) {
|
||||
export function resolveResError(code, message, needTip = true) {
|
||||
switch (code) {
|
||||
case 401:
|
||||
if (isConfirming)
|
||||
if (isConfirming || !needTip)
|
||||
return
|
||||
isConfirming = true
|
||||
$dialog.confirm({
|
||||
@ -32,7 +32,7 @@ export function resolveResError(code, message) {
|
||||
return false
|
||||
case 11007:
|
||||
case 11008:
|
||||
if (isConfirming)
|
||||
if (isConfirming || !needTip)
|
||||
return
|
||||
isConfirming = true
|
||||
$dialog.confirm({
|
||||
@ -62,5 +62,6 @@ export function resolveResError(code, message) {
|
||||
message = message ?? `【${code}】: 未知异常!`
|
||||
break
|
||||
}
|
||||
needTip && window.$message?.error(message)
|
||||
return message
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ import { useAuthStore } from '@/store'
|
||||
export function setupInterceptors(axiosInstance) {
|
||||
function reqResolve(config) {
|
||||
// 处理不需要token的请求
|
||||
if (config.noNeedToken) {
|
||||
if (config.needToken === false) {
|
||||
return config
|
||||
}
|
||||
|
||||
@ -39,11 +39,11 @@ export function setupInterceptors(axiosInstance) {
|
||||
}
|
||||
const code = data?.code ?? status
|
||||
|
||||
// 根据code处理对应的操作,并返回处理后的message
|
||||
const message = resolveResError(code, data?.message ?? statusText)
|
||||
const needTip = config?.needTip !== false
|
||||
|
||||
// 根据code处理对应的操作,并返回处理后的message
|
||||
const message = resolveResError(code, data?.message ?? statusText, needTip)
|
||||
|
||||
// 需要错误提醒
|
||||
!config?.noNeedTip && message && window.$message?.error(message)
|
||||
return Promise.reject({ code, message, error: data ?? response })
|
||||
}
|
||||
return Promise.resolve(data ?? response)
|
||||
@ -54,16 +54,14 @@ export function setupInterceptors(axiosInstance) {
|
||||
const code = error?.code
|
||||
/** 根据code处理对应的操作,并返回处理后的message */
|
||||
const message = resolveResError(code, error.message)
|
||||
window.$message?.error(message)
|
||||
return Promise.reject({ code, message, error })
|
||||
}
|
||||
|
||||
const { data, status, config } = error.response
|
||||
const code = data?.code ?? status
|
||||
|
||||
const message = resolveResError(code, data?.message ?? error.message)
|
||||
/** 需要错误提醒 */
|
||||
!config?.noNeedTip && message && window.$message?.error(message)
|
||||
const needTip = config?.needTip !== false
|
||||
const message = resolveResError(code, data?.message ?? error.message, needTip)
|
||||
return Promise.reject({ code, message, error: error.response?.data || error.response })
|
||||
}
|
||||
|
||||
|
@ -10,6 +10,6 @@ import { request } from '@/utils'
|
||||
|
||||
export default {
|
||||
toggleRole: data => request.post('/auth/role/toggle', data),
|
||||
login: data => request.post('/auth/login', data, { noNeedToken: true }),
|
||||
login: data => request.post('/auth/login', data, { needToken: false }),
|
||||
getUser: () => request.get('/user/detail'),
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user