返回
小程序+云开发,低成本快速开发实现体重排行榜
前端
2023-12-04 03:07:39
前段时间上线的小程序记录体重功能运行基本稳定,没想到还真的有小伙伴们用,而且还热心的反馈问题,真是感谢。刚刚发布了一个体重记录排行榜,记录一下笔记吧。
之前的功能里没有储存用户信息,只是在分享的时候获取昵称和头像生成图片,不过排行榜的功能肯定是需要的,就建了一个users的表,user_id,nickname,gender,avatarURL为必填。
然后是计算排名的问题,按照体重升序排名,那么直接使用排名函数即可,这里用的是云函数,也有文档可供参考。
exports.main = (event, context) => {
const db = cloud.database()
const _ = db.command
const usersCollection = db.collection('users')
const ranksCollection = db.collection('ranks')
// 计算排名
return ranksCollection.add({
data: {
rank: _.inc(1)
}
}).then(res => {
// 获取排名
return ranksCollection.doc(res._id).get()
}).then(res => {
// 获取用户信息
return usersCollection.where({
user_id: event.user_id
}).get()
}).then(res => {
return {
rank: res.data[0].rank,
nickname: res.data[0].nickname,
gender: res.data[0].gender,
avatarURL: res.data[0].avatarURL
}
})
}
前端方面,很简单,只需要一个getRank的API,返回排名即可。
wx.cloud.callFunction({
name: 'getRank',
data: {
user_id: user_id
},
success: res => {
// 获取排名成功
console.log(res.result)
},
fail: err => {
// 获取排名失败
console.log(err)
}
})
然后就是排行榜的展示了,这里就不赘述了,相信大家都不会陌生。
最后,展示一下效果图:
![图片 1]
![图片 2]
好了,以上就是关于如何使用小程序+云开发快速实现体重排行榜的全部内容了。希望本文能够帮助到大家。