module.exports = { /** * 日期格式化 * @param {Date | String | Number} date * @param {String} format 格式 */ formatDate: function (date, format) { if (!format) { format = 'YYYY/MM/DD hh:mm:ss'; } if (!date) { return ''; } date = getDate(date) var YYYY = date.getFullYear(); var MM = ('0' + (date.getMonth() + 1)).slice(-2) var DD = ('0' + date.getDate()).slice(-2); var hh = ("0" + date.getHours()).slice(-2); var mm = ("0" + date.getMinutes()).slice(-2); var ss = ("0" + date.getSeconds()).slice(-2); var result = format.replace(getRegExp('YYYY'), YYYY) .replace(getRegExp('MM'), MM) .replace(getRegExp('DD'), DD) .replace(getRegExp('hh'), hh) .replace(getRegExp('mm'), mm) .replace(getRegExp('ss'), ss) return result; }, /** * 获取浅色标签颜色 * @param {string} hexColor 如 "#e3f9e9" */ getLightColor: function (color, level) { if (!color || color.indexOf('#') === -1) return color; // 默认变浅程度 var weight = level !== undefined ? level : 0.9; // 处理 #fff 这种简写 var hex = color.slice(1); if (hex.length === 3) { hex = hex.charAt(0) + hex.charAt(0) + hex.charAt(1) + hex.charAt(1) + hex.charAt(2) + hex.charAt(2); } // 提取 RGB var r = parseInt(hex.substring(0, 2), 16); var g = parseInt(hex.substring(2, 4), 16); var b = parseInt(hex.substring(4, 6), 16); // 与白色(255)混合逻辑:新颜色 = 原颜色 * (1 - weight) + 255 * weight r = Math.floor(r * (1 - weight) + 255 * weight); g = Math.floor(g * (1 - weight) + 255 * weight); b = Math.floor(b * (1 - weight) + 255 * weight); // 转回 16 进制 var toString16 = function (n) { var s = n.toString(16); return s.length === 1 ? '0' + s : s; }; return '#' + toString16(r) + toString16(g) + toString16(b); } };