|
15 | 15 | * limitations under the License. |
16 | 16 | */ |
17 | 17 |
|
18 | | -import axios, { AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios' |
| 18 | +import axios, { |
| 19 | + AxiosRequestConfig, |
| 20 | + AxiosResponse, |
| 21 | + AxiosError, |
| 22 | + InternalAxiosRequestConfig |
| 23 | +} from 'axios' |
19 | 24 | import { useUserStore } from '@/store/user/user' |
20 | 25 | import { useUISettingStore } from '@/store/ui-setting/ui-setting' |
21 | 26 | import qs from 'qs' |
@@ -60,23 +65,27 @@ const baseRequestConfig: AxiosRequestConfig = { |
60 | 65 |
|
61 | 66 | const service = axios.create(baseRequestConfig) |
62 | 67 |
|
63 | | -const err = (err: AxiosError): Promise<AxiosError> => { |
64 | | - if (err.response?.status === 401 || err.response?.status === 504) { |
| 68 | +const err = (error: unknown): Promise<never> => { |
| 69 | + const axiosError = error as AxiosError |
| 70 | + |
| 71 | + if ( |
| 72 | + axiosError.response?.status === 401 || |
| 73 | + axiosError.response?.status === 504 |
| 74 | + ) { |
65 | 75 | userStore.setSessionId('') |
66 | 76 | userStore.setSecurityConfigType('') |
67 | 77 | userStore.setUserInfo({}) |
68 | 78 | userStore.setBaseResDir('') |
69 | 79 | router.push({ path: '/login' }) |
70 | 80 | } |
71 | 81 |
|
72 | | - return Promise.reject(err) |
| 82 | + return Promise.reject(error) |
73 | 83 | } |
74 | 84 |
|
75 | | -service.interceptors.request.use((config: AxiosRequestConfig<any>) => { |
76 | | - config.headers = config.headers || {} |
77 | | - config.headers.sessionId = userStore.getSessionId |
| 85 | +service.interceptors.request.use((config: InternalAxiosRequestConfig) => { |
| 86 | + config.headers.set('sessionId', userStore.getSessionId) |
78 | 87 | const language = cookies.get('language') |
79 | | - if (language) config.headers.language = language |
| 88 | + if (language) config.headers.set('language', language) |
80 | 89 |
|
81 | 90 | return config |
82 | 91 | }, err) |
|
0 commit comments