| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import axios, { AxiosResponse } from 'axios';
- // 创建axios实例
- const axiosInstance = axios.create({
- baseURL: '/bigmodel-api',
- timeout: 300000,// 请求超时5分钟
- });
- // 请求拦截器
- axiosInstance.interceptors.request.use(
- (config) => {
- const userInfoStr = localStorage.getItem('userInfo');
- if (userInfoStr) {
- const userInfo = JSON.parse(userInfoStr);
- if (userInfo.token) {
- config.headers['Authorization'] = userInfo.token;
- }
- }
- return config;
- }
- );
- // 响应拦截器
- axiosInstance.interceptors.response.use(
- (response: AxiosResponse) => {// 成功信息
- const { config, data } = response;
- if (config.responseType === 'blob') {
- return Promise.resolve(data);
- } else {
- if (data.code === 200) {// 成功
- return Promise.resolve(data);
- } else {// 失败
- if (data.code === 401) {
- localStorage.removeItem('userInfo');
- const originUrl = window.location.origin;
- window.open(originUrl, '_self');
- }
- return Promise.reject(data);
- }
- }
- },
- (error) => {// 错误信息
- return Promise.reject();
- }
- );
- export default axiosInstance;
|