| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import axios from "axios";
- import { ElMessage } from "element-plus";
- // @ts-ignore 进度条
- import NProgress from "nprogress";
- import "nprogress/nprogress.css";
- //引入用户相关的仓库
- // import useUserStore from '@/store/modules/user'
- //创建axios实例
- let request = axios.create({
- // baseURL: import.meta.env.VITE_APP_BASE_API,
- timeout: 15000,
- });
- //请求拦截器
- request.interceptors.request.use((config) => {
- NProgress.start();
- // 判断接口公共路径
- if (config.headers.type === "video") {
- config.baseURL = import.meta.env.VITE_APP_BASE_API_VIDEO;
- } else {
- config.baseURL = import.meta.env.VITE_APP_BASE_API;
- }
- let token = sessionStorage.getItem("WANZAI-TOKEN");
- if (token) {
- config.headers.token = token;
- config.headers.user_head = 1;
- }
- //获取用户相关的小仓库:获取仓库内部token,登录成功以后携带给服务器
- // const userStore = useUserStore()
- // if (userStore.token) {
- // config.headers.token = userStore.token
- // }
- //config配置对象,headers属性请求头,经常给服务器端携带公共参数
- //返回配置对象
- return config;
- });
- //响应拦截器
- request.interceptors.response.use(
- (response) => {
- NProgress.done();
- return response.data;
- },
- (error) => {
- // console.log(error);
- //处理网络错误
- let msg = "";
- let status = error.response.status || "";
- switch (status) {
- case 401:
- msg = "token过期";
- break;
- case 403:
- msg = "无权访问";
- break;
- case 404:
- msg = "请求地址错误";
- break;
- case 500:
- msg = "服务器出现问题";
- return;
- break;
- default:
- msg = "无网络";
- }
- ElMessage({
- type: "error",
- message: msg,
- });
- return Promise.reject(error);
- }
- );
- export default request;
|