登录注册管理
This commit is contained in:
@@ -30,8 +30,19 @@ const TokenManager = {
|
||||
// 删除默认请求头
|
||||
delete request.defaults.headers.common['Authorization']
|
||||
},
|
||||
|
||||
// 初始化token(应用启动时调用)
|
||||
initToken() {
|
||||
const token = this.getToken()
|
||||
if (token) {
|
||||
request.defaults.headers.common['Authorization'] = `Bearer ${token}`
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
// 应用启动时初始化token
|
||||
TokenManager.initToken()
|
||||
|
||||
// 请求拦截器
|
||||
request.interceptors.request.use(
|
||||
(config: InternalAxiosRequestConfig) => {
|
||||
@@ -77,6 +88,16 @@ request.interceptors.response.use(
|
||||
return data
|
||||
},
|
||||
(error) => {
|
||||
// 处理401未授权错误
|
||||
if (error.response?.status === 401) {
|
||||
// 清除token
|
||||
TokenManager.removeToken()
|
||||
// 跳转到登录页
|
||||
ElMessage.error('登录已过期,请重新登录')
|
||||
router.replace('/login')
|
||||
return Promise.reject(error)
|
||||
}
|
||||
|
||||
// 网络错误或其他错误
|
||||
ElMessage.error(
|
||||
error.response?.data?.message ||
|
||||
|
||||
Reference in New Issue
Block a user