86 lines
2.8 KiB
JavaScript
86 lines
2.8 KiB
JavaScript
"use strict";
|
|
function formatTimestamp(timestamp, now = /* @__PURE__ */ new Date()) {
|
|
if (!timestamp)
|
|
return "";
|
|
const date = new Date(timestamp);
|
|
if (isNaN(date.getTime()))
|
|
return "";
|
|
const todayStart = new Date(now.getFullYear(), now.getMonth(), now.getDate());
|
|
const yesterdayStart = new Date(todayStart.getTime() - 24 * 60 * 60 * 1e3);
|
|
const dayBeforeYesterdayStart = new Date(todayStart.getTime() - 2 * 24 * 60 * 60 * 1e3);
|
|
const dateStart = new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
if (dateStart.getTime() === todayStart.getTime()) {
|
|
const hours = String(date.getHours()).padStart(2, "0");
|
|
const minutes = String(date.getMinutes()).padStart(2, "0");
|
|
return `今天 ${hours}:${minutes}`;
|
|
} else if (dateStart.getTime() === yesterdayStart.getTime()) {
|
|
return "昨天";
|
|
} else if (dateStart.getTime() === dayBeforeYesterdayStart.getTime()) {
|
|
return "前天";
|
|
} else {
|
|
const month = date.getMonth() + 1;
|
|
const day = date.getDate();
|
|
return `${month}月${day}号`;
|
|
}
|
|
}
|
|
function generateNickname(relationship, surname, gender = 1) {
|
|
if (!surname)
|
|
return "";
|
|
switch (relationship) {
|
|
case 1:
|
|
return `${surname}家长(父亲)`;
|
|
case 2:
|
|
return `${surname}家长(母亲)`;
|
|
case 3:
|
|
const title = gender === 2 ? "女士" : "先生";
|
|
return `${surname}${title}(本人)`;
|
|
default:
|
|
return surname;
|
|
}
|
|
}
|
|
function maskName(name) {
|
|
if (!name || name.length === 0)
|
|
return "";
|
|
if (name.length === 1)
|
|
return name;
|
|
if (name.length === 2)
|
|
return name[0] + "*";
|
|
const first = name[0];
|
|
const last = name[name.length - 1];
|
|
const middle = "*".repeat(name.length - 2);
|
|
return first + middle + last;
|
|
}
|
|
function maskIdNumber(idNumber) {
|
|
if (!idNumber || idNumber.length === 0)
|
|
return "";
|
|
if (idNumber.length <= 7)
|
|
return idNumber;
|
|
const first3 = idNumber.substring(0, 3);
|
|
const last4 = idNumber.substring(idNumber.length - 4);
|
|
const middleLength = idNumber.length - 7;
|
|
const middle = "*".repeat(middleLength);
|
|
return first3 + middle + last4;
|
|
}
|
|
function getAge(birthYear) {
|
|
if (!birthYear)
|
|
return 0;
|
|
const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
|
return currentYear - birthYear;
|
|
}
|
|
function getBirthYearRange(currentYear = (/* @__PURE__ */ new Date()).getFullYear()) {
|
|
const minYear = currentYear - 50;
|
|
const maxYear = currentYear - 18;
|
|
const years = [];
|
|
for (let year = maxYear; year >= minYear; year--) {
|
|
years.push(year);
|
|
}
|
|
return years;
|
|
}
|
|
exports.formatTimestamp = formatTimestamp;
|
|
exports.generateNickname = generateNickname;
|
|
exports.getAge = getAge;
|
|
exports.getBirthYearRange = getBirthYearRange;
|
|
exports.maskIdNumber = maskIdNumber;
|
|
exports.maskName = maskName;
|
|
//# sourceMappingURL=../../.sourcemap/mp-weixin/utils/format.js.map
|