抽奖吧核心功能深度解析:从设置到特效的全方位指南
抽奖吧核心功能深度解析
1. 强大的名单处理引擎 (Core Mixins)
抽奖吧不仅仅是一个简单的随机数生成器。基于 app-mixin.js 中的 textRollMixin 核心算法,我们为您处理了复杂的抽奖逻辑:
- 智能去重逻辑 (Filter Logic)
系统内置了严格的去重机制(
filterWinnerNames)。在每次点击“开始”的瞬间,程序会实时比对历史中奖记录。 如果您选择了“不允许重复中奖”(默认),已中过任何奖项的人员将自动被剔除出候选池; 如果您选择了“允许重复中奖”,则该人员仍有机会冲击其他奖项,但不会在同一个奖项中重复出现。 - 高性能渲染 (Virtual Scroll)
面对 10,000+ 的大名单,普通网页可能会卡顿。抽奖吧采用了虚拟滚动技术,只渲染可视区域的名单。配合
requestAnimationFrame动画帧控制,无论名单多长,滚动效果都能保持 60FPS 丝般顺滑。
2. 全能设置面板 (AppSetting)
点击右下角的齿轮图标,唤起 AppSetting.vue 组件,这里是控制活动的指挥中心。它采用了垂直选项卡设计,分为五大模块:
奖项管理
支持拖拽排序(Drag & Drop)。您可以精细控制每个奖项的“单次抽取数”(例如:一次抽5人)。在高级设置中,还能为奖品上传实物图片,抽奖时在屏幕中央展示大奖照片,刺激现场气氛。
名单管理
支持 Excel 批量导入(需下载模板)和图片批量上传。对于多部门活动,支持创建多个“分组”(Group),并为不同的奖项指定不同的抽奖名单池(例如:一等奖仅在“销售部”中抽取)。
全局配置
这里可以定义活动的“皮肤”。上传 1920x1080 的高清背景图,设置标题颜色和字号。对于高级用户,还支持“自定义布局”(Custom Layout),精确控制每一行显示多少个名字,以及名字的间距和大小。
3. 交互与快捷键
为了适应活动现场的紧张节奏,我们设计了全套键盘快捷键(Keyboard Shortcuts),让导播或控制台人员可以盲操作:
| 按键 | 功能 |
|---|---|
| Space (空格) | 开始 / 停止抽奖(最常用) |
| Enter (回车) | 同空格键,开始 / 停止 |
| ← / → (左右键) | 切换上一个 / 下一个奖项 |
| H | 打开 / 关闭中奖记录 (History) |
| M | 静音 / 开启背景音乐 (Music) |