【青训营】- 大作业

1,269 阅读3分钟

幸运抽奖⭐️⭐️⭐️

任务:模拟掘金抽奖

在掘金网站上有每日的幸运抽奖,同学可以试着模仿这个幸运抽奖功能自己实现一个类似的抽奖页面。

任务分析(需求分析) 掘金移动端原型图

抽奖页面⭐️

  1. 主页面 | juejin1.jpg | juejin2.jpg | | --- | --- | | 抽奖 | 抽奖完成 |

  2. 签到入口、围观大奖、中奖播报 | juejin7.jpg| juejin5.jpg | juejin6.jpg | | --- | --- | --- | | 签到 | 围观大奖 | 中奖播报 |

我的收获页面

juejin3.jpgjuejin3_2.jpg
我的收获_实物奖励我的收获_我的道具

抽奖规则页面

juejin4.jpgjuejin4_2.jpg
抽奖规则

签到赢好礼页面

juejin_2.jpgjuejin.jpg

任务要求(❓基础版:实现抽奖前端页面)

开始写这个页面,好像完全不知道怎么办,不知道如何入手。 看到同学已经上传的作业,就有了方向,更有了动力。

搜技术文章,关键字开始直接是“抽奖”、“掘金幸运抽奖”,原样搜索,多看了几篇还知道了这是“九宫格抽奖”程序,搜索关键字的实现也更准确了。

在完全没有参考,空凭看到任务的直觉的实现思路,

  1. 实现九宫格页面
  2. 抽奖按钮事件绑定
  3. 显示弹框
  4. ...(无所及)

有了一些技术文章实现思路的参考后,有了具体实现步骤的思考,

  1. 项目搭建、部署
  2. 文件、字段命名
  3. 抽奖
  4. 能运行
  5. 完成基础版

开始有了憧憬,

  1. 进阶版的实现流程

对于我来说,即使是基础班的学习强度也会感到吃力,但这次青训营让我有一个信念,我是可以学会前端开发的,其他也可以。即使有课时的紧迫感、有班级奖励机制、有老师的督促、有同学的榜样示范,我还是没有特别用心、尽全力去想办法迎接这次难得的挑战。有一种说法是对待一次挑战态度就是对任何一次挑战的态度,但我已经有一点自信可以在以后任何一次挑战中更加用心,在以后的挑战中更有力量,逐渐成长、强大。

用JS模拟出抽奖过程

掘金抽奖github

// createApp初始化

手工设置奖品池

奖品池json

每个奖品的中奖概率

起始矿石数

// 免费抽奖

每次抽奖耗费的矿石数

完成抽奖,给出中奖结果

// 伪代码

多次抽奖,显示中奖列表

    1. 资源文件
    2. 规则
    3. 搭页面

  1. 基础版

实现抽奖前端页面,用 JS 模拟出抽奖过程,可以手工设置奖品池,每个奖品的中奖概率,起始矿石数和每次抽奖耗费的矿石数,完成抽奖后,给出中奖结果,多次抽奖,显示中奖列表。

  1. 进阶版

因为在前端完成抽奖,实际上不可靠。用NodeJS实现一个简单的抽奖服务,在服务端完成抽奖过程,给出抽奖结果,前端负责展示和演示抽奖过程。服务端的奖品设置和中奖概率实现可配置。

  1. 加分项

在完成2版的基础上,提供奖池管理和奖品配置的后台,有一个简单的页面,管理员能够配置总奖品数,单次抽奖中奖概率,可以控制大奖放出的时机。

后台可以简化,不用做真正的用户登录。

  1. 附加要求

独立完成,代码风格良好,有设计文档和部署文档。

将代码提交到GitHub或GitEE,能获取并本地部署运行。