yingsa/miniprogram/utils/util.js
2026-01-20 08:50:50 +08:00

80 lines
1.9 KiB
JavaScript

// 格式化日期
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
}