const sendEmail = require('./Email')
class emailTemplate {
stramptoTime(time) {
if (time < 10)
return '';
return new Date(+time).toLocaleString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit' });
}
async checkEmail(email, code) {
const time = new Date().getTime()
await sendEmail(email, 'RunForge - 邮箱验证码',
`
RunForge - 邮箱验证码
RunForge - 邮箱验证码
尊敬的用户:
您正在本站进行邮箱验证操作,如非您本人操作,请忽略此邮件。
您的验证码为:
${code}
验证码5分钟内有效,超时请重新获取
`
)
}
async registerSuccess(email, username) {
const time = new Date().getTime()
await sendEmail(email, '您已成功注册RunForge账号',
`
RunForge - 邮箱验证码
RunForge - 邮箱验证码
尊敬的 ${username}:
您已成功注册RunForge账号:
用户名: ${username}
注册时间: ${this.stramptoTime(time)}
`
)
}
async lepaoSuccess(email, data) {
await sendEmail(email, 'RunForge - 乐跑成功提醒',
`
RunForge - 乐跑成功提醒
RunForge - 乐跑成功提醒
尊敬的 ${data.name}:
RunForge已成功为您进行乐跑:
学号: ${data.account}
跑区: ${data.pass_tit}
跑步距离: ${data.distance} Km
跑步时长: ${this.formatSecondsToMinSec(data.time)} Km
平均配速: ${this.calculatePace(data.time, data.distance)}
乐跑时间: ${this.stramptoTime(time)}
请您开启了自动乐跑,请避免在其他设备上登录“智慧体育”小程序,否则将导致登录失效。
如有疑问请联系RunForge客服。
`
)
}
async lepaoFail(email, data) {
const time = new Date().getTime()
await sendEmail(email, 'RunForge - 乐跑失败提醒',
`
RunForge - 乐跑失败提醒
RunForge - 乐跑失败提醒
尊敬的 ${data.name}:
RunForge在尝试为您乐跑时遇到错误:
学号: ${data.account}
时间: ${this.stramptoTime(time)}
失败原因: ${data.reason}
若登录失效请启动RunForge乐跑登录器重新登录“智慧体育”小程序。
如有疑问请联系RunForge客服。
`
)
}
// 时长计算
formatSecondsToMinSec(totalSeconds) {
const minutes = Math.floor(totalSeconds / 60);
const seconds = totalSeconds % 60;
return `${minutes}分${seconds.toString().padStart(2, '0')}秒`;
}
// 配速计算
calculatePace(seconds, kilometers) {
const paceInSeconds = seconds / kilometers;
const minutes = Math.floor(paceInSeconds / 60);
const remainingSeconds = Math.round(paceInSeconds % 60);
return `${minutes}'${remainingSeconds.toString().padStart(2, '0')}''`;
}
}
const EmailTemplate = new emailTemplate()
module.exports = EmailTemplate