import axios from 'axios' import router from '@/router/index' import { ElMessage } from 'element-plus' // ElMessage import { userInfoModules } from "@/store/modules/userInfo"; // import stores from '@/store/index' import { store } from '@/store/index'; // 因为不是在setup环境而是js中,必须重新初始化加载store const userInfoPinia = userInfoModules(store); //pinia // 开发环境需以 "/api" 拼接,其他环境需以 "/C" 拼接 const env = process.env.NODE_ENV == 'development' ? "/api" : "/C" // const env = process.env.NODE_ENV == 'development' ? "" : "" // console.log(process.env.NODE_ENV, 'env') console.log(env) /** * @description:发送Axios请求 */ const request = axios.create({ baseURL: env, timeout: 15000 }) // 请求拦截器 request.interceptors.request.use( function (config) { // 给所有授权的请求提供token const AccessToken = localStorage.getItem("AccessToken") if (AccessToken) { config.headers.token = AccessToken } return config }, function (error) { // 操作 return Promise.reject(error) } ) // 响应拦截器 request.interceptors.response.use( function (response) { if (!response.data) { ElMessage.error($t('tips.systemException')); } let code = response.data.code // 当token无效(过期或损坏)时 1053为未登录 if (code == 1052 || code == 1053) { localStorage.removeItem("AccessToken"); router.push("/login"); // ElMessage.error("登录过期,请重新登录!"); ElMessage.error($t('tips.tokenExpired')); return // 弹出错误 } else if (code != 200) { if (code == 500) { // ElMessage.error("系统异常,请稍后再试"); ElMessage.error($t('tips.systemException')); // 其他错误 } else { return Promise.reject(response.data) } } else { // 正常返回 return response.data } }, function (error) { } ) export default request