You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
3.7 KiB
JavaScript

2 years ago
import axios from "axios";
import { useRouter } from "vue-router"
import Cookies from "js-cookie";
import qs from "qs";
import {
Modal,
message
} from 'ant-design-vue';
import commonJS from './common.js';
const router = useRouter()
10 months ago
// const baseURL = "https://admin.ibocai.com.cn/api_prod"; // 正式环境线上
const baseURL = "http://192.168.3.83:8003"; // 正式环境线上
1 year ago
// const baseURL2 = "https://a.matripe.com.cn/api_stock"; // 正式环境线上
2 years ago
let protocol = location.protocol
2 years ago
let trueUrl = protocol == 'http:' ? baseURL : baseURL2
2 years ago
console.log(protocol);
axios.defaults.withCredentials = true; //添加这行代码
const service = axios.create({
2 years ago
baseURL: trueUrl, // baseURL: "/api", // url = base url + request url 正式
2 years ago
withCredentials: true, // send cookies when cross-domain requests
timeout: 60000, // request timeout
crossDomain: true,
});
const getUrlParams = () => {
let that = this,
$str = window.location.href,
_list = $str.split('?'),
arr = _list[1],
newArr = [],
_arrs = [],
_params = {};
if (arr == undefined) {
} else {
newArr = arr.split('&');
newArr.forEach((item, index) => {
_arrs.push({
$key: item.split('=')[0],
$value: item.split('=')[1]
});
});
_arrs.forEach((item, index) => {
_params[item.$key] = item.$value;
})
}
return _params;
};
service.interceptors.request.use(
(req) => {
/* 新版不同项目通过url获取token */
if (import.meta.env.MODE == "development") {
// 测试环境通过URL获取token
if (getUrlParams().token) {
console.log('getUrlParams().userInfo', getUrlParams().userInfo);
// console.log(decodeURIComponent(getUrlParams().userInfo));
localStorage.setItem('DAOTIAN_token', getUrlParams().token);
localStorage.setItem('DAOTIAN_userinfo_name', getUrlParams().username)
localStorage.setItem('DAOTIAN_userinfo_avatar', getUrlParams().avatar)
localStorage.setItem('DAOTIAN_userinfo_agencyid', getUrlParams().agencyid)
localStorage.setItem('DAOTIAN_userinfo', decodeURIComponent(getUrlParams().userInfo))
localStorage.setItem('DAOTIAN_userinfo_roleid', getUrlParams().roleid.split("#/")[0])
}
} else {
// 正式环境,通过缓存获取
if (localStorage.getItem("daotian_to_admin_token")) {
localStorage.setItem('DAOTIAN_token', localStorage.getItem("daotian_to_admin_token"));
localStorage.setItem('DAOTIAN_userinfo', localStorage.getItem("LOGIN_DATA"));
localStorage.setItem('DAOTIAN_userinfo_name', localStorage.getItem("daotian_to_admin_username"))
localStorage.setItem('DAOTIAN_userinfo_avatar', localStorage.getItem("daotian_to_admin_avatar"))
localStorage.setItem('DAOTIAN_userinfo_roleid', localStorage.getItem("daotian_to_admin_roleid"))
localStorage.setItem('DAOTIAN_userinfo_agencyid', localStorage.getItem("daotian_to_admin_agencyid"))
}
}
req.headers.token = localStorage.getItem("DAOTIAN_token");
10 months ago
req.headers.Authorization = "Bearer " + localStorage.getItem("DAOTIAN_token");
2 years ago
return req;
},
(err) => {
console.log(err);
}
);
service.interceptors.response.use(
(response) => {
console.log(response);
let { msg, code } = response.data;
if (code == 9999) {
localStorage.removeItem("LOGIN_DATA");
localStorage.removeItem("DAOTIAN_token")
commonJS.goWiondowOpenPage('login')
// 跳转到登录页面
return Promise.reject(new Error("token过期"));
}
10 months ago
if (response.status === 200 || response.status === 201) {
return response.data;
2 years ago
} else {
return Promise.reject(new Error(msg));
}
},
(error) => {
console.log(error);
}
);
2 years ago
service.userCustom = trueUrl
2 years ago
export default service;