|
|
|
@ -9,22 +9,25 @@
|
|
|
|
|
import axios from 'axios';
|
|
|
|
|
import qs from 'qs';
|
|
|
|
|
import router from "@/permission"
|
|
|
|
|
import { message} from 'ant-design-vue'
|
|
|
|
|
import {
|
|
|
|
|
message
|
|
|
|
|
} from 'ant-design-vue'
|
|
|
|
|
|
|
|
|
|
function filterRequestData(obj) {
|
|
|
|
|
let o = {};
|
|
|
|
|
for(let key in obj) {
|
|
|
|
|
for (let key in obj) {
|
|
|
|
|
let b1 = obj[key] === 0;
|
|
|
|
|
let b2 = obj[key] === false;
|
|
|
|
|
if(obj[key] || b1 || b2) {
|
|
|
|
|
if (obj[key] || b1 || b2) {
|
|
|
|
|
o[key] = obj[key]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return o;
|
|
|
|
|
}
|
|
|
|
|
axios.defaults.withCredentials = true;
|
|
|
|
|
// axios.defaults.withCredentials = true;
|
|
|
|
|
//创建axios的实例
|
|
|
|
|
const httpService = axios.create({
|
|
|
|
|
baseURL: 'http://cloud.sws010.com',// TODO:具体的配置可以根据项目情况而来
|
|
|
|
|
baseURL: 'http://cloud.sws010.com', // TODO:具体的配置可以根据项目情况而来
|
|
|
|
|
// withCredentials: true
|
|
|
|
|
timeout: 50000
|
|
|
|
|
})
|
|
|
|
@ -35,58 +38,61 @@ httpService.interceptors.request.use(config => {
|
|
|
|
|
// if(localStorage.getItem('token')){//判断浏览器中的cookie中是否存在项目的token
|
|
|
|
|
// config.headers.token = localStorage.getItem('token')
|
|
|
|
|
// }\
|
|
|
|
|
// config.withCredentials = true;
|
|
|
|
|
config.withCredentials = true;
|
|
|
|
|
const rqParams = filterRequestData(config.params);
|
|
|
|
|
const rqData = filterRequestData(config.data);
|
|
|
|
|
// post 'Content-Type' === 'application/x-www-form-urlencoded'
|
|
|
|
|
config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
|
|
|
|
|
if(config.method === 'post') {
|
|
|
|
|
if (config.method === 'post') {
|
|
|
|
|
config.data = qs.stringify(rqData);
|
|
|
|
|
} else {
|
|
|
|
|
config.data = rqData;
|
|
|
|
|
config.params = rqParams;
|
|
|
|
|
}
|
|
|
|
|
return config;
|
|
|
|
|
},err => {
|
|
|
|
|
Promise.reject(err);// 请求错误处理
|
|
|
|
|
}, err => {
|
|
|
|
|
Promise.reject(err); // 请求错误处理
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
//4、axios的拦截--response
|
|
|
|
|
httpService.interceptors.response.use(response => {
|
|
|
|
|
// TODO:具体的code对应的处理可继续添加修改
|
|
|
|
|
// TODO:具体的code对应的处理可继续添加修改
|
|
|
|
|
let data = null;
|
|
|
|
|
let data1 = null;
|
|
|
|
|
let msg = '';
|
|
|
|
|
let res = response.data;
|
|
|
|
|
let totalNum = 0;
|
|
|
|
|
if(res.Code == 1){
|
|
|
|
|
if (res.Code == 1) {
|
|
|
|
|
data = res.Data || [];
|
|
|
|
|
data1 = res.Data1 || [];
|
|
|
|
|
msg = res.Msg || "";
|
|
|
|
|
totalNum = res.totalNum || 0;
|
|
|
|
|
return {data,data1, msg, totalNum};
|
|
|
|
|
return {
|
|
|
|
|
data,
|
|
|
|
|
data1,
|
|
|
|
|
msg,
|
|
|
|
|
totalNum
|
|
|
|
|
};
|
|
|
|
|
} else {
|
|
|
|
|
msg = res.Msg || "";
|
|
|
|
|
message.error(msg);
|
|
|
|
|
return Promise.reject(new Error(msg))
|
|
|
|
|
}
|
|
|
|
|
},err => {
|
|
|
|
|
// TODO:具体的code对应的处理可继续添加修改
|
|
|
|
|
if(err.response.Code === 301){
|
|
|
|
|
//登录过期跳转登录页面,并将要浏览的页面fullPath传过去,登录成功后跳转需要访问的页面 ---主页(index) 或者 退出到登录前的浏览的页面
|
|
|
|
|
}, err => {
|
|
|
|
|
// TODO:具体的code对应的处理可继续添加修改
|
|
|
|
|
if (err.response.Code === 301) {
|
|
|
|
|
//登录过期跳转登录页面,并将要浏览的页面fullPath传过去,登录成功后跳转需要访问的页面 ---主页(index) 或者 退出到登录前的浏览的页面
|
|
|
|
|
//这样登录页面登录接口成功之后可以进行跳转 主页(index) 或者 退出到登录前的页面: let path = this.$route.query.redirect || '/index.js'; this.$router.push(path);
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
router.replace({
|
|
|
|
|
path: '/login',
|
|
|
|
|
query: {
|
|
|
|
|
redirect: router.currentRoute.fullPath
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
router.replace({
|
|
|
|
|
path: '/login',
|
|
|
|
|
query: {
|
|
|
|
|
redirect: router.currentRoute.fullPath
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}, 1000);
|
|
|
|
|
}
|
|
|
|
|
return Promise.reject(err);
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
export default httpService
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export default httpService
|