登录
首页 >  Golang >  Go问答

golang 虚拟币的充值原理

来源:SegmentFault

时间:2023-02-16 15:26:14 319浏览 收藏

本篇文章向大家介绍《golang 虚拟币的充值原理》,主要包括go,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

这里所说的充值钱币是虚拟币(如A、B、XX币等)。大概是这样,我有一个 更新余额 的接口,但需要一定的条件下(如看完广告等),才能让用户更新余额,可能需要一个令牌(我的理解,也可能不需要),来告诉程序允许更新用户余额。
1,那么令牌什么时候创建呢?
2,使用什么技术创建呢?
3,怎么检验令牌呢?
刚学后端,不太懂具体的充值流程是怎么样的,有人能告知吗?谢谢

正确答案

一般来说,通过完成任务来获得奖励,可以做一个简单的对用户透明的简易任务系统,只是业务逻辑上存在的这样的任务系统。

一、任务分为单步任务和多步任务,任务可以设定永久或者限时,超时未完成任务自动取消并删除

二、对于单步任务,只需要对应的业务逻辑中添加任务是否完成的条件检查,然后直接更新余额即可

三、对于多步任务,比如视频广告 ,自然是希望用户能每一秒都能看广告,至少不屏蔽嘛,打开视频,加载/推送广告时,创建一个视频广告播放任务(状态数据),扔到redis里,设置过期时间(用户可能看到广告就关闭视频了),
比如前端播放器成功播放5秒,更新一下任务redis里的任务状态,当然不只想防君子的话,可以稍微意思下,把任务进度数据加密复杂化,视频广告会给前端一个初始数据,然后播放器播放5秒计算出5秒的加密后的任务进度数据传给“视频广告播放进度”接口,然后“视频广告播放进度”接口发现某次播放秒数符合要求,同步或异步去更新余额,然后根据需求决定要不同时删除redis里任务数据,是否重置超时时间,是否每次看完同一个视频的视频广告(或是否同一个广告)可以重复获得奖励。

这是个简单的设计,具体实现还得细想,设计严谨。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表