change response data of claim task reward

This commit is contained in:
CounterFire2023 2024-04-10 15:25:24 +08:00
parent 4b51e6dab8
commit 366199b056
8 changed files with 18 additions and 13 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@ dist
.DS_Store
.env
.env.development
.env.production

View File

@ -7,9 +7,9 @@
{
"id": "e2yhq2lj30vwcpedv7p",
"task": "TwitterConnect",
"title": "",
"title": "Connect Twitter Account",
"type": 1,
"desc": "",
"desc": "Connect Twitter Account",
"score": 100,
"category": "Social Tasks",
"autoclaim": false,
@ -21,7 +21,7 @@
}, {
"id": "e2fclylj30vwcpe0szl",
"task": "TwitterFollow",
"title": "",
"title": "Follow Counter Fires official X account",
"type": 1,
"desc": "Follow Counter Fires official X account",
"category": "Social Tasks",
@ -36,9 +36,9 @@
}, {
"id": "e2feyflj30vwcpe0sjy",
"task": "TwitterFollow",
"title": "",
"title": "Follow Counter Fires official X account2",
"type": 1,
"desc": "",
"desc": "Follow Counter Fires official X account2",
"category": "Social Tasks",
"score": 100,
"autoclaim": false,
@ -51,7 +51,7 @@
}, {
"id": "e2fuah0j30vwcpe0my7",
"task": "TwitterRetweet",
"title": "",
"title": "Repost on X",
"type": 1,
"desc": "Show your friends Counter Fire.",
"category": "Social Tasks",

View File

@ -6,7 +6,7 @@
"scripts": {
"build": "tsc -p tsconfig.json",
"dev:api": "ts-node -r tsconfig-paths/register src/api.ts",
"prod:api": "node dist/api.js",
"prod:api": "NODE_PATH=./dist node dist/api.js",
"dev:admin": "ts-node -r tsconfig-paths/register src/admin.ts",
"prod:admin": "node dist/admin.js",
"lint": "eslint --ext .ts src/**",

View File

@ -205,7 +205,7 @@ export default class TasksController extends BaseController {
const Task = require('../tasks/' + currentTask.task)
const taskInstance = new Task.default({ user, activity })
await taskInstance.claimReward(currentTask)
return currentTask
const { score } = await taskInstance.claimReward(currentTask)
return { status: currentTask.status, score }
}
}

View File

@ -56,6 +56,7 @@ export default class DailyCheckIn extends ITask {
// 增加连续签到奖励分
// 请求前7天的签到记录, 往前查找连续签到的记录,
let cfg = this.activity.tasks.find((t: TaskCfg) => t.id === task.id)
let score = 0
if (cfg.type === TaskTypeEnum.DAILY) {
const res = await queryCheckInList(this.user.address.toLowerCase(), 1, 0)
const [taskId, dateTag] = task.id.split(':')
@ -64,7 +65,7 @@ export default class DailyCheckIn extends ITask {
const countCfg = cfg.params.score.length
let count = list.length > 0 ? list[0].count : 0
let seq = count % countCfg
let score = cfg.params.score[seq] || 0 + cfg.score
score = cfg.params.score[seq] || 0 + cfg.score
const user = this.user
if (user.boost > 1 && Date.now() < user.boostExpire.getTime()) {
score = Math.floor(score * user.boost)
@ -91,5 +92,6 @@ export default class DailyCheckIn extends ITask {
record.daily += 1
record.amount += 1
}
return { score }
}
}

View File

@ -78,10 +78,11 @@ export default class ShareCode extends ITask {
}
public async claimReward(task: TaskStatus) {
await super.claimReward(task)
let { score } = await super.claimReward(task)
let cfg = this.activity.tasks.find((t: TaskCfg) => t.id === task.id)
let scores = cfg.params.score
const items = cfg.params.inviteItems || []
await updateInviteScore(this.user, scores, items, 0, SCORE_INVITE_USER)
return { score }
}
}

View File

@ -61,6 +61,7 @@ export abstract class ITask {
}
await this.claimItem(cfg)
await user.save()
return { score }
}
public async claimItem(cfg: TaskCfg) {

View File

@ -4,7 +4,7 @@
"name": "web-task-svr",
"script": "npm",
"args": "run prod:api",
"cwd": "/home/kingsome/code/web_task_svr",
"cwd": "/home/kingsome/code/task-svr",
"max_memory_restart": "1024M",
"log_date_format": "YYYY-MM-DD HH:mm Z",
"watch": false,