import axios from 'axios';
import router from '@/router';
import { Message } from 'element-ui';
import { getToken, base64Encrypt, base64Decrypt, serializeData } from '@/utils/auth';
// import {
// getToken,
// aesEncrypt,
// getNoncestr,
// getTimestamp,
// // getSign,
// // setAccesstoken,
// getAccesstoken,
// // removeAccesstoken,
// serializeData,
// base64Encrypt,
// base64Decrypt,
// getAccount
// } from '@/utils/auth';
// create an axios instance
const service = axios.create({
baseURL: process.env.MALL_BASE_HOST,
timeout: 15000
});
// const appid = '8145955969';
// const appSecret = 'l8y70yhm8vonwc904i6ugjs3s1zfqo77';
// const accessTokenName = 'accessToken';
// function get_access_token() {
// let accessToken = '';
// let token = getToken();
// accessToken = getAccesstoken(accessTokenName);
// if (accessToken) {
// return accessToken;
// }
// let requestObj;
// if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
// requestObj = new XMLHttpRequest();
// } else { // code for IE6, IE5
// /* eslint-disable */
// requestObj = new ActiveXObject('Microsoft.XMLHTTP');
// }
// let queryData= {
// appid: "8145955969",
// appsecret: "l8y70yhm8vonwc904i6ugjs3s1zfqo77"
// }
// let url = `${process.env.MALL_BASE_HOST}/mall_manage/back/token/getToken?appid=${aesEncrypt(appid)}&appSecret=${aesEncrypt(appSecret)}`;
// requestObj.open('get', url, true);
// // requestObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
// requestObj.setRequestHeader("appid","8145955969");
// requestObj.setRequestHeader("appsecret","l8y70yhm8vonwc904i6ugjs3s1zfqo77");
// requestObj.setRequestHeader("usertoken",token);
// requestObj.send('');
// console.log(requestObj.response);
// let obj = base64Decrypt(requestObj.response);
// console.log(obj);
// if (typeof obj !== 'object') {
// obj = JSON.parse(obj);
// }
// if (obj.code === 0) {
// accessToken = obj.data.accesstoken;
// }
// if (accessToken) {
// setAccesstoken(accessTokenName, accessToken);
// }
// return accessToken;
// }
// request interceptor
service.interceptors.request.use(config => {
// Do something before request is sent
config.headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
let token = getToken();
// let account = getAccount();
// let accessToken = get_access_token();
// let timestamp = getTimestamp();
// let noncestr = getNoncestr();
// let sign = getSign(accessToken, appid, appSecret, noncestr, timestamp);
if (token) {
config.headers['usertoken'] = token;
}
// if (account) {
// config.headers['account'] = account;
// }
// if (accessToken) {
// config.headers['accesstoken'] = accessToken;
// }
// if (timestamp) {
// config.headers['timestamp'] = timestamp;
// }
// if (noncestr) {
// config.headers['noncestr'] = noncestr;
// }
if (config.method.toLowerCase() === 'post') {
if (config.data) {
let dataStr = JSON.stringify(config.data);
let base64Str = base64Encrypt(dataStr);
config.data = serializeData({ param: base64Str });
}
}
return config;
}, error => {
// Do something with request error
console.log(error);
Promise.reject(error);
});
// respone interceptor
service.interceptors.response.use(
response => {
if (response.data) {
try {
let str = base64Decrypt(response.data);
let res_data = JSON.parse(str);
response.data = res_data;
if (res_data.resultCode === '-2') {
let returnUrl = location.href;
sessionStorage.setItem('returnUrl', returnUrl);
router.push('/login');
}
if (response.data && response.data.resultCode !== '0') {
let errorMsg = response.data.msg;
errorMsg = errorMsg ? errorMsg : '网络错误,请稍后再试。';
Message({
message: errorMsg,
type: 'error'
});
}
} catch (e) {
console.log('出错了,' + e + ',接口返回数据:' + response.data);
}
}
return response;
},
error => {
console.log('error' + error);
}
);
export default service;
import axios from 'axios';
import router from '@/router';
import { Message } from 'element-ui';
import {
getToken,
removeToken,
aesEncrypt,
getNoncestr,
getTimestamp,
getSign,
setAccesstoken,
getAccesstoken,
removeAccesstoken,
} from '@/utils/auth';
const appid = '8145955969';
const appSecret = 'l8y70yhm8vonwc904i6ugjs3s1zfqo77';
const accessTokenName = 'accessToken';
function get_access_token() {
let accessToken = '';
accessToken = getAccesstoken(accessTokenName);
if (accessToken) {
return accessToken;
}
let requestObj;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
requestObj = new XMLHttpRequest();
} else { // code for IE6, IE5
/* eslint-disable */
requestObj = new ActiveXObject('Microsoft.XMLHTTP');
}
let url = `${process.env.BASE_HOST}/api/system/Token?appid=${aesEncrypt(appid)}&appSecret=${aesEncrypt(appSecret)}`;
requestObj.open('get', url, false);
requestObj.send('');
let obj = requestObj.response;
if (typeof obj !== 'object') {
obj = JSON.parse(obj);
}
if (obj.code === 0) {
accessToken = obj.data.accesstoken;
}
if (accessToken) {
setAccesstoken(accessTokenName, accessToken);
}
return accessToken;
}
// create an axios instance
const service = axios.create({
baseURL: process.env.BASE_HOST,
timeout: 60000
});
// request interceptor
service.interceptors.request.use(config => {
// Do something before request is sent
let token = getToken();
let accessToken = get_access_token();
let timestamp = getTimestamp();
let noncestr = getNoncestr();
let sign = getSign(accessToken, appid, appSecret, noncestr, timestamp);
if (token) {
config.headers['usertoken'] = token;
}
if (accessToken) {
config.headers['accesstoken'] = accessToken;
}
if (timestamp) {
config.headers['timestamp'] = timestamp;
}
if (noncestr) {
config.headers['noncestr'] = noncestr;
}
if (sign) {
config.headers['sign'] = sign;
}
return config;
}, error => {
// Do something with request error
console.log(error);
Promise.reject(error);
});
// respone interceptor
service.interceptors.response.use(
response => {
if (response.data && response.data.code === -2) {
let returnUrl = location.href;
sessionStorage.setItem('returnUrl', returnUrl);
router.push('/login');
}
if (response.data && response.data.code === -3) {
removeToken();
removeAccesstoken(accessTokenName);
}
if (response.data && response.data.code !== 0) {
let errorMsg = response.data.message;
errorMsg = !!errorMsg ? errorMsg : '网络错误,请稍后再试。';
Message({
message: errorMsg,
type: 'error'
});
}
return response;
},
error => {
console.log('error' + error);
}
);
export default service;