// 格式化日期 const formatDate = (date, format = "YYYY-MM-DD HH:mm") => { if (!date) return ""; const d = new Date(date); const year = d.getFullYear(); const month = String(d.getMonth() + 1).padStart(2, "0"); const day = String(d.getDate()).padStart(2, "0"); const hour = String(d.getHours()).padStart(2, "0"); const minute = String(d.getMinutes()).padStart(2, "0"); const second = String(d.getSeconds()).padStart(2, "0"); return format .replace("YYYY", year) .replace("MM", month) .replace("DD", day) .replace("HH", hour) .replace("mm", minute) .replace("ss", second); }; // 等级名称 const levelNames = { 1: "新锐", 2: "精锐", 3: "高手", 4: "大师", 5: "宗师", }; const getLevelName = (level) => levelNames[level] || "未知"; // 等级描述 const levelDescs = { 1: "掌握基础动作,能进行多拍回合。", 2: "技术较全面,具备初步的战术意识。", 3: "技术稳定,战术意图清晰,比赛经验丰富。", 4: "在英飒俱乐部内属顶尖战力,具备较强掌控力。", 5: "技术全面,战术素养高,是英飒俱乐部标杆。", }; const getLevelDesc = (level) => levelDescs[level] || ""; // 比赛状态 const matchStatusTexts = { 0: "待开始", 1: "进行中", 2: "已结束", 3: "已取消", }; const getMatchStatusText = (status) => matchStatusTexts[status] || "未知"; // 订单状态 const orderStatusTexts = { 0: "待核销", 1: "已完成", 2: "已取消", }; const getOrderStatusText = (status) => orderStatusTexts[status] || "未知"; // 生成随机字符串 const randomString = (len = 16) => { const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; let result = ""; for (let i = 0; i < len; i++) { result += chars.charAt(Math.floor(Math.random() * chars.length)); } return result; }; module.exports = { formatDate, getLevelName, getLevelDesc, getMatchStatusText, getOrderStatusText, randomString, };