增加我的助力记录接口, 所有带用户信息的接口增加返回avatar

This commit is contained in:
CounterFire2023 2024-04-09 17:09:57 +08:00
parent 2121f3e74c
commit 4b51e6dab8
4 changed files with 70 additions and 2 deletions

View File

@ -29,6 +29,11 @@
1. 用户状态接口(10)增加返回当日可助力次数
1. 开启宝箱(19), 宝箱开启记录(20)增加返回额外的物品
#### 20240409
1. 增加接口:我的助力记录(27)
2. 所有带用户信息的接口增加返回avatar(头像)字段
### 1. 钱包预登录
#### Request
@ -529,9 +534,10 @@ body:
```js
[{
level: 1, // 段位
nickname: '用户昵称',
avatar: '头像',
score: 100, // 获得的积分
time: 123123123,
}]
```
@ -758,3 +764,28 @@ body:
enhanced: 0, // 用户是否已经为当前宝箱助力
}
```
### 27.\* 我的助力记录
#### Request
- URL`/api/user/enhance/list`
- 方法GET`
- 头部:
- Authorization: Bearer JWT_token
#### Response
```js
[{
nickname: '用户昵称',
avatar: '头像',
time: 123123123123,
score: 100, // 我获得的积分
}]
```
###

View File

@ -96,6 +96,7 @@ export default class ActivityController extends BaseController {
// user: u.id,
level: rankLevel(score),
nickname: u.twitterName || u.discordName || formatAddress(u.address),
avatar: u.twitterAvatar || '',
score,
})
}
@ -147,6 +148,7 @@ export default class ActivityController extends BaseController {
rank: start + i / 2 + 1,
level: rankLevel(score),
nickname: user?.twitterName || user?.discordName || user?.address ? formatAddress(user.address) : 'unknown',
avatar: user?.twitterAvatar || '',
score,
// yesterday: yesterdayScore ? parseInt(yesterdayScore + '') : 0,
})

View File

@ -88,8 +88,35 @@ class BoxController extends BaseController {
const score = records[i].score
result.push({
nickname: u?.twitterName || u?.discordName || u?.address ? formatAddress(u.address) : 'unknown',
level: rankLevel(score),
avatar: u.twitterAvatar || '',
score: score,
// @ts-ignore
time: records[i].createdAt.getTime(),
})
}
return result
}
/**
*
*/
@router('post /api/user/enhance/list')
async myEnhanceList(req) {
const user = req.user
const result = []
const records = await ChestEnhanceRecord.find({ user: user.id, activity: user.activity }).sort({ _id: -1 })
const uids = records.map(record => record.chestOwner)
const users = await ActivityUser.find({ _id: { $in: uids } })
const userMap = new Map()
users.forEach(u => userMap.set(u.id, u))
for (let i = 0; i < records.length; i++) {
const u = userMap.get(records[i].user)
const score = records[i].myScore || 0
result.push({
nickname: u?.twitterName || u?.discordName || u?.address ? formatAddress(u.address) : 'unknown',
avatar: u.twitterAvatar || '',
score: score,
// @ts-ignore
time: records[i].createdAt.getTime(),
})
}
return result
@ -200,6 +227,8 @@ class BoxController extends BaseController {
dateTag,
chest: chest.id,
score,
chestOwner: chest.user,
myScore: ENHANCE_CHEST_GIFT,
})
await enhanceRecord.save()
await updateRankScore({

View File

@ -19,12 +19,18 @@ class ChestEnhanceRecordClass extends BaseModule {
@prop()
public chest: string
@prop()
public chestOwner: string
@prop()
public dateTag: string
@prop()
public score: number
@prop()
public myScore: number
public toJson() {
return {
user: this.user,