Magpie(喜鹊)是一款功能完整的开源滚动抽奖系统,适用于公司年会、庆典活动、线上聚会等多种场景。该系统基于 React 开发,支持奖项自定义、防重复中奖、3D标签云动态展示获奖者等核心功能,并提供灾难恢复机制,确保意外中断后能恢复抽奖进度,保障活动公平性。

核心特性
- 功能完整:支持设置奖项数量、编辑奖项详情、自定义抽取顺序,并内置获奖者过滤,防止重复中奖。
- 视觉呈现:提供3D标签云特效,可动态、炫酷地展示中奖者姓名信息。
- 跨平台部署:支持在Web浏览器直接使用,也可在Windows、macOS、Linux系统上本地运行。
- 灾难恢复:抽奖过程中若意外关闭浏览器页面,再次访问时可自动恢复至中断前的状态与数据。
- 开源可定制:代码完全开源,用户可根据自身需求进行二次开发与功能定制。
快速部署指南
系统提供多种部署方式,可根据实际情况选择。
方式一:使用Docker容器化部署(推荐)
若本地已安装Docker环境,可通过以下命令快速启动服务:
docker run -p 80:80 bywang/magpie
此命令会从Docker Hub拉取镜像并启动容器,将容器内80端口映射到宿主机,访问 http://localhost 即可使用。这种部署方式依赖于 云原生/IaaS 技术,具备环境一致、易于分发和管理的特点。
方式二:下载预编译软件包
项目为Windows、macOS和Linux系统提供了开箱即用的可执行程序包,用户可直接下载对应系统的版本,解压后运行。
方式三:源码本地运行与构建
适合开发者或需要自定义功能的用户。
- 克隆项目源码。
- 进入项目目录:
cd Magpie-LuckyDraw
- 安装项目依赖:
yarn install
- 启动开发服务器:
yarn start
- 构建生产环境代码:
yarn build
二次开发说明
项目采用现代化的 前端框架/工程化 技术栈,便于扩展。
- 端到端测试:使用Cypress,执行
yarn test:intergration。
- 生产构建:执行
yarn dist 生成桌面应用安装包。
- 发布管理:集成
release-it 工具,执行 yarn release。
- Docker构建:项目根目录下的
Dockerfile 定义了容器构建流程。
项目代码结构清晰,配置文件集中,方便开发者理解和修改,以满足特定的UI或业务逻辑需求。
|