时间类
//获取nextDate 2017-01-01
// 火狐浏览器不支持传入字符串 即 arguments=['2017-12-12']
Date.prototype.autoString = function() {
var month = this.getMonth() + 1;
var day = this.getDate();
month = month < 10 ? '0' + month : month;
day = day < 10 ? '0' + day : day;
var val = this.getFullYear() + "-" + month + "-" + day;
return val;
}
//格式化时间 2017-01
Date.prototype.autoYM = function() {
var month = this.getMonth() + 1;
month = month < 10 ? '0' + month : month;
var val = this.getFullYear() + "-" + month;
return val;
}
//时间天数加减
Date.prototype.GetDateStr = function(AddDayCount) {
AddDayCount = AddDayCount || 0;
var dd = this;
dd.setDate(dd.getDate() + AddDayCount); //获取AddDayCount天后的日期
var y = dd.getFullYear();
var m = (dd.getMonth() + 1) < 10 ? "0" + (dd.getMonth() + 1) : (dd.getMonth() + 1); //获取当前月份的日期,不足10补0
var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate(); //获取当前几号,不足10补0
return y + "-" + m + "-" + d;
}
字符串
getString(str,length=6){
if(str.length>length){
str=str.slice(0,length)+"..."
}
return str
},
function formatText(str,size,delimiter){
var _str=str.toString();
var _size=size||3,_delimiter=delimiter||',';
/*
如果_size是3
"\d{1,3}(?=(\d{3})+$)"
*/
var regText='\\d{1,'+_size+'}(?=(\\d{'+_size+'})+$)';
/*
/\d{1,3}(?=(\d{3})+$)/g 这个正则的意思:匹配连续的三个数字,但是这些三个数字不能是字符串的开头1-3个字符
*/
var reg=new RegExp(regText,'g');
/*
(-?) 匹配前面的-号 (\d+)匹配中间的数字 ((\.\d+)?)匹配小数点后面的数字
//$0-匹配结果,$1-第一个括号返回的内容----(-?) $2,$3如此类推
*/
return _str.replace(/^(-?)(\d+)((\.\d+)?)$/, function ($0, $1, $2, $3) {
return $1 + $2.replace(reg, '$&,') + $3;
})
}
axios拦截器
axios.interceptors.response.use(
response => {
if (response.status != 200) {
return Promise.reject("err state:" + response.status) // 返回接口返回的错误信息
}
if (response.data.status == 0) {
store.commit('CLEAR_TOKEN');
store.commit('CLEAR_USERINFO')
router.replace({
path: '/login'
})
}
return response;
},
error => {
if (error.response) {
switch (error.response.status) {
case 401:
// 返回 401 清除token信息并跳转到登录页面
store.commit('CLEAR_TOKEN');
router.replace({
path: '/login'
})
error.message = '未授权,请重新登录'
break
case 400:
error.message = '错误请求'
break;
case 403:
error.message = '拒绝访问'
break;
case 404:
error.message = '请求错误,未找到该资源'
break;
case 405:
error.message = '请求方法未允许'
break;
case 408:
error.message = '请求超时'
break;
case 500:
error.message = '服务器端出错'
break;
case 501:
error.message = '网络未实现'
break;
case 502:
error.message = '网络错误'
break;
case 503:
error.message = '服务不可用'
break;
case 504:
error.message = '网络超时'
break;
case 505:
error.message = 'http版本不支持该请求'
break;
default:
error.message = `连接错误${error.response.status}`
}
}else{
error.message = "连接到服务器失败"
}
//全局提示
vue.$Notice.open({
title: '网络错误',
desc: error.message ? '' : error.message
});
return Promise.reject(error.message) // 返回接口返回的错误信息
});
网友评论