80 lines
1.9 KiB
JavaScript
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
|
|
}
|