封装一些vue的公共js方法:
步骤:
第一:在main.js中加入
import commonjs from './assets/js/common.js'//引入公共js
Vue.prototype.commonjs = commonjs;//加入以后就可以全局调了
第二:在组件里加入
this.commonjs.formatDate(data.data,'yyyy-MM-dd h:m');//formatDate是公共方法名
第三:我的公共js
const synth = window.speechSynthesis
const msg = new SpeechSynthesisUtterance()
export default{
/**
* 特殊字符转义公共方法
*/
escEncode(str){
str = str.replace(/\%/g,'%25').replace(/\&/g,'%26').replace(/\#/g,'%23');
str = str.replace(/\+/g,'%2B').replace(/\//g,'%2F').replace(/\\/g,'%5C');
str = str.replace(/\=/g,'%3D').replace(/\?/g,'%3F').replace(/\ /g,'%20');
str = str.replace(/\./g,'%2E').replace(/\:/g,'%3A');
return str;
},
/**
* 日期转换公共方法
*/
formatDate(date,format){
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(format)) {
format=format.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
}
for(var k in o) {
if(new RegExp("("+ k +")").test(format)){
format = format.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
}
return format;
},
/**
* 把毫秒值换为yyyy-mm-dd hh:mm
*/
getNewDate(date,format){
var oDate = new Date(date),
oYear = oDate.getFullYear(),
oMonth = oDate.getMonth()+1,
oDay = oDate.getDate(),
oHour = oDate.getHours(),
oMin = oDate.getMinutes(),
oSen = oDate.getHours(),
oTime = oYear+'-'+this.addZero(oMonth)+'-'+this.addZero(oDay),
oTimeT = oYear+'-'+this.addZero(oMonth)+'-'+this.addZero(oDay)+" "+this.addZero(oHour)+':'+this.addZero(oMin);
if(format == 'yyyy-MM-dd h:m'){
return oTimeT;
}
if(format == 'yyyy-MM-dd'){
return oTime;
}
},
addZero(num){//补0
if(parseInt(num) < 10){
num = '0'+num;
}
return num;
},
handleSpeak(e) {//播放语音
msg.text = e;
msg.lang = 'zh-CN';
msg.volume = '1';//播放音量0-1
msg.rate = 1;//播放语速0.1-10
msg.pitch = 1;//音调高低0-2
synth.speak(msg)
},
handleStop(e) {//取消语音
msg.text = e;
msg.lang = 'zh-CN';
synth.cancel(msg)
},
}