106 lines
2.6 KiB
JavaScript
106 lines
2.6 KiB
JavaScript
// let commonURL = "http://192.168.50.115:8081";
|
||
let commonURL = "/api";
|
||
// 设置后台服务地址
|
||
axios.defaults.baseURL = commonURL;
|
||
axios.defaults.timeout = 2000;
|
||
// request拦截器,将用户token放入头中
|
||
let token = sessionStorage.getItem("token");
|
||
axios.interceptors.request.use(
|
||
config => {
|
||
if(token) config.headers['authorization'] = token
|
||
return config
|
||
},
|
||
error => {
|
||
console.log(error)
|
||
return Promise.reject(error)
|
||
}
|
||
)
|
||
axios.interceptors.response.use(function (response) {
|
||
// 判断执行结果
|
||
if (!response.data.success) {
|
||
return Promise.reject(response.data.errorMsg)
|
||
}
|
||
return response.data;
|
||
}, function (error) {
|
||
// 一般是服务端异常或者网络异常
|
||
console.log(error)
|
||
if(error.response.status == 401){
|
||
// 未登录,跳转
|
||
setTimeout(() => {
|
||
location.href = "/login.html"
|
||
}, 200);
|
||
return Promise.reject("请先登录");
|
||
}
|
||
return Promise.reject("服务器异常");
|
||
});
|
||
axios.defaults.paramsSerializer = function(params) {
|
||
let p = "";
|
||
Object.keys(params).forEach(k => {
|
||
if(params[k]){
|
||
p = p + "&" + k + "=" + params[k]
|
||
}
|
||
})
|
||
return p;
|
||
}
|
||
const util = {
|
||
commonURL,
|
||
getUrlParam(name) {
|
||
let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
||
let r = window.location.search.substr(1).match(reg);
|
||
if (r != null) {
|
||
return decodeURI(r[2]);
|
||
}
|
||
return "";
|
||
},
|
||
formatPrice(val) {
|
||
if (typeof val === 'string') {
|
||
if (isNaN(val)) {
|
||
return null;
|
||
}
|
||
// 价格转为整数
|
||
const index = val.lastIndexOf(".");
|
||
let p = "";
|
||
if (index < 0) {
|
||
// 无小数
|
||
p = val + "00";
|
||
} else if (index === p.length - 2) {
|
||
// 1位小数
|
||
p = val.replace("\.", "") + "0";
|
||
} else {
|
||
// 2位小数
|
||
p = val.replace("\.", "")
|
||
}
|
||
return parseInt(p);
|
||
} else if (typeof val === 'number') {
|
||
if (!val) {
|
||
return null;
|
||
}
|
||
const s = val + '';
|
||
if (s.length === 0) {
|
||
return "0.00";
|
||
}
|
||
if (s.length === 1) {
|
||
return "0.0" + val;
|
||
}
|
||
if (s.length === 2) {
|
||
return "0." + val;
|
||
}
|
||
const i = s.indexOf(".");
|
||
if (i < 0) {
|
||
return s.substring(0, s.length - 2) + "." + s.substring(s.length - 2)
|
||
}
|
||
const num = s.substring(0, i) + s.substring(i + 1);
|
||
if (i === 1) {
|
||
// 1位整数
|
||
return "0.0" + num;
|
||
}
|
||
if (i === 2) {
|
||
return "0." + num;
|
||
}
|
||
if (i > 2) {
|
||
return num.substring(0, i - 2) + "." + num.substring(i - 2)
|
||
}
|
||
}
|
||
}
|
||
}
|