1
0
mirror of https://github.com/zclzone/vue-naive-admin.git synced 2025-05-02 23:29:00 +08:00

Compare commits

..

No commits in common. "8cb3d2cf197219cf33c5e55da2a52659600f6515" and "4d494801e378e454f23d62fe91480affc06e75b6" have entirely different histories.

6 changed files with 15 additions and 16 deletions

View File

@ -6,7 +6,6 @@
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"sdras.vue-vscode-snippets",
"mikestead.dotenv",
"simonhe.common-intellisense"
"mikestead.dotenv"
]
}

View File

@ -23,6 +23,5 @@
"markdown",
"json",
"jsonc"
],
"common-intellisense.ui": ["naiveUi2"]
]
}

View File

@ -14,7 +14,7 @@ export default {
// 刷新token
refreshToken: () => request.get('/auth/refresh/token'),
// 登出
logout: () => request.post('/auth/logout', {}, { needTip: false }),
logout: () => request.post('/auth/logout'),
// 切换当前角色
switchCurrentRole: role => request.post(`/auth/current-role/switch/${role}`),
// 获取角色权限

View File

@ -10,10 +10,10 @@
import { useAuthStore } from '@/store'
let isConfirming = false
export function resolveResError(code, message, needTip = true) {
export function resolveResError(code, message) {
switch (code) {
case 401:
if (isConfirming || !needTip)
if (isConfirming)
return
isConfirming = true
$dialog.confirm({
@ -32,7 +32,7 @@ export function resolveResError(code, message, needTip = true) {
return false
case 11007:
case 11008:
if (isConfirming || !needTip)
if (isConfirming)
return
isConfirming = true
$dialog.confirm({
@ -62,6 +62,5 @@ export function resolveResError(code, message, needTip = true) {
message = message ?? `${code}】: 未知异常!`
break
}
needTip && window.$message?.error(message)
return message
}

View File

@ -13,7 +13,7 @@ import { useAuthStore } from '@/store'
export function setupInterceptors(axiosInstance) {
function reqResolve(config) {
// 处理不需要token的请求
if (config.needToken === false) {
if (config.noNeedToken) {
return config
}
@ -39,11 +39,11 @@ export function setupInterceptors(axiosInstance) {
}
const code = data?.code ?? status
const needTip = config?.needTip !== false
// 根据code处理对应的操作并返回处理后的message
const message = resolveResError(code, data?.message ?? statusText, needTip)
const message = resolveResError(code, data?.message ?? statusText)
// 需要错误提醒
!config?.noNeedTip && message && window.$message?.error(message)
return Promise.reject({ code, message, error: data ?? response })
}
return Promise.resolve(data ?? response)
@ -54,14 +54,16 @@ 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 needTip = config?.needTip !== false
const message = resolveResError(code, data?.message ?? error.message, needTip)
const message = resolveResError(code, data?.message ?? error.message)
/** 需要错误提醒 */
!config?.noNeedTip && message && window.$message?.error(message)
return Promise.reject({ code, message, error: error.response?.data || error.response })
}

View File

@ -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, { needToken: false }),
login: data => request.post('/auth/login', data, { noNeedToken: true }),
getUser: () => request.get('/user/detail'),
}