根据服务端日志, 增加一些保护

This commit is contained in:
CounterFire2023 2024-04-14 10:59:09 +08:00
parent dd93da8cf7
commit a1ab3628ed
7 changed files with 17 additions and 16 deletions

View File

@ -11,7 +11,8 @@
"prod:admin": "node dist/admin.js",
"lint": "eslint --ext .ts src/**",
"format": "eslint --ext .ts src/** --fix",
"initdata": "ts-node src/initdata.ts"
"initdata": "ts-node src/initdata.ts",
"test": "ts-node -r tsconfig-paths/register src/test.ts"
},
"author": "zhl",
"license": "ISC",

@ -1 +1 @@
Subproject commit 0d231aa9ed56073c170b41a2c676696e97b1c6ce
Subproject commit 039c07ff1ca0ddcb6e728aea6029f2144ef99d13

View File

@ -88,7 +88,7 @@ class BoxController extends BaseController {
const score = records[i].score
result.push({
nickname: u?.twitterName || u?.discordName || u?.address ? formatAddress(u.address) : 'unknown',
avatar: u.twitterAvatar || '',
avatar: u?.twitterAvatar || '',
score: score,
// @ts-ignore
time: records[i].createdAt.getTime(),
@ -113,7 +113,7 @@ class BoxController extends BaseController {
const score = records[i].myScore || 0
result.push({
nickname: u?.twitterName || u?.discordName || u?.address ? formatAddress(u.address) : 'unknown',
avatar: u.twitterAvatar || '',
avatar: u?.twitterAvatar || '',
score: score,
// @ts-ignore
time: records[i].createdAt.getTime(),

View File

@ -35,7 +35,7 @@ class GameController extends BaseController {
}
const record = await checkInToday(address, dateTag)
if (!record) {
throw new ZError(13, 'had not signed in')
throw new ZError(13, 'had not check in')
}
const ticketRecord = new TicketRecord({
user: user.id,
@ -88,10 +88,9 @@ class GameController extends BaseController {
if (days < 1) {
throw new ZError(12, 'invalid days')
}
const dateTag = formatDate(new Date())
const checkRecord = await checkInToday(user.address.toLowerCase(), dateTag)
const checkRecord = await CheckIn.findOne({ from: user.address.toLowerCase() }).sort({ _id: -1 })
if (!checkRecord) {
throw new ZError(12, 'not signed in')
throw new ZError(12, 'no onchain check in record')
}
if (days > checkRecord.total) {
throw new ZError(13, 'invalid days')
@ -139,10 +138,9 @@ class GameController extends BaseController {
if (days < 1) {
throw new ZError(12, 'invalid days')
}
const dateTag = formatDate(new Date())
const checkRecord = await checkInToday(user.address.toLowerCase(), dateTag)
const checkRecord = await CheckIn.findOne({ from: user.address.toLowerCase() }).sort({ _id: -1 })
if (!checkRecord) {
throw new ZError(12, 'not signed in')
throw new ZError(12, 'no onchain check in record')
}
if (days > checkRecord.total) {
throw new ZError(13, 'invalid days')
@ -272,8 +270,8 @@ class GameController extends BaseController {
signCfg,
todayStat,
todayTickets: 1,
daysTotal: checkRecord?.total || 0,
daysSeq: checkRecord?.count || 0,
daysTotal: lastRecord?.total || 0,
daysSeq: lastRecord?.count || 0,
seqStat,
totalStat,
}

View File

@ -138,7 +138,7 @@ export default class TasksController extends BaseController {
if (dateTag && currentDateTag !== dateTag) {
throw new ZError(11, 'task date not match')
}
if (!activity.isVaild()) {
if (!activity?.isVaild()) {
throw new ZError(15, 'activity not start or end')
}
let cfg = activity.tasks.find((t: TaskCfg) => t.id === taskId)
@ -173,7 +173,7 @@ export default class TasksController extends BaseController {
const activity = req.activity
const { task } = req.params
const [taskId, dateTag] = task.split(':')
if (!activity.isVaild()) {
if (!activity?.isVaild()) {
throw new ZError(15, 'activity not start or end')
}
let cfg = activity.tasks.find((t: TaskCfg) => t.id === taskId)

View File

@ -31,7 +31,9 @@ export enum ChestStatusEnum {
timeStr = randomStr + timeStr.slice(1)
}
let shortId = timeStr + this.id.slice(-6)
console.log(shortId)
this.shareCode = convert({ numStr: shortId, base: 16, to: 52, alphabet })
console.log(this.id, this.shareCode)
}
})
export class ActivityChestClass extends BaseModule {

View File

@ -46,7 +46,7 @@ export const updateRankScore = async ({
if (rebateLevel > 0) {
let userMod = await ActivityUser.findById(user)
if (userMod?.inviteUser) {
const score1 = scoreParams.score * INVITE_REBATE
const score1 = score * INVITE_REBATE
let scoreParams1 = Object.assign({ fromUser: user }, scoreParams)
const keyInvite = `${activity}:invite`
await updateRankInvite(keyInvite, parseInt(score1 * 100 + ''), `${userMod.inviteUser}_${user}`)