Commit 583549ed9879cb116be27454cc5502a1df626197

Authored by xingyu4j
1 parent 775083e1

perf: message hooks

yudao-ui-admin-vue3/src/config/axios/service.ts
... ... @@ -5,7 +5,7 @@ import axios, {
5 5 AxiosResponse,
6 6 AxiosError
7 7 } from 'axios'
8   -import { ElMessage, ElMessageBox, ElNotification } from 'element-plus'
  8 +import { useMessage } from '@/hooks/web/useMessage'
9 9 import qs from 'qs'
10 10 import { config } from '@/config/axios/config'
11 11 import { getAccessToken, getRefreshToken, getTenantId, removeToken, setToken } from '@/utils/auth'
... ... @@ -17,6 +17,7 @@ import { useCache } from '@/hooks/web/useCache'
17 17 const tenantEnable = import.meta.env.VITE_APP_TENANT_ENABLE
18 18 const { result_code, base_url, request_timeout } = config
19 19  
  20 +const message = useMessage()
20 21 // 需要忽略的提示。忽略后,自动 Promise.reject('error')
21 22 const ignoreMsgs = [
22 23 '无效的刷新令牌', // 刷新令牌被删除时,不用提示
... ... @@ -156,10 +157,10 @@ service.interceptors.response.use(
156 157 })
157 158 }
158 159 } else if (code === 500) {
159   - ElMessage.error(t('sys.api.errMsg500'))
  160 + message.error(t('sys.api.errMsg500'))
160 161 return Promise.reject(new Error(msg))
161 162 } else if (code === 901) {
162   - ElMessage.error(
  163 + message.error(
163 164 '<div>' +
164 165 t('sys.api.errMsg901') +
165 166 '</div>' +
... ... @@ -174,9 +175,7 @@ service.interceptors.response.use(
174 175 // hard coding:忽略这个提示,直接登出
175 176 console.log(msg)
176 177 } else {
177   - ElNotification.error({
178   - title: msg
179   - })
  178 + message.notifyError(msg)
180 179 }
181 180 return Promise.reject('error')
182 181 } else {
... ... @@ -185,16 +184,16 @@ service.interceptors.response.use(
185 184 },
186 185 (error: AxiosError) => {
187 186 console.log('err' + error) // for debug
188   - let { message } = error
  187 + let { message: msg } = error
189 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 197 return Promise.reject(error)
199 198 }
200 199 )
... ... @@ -206,11 +205,8 @@ const handleAuthorized = () =&gt; {
206 205 const { t } = useI18n()
207 206 if (!isRelogin.show) {
208 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 210 .then(() => {
215 211 const { wsCache } = useCache()
216 212 resetRouter() // 重置静态路由表
... ...