You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
4.3 KiB
136 lines
4.3 KiB
3 years ago
|
import cookies from './util.cookies'
|
||
|
import {_local,_session} from './util.db'
|
||
|
import { Message } from 'element-ui'
|
||
|
|
||
|
const util = {
|
||
|
cookies,
|
||
|
local: _local,
|
||
|
session: _session,
|
||
|
// 传入身份证获取生日
|
||
|
getBirth(idCard) {
|
||
|
var birthday = "";
|
||
|
if(idCard != null && idCard != ""){
|
||
|
if(idCard.length == 15){
|
||
|
birthday = "19"+idCard.slice(6,12);
|
||
|
} else if(idCard.length == 18){
|
||
|
birthday = idCard.slice(6,14);
|
||
|
}
|
||
|
birthday = birthday.replace(/(.{4})(.{2})/,"$1-$2-");
|
||
|
//通过正则表达式来指定输出格式为:1990-01-01
|
||
|
}
|
||
|
return birthday;
|
||
|
},
|
||
|
// new Date('2020-11-12 00:00:00') 在IE下失效,因此把-替换成/
|
||
|
dateCompatible(date) {
|
||
|
return date.replace(/\-/g, '/')
|
||
|
},
|
||
|
// 日期时间前面补零
|
||
|
formateTime(num) {
|
||
|
return num < 10 ? `0${num}` : num
|
||
|
},
|
||
|
//返回格式化时间,传参例如:"yyyy-MM-dd hh:mm:ss"
|
||
|
formatDate(fmt,date) {
|
||
|
var date = date ? date : new Date()
|
||
|
var o = {
|
||
|
"M+" : date.getMonth()+1, //月份
|
||
|
"d+" : date.getDate(), //日
|
||
|
"h+" : date.getHours(), //小时
|
||
|
"m+" : date.getMinutes(), //分
|
||
|
"s+" : date.getSeconds(), //秒
|
||
|
"q+" : Math.floor((date.getMonth()+3)/3), //季度
|
||
|
"S" : date.getMilliseconds() //毫秒
|
||
|
};
|
||
|
if(/(y+)/.test(fmt)) {
|
||
|
fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
|
||
|
}
|
||
|
for(var k in o) {
|
||
|
if(new RegExp("("+ k +")").test(fmt)){
|
||
|
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
|
||
|
}
|
||
|
}
|
||
|
return fmt;
|
||
|
},
|
||
|
// 移除数组中指定值
|
||
|
removeByValue(arr, val) {
|
||
|
for(var i=0; i<arr.length; i++) {
|
||
|
if(arr[i] == val) {
|
||
|
arr.splice(i, 1);
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
// 传入文件后缀判断是否是视频
|
||
|
isVideo(ext) {
|
||
|
if('mp4,3gp,mov,m4v,avi,dat,mkv,flv,vob,rmvb,rm,qlv'.includes(ext)) return true
|
||
|
return false
|
||
|
},
|
||
|
// 传入文件后缀判断是否是音频
|
||
|
isAudio(ext) {
|
||
|
if('mp3,aac,ape,flac,wav,wma,amr,mid'.includes(ext)) return true
|
||
|
return false
|
||
|
},
|
||
|
// 传入文件后缀判断是否是图片
|
||
|
isImg(ext) {
|
||
|
if('jpg,jpeg,png,gif,svg,psd'.includes(ext)) return true
|
||
|
return false
|
||
|
},
|
||
|
// 传入文件后缀判断是否是pdf以外的文档
|
||
|
isDoc(ext) {
|
||
|
if(!util.isVideo(ext) && !util.isAudio(ext) && !util.isImg(ext) && ext != 'pdf') return true
|
||
|
return false
|
||
|
},
|
||
|
// 循环去除html标签
|
||
|
removeHtmlTag(list,attr) {
|
||
|
list.map(n => {
|
||
|
n[attr] = n[attr].replace(/<\/?.+?>/gi,'')
|
||
|
})
|
||
|
return list
|
||
|
},
|
||
|
// 传入文件名获取文件后缀
|
||
|
getFileExt(fileName) {
|
||
|
return fileName.substring(fileName.lastIndexOf('.') + 1)
|
||
|
},
|
||
|
// 传入文件名和路径,下载图片视频,支持跨域,a标签加download不支持跨域
|
||
|
downloadFile(fileName,url) {
|
||
|
var x = new XMLHttpRequest()
|
||
|
x.open("GET", url, true)
|
||
|
x.responseType = 'blob'
|
||
|
x.onload=function(e) {
|
||
|
var url = window.URL.createObjectURL(x.response)
|
||
|
var a = document.createElement('a')
|
||
|
a.href = url
|
||
|
a.download = fileName
|
||
|
a.click()
|
||
|
}
|
||
|
x.send()
|
||
|
},
|
||
|
// 传入文件名和数据,下载文件
|
||
|
downloadFileDirect(fileName,data) {
|
||
|
if ('download' in document.createElement('a')) { // 非IE下载
|
||
|
const elink = document.createElement('a')
|
||
|
elink.download = fileName
|
||
|
elink.style.display = 'none'
|
||
|
elink.href = URL.createObjectURL(data)
|
||
|
document.body.appendChild(elink)
|
||
|
elink.click()
|
||
|
URL.revokeObjectURL(elink.href) // 释放URL 对象
|
||
|
document.body.removeChild(elink)
|
||
|
} else { // IE10+下载
|
||
|
navigator.msSaveBlob(data, fileName)
|
||
|
}
|
||
|
},
|
||
|
// 成功提示
|
||
|
successMsg(message,duration = 3000) {
|
||
|
return Message.success({message,showClose: true,offset: (document.documentElement.clientHeight - 40) / 2,duration})
|
||
|
},
|
||
|
// 警告提示
|
||
|
warningMsg(message,duration = 3000) {
|
||
|
return Message.warning({message,showClose: true,offset: (document.documentElement.clientHeight - 40) / 2,duration})
|
||
|
},
|
||
|
// 错误提示
|
||
|
errorMsg(message,duration = 3000) {
|
||
|
return Message.error({message,showClose: true,offset: (document.documentElement.clientHeight - 40) / 2,duration})
|
||
|
},
|
||
|
}
|
||
|
|
||
|
export default util
|