Commit 583549ed9879cb116be27454cc5502a1df626197
1 parent
775083e1
perf: message hooks
Showing
1 changed file
with
15 additions
and
19 deletions
yudao-ui-admin-vue3/src/config/axios/service.ts
| @@ -5,7 +5,7 @@ import axios, { | @@ -5,7 +5,7 @@ import axios, { | ||
| 5 | AxiosResponse, | 5 | AxiosResponse, |
| 6 | AxiosError | 6 | AxiosError |
| 7 | } from 'axios' | 7 | } from 'axios' |
| 8 | -import { ElMessage, ElMessageBox, ElNotification } from 'element-plus' | 8 | +import { useMessage } from '@/hooks/web/useMessage' |
| 9 | import qs from 'qs' | 9 | import qs from 'qs' |
| 10 | import { config } from '@/config/axios/config' | 10 | import { config } from '@/config/axios/config' |
| 11 | import { getAccessToken, getRefreshToken, getTenantId, removeToken, setToken } from '@/utils/auth' | 11 | import { getAccessToken, getRefreshToken, getTenantId, removeToken, setToken } from '@/utils/auth' |
| @@ -17,6 +17,7 @@ import { useCache } from '@/hooks/web/useCache' | @@ -17,6 +17,7 @@ import { useCache } from '@/hooks/web/useCache' | ||
| 17 | const tenantEnable = import.meta.env.VITE_APP_TENANT_ENABLE | 17 | const tenantEnable = import.meta.env.VITE_APP_TENANT_ENABLE |
| 18 | const { result_code, base_url, request_timeout } = config | 18 | const { result_code, base_url, request_timeout } = config |
| 19 | 19 | ||
| 20 | +const message = useMessage() | ||
| 20 | // 需要忽略的提示。忽略后,自动 Promise.reject('error') | 21 | // 需要忽略的提示。忽略后,自动 Promise.reject('error') |
| 21 | const ignoreMsgs = [ | 22 | const ignoreMsgs = [ |
| 22 | '无效的刷新令牌', // 刷新令牌被删除时,不用提示 | 23 | '无效的刷新令牌', // 刷新令牌被删除时,不用提示 |
| @@ -156,10 +157,10 @@ service.interceptors.response.use( | @@ -156,10 +157,10 @@ service.interceptors.response.use( | ||
| 156 | }) | 157 | }) |
| 157 | } | 158 | } |
| 158 | } else if (code === 500) { | 159 | } else if (code === 500) { |
| 159 | - ElMessage.error(t('sys.api.errMsg500')) | 160 | + message.error(t('sys.api.errMsg500')) |
| 160 | return Promise.reject(new Error(msg)) | 161 | return Promise.reject(new Error(msg)) |
| 161 | } else if (code === 901) { | 162 | } else if (code === 901) { |
| 162 | - ElMessage.error( | 163 | + message.error( |
| 163 | '<div>' + | 164 | '<div>' + |
| 164 | t('sys.api.errMsg901') + | 165 | t('sys.api.errMsg901') + |
| 165 | '</div>' + | 166 | '</div>' + |
| @@ -174,9 +175,7 @@ service.interceptors.response.use( | @@ -174,9 +175,7 @@ service.interceptors.response.use( | ||
| 174 | // hard coding:忽略这个提示,直接登出 | 175 | // hard coding:忽略这个提示,直接登出 |
| 175 | console.log(msg) | 176 | console.log(msg) |
| 176 | } else { | 177 | } else { |
| 177 | - ElNotification.error({ | ||
| 178 | - title: msg | ||
| 179 | - }) | 178 | + message.notifyError(msg) |
| 180 | } | 179 | } |
| 181 | return Promise.reject('error') | 180 | return Promise.reject('error') |
| 182 | } else { | 181 | } else { |
| @@ -185,16 +184,16 @@ service.interceptors.response.use( | @@ -185,16 +184,16 @@ service.interceptors.response.use( | ||
| 185 | }, | 184 | }, |
| 186 | (error: AxiosError) => { | 185 | (error: AxiosError) => { |
| 187 | console.log('err' + error) // for debug | 186 | console.log('err' + error) // for debug |
| 188 | - let { message } = error | 187 | + let { message: msg } = error |
| 189 | const { t } = useI18n() | 188 | const { t } = useI18n() |
| 190 | - if (message === 'Network Error') { | ||
| 191 | - message = t('sys.api.errorMessage') | ||
| 192 | - } else if (message.includes('timeout')) { | ||
| 193 | - message = t('sys.api.apiTimeoutMessage') | ||
| 194 | - } else if (message.includes('Request failed with status code')) { | ||
| 195 | - message = t('sys.api.apiRequestFailed') + message.substr(message.length - 3) | 189 | + if (msg === 'Network Error') { |
| 190 | + msg = t('sys.api.errorMessage') | ||
| 191 | + } else if (msg.includes('timeout')) { | ||
| 192 | + msg = t('sys.api.apiTimeoutMessage') | ||
| 193 | + } else if (msg.includes('Request failed with status code')) { | ||
| 194 | + msg = t('sys.api.apiRequestFailed') + msg.substr(msg.length - 3) | ||
| 196 | } | 195 | } |
| 197 | - ElMessage.error(message) | 196 | + message.error(msg) |
| 198 | return Promise.reject(error) | 197 | return Promise.reject(error) |
| 199 | } | 198 | } |
| 200 | ) | 199 | ) |
| @@ -206,11 +205,8 @@ const handleAuthorized = () => { | @@ -206,11 +205,8 @@ const handleAuthorized = () => { | ||
| 206 | const { t } = useI18n() | 205 | const { t } = useI18n() |
| 207 | if (!isRelogin.show) { | 206 | if (!isRelogin.show) { |
| 208 | isRelogin.show = true | 207 | isRelogin.show = true |
| 209 | - ElMessageBox.confirm(t('sys.api.timeoutMessage'), t('common.confirmTitle'), { | ||
| 210 | - confirmButtonText: t('login.relogin'), | ||
| 211 | - cancelButtonText: t('common.cancel'), | ||
| 212 | - type: 'warning' | ||
| 213 | - }) | 208 | + message |
| 209 | + .confirm(t('sys.api.timeoutMessage')) | ||
| 214 | .then(() => { | 210 | .then(() => { |
| 215 | const { wsCache } = useCache() | 211 | const { wsCache } = useCache() |
| 216 | resetRouter() // 重置静态路由表 | 212 | resetRouter() // 重置静态路由表 |