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.
bocai_supplyChain_pc/src/utils/request.js

87 lines
3.0 KiB
JavaScript

4 years ago
import axios from "axios";
4 years ago
import router from "@/router";
import Cookies from "js-cookie";
3 years ago
import qs from "qs";
4 years ago
// import Vue from "vue";
3 years ago
// const baseURL = "http://1shoudan.com"; // 正式环境线上 废弃
const baseURL = "//idaotian.com"; // 正式环境线上
// const baseURL = "//test.renminshitang.com.cn/daotian/api_dev"; // 测试环境本地
2 years ago
// const baseURL = "//idagou.cn"; // 正式环境线上 废弃
3 years ago
// console.log(baseURL);
3 years ago
// const baseURL = "http://localhost:8001";
4 years ago
// const data1 = require.context("./", false, /\.js$/); // 测试用
// console.log(data1.keys());
4 years ago
axios.defaults.withCredentials = true; //添加这行代码
2 years ago
// 动态设置https协议,拼接到接口基础路径
let httpType = window.location.protocol
3 years ago
// axios.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"
4 years ago
// console.log(axios);
4 years ago
const service = axios.create({
2 years ago
// baseURL: "/api_prod", // url = base url + request url 测试
baseURL: httpType + baseURL, // baseURL: "/api", // url = base url + request url 正式
withCredentials: true, // send cookies when cross-domain requests
timeout: 60000, // request timeout
crossDomain: true,
4 years ago
});
3 years ago
service.interceptors.request.use(
2 years ago
(req) => {
// console.log(req);
// if (req.method == "post" && req.headers["Content-type"]) {
// if (req.headers["Content-type"].indexOf("multipart/form-data") == -1 && req.headers["Content-type"].indexOf("application/x-www-form-urlencoded") == -1) {
// let dataObj = qs.stringify(req.data);
// console.log(dataObj);
// req.data = dataObj;
// }
// }
3 years ago
2 years ago
if (localStorage.getItem("LOGIN_DATA")) {
req.headers.Authorization = "Bearer " + JSON.parse(localStorage.getItem("LOGIN_DATA")).token;
2 years ago
req.headers.appId = "daotianpc";
req.headers["g-open-env"]= 'WEB-PAGE',
3 years ago
console.log('getToken++++++++++++++++++++++++++++++++++++++++++++++++++++');
2 years ago
}
// application/json
// if(req.headers.common.Accept.indexOf('application/json') > 0 || req.headers.Accept.indexOf('application/json') > 0){
// console.log('is application/json');
// }
return req;
},
(err) => {
console.log(err);
}
3 years ago
);
4 years ago
service.interceptors.response.use(
2 years ago
(response) => {
// console.log(response);
let { msg, status } = response.data;
// status = 9999
2 years ago
// return response;
// console.log(status);
if (status == 9999) {
localStorage.removeItem("LOGIN_DATA");
router.push("/login");
// 跳转到登录页面
// this.$message.warning(msg);
return Promise.reject(new Error("token过期"));
}
if (response.status === 200) {
return response;
} else {
// Message.error(message)
return Promise.reject(new Error(msg));
}
},
(error) => {
console.log(error);
// if (error.toString().indexOf("9999") !== -1) {
// router.push("/login");
// // Vue.$message.warning(msg)
// } else if (error.message.indexOf("500") !== -1) {
// }
// return Promise.reject(error);
}
4 years ago
);
4 years ago
export default service;