fix(admin): 登录失败时显示后端实际错误信息而非"登录已过期"
401 响应拦截器区分登录页和已登录页面: - 登录页:显示后端返回的 message(如"账号或密码错误") - 其他页面:显示"登录已过期"并跳转登录页 Made-with: Cursor
This commit is contained in:
@@ -51,10 +51,15 @@ service.interceptors.response.use(
|
|||||||
if (error.response) {
|
if (error.response) {
|
||||||
const { status, data } = error.response
|
const { status, data } = error.response
|
||||||
if (status === 401) {
|
if (status === 401) {
|
||||||
|
const isOnLoginPage = router.currentRoute.value.path === '/login'
|
||||||
|
if (isOnLoginPage) {
|
||||||
|
ElMessage.error(data?.message || '账号或密码错误')
|
||||||
|
} else {
|
||||||
ElMessage.error('登录已过期,请重新登录')
|
ElMessage.error('登录已过期,请重新登录')
|
||||||
localStorage.removeItem('admin_token')
|
localStorage.removeItem('admin_token')
|
||||||
localStorage.removeItem('admin_user')
|
localStorage.removeItem('admin_user')
|
||||||
router.push('/login')
|
router.push('/login')
|
||||||
|
}
|
||||||
} else if (status === 403) {
|
} else if (status === 403) {
|
||||||
ElMessage.error(data?.message || '没有访问权限')
|
ElMessage.error(data?.message || '没有访问权限')
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user