64 lines
1.8 KiB
XML
64 lines
1.8 KiB
XML
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);
|
|
}
|
|
};
|