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
|
// 刷新token
|
||||||
refreshToken: () => request.get('/auth/refresh/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}`),
|
switchCurrentRole: role => request.post(`/auth/current-role/switch/${role}`),
|
||||||
// 获取角色权限
|
// 获取角色权限
|
||||||
|
@ -10,10 +10,10 @@
|
|||||||
import { useAuthStore } from '@/store'
|
import { useAuthStore } from '@/store'
|
||||||
|
|
||||||
let isConfirming = false
|
let isConfirming = false
|
||||||
export function resolveResError(code, message) {
|
export function resolveResError(code, message, needTip = true) {
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case 401:
|
case 401:
|
||||||
if (isConfirming)
|
if (isConfirming || !needTip)
|
||||||
return
|
return
|
||||||
isConfirming = true
|
isConfirming = true
|
||||||
$dialog.confirm({
|
$dialog.confirm({
|
||||||
@ -32,7 +32,7 @@ export function resolveResError(code, message) {
|
|||||||
return false
|
return false
|
||||||
case 11007:
|
case 11007:
|
||||||
case 11008:
|
case 11008:
|
||||||
if (isConfirming)
|
if (isConfirming || !needTip)
|
||||||
return
|
return
|
||||||
isConfirming = true
|
isConfirming = true
|
||||||
$dialog.confirm({
|
$dialog.confirm({
|
||||||
@ -62,5 +62,6 @@ export function resolveResError(code, message) {
|
|||||||
message = message ?? `【${code}】: 未知异常!`
|
message = message ?? `【${code}】: 未知异常!`
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
needTip && window.$message?.error(message)
|
||||||
return message
|
return message
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ import { useAuthStore } from '@/store'
|
|||||||
export function setupInterceptors(axiosInstance) {
|
export function setupInterceptors(axiosInstance) {
|
||||||
function reqResolve(config) {
|
function reqResolve(config) {
|
||||||
// 处理不需要token的请求
|
// 处理不需要token的请求
|
||||||
if (config.noNeedToken) {
|
if (config.needToken === false) {
|
||||||
return config
|
return config
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,11 +39,11 @@ export function setupInterceptors(axiosInstance) {
|
|||||||
}
|
}
|
||||||
const code = data?.code ?? status
|
const code = data?.code ?? status
|
||||||
|
|
||||||
// 根据code处理对应的操作,并返回处理后的message
|
const needTip = config?.needTip !== false
|
||||||
const message = resolveResError(code, data?.message ?? statusText)
|
|
||||||
|
// 根据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.reject({ code, message, error: data ?? response })
|
||||||
}
|
}
|
||||||
return Promise.resolve(data ?? response)
|
return Promise.resolve(data ?? response)
|
||||||
@ -54,16 +54,14 @@ export function setupInterceptors(axiosInstance) {
|
|||||||
const code = error?.code
|
const code = error?.code
|
||||||
/** 根据code处理对应的操作,并返回处理后的message */
|
/** 根据code处理对应的操作,并返回处理后的message */
|
||||||
const message = resolveResError(code, error.message)
|
const message = resolveResError(code, error.message)
|
||||||
window.$message?.error(message)
|
|
||||||
return Promise.reject({ code, message, error })
|
return Promise.reject({ code, message, error })
|
||||||
}
|
}
|
||||||
|
|
||||||
const { data, status, config } = error.response
|
const { data, status, config } = error.response
|
||||||
const code = data?.code ?? status
|
const code = data?.code ?? status
|
||||||
|
|
||||||
const message = resolveResError(code, data?.message ?? error.message)
|
const needTip = config?.needTip !== false
|
||||||
/** 需要错误提醒 */
|
const message = resolveResError(code, data?.message ?? error.message, needTip)
|
||||||
!config?.noNeedTip && message && window.$message?.error(message)
|
|
||||||
return Promise.reject({ code, message, error: error.response?.data || error.response })
|
return Promise.reject({ code, message, error: error.response?.data || error.response })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,6 +10,6 @@ import { request } from '@/utils'
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
toggleRole: data => request.post('/auth/role/toggle', data),
|
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'),
|
getUser: () => request.get('/user/detail'),
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user