1
0
mirror of https://github.com/zclzone/vue-naive-admin.git synced 2025-05-01 14:49:00 +08:00

Compare commits

...

2 Commits

Author SHA1 Message Date
zclzone
8cb3d2cf19 fix: 优化接口异常弹窗及消息提醒方式 2024-07-05 17:41:58 +08:00
zclzone
c5d93628f0 chore: 更新插件推荐列表,修改settings.json 2024-07-05 17:38:42 +08:00
6 changed files with 17 additions and 16 deletions

View File

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

View File

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

View File

@ -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}`),
// 获取角色权限 // 获取角色权限

View File

@ -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
} }

View File

@ -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 })
} }

View File

@ -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'),
} }