首页 > 应用开发 > IT综合 > 直播类app开发,如何实现用户签到功能
1 签到日历周期
签到周期: 常用的签到周期为一周或者一个月.我们直播类app开发采用的是一个月的方案.市面上的签到日历界面都大同小异,接下来我会给大家分享以月为周期的签到日历实现方案以及伴生的签到任务实现方案.
通过图上分析,可大致把这个界面分成四个部分
通过分析我把这个界面分成了三个接口
/signIn GET协议 用于查询头部的总积分和签到日历部分./signIn/configuration GET协议 查询连续签到文案配置,如果不需要后台可配置连续签到获取积分的数量和文案,此接口可省略,前端写死./signIn/task GET协议 用于查询签到任务,以及各个任务的完成状态.因为直播类app开发整体使用了Redis位图的查询,每个用户的签到数据都是通过key隔离开的,时间复杂度为
O(1).实测百毫秒内可返回数据
这一部分直播类app开发采用的是redis和mysql结合查询的方式.任务我们做了后台可配置.分为只能完成一次的
福利任务和每天都可以重置的
每日任务.
设计这张任务表的时候,总要就是类型和跳转方式需要注意.因为不同的任务有不同的功能划分.用
jump_type去区分各自的功能区域.
jump_source可以是H5地址也可以是手机端的路由地址.可以做到灵活调控.前端调用完成任务的接口传入任务对应的
task_tag就可以完成指定的任务
因为每日任务和福利任务大概也就十条左右,所以mysql查询是非常快速的.然后完成状态储存在redis中,时间复杂度为
O(1)
完成任务的方法.设定为一个公共方法.传入对应的
task_tag标识去完成指定任务.也就只需要判断一下他是每日任务还是福利任务.分别写入不同的redis hash里.
至此一个以redis位图方案进行直播类app开发的签到功能就实现完毕了.实现内容大致签到,补签,积分增减,可配置任务功能.如果还有其他的需求,欢迎在评论区留言一起讨论.
声明:本文由云豹科技转发自DailyPractice博客,如有侵权请联系作者删除
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69982461/viewspace-2842946/ ,如需转载,请注明出处,否则将追究法律责任。