|
@@ -54,52 +54,65 @@ service.interceptors.response.use(
|
|
|
// 业务状态码处理
|
|
|
if ([200, '200'].includes(data.code)) {
|
|
|
return data
|
|
|
- } else {
|
|
|
- // token过期
|
|
|
- if (['11011', '11012', '11016'].includes(data.code)) {
|
|
|
- if (!userStore.userInfo.tokenValue) return
|
|
|
- message.error('登录失效,请重新登录')
|
|
|
+ }
|
|
|
+
|
|
|
+ // 全局错误信息
|
|
|
+ let errorMsg: string = data.message || data.msg
|
|
|
+
|
|
|
+ if (['11011', '11012', '11016'].includes(data.code)) {
|
|
|
+ if (!userStore.userInfo.tokenValue) {
|
|
|
userStore.logout()
|
|
|
- return
|
|
|
+ return Promise.reject(new Error('未授权,请先登录'))
|
|
|
}
|
|
|
- if (['60001'].includes(data.code)) {
|
|
|
- // 房间信息不存在,不用报错提示
|
|
|
- return
|
|
|
- }
|
|
|
- if ([500, '500'].includes(data.code)) {
|
|
|
- message.error(data.message || data.msg || '服务异常,请联系管理员')
|
|
|
- return
|
|
|
- }
|
|
|
- message.error(data.message || data.msg) // 全局错误信息
|
|
|
- return Promise.reject(new Error(data.message))
|
|
|
+ // token过期
|
|
|
+ errorMsg = `登录过期,请重新登录, ${data?.code}`
|
|
|
+ userStore.logout()
|
|
|
+ } else if (['60001'].includes(data.code)) {
|
|
|
+ // 房间信息不存在,不用报错提示
|
|
|
+ errorMsg = ''
|
|
|
+ } else if ([500, '500'].includes(data.code)) {
|
|
|
+ errorMsg = data.message || data.msg || '服务异常,请联系管理员'
|
|
|
}
|
|
|
+
|
|
|
+ // 全局错误信息
|
|
|
+ if (errorMsg) {
|
|
|
+ message.error(errorMsg)
|
|
|
+ }
|
|
|
+
|
|
|
+ return Promise.reject(new Error(errorMsg))
|
|
|
},
|
|
|
(error) => {
|
|
|
const userStore = useUserStore()
|
|
|
+ let errorMessage: string = ''
|
|
|
// HTTP状态码非2xx
|
|
|
if (error.response) {
|
|
|
- // 服务器有响应的情况
|
|
|
+ // 1 服务器有响应
|
|
|
const { status, data } = error.response
|
|
|
- console.error('❌ 服务器错误 🚀', status, data, error.config.url)
|
|
|
- const errorMessage = data?.message || data?.msg || `服务异常,请联系管理员`
|
|
|
- if (status === 400 && data?.code === '11016') {
|
|
|
- message.error('登录失效,请重新登录')
|
|
|
- userStore.logout()
|
|
|
- return
|
|
|
+ console.error(`❌ 服务器响应错误 ${status}: 🚀 ${error.config.url}`, data)
|
|
|
+
|
|
|
+ errorMessage = data?.message || data?.msg || `服务异常,请联系管理员`
|
|
|
+ if (status === 400) {
|
|
|
+ if (['11016'].includes(data?.code)) {
|
|
|
+ errorMessage = `登录过期,请重新登录, ${status}、${data?.code}`
|
|
|
+ userStore.logout()
|
|
|
+ }
|
|
|
}
|
|
|
- message.error(errorMessage)
|
|
|
- return Promise.reject(new Error(errorMessage))
|
|
|
} else if (error.request) {
|
|
|
- // 请求已发出但没有收到响应
|
|
|
- console.error('❌ 网络错误 🚀', error.message)
|
|
|
- message.error('网络异常,请检查网络')
|
|
|
- return Promise.reject(new Error('网络异常,请检查网络'))
|
|
|
+ // 2 请求已发出但没有收到响应
|
|
|
+ console.error(`❌ 网络错误 🚀 ${error.message}`)
|
|
|
+ errorMessage = '网络异常,请检查网络'
|
|
|
} else {
|
|
|
// 请求配置错误
|
|
|
console.error('❌ 请求错误 🚀', error.message)
|
|
|
- message.error(`${error.message || '请求异常,请联系管理员'}`)
|
|
|
- return Promise.reject(error)
|
|
|
+ errorMessage = `${error.message || '请求异常,请联系管理员'}`
|
|
|
}
|
|
|
+
|
|
|
+ // 统一显示错误消息
|
|
|
+ if (errorMessage) {
|
|
|
+ message.error(errorMessage)
|
|
|
+ }
|
|
|
+
|
|
|
+ return Promise.reject(new Error(errorMessage))
|
|
|
}
|
|
|
)
|
|
|
|