const uuid = require('uuid'); const moment = require('moment'); const hmacSha1 = require('crypto-js/hmac-sha1'); const base64 = require('crypto-js/enc-base64'); const utf8 = require('crypto-js/enc-utf8'); export default class { static upUuid(): string { return uuid.v1(); } /** * 获取日期 默认返回当前日期 * * @static * @param {string} [sDate] 日期 如果无时为当前日期 * @param {string} [sFormat] 转换规则 参考monent * @returns */ static upDate(sDate?: string, sFormat?: string): string { if (sFormat === undefined) { sFormat = "YYYY-MM-DD HH:mm:ss"; } return moment(sDate).format(sFormat); } /** * 获取当前时间戳 注意该结果是以秒为单位的 如果要得到标准unix时间戳 得乘以1000 * * @static * @returns */ static upNowTimeStamp() { return this.upDate(undefined, "X"); } static upNowDay() { return this.upDate(undefined, "YYYYMMDD"); } static upGMT(oDate) { return oDate.toGMTString(); } static cryptoHmacBase64(sInput, sSecret) { return hmacSha1(sInput, sSecret).toString(base64); } static cryptoBase64Decode(sInput): string { return base64.parse(sInput).toString(utf8); } static cryptoBase64Encode(sInput): string { return utf8.parse(sInput).toString(base64); // return base64.stringify( base64.parse(sInput)); } }