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,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 = () =&gt; { @@ -206,11 +205,8 @@ const handleAuthorized = () =&gt; {
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() // 重置静态路由表