frontend/src/utils.js

83 lines
2.2 KiB
JavaScript
Raw Normal View History

2022-05-18 18:37:20 +08:00
/* 去重 */
export function deWeightThree(data, key) {
2022-08-11 15:06:16 +08:00
let map = new Map();
2022-05-18 18:37:20 +08:00
for (let item of data) {
if (!map.has(item[key])) {
2022-08-11 15:06:16 +08:00
map.set(item[key], item);
2022-05-18 18:37:20 +08:00
}
}
2022-08-11 15:06:16 +08:00
return [...map.values()];
2022-05-18 18:37:20 +08:00
}
/* uuid生成器 */
export function uuid(len, radix) {
var chars =
2022-08-11 15:06:16 +08:00
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");
var uuid = [],
2022-08-11 15:06:16 +08:00
i;
radix = radix || chars.length;
if (len) {
// Compact form
2022-08-11 15:06:16 +08:00
for (i = 0; i < len; i++) uuid[i] = chars[0 | (Math.random() * radix)];
} else {
// rfc4122, version 4 form
2022-08-11 15:06:16 +08:00
var r;
// rfc4122 requires these characters
2022-08-11 15:06:16 +08:00
uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-";
uuid[14] = "4";
// Fill in random data. At i==19 set the high bits of clock sequence as
// per rfc4122, sec. 4.1.5
for (i = 0; i < 36; i++) {
if (!uuid[i]) {
2022-08-11 15:06:16 +08:00
r = 0 | (Math.random() * 16);
uuid[i] = chars[i == 19 ? (r & 0x3) | 0x8 : r];
}
}
}
2022-08-11 15:06:16 +08:00
return uuid.join("");
}
2022-06-15 16:42:47 +08:00
//计算两个时间差 返回天
export function timeDiff(begin_time, end_time) {
//年月日时分秒转换为时间戳
2022-08-11 15:06:16 +08:00
let beginTime = new Date(begin_time).getTime() / 1000;
let endTime = new Date(end_time).getTime() / 1000;
var starttime = "";
var endtime = "";
2022-06-15 16:42:47 +08:00
if (beginTime < endTime) {
2022-08-11 15:06:16 +08:00
starttime = beginTime;
endtime = endTime;
2022-06-15 16:42:47 +08:00
} else {
2022-08-11 15:06:16 +08:00
starttime = endTime;
endtime = beginTime;
2022-06-15 16:42:47 +08:00
}
//计算天数
2022-08-11 15:06:16 +08:00
var timediff = endtime - starttime;
var days = parseInt(timediff / 86400);
2022-06-15 16:42:47 +08:00
//计算小时数
2022-08-11 15:06:16 +08:00
var remain = timediff % 86400;
var hours = parseInt(remain / 3600);
2022-06-15 16:42:47 +08:00
//计算分钟数
2022-08-11 15:06:16 +08:00
var remain = remain % 3600;
var mins = parseInt(remain / 60);
var res = Number(days + 1);
return res;
}
export function getNowTime() {
var now = new Date();
var year = now.getFullYear();
var month =
now.getMonth() + 1 <= 9 ? "0" + (now.getMonth() + 1) : now.getMonth() + 1;
var day = now.getDate() <= 9 ? "0" + now.getDate() : now.getDate();
var tt = now.getHours() <= 9 ? "0" + now.getHours() : now.getHours();
var mm = now.getMinutes() <= 9 ? "0" + now.getMinutes() : now.getMinutes();
var ss = now.getSeconds() <= 9 ? "0" + now.getSeconds() : now.getSeconds();
let datelist = [year, month, day, tt, mm, ss];
return datelist.join("");
2022-06-15 16:42:47 +08:00
}