From 171749b486e4dedfff9e4cc1fb7aeab016965223 Mon Sep 17 00:00:00 2001 From: CounterFire2023 <136581895+CounterFire2023@users.noreply.github.com> Date: Mon, 8 Jan 2024 16:37:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0boost=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/api.md | 18 ++++++++++++++++++ src/controllers/sign.controller.ts | 16 ++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/docs/api.md b/docs/api.md index 8058eed..363b664 100644 --- a/docs/api.md +++ b/docs/api.md @@ -312,4 +312,22 @@ body: "invite": "邀请人address", "code": "自己的邀请码" } +``` + +### 11.\* boost + +#### Request + +- URL:`/api/user/state/boost` +- 方法:`GET` +- 头部: + - Authorization: Bearer JWT_token + +#### Response + +```json +{ + "boost": 1, // 正常值为1 + "boostExpire": 0, // 计算得分时, 如果boost过期, 即使boost大于1, 也不计算boost + } ``` \ No newline at end of file diff --git a/src/controllers/sign.controller.ts b/src/controllers/sign.controller.ts index 74008eb..7bf2320 100644 --- a/src/controllers/sign.controller.ts +++ b/src/controllers/sign.controller.ts @@ -8,7 +8,7 @@ import { LoginRecordQueue } from 'queue/loginrecord.queue' import { RedisClient } from 'redis/RedisClient' import { rankKey } from 'services/rank.svr' import {SiweMessage} from 'siwe' -import { yesterday } from 'utils/date.util' +import { nextday, yesterday } from 'utils/date.util' import { checkParamsNeeded } from 'utils/net.util' import { aesDecrypt, base58ToHex } from 'utils/security.util' @@ -23,7 +23,7 @@ class SignController extends BaseController { await record.save() return { nonce: record.id, tips: LOGIN_TIP } } - //TODO:: 增加okx的奖励 + @role(ROLE_ANON) @router('post /api/wallet/login') async walletVerify(req, res) { @@ -109,6 +109,18 @@ class SignController extends BaseController { } return result; } + @router('get /api/user/state/boost') + async boost(req){ + const user = req.user; + if (user.boost > 1 && user.boostExpire && user.boostExpire > Date.now()) { + throw new ZError(11, 'already boosted') + } + user.boost = 2; + user.boostExpire = nextday(); + await user.save(); + return { boost: user.boost, boostExpire: user.boostExpire }; + } + /** * regist user by token from wallet-svr * TODO::