这里所说的充值钱币是虚拟币(如A、B、XX币等)。大概是这样,我有一个 更新余额 的接口,但需要一定的条件下(如看完广告等),才能让用户更新余额,可能需要一个令牌(我的理解,也可能不需要),来告诉程序允许更新用户余额。
1,那么令牌什么时候创建呢?
2,使用什么技术创建呢?
3,怎么检验令牌呢?
刚学后端,不太懂具体的充值流程是怎么样的,有人能告知吗?谢谢
这里所说的充值钱币是虚拟币(如A、B、XX币等)。大概是这样,我有一个 更新余额 的接口,但需要一定的条件下(如看完广告等),才能让用户更新余额,可能需要一个令牌(我的理解,也可能不需要),来告诉程序允许更新用户余额。
1,那么令牌什么时候创建呢?
2,使用什么技术创建呢?
3,怎么检验令牌呢?
刚学后端,不太懂具体的充值流程是怎么样的,有人能告知吗?谢谢
简单的话随便弄个随机算法都行,生成一组随机的字符串当做令牌,存储在redis中,当请求拿随机字符串验证时,你就从redis里找,找不到就是非法请求.当然这是比较不严谨的流程,复杂的搞法那就很多了,你这个问题的本质就是接口安全问题,你可以看看接口安全性的文章,一般来说jwt+接口验签处理,能处理大部分的接口安全问题,能基本保证用户随意非法调用你的接口,就算知道你的参数与请求路径也不行
2 回答1.4k 阅读
2 回答1.2k 阅读
2 回答1.2k 阅读
2 回答1.2k 阅读
3 回答796 阅读
2 回答964 阅读
1 回答849 阅读
一般来说,通过完成任务来获得奖励,可以做一个简单的对用户透明的简易任务系统,只是业务逻辑上存在的这样的任务系统。
一、任务分为单步任务和多步任务,任务可以设定永久或者限时,超时未完成任务自动取消并删除
二、对于单步任务,只需要对应的业务逻辑中添加任务是否完成的条件检查,然后直接更新余额即可
三、对于多步任务,比如视频广告 ,自然是希望用户能每一秒都能看广告,至少不屏蔽嘛,打开视频,加载/推送广告时,创建一个视频广告播放任务(状态数据),扔到redis里,设置过期时间(用户可能看到广告就关闭视频了),
比如前端播放器成功播放5秒,更新一下任务redis里的任务状态,当然不只想防君子的话,可以稍微意思下,把任务进度数据加密复杂化,视频广告会给前端一个初始数据,然后播放器播放5秒计算出5秒的加密后的任务进度数据传给“视频广告播放进度”接口,然后“视频广告播放进度”接口发现某次播放秒数符合要求,同步或异步去更新余额,然后根据需求决定要不同时删除redis里任务数据,是否重置超时时间,是否每次看完同一个视频的视频广告(或是否同一个广告)可以重复获得奖励。
这是个简单的设计,具体实现还得细想,设计严谨。