美文网首页让前端飞程序员大前端-BFE
又到年会抽奖时:这次不用现场review代码了

又到年会抽奖时:这次不用现场review代码了

作者: 1024译站 | 来源:发表于2019-01-13 23:02 被阅读5次

背景

临近年末,又到了各大公司举办年会的时候了。对于年会,大家最关心的应该就是抽奖了吧?虽然中奖概率通常不高,但总归是个机会,期待一下也是好的。

最近,我所在的部门举办了年会,也有抽奖环节。临近年会的前几天,leader突然找到我,说要做一个抽奖程序,部门年会要用。我当时都懵了:就三天时间,万一做的程序有bug,岂不是要被现场百十号人的唾沫给淹死?没办法,leader看起来很有信心,我也只能硬着头皮上了。

需求

  1. 要一个设置页面,包括设置奖项、参与人员名单等。
  2. 如果单个奖项中奖人数过多,可分批抽取,每批人数可设置。
  3. 默认按奖项顺序抽奖,也可选定某个奖项开始。
  4. 可删除没到场的中奖者,同时可再次抽取以作替补。
  5. 可在任意奖项之间切换,可查中奖记录名单
  6. 支持撤销当前轮次的抽奖结果,重新抽取。

实现

身为Web前端开发,自然想到用Web技术来实现。本着不重复造轮子的原则,首先求助Google,Github。搜了一圈好像没有找到特别好用的程序能直接用的。后来看到一个Github上的一个项目,用 TagCanvas 做的抽奖程序,界面挺好,就是逻辑有问题,点几次就崩溃了。代码是不能拿来用了,标签云这种抽奖形式倒是可以借鉴。于是找来文档看了下基本用法,很快就集成到页面里了。

由于设置页面涉及多种交互,纯手写太费时间了,直接用框架。平时 Element UI 用得比较多,自然就用它了。考虑到年会现场可能没有网络,就把框架相关的JS和CSS都下载到本地,直接引用。为了快速开发,也没搭建webpack构建工具了,直接在浏览器里引入JS。

    <link rel="stylesheet" href="css/reset.css" />
    <link
      rel="stylesheet"
      href="js/element-ui@2.4.11/lib/theme-chalk/index.css"
    />
    <script src="js/polyfill.min.js"></script>
    <script src="js/vue.min.js"></script>
    <script src="js/element-ui@2.4.11/lib/index.js"></script>
    <script src="js/member.js"></script>
  1. 先设计数据结构。
  • 奖项列表 awards
[{
    "name": "二等奖",
    "count": 25,
    "award": "办公室一日游"
}, {
    "name": "一等奖",
    "count": 10,
    "award": "BMW X5"
}, {
    "name": "特等奖",
    "count": 1,
    "award": "深圳湾一号"
}]

  • 参与人列表 members
[{
  "id": 1,
  "name": "张三"
}, {
  "id": 2,
  "name": "李四"
}]
  • 待抽奖人员列表 players,是members 的子集
[{
  "id": 1,
  "name": "张三"
}]
  • 抽奖结果列表result,按奖项顺序索引
[[{
    "id": 1,
    "name": "张三"
}], [{
    "id": 2,
    "name": "李四"
}]]

  1. 设置页面
    包括奖项设置和参与人员列表。
image.png
  1. 抽奖页面


    image.png

具体代码可以去我的Github项目 查看。也可以现在体验一下。由于时间仓促,代码写得比较将就。

年会当天抽中了四等奖:1000元购物卡。我是不是该庆幸自己没中特等奖……

相关文章

  • 又到年会抽奖时:这次不用现场review代码了

    背景 临近年末,又到了各大公司举办年会的时候了。对于年会,大家最关心的应该就是抽奖了吧?虽然中奖概率通常不高,但总...

  • 抽奖程序-kenxiong / lottery

    一. 概述 年底了,又到年会时间,年会肯定少不了抽奖环节,一般公司用的抽奖程序界面都是非常简陋,我在github发...

  • 公司没有年会

    又到年底了朋友圈全是各种各样的公司年会现场直播,各种活动抽奖,我一直认为公司有年会是一件好事,至少可以让你刷一下存...

  • 2019-12-21

    又到年底各大企业年会争奇斗艳的时候了 如果不是因为年会抽奖和怕丢工作 …… “懒癌+社恐+尴尬癌” 足以让年会空座...

  • 新浪程序员因加班错失年会77万特等奖,网友:这估计是史上最贵的m

    某互联网公司在北京召开了2018年的年会,年会现场安排了多项抽奖:有万元现金、苹果产品大礼包、钻戒、出国游机票等,...

  • Day360 年会神器:DT互动

    今天参与公司的年会主持串场,涉及到现场的小游戏,分享给大家一个现场微信抽奖的现场大屏互动软件,可以帮助大家设置现场...

  • 24岁的我,开始了“养老”生活

    说说我们公司年会,没有抽奖,没有红包的仪式,十八个人,1500的预算。 我也预想到这个年会,无趣。 我把这次的年会...

  • jQuery三级联动效果代码(省、市、区)

    又到了每日分享时间了,这次分享的内容为:jQuery三级联动效果代码(省、市、区)。 很长时间都不用jquery了...

  • 前端面试2021-012

    1、什么是代码的review操作?一般由谁进行代码的review?怎么进行review? 代码的review操作,...

  • 奇葩年会:创蓝253CEO带员工一起烧脑

    年底又到年会季,各公司各显神通创意迭出,有的送名车,有的发奖金,有的带旅游,有的大抽奖,但把年会办成“烧脑大会”的...

网友评论

    本文标题:又到年会抽奖时:这次不用现场review代码了

    本文链接:https://www.haomeiwen.com/subject/njtrdqtx.html