任务:模拟掘金抽奖
在掘金网站上有每日的幸运抽奖,同学可以试着模仿这个幸运抽奖功能自己实现一个类似的抽奖页面。
任务分析(需求分析) 掘金移动端原型图
抽奖页面⭐️
-
主页面 |
|
| | --- | --- | | 抽奖 | 抽奖完成 |
-
签到入口、围观大奖、中奖播报 |
|
|
| | --- | --- | --- | | 签到 | 围观大奖 | 中奖播报 |
我的收获页面
| 我的收获_实物奖励 | 我的收获_我的道具 |
抽奖规则页面
| 抽奖规则 |
签到赢好礼页面
任务要求(❓基础版:实现抽奖前端页面)
开始写这个页面,好像完全不知道怎么办,不知道如何入手。 看到同学已经上传的作业,就有了方向,更有了动力。
搜技术文章,关键字开始直接是“抽奖”、“掘金幸运抽奖”,原样搜索,多看了几篇还知道了这是“九宫格抽奖”程序,搜索关键字的实现也更准确了。
在完全没有参考,空凭看到任务的直觉的实现思路,
- 实现九宫格页面
- 抽奖按钮事件绑定
- 显示弹框
- ...(无所及)
有了一些技术文章实现思路的参考后,有了具体实现步骤的思考,
- 项目搭建、部署
- 文件、字段命名
- 抽奖
- 能运行
- 完成基础版
开始有了憧憬,
- 进阶版的实现流程
对于我来说,即使是基础班的学习强度也会感到吃力,但这次青训营让我有一个信念,我是可以学会前端开发的,其他也可以。即使有课时的紧迫感、有班级奖励机制、有老师的督促、有同学的榜样示范,我还是没有特别用心、尽全力去想办法迎接这次难得的挑战。有一种说法是对待一次挑战态度就是对任何一次挑战的态度,但我已经有一点自信可以在以后任何一次挑战中更加用心,在以后的挑战中更有力量,逐渐成长、强大。
用JS模拟出抽奖过程
// createApp初始化
手工设置奖品池
每个奖品的中奖概率
起始矿石数
// 免费抽奖
每次抽奖耗费的矿石数
完成抽奖,给出中奖结果
// 伪代码
多次抽奖,显示中奖列表
1. 资源文件
2. 规则
3. 搭页面
-
基础版
实现抽奖前端页面,用 JS 模拟出抽奖过程,可以手工设置奖品池,每个奖品的中奖概率,起始矿石数和每次抽奖耗费的矿石数,完成抽奖后,给出中奖结果,多次抽奖,显示中奖列表。
-
进阶版
因为在前端完成抽奖,实际上不可靠。用NodeJS实现一个简单的抽奖服务,在服务端完成抽奖过程,给出抽奖结果,前端负责展示和演示抽奖过程。服务端的奖品设置和中奖概率实现可配置。
-
加分项
在完成2版的基础上,提供奖池管理和奖品配置的后台,有一个简单的页面,管理员能够配置总奖品数,单次抽奖中奖概率,可以控制大奖放出的时机。
后台可以简化,不用做真正的用户登录。
-
附加要求
独立完成,代码风格良好,有设计文档和部署文档。
将代码提交到GitHub或GitEE,能获取并本地部署运行。