request.ts文件中,
第一步引用
import axios from 'axios';
import vue from '../main'; // 拿到登陆实例
import store from '../store/index';
第二步
const API_HOST = process.env.VUE_APP_API_HOST;
axios.defaults.withCredentials = true;
const service = axios.create({
timeout: 600000, // 请求超时时间
baseURL: `${API_HOST}`
});
第三步
/* request拦截器 */
service.interceptors.request.use((config: any) => {
// 在这里可以统一修改请求头,例如 加入 用户 token 等操作
if ((store.state as any).common.spaceId) {
config.headers['X-SpaceId'] = (store.state as any).common.spaceId;
}
return config;
}, (error: any) => {
Promise.reject(error);
});
第四步
export default service;
对应的ts文件中封装请求
import service from '@/requests/request';
import { AxiosPromise } from 'axios'
export class DeployService {
public static compositionInfo(params: any): AxiosPromise<any> {
return service({
method: 'get',
url: '/ecuServiceDeployment/composition/' + params
});
}
}