|
|
@@ -4,31 +4,35 @@ import router from '@/router'
|
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
|
|
|
const request = axios.create({
|
|
|
- baseURL: '/api',
|
|
|
+ baseURL: '/api'
|
|
|
})
|
|
|
|
|
|
// 异常拦截处理器
|
|
|
const errorHandler = (error: any) => {
|
|
|
const status = error.response.status
|
|
|
+ const data = error.response.data
|
|
|
const userStore = useUserStore()
|
|
|
|
|
|
- if (status === 401) {
|
|
|
- ElMessageBox.confirm(
|
|
|
- '当前用户无权限访问当前资源,请尝试重新登录后再操作。',
|
|
|
- '无权限访问',
|
|
|
- {
|
|
|
- type: 'error',
|
|
|
- closeOnClickModal: false,
|
|
|
- center: true,
|
|
|
- confirmButtonText: '重新登录',
|
|
|
- }
|
|
|
- ).then(() => {
|
|
|
+ if (status === 400) {
|
|
|
+ ElMessage.error(data.msg)
|
|
|
+ } else if (status === 401) {
|
|
|
+ ElMessageBox.confirm('当前用户无权限访问当前资源,请尝试重新登录后再操作。', '无权限访问', {
|
|
|
+ type: 'error',
|
|
|
+ closeOnClickModal: false,
|
|
|
+ center: true,
|
|
|
+ confirmButtonText: '重新登录'
|
|
|
+ }).then(() => {
|
|
|
userStore.$reset()
|
|
|
router.replace({ path: '/login' })
|
|
|
})
|
|
|
} else if (status === 403) {
|
|
|
ElMessage.error('无权限访问')
|
|
|
+ } else if (status === 404) {
|
|
|
+ ElMessage.error('接口不存在')
|
|
|
+ } else if (status === 500) {
|
|
|
+ ElMessage.error('服务器错误')
|
|
|
}
|
|
|
+
|
|
|
return Promise.reject(error.response)
|
|
|
}
|
|
|
|
|
|
@@ -44,7 +48,13 @@ request.interceptors.request.use(config => {
|
|
|
})
|
|
|
|
|
|
request.interceptors.response.use(res => {
|
|
|
- return res.data
|
|
|
+ const data = res.data
|
|
|
+ if (data.success || data.code === 0) {
|
|
|
+ return data
|
|
|
+ } else {
|
|
|
+ ElMessage.error(data.msg)
|
|
|
+ return Promise.reject(data)
|
|
|
+ }
|
|
|
}, errorHandler)
|
|
|
|
|
|
export default request
|