前言
年会抽奖项目平常基本不用,只有到年终才会排上用场。开发的时长也不会给太久,而且也只是自家公司内部使用的,所以不需要部署,数据库后端甚至都可以省略;然后我就找了个开源的 符合我要求的年会抽奖项目进行二次开发,这样的好处是省去UI设计和写样式的时间,最终开发了以下的抽奖项目。
原本是开发一个的,但最开始领导的需求是点击开始当前奖项就自动开启倒计时,例如10秒到0就自动停止抽奖,同时显示中奖幸运儿。后来又说要手动停止的,开发新需求之前防止他等会又要前面倒计时的版本,因为倒计时的做了很多性能优化,相比手动倒计时的逻辑要复杂一些,所以就将倒计时保留下来。重新开发新的手动停止抽奖的需求,最终年会采用的版本是手动停止抽奖的。
年会结束后我就把这两个不同版本独立为两个项目,为了避免公司内部人员信息的泄露,项目中的参与抽奖人员资料已替换为王者荣耀的120多为英雄名称和头像了。如果你要使用此项目就将其资料替换即可。
废话不多说,下面开始演示项目,以及简单介绍一下两个项目所用的技术,更加详细的项目介绍和用法 我已经在项目中的README.md文档写了,大家边用边看文档即可。
技术栈:HTML5 + CSS3 + JS、ES6+ + jQuery + flexible(rem 自适应)
项目一:Annual_meeting_project_hasSetTimeOut
项目介绍:点击当前奖项的开始就自动倒计时抽奖,时间结束后自动出结果,各个奖项都可以设定不同的倒计时。例如一等奖倒计时为10秒,三等奖为5秒。有中奖名单可查看,无需担心其他已抽完的奖项数据没保存。但刷新页面就数据丢失,如果要长缓存就自行用LocalStorage对数据进行存储。
项目二:Annual_meeting_project_notSetTimeOut
项目介绍:没有抽奖倒计时,这个是手动按停止的。比项目一额外多一个惊喜奖项,总共6个奖项(特等奖、一等奖、二等级、三等级、幸运奖,惊喜奖),默认惊喜奖是隐藏的,只有前面5个奖项的所有抽奖次数抽完才会自动显示惊喜奖项。核心功能介绍完了,其他小功能就不多介绍了。
两个项目的中奖名单预览图
项目源代码地址:
github:https://github.com/HSg666/Annual_meeting_project_hasSetTimeOut
github:https://github.com/HSg666/Annual_meeting_project_notSetTimeOut
gitee: https://gitee.com/lhs1303574731/annual_meeting_project_has-set-time-out
gitee: https://gitee.com/lhs1303574731/annual_meeting_project_not-set-time-out