|
- 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
|