图片

抽奖功能模块源码
产品出发点
1、通过动态抽奖数据和排行激发用户抽奖消费;
2、通过技能和宝石等以及转盘的燃爆值,中奖率翻倍等等吸引用户;
3、根本上是为了激发用户活跃性以及刺激消费

技术难点
1、抽奖转盘分为两种转盘,业务逻辑分一个parentVC 管理两个 子 VC;
2、抽奖奖品服务端返回,显示在每一个扇形区域的中间,金额同似;
3、点击抽奖,拿到奖品id, 找出是在转盘中的哪个区域,让转盘指针停止在那一区域;
4、抽奖动态弹幕;
5、燃烧值 和 倒计时的控制;

业务操作说明
1、两个转盘,某个转盘点击开始抽奖 互不影响; 黄金转盘具有宝箱和技能;
2、每抽取一次,扣除相应的金额,如有中奖,则弹出中奖奖品;抽奖分为单次,十连抽,三十连抽等;
3、抽奖后产生记录;在记录中可看到每次抽奖消费情况;
4、转盘有燃烧值,当满时候,触发倒计时3分钟,倒计时内 中奖率将翻倍;
5、燃烧值每3秒刷新一次,当中途离开再次打开,则拿到最新倒计时显示;
6、弹幕从最新100条记录 每隔2秒随机生成一条记录;

模块设计
1、整个框架布局在一个 MainVC中控制转盘类型,请求余额,通知等刷新金额; 管理childVC ;
2、childVC 中 处理抽奖业务逻辑;UI 布局,抽奖请求, 燃烧值处理,弹幕处理;
3、其他功能性子View 单独自定义视图; 转盘视图,燃烧值进度视图,倒计时进度视图, 弹窗类视图;弹幕视图;
4、弹窗类视图 以一个ParentView公共视图容器 ,其中子视图由枚举参数值控制自定义;有玩法视图,记录视图,保险视图,技能视图,排行榜视图;