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::