|
|
@@ -1,5 +1,10 @@
|
|
|
import { message } from 'ant-design-vue'
|
|
|
import axios, { AxiosInstance, AxiosResponse } from 'axios'
|
|
|
+import defaultSetting from '../../config/defaultSetting'
|
|
|
+import { useModule } from '@/hooks'
|
|
|
+import { useRoute } from 'vue-router'
|
|
|
+
|
|
|
+console.log('defaultSetting:', defaultSetting)
|
|
|
|
|
|
const instance = axios.create({
|
|
|
baseURL: '',
|
|
|
@@ -22,6 +27,13 @@ const catchErr = (response: AxiosResponse) => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * 登录失效后重定向地址
|
|
|
+ */
|
|
|
+const redirectUrl = () => {
|
|
|
+ window.open(defaultSetting.logout + `?redirectUrl=${useModule().path}`)
|
|
|
+}
|
|
|
+
|
|
|
instance.interceptors.request.use(config => {
|
|
|
return config
|
|
|
}, function (error) {
|
|
|
@@ -30,7 +42,9 @@ instance.interceptors.request.use(config => {
|
|
|
|
|
|
instance.interceptors.response.use(function (response) {
|
|
|
catchErr(response)
|
|
|
-
|
|
|
+ if (response.status === 403) {
|
|
|
+ redirectUrl()
|
|
|
+ }
|
|
|
return response.data
|
|
|
}, error => Promise.reject(error))
|
|
|
|