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.
132 lines
4.7 KiB
JavaScript
132 lines
4.7 KiB
JavaScript
import axios from "axios";
|
|
import router from "@/router";
|
|
import vue from '../main-dev.js'
|
|
import Cookies from "js-cookie";
|
|
import qs from "qs";
|
|
console.log('use message in request', this);
|
|
console.log('use message in request', vue);
|
|
// import Vue from "vue";
|
|
// console.log('use message in request2', Vue);
|
|
// const baseURL = "http://1shoudan.com"; // 正式环境线上 废弃
|
|
const baseURL = "//idaotian.com"; // 正式环境线上
|
|
// const baseURL = "//test.renminshitang.com.cn/daotian/api_dev"; // 测试环境本地
|
|
// const baseURL = "//idagou.cn"; // 正式环境线上 废弃
|
|
// console.log(baseURL);
|
|
// const baseURL = "http://localhost:8001";
|
|
// const data1 = require.context("./", false, /\.js$/); // 测试用
|
|
// console.log(data1.keys());
|
|
axios.defaults.withCredentials = true; //添加这行代码
|
|
// 动态设置https协议,拼接到接口基础路径
|
|
let httpType = window.location.protocol
|
|
// axios.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"
|
|
// console.log(axios);
|
|
const service = axios.create({
|
|
// 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,
|
|
});
|
|
service.interceptors.request.use(
|
|
(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;
|
|
// }
|
|
// }
|
|
|
|
if (localStorage.getItem("LOGIN_DATA")) {
|
|
console.log('req', req);
|
|
console.log('req url', req.url);
|
|
|
|
req.headers.Authorization = "Bearer " + localStorage.getItem("LOGIN_DATA_token");
|
|
req.headers.agencyId = JSON.parse(localStorage.getItem("DAOTIAN_agencyid"))
|
|
req.headers.appId = "daotianpc";
|
|
req.headers["g-open-env"] = 'WEB-PAGE'
|
|
if (req.url == '/assistant/custom/job/v2/list') {
|
|
req.headers.appId = ''
|
|
}
|
|
console.log('getToken++++++++++++++++++++++++++++++++++++++++++++++++++++');
|
|
}
|
|
// 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);
|
|
}
|
|
);
|
|
service.interceptors.response.use(
|
|
(response) => {
|
|
console.log('response', response);
|
|
let { msg, status } = response.data;
|
|
// status = 9999
|
|
// return response;
|
|
// console.log(status);
|
|
// response.data.status = 9999
|
|
if (response.data.status == 9999) {
|
|
localStorage.removeItem("LOGIN_DATA");
|
|
localStorage.removeItem("LOGIN_DATA_token");
|
|
localStorage.removeItem("DAOTIAN_agencyid");
|
|
router.push("/login");
|
|
// 跳转到登录页面
|
|
// this.$message.warning(msg);
|
|
return Promise.reject(new Error("token过期"));
|
|
}
|
|
if (response.data.status === 200) {
|
|
return response;
|
|
} else if (response.data.status === 2001) {// 职位名称
|
|
// message.error('职位名称:请不要填写【' + response.data.msg + '】相关违禁内容');
|
|
// this.$message.error(response.data.msg);
|
|
return response;
|
|
|
|
// return Promise.reject({
|
|
// code: 2001,
|
|
// msg: response.data.msg
|
|
// });
|
|
} else if (response.data.status === 2002) {// 职位名称
|
|
// message.error('职位名称:请不要填写【' + response.data.msg + '】相关违禁内容');
|
|
console.log('response.data.status === 2002', response.data.status);
|
|
vue.$message.error(response.data.msg)
|
|
// this.$message.error(response.data.msg);
|
|
setTimeout(() => {
|
|
localStorage.removeItem("LOGIN_DATA");
|
|
localStorage.removeItem("LOGIN_DATA_token");
|
|
localStorage.removeItem("DAOTIAN_agencyid");
|
|
// router.push({
|
|
// path: "/login",
|
|
// });
|
|
router.push("/login");
|
|
}, 2000);
|
|
|
|
return Promise.reject(new Error("token过期"));
|
|
|
|
// return Promise.reject({
|
|
// code: 2002,
|
|
// msg: response.data.msg
|
|
// });
|
|
} else {
|
|
// Message.error(response.data.msg)
|
|
// vue.$message.error(response.data.msg)
|
|
return response;
|
|
|
|
// 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);
|
|
}
|
|
);
|
|
export default service;
|