//时间过滤器
function dCreateTime(t1, spe){
spe = spe ||'-';const time =newDate(t1);
let year = time.getFullYear();
let month = time.getMonth();
month = month <10?'0'+ month : month;
let day = time.getDate();
day = day <10?'0'+ day : day;if(t1 == ''){return ''
}else{return year + spe + month + spe + day;}}
function transParams(data){
let params =newURLSearchParams()for(let item in data){
params.append(item, data['' + item + ''])}return params
}
export {
dCreateTime,
transParams
}
//判断是否IE<11浏览器
export function isIE(){return navigator.userAgent.indexOf('compatible')>-1&& navigator.userAgent.indexOf('MSIE')>-1}
export function isIE11(){return navigator.userAgent.indexOf('Trident')>-1&& navigator.userAgent.indexOf('rv:11.0')>-1}//判断是否IE的Edge浏览器
export function isEdge(){return navigator.userAgent.indexOf('Edge')>-1&&!isIE()}
export function getIEVersion(){
let userAgent = navigator.userAgent //取得浏览器的userAgent字符串
let isIE =isIE()
let isIE11 =isIE11()
let isEdge =isEdge()if(isIE){
let reIE =newRegExp('MSIE (\\d+\\.\\d+);')
reIE.test(userAgent)
let fIEVersion =parseFloat(RegExp['$1'])if(fIEVersion ===7|| fIEVersion ===8|| fIEVersion ===9|| fIEVersion ===10){return fIEVersion
}else{return6//IE版本<7}}elseif(isEdge){return'edge'}elseif(isIE11){return11}else{return-1}}
全局过滤器 filter.js
importVue from "vue";import* as dayjs from "dayjs";Vue.filter('NumberFormat', function (value){if(!value){return'0'}
let intPartFormat = value.toString().replace(/(\d)(?=(?:\d{3})+$)/g,'$1,')//将整数部分逢三一断return intPartFormat
})Vue.filter('dayjs',function(dataStr, pattern = 'YYYY-MM-DD HH:mm:ss'){returndayjs(dataStr).format(pattern)})Vue.filter('moment',function(dataStr, pattern = 'YYYY-MM-DD HH:mm:ss'){returndayjs(dataStr).format(pattern)})/** 字符串超长截取省略号显示 */Vue.filter('ellipsis', function (value, vlength =25){if(!value){return"";}
console.log('vlength: '+ vlength);if(value.length > vlength){return value.slice(0, vlength)+'...'}return value
})
/**
* 根据时间戳判断过去多长时间
*/
export function timeFormat(time){if(time >0){var result
time =parseInt(time);var minute =1000*60;var hour = minute *60;var day = hour *24;var month = day *30;var now =newDate().getTime();var diffValue = now - time;if(diffValue <0){return}var monthC = diffValue / month;var weekC = diffValue /(7* day);var dayC = diffValue / day;var hourC = diffValue / hour;var minC = diffValue / minute;if(monthC >=1){if(monthC <=12){
result =""+parseInt(monthC)+"月前";}else{
result =""+parseInt(monthC /12)+"年前";}}elseif(weekC >=1){
result =""+parseInt(weekC)+"周前";}elseif(dayC >=1){
result =""+parseInt(dayC)+"天前";}elseif(hourC >=1){
result =""+parseInt(hourC)+"小时前";}elseif(minC >=1){
result =""+parseInt(minC)+"分钟前";}else{
result ="刚刚";}return result
}else{return '';}}
/**
* 触发 window.resize
*/
export function triggerWindowResizeEvent(){
let event = document.createEvent('HTMLEvents')
event.initEvent('resize',true,true)
event.eventType = 'message'
window.dispatchEvent(event)}
/**
* 下划线转驼峰
* @param string
* @returns {*}
*/
export function underLine2CamelCase(string){return string.replace(/_([a-z])/g,function( all, letter ){return letter.toUpperCase();});}
/**
* 使一个值永远不会为(null | undefined)
*
* @param value 要处理的值
* @param def 默认值,如果value为(null | undefined)则返回的默认值,可不传,默认为''
*/
export function neverNull(value, def){return value ==null?(neverNull(def, '')): value
}