乐于分享
好东西不私藏

AI生成抽奖程序

AI生成抽奖程序

全文共2229字,预计阅读需要10分钟

前言

前段时间,单位库房里淘出一批“小宝贝”——耳机、充电宝、小电风扇,数量不多,但大家都想分一杯羹。领导眼珠一转,说端午前的例会不搞别的了,就搞个抽奖把这些东西都抽掉,让你们开心回去过节吧。

序章
后来领导找到我,叫我找个抽奖程序,要保证公平公正。于是我就开始上网冲浪,浪里淘花,最后找了一圈,发现一个能用的都没有。要么收费,要么丑得像个古董,要么没法导入名单,要么导不出中奖记录,还有的广告弹得比鞭炮还密。一圈下来,没有一个正经能用的,老板又不批预算,我只好硬着头皮挑了个“相对能看”的丢给领导。
开始
我拿了个还勉强能看的给领导看,结果不出意外我被叼了,说丑的一逼。我手一摊,老实地说不要钱的都差不多这鸟样,要不你掏钱咯。结果领导沉默三秒,在“将就”和“掏钱”之间,选了第三条路:让我自己开发一个。说什么又不难,你以前也是程序员,随便搞搞就好。我直接祭出拒绝三连:全忘了、没空、时间不够。结果领导微微一笑:“搞出来,奖品你先挑一个。刚好我也缺个充电宝,就半推半就应下来了。
准备
虽然说抽奖程序整体并不难,但功能上还是有点的,还是得花点时间。技术选型?Python要装环境,C# 好看的UI我搞不定,Java太重没必要。最后拍板——一个HTML页面搞定,JavaScript走天下,用完即走,不拖泥带水。(HTML是世界上最强大的语言)
开搞
新时代码农,怎么可能手撸代码?那是上个世纪的浪漫了。我虔诚地打开DeepSeek,把需求一条条塞给它。(别问我为什么不用豆包,谁叫它写的东西就是一坨;也别问为什么不用Copilot、Cursor,毕竟没人付费上班,懂的都懂。)
你还别说,DeepSeek理解需求挺到位,代码几乎没bug,国产免费AI里这水平我是服的。就是每次对话生成的效果都不一样,总缺这少那,或者页面显示效果也不一样了。
需求梳理
都准备后好,就要写提示词给ai了,梳理业务:
这个破烂程序需要啥功能呢?
  1. 要能上传抽奖人名单
  2. 要能导出中奖人名单
  3. 要能进行多轮抽奖、并且每轮奖品和数量都不同
程序有没有什么业务限制呢?
  1. 奖项每人只能中奖一次
  2. 算法要公平工作,不能有黑幕,每次抽奖,都需要抽奖当前的时间进行多次随机计算
程序有没有什么功能要求呢?
  1. 要能避免浏览器被误刷新
  2. 人数少的奖项要有个抽奖动画,人数多的选项就不需要显示动画了
综上条条框框,我整理了初步的关键词:
我要用html和JavaScript做一个抽奖程序,单页面即可,功能需求如下:1、抽奖参与人支持上传Excel文件,第一行为标题行,第二行开始为数据行。列分别为:工号、姓名、部门。2、抽奖参与人支持页面直接添加。3、抽奖分为多轮,每轮可以选择不同的奖品和奖品的数量,但每轮的奖品是一样的。4、每人每轮只能参与一次,该规则贯穿整个抽奖,需要在第一轮抽奖开始前选择。5、每抽取一个人,都要显示抽奖动画。抽奖动画有2种显示方式:1是每个人都显示一次,2是不显示抽奖动画,直接出结果。每轮都可以单独选择。6、每轮结果都需要显示在页面上,下一轮抽奖不会清空上一轮抽奖的结果。7、最终全部抽奖结果需要可以导出,要求包含:抽奖轮次、奖品、本轮奖品数量、中奖人工号、中奖人姓名、中奖人部门、中奖时间。8、所有数据需要缓存到浏览器sessionstorage中,确保刷新页面后还能回到上次状态。9、要有一个按钮可以重置抽奖,将所有数据清空,清空前,需要二次提醒。10、所有配置、参与人、抽奖参数、奖品等,要能做出配置文件,直接导出配置文件,并提供导入配置文件功能,不需要导出中将人。11、开始抽奖后显示一个全局弹出层,覆盖整个浏览器窗口。抽奖弹出层上方显示中奖人,窗口下方显示滚动动画。抽奖完毕后,抽奖弹出层窗口不要自动关闭,页面右上角提供一个手动关闭窗口的按钮。12、“每个人都显示动画”模式,每抽一人都显示抽奖动画,每次抽中一人,抽奖动画停留显示2秒,然后继续抽取,中将人浮动在抽奖弹出层窗口上方依次排列,抽完一人,浮动显示增加一人。13、“不显示动画直接出结果”模式,不显示抽奖动画,直接一次性将所有中将人浮动在抽奖弹出层窗口上方依次排列。
经过我疯狂的新建对话,最后得到初步作品
(以上名字都是我让ai随机生成的)
其实这个版本我已经很满足了,不过后面想想,万一领导想搞“全员可参与,中过也能再中”呢?于是又追加了一个开关,让每轮独立抽奖,不限制历史中奖者。反正AI改起来快,我动嘴,它动手。
抽奖人参与抽奖有两种规则:1是每人每轮只能参与一次,2是每人全局只能参与一次。规则可以自由选择,但该规则贯穿整个抽奖,需要在第一轮抽奖开始前选择。
最后生成效果
完工
折腾了3个小时,中间换了N次对话,终于生成完美符合我要求的代码了。
而且我发现,快速模式生成的效果是明亮的白色主题,专家模式生成的效果是深色主题。这里我就不展示快速模式的了,毕竟我不喜欢。
看看我的最终效果吧:
能动态抽奖
{  "version": "1.0",  "globalRule": "global",  "participants": [    {      "id": "EMP0001",      "name": "吴洋妍",      "dept": "市场营销部"    }  ],  "rounds": [    {      "prize": "充电宝",      "count": 5,      "animationMode": "animate"    }  ],  "exportedAt": "2026-06-19T18:12:24.145Z"}
能把我这次的抽奖配置导出
能显示所有中奖结果
能导出中奖名单
程序就两个文件,支持离线运行,有浏览器就能打开
后续
领导很满意,大会抽奖很顺利。我的充电宝也顺利到手(这充电宝还是很不错的哦,这波小赚)。
放在最后:
说实话,AI对编程行业的冲击真不小。以前写这么个完整程序,少说一天,现在几个小时搞定,而且你甚至不用太懂代码。
还好我已经跳出了程序员这个行业。不然就要跟ai卷了。

如果对这个抽奖程序感兴趣的,或者想要完整deepseek关键词的,可以后台回复【002】获取程序文件

相关学习资料