2025-03-24 21:52:49 +08:00

106 lines
2.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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)
}
}
}
}