const CryptoJS = require("./AES.js").CryptoJS; //引用AES源码js const DateFormat = function (date, fmt) { //author: meizz var o = { "M+": new Date(date).getMonth() + 1, //月份 "d+": new Date(date).getDate(), //日 "h+": new Date(date).getHours(), //小时 "m+": new Date(date).getMinutes(), //分 "s+": new Date(date).getSeconds(), //秒 "q+": Math.floor((new Date(date).getMonth() + 3) / 3), //季度 "S": new Date(date).getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (new Date(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; } const formatNumber = n => { n = n.toString() return n[1] ? n : '0' + n } //加密方法 function encrypt(word) { var keyStr = 'SH426B787D035B7585864EF93VV30BA9'; // 密文(密钥) var key = CryptoJS.enc.Utf8.parse(keyStr); var srcs = CryptoJS.enc.Utf8.parse(word); var encrypted = CryptoJS.AES.encrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7, }); return encrypted.toString(); } //时间 function getTime() { var timestamp = Date.parse(new Date()); timestamp = timestamp / 1000; //获取当前时间 var n = timestamp * 1000; var date = new Date(n); //年 var Y = date.getFullYear(); //月 var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1); //日 var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); //时 var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours(); //分 var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); //秒 var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds(); return h + ':' + m + ':' + s; } function getTime1() { var timestamp = Date.parse(new Date()); timestamp = timestamp / 1000; //获取当前时间 var n = timestamp * 1000; var date = new Date(n); //年 var Y = date.getFullYear(); //月 var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1); //日 var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); //时 var h = date.getHours(); //分 var m = date.getMinutes(); //秒 var s = date.getSeconds(); return Y + '-' + M + '-' + D; } function getTime2() { var timestamp = Date.parse(new Date()); timestamp = timestamp / 1000; //获取当前时间 var n = timestamp * 1000; var date = new Date(n); //年 var Y = date.getFullYear(); //月 var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1); //日 var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); //时 var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours(); //分 var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); //秒 var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds(); return Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s; } function throttle(fn, interval) { var enterTime = 0;//触发的时间 var gapTime = interval || 300 ;//间隔时间,如果interval不传,则默认300ms return function() { var context = this; var backTime = new Date();//第一次函数return即触发的时间 if (backTime - enterTime > gapTime) { fn.call(context,arguments); enterTime = backTime;//赋值给第一次触发的时间,这样就保存了第二次触发的时间 } }; } /*函数防抖*/ function debounce(fn, interval) { var timer; var gapTime = interval || 500;//间隔时间,如果interval不传,则默认1000ms return function() { clearTimeout(timer); var context = this; var args = arguments;//保存此处的arguments,因为setTimeout是全局的,arguments不是防抖函数需要的。 timer = setTimeout(function() { fn.call(context,args); }, gapTime); }; } module.exports = { encrypt, getTime, getTime1, getTime2, DateFormat, throttle, debounce };