feat(login): 删除还没有账号? 注册
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 2m19s
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 2m19s
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
import axios, { InternalAxiosRequestConfig, AxiosRequestConfig, AxiosResponse } from 'axios'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
import EmojiText from '../ui/emojo'
|
||||
import { ApiStatus } from './status'
|
||||
import type { RequestOptions, ErrorMessageMode } from '@/types/api'
|
||||
|
||||
@@ -46,7 +45,7 @@ axiosInstance.interceptors.request.use(
|
||||
return request // 返回修改后的配置
|
||||
},
|
||||
(error) => {
|
||||
ElMessage.error(`服务器异常! ${EmojiText[500]}`) // 显示错误消息
|
||||
ElMessage.error('服务器异常!') // 显示错误消息
|
||||
return Promise.reject(error) // 返回拒绝的 Promise
|
||||
}
|
||||
)
|
||||
@@ -116,7 +115,8 @@ axiosInstance.interceptors.response.use(
|
||||
|
||||
// 更新请求头
|
||||
originalRequest.headers['Authorization'] = `Bearer ${data.data.access_token}`
|
||||
axiosInstance.defaults.headers.common['Authorization'] = `Bearer ${data.data.access_token}`
|
||||
axiosInstance.defaults.headers.common['Authorization'] =
|
||||
`Bearer ${data.data.access_token}`
|
||||
|
||||
// 处理队列中的请求
|
||||
processQueue(null, data.data.access_token)
|
||||
@@ -190,10 +190,8 @@ function processRequestConfig(config: ExtendedRequestConfig): AxiosRequestConfig
|
||||
function handleErrorMessage(error: any, mode: ErrorMessageMode = 'message') {
|
||||
if (mode === 'none') return
|
||||
|
||||
const errorMessage = error.response?.data.msg
|
||||
const message = errorMessage
|
||||
? `${errorMessage} ${EmojiText[500]}`
|
||||
: `请求超时或服务器异常!${EmojiText[500]}`
|
||||
const errorMessage = error.response?.data?.msg
|
||||
const message = errorMessage || '请求超时或服务器异常!'
|
||||
|
||||
if (mode === 'modal') {
|
||||
// TODO: 可以使用 ElMessageBox 显示模态框
|
||||
@@ -224,9 +222,11 @@ async function request<T = any>(config: ExtendedRequestConfig): Promise<T> {
|
||||
return res.data
|
||||
} catch (e) {
|
||||
if (axios.isAxiosError(e)) {
|
||||
// 处理错误消息
|
||||
const errorMode = config.requestOptions?.errorMessageMode || 'message'
|
||||
handleErrorMessage(e, errorMode)
|
||||
// 只有明确指定了错误消息模式才显示错误
|
||||
const errorMode = config.requestOptions?.errorMessageMode
|
||||
if (errorMode && errorMode !== 'none') {
|
||||
handleErrorMessage(e, errorMode)
|
||||
}
|
||||
}
|
||||
return Promise.reject(e)
|
||||
}
|
||||
@@ -253,7 +253,7 @@ const api = {
|
||||
|
||||
// 退出登录
|
||||
const logOut = () => {
|
||||
ElMessage.error(`登录已过期,请重新登录 ${EmojiText[500]}`)
|
||||
ElMessage.error('登录已过期,请重新登录')
|
||||
setTimeout(() => {
|
||||
useUserStore().logOut()
|
||||
}, 1000)
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
|
||||
// macos 用户 按 shift + 6 可以唤出更多表情……
|
||||
const EmojiText: { [key: string]: string } = {
|
||||
'0': 'O_O', // 空
|
||||
'200': '^_^', // 成功
|
||||
'400': 'T_T', // 错误请求
|
||||
'500': 'X_X' // 服务器内部错误,无法完成请求
|
||||
'0': '🤔', // 空 / 未知
|
||||
'200': '🎉', // 成功
|
||||
'400': '😞', // 客户端错误
|
||||
'500': '🤯' // 服务器炸了
|
||||
}
|
||||
|
||||
// const EmojiIcon = ['🟢', '🔴', '🟡 ', '🚀', '✨', '💡', '🛠️', '🔥', '🎉', '🌟', '🌈']
|
||||
|
||||
Reference in New Issue
Block a user