littlebot
Published on 2025-04-16 / 0 Visits
0

【源码】基于Node和Express框架的年会抽奖系统

项目简介

这是一个基于Node和Express框架开发的年会抽奖系统。系统采用3D球体抽奖方式,支持奖品信息配置和抽奖人员信息Excel导入,抽奖结果可实时导出到Excel。

项目的主要特性和功能

  1. 3D抽奖体验:利用Three.js实现3D抽奖球体,带来沉浸式的抽奖体验。
  2. 奖品信息配置:灵活配置奖品信息,包括奖品名称、描述、图片等。
  3. 参与人员信息导入:支持通过Excel文件导入参与抽奖人员信息。
  4. 抽奖结果实时导出:抽奖结果可以实时导出到Excel文件,方便保存和分享。
  5. 智能抽取逻辑:已抽取的人员不再参与后续抽取,抽中的现场缺席人员可重新抽取。
  6. 配置每次抽取奖品数量:可根据需要配置每次抽取的奖品数量。

安装使用步骤

安装项目依赖

  1. 进入项目目录:cd lottery
  2. 安装服务端插件:cd server && npm install
  3. 安装前端插件:cd ../product && npm install
  4. 打包前端资源:npm run build

运行项目

  1. 运行服务端:npm run serve
  2. 开发调试:npm run dev

项目目录结构

Lottery ├── product # 前端页面目录 │ ├── src │ ├── package.json # web项目配置文件 │ ├── webpack.config.js # 打包配置文件 ├── server # 服务器目录 │ ├── config.js # 配置文件,包含奖品信息和抽奖配置等 │ ├── server.js # 服务器主入口文件 │ └── package.json # 服务器依赖配置文件

配置信息

  1. 抽奖用户信息配置:抽奖用户信息在server/data/user.xlsx文件中,需按指定格式填充。
  2. 奖品信息配置:奖品的配置信息填写在server/config.js文件中。奖品信息包括奖品类型、数量、名称、描述和图片地址。
  3. 抽奖配置(每次抽取奖品个数):在config.js中的EACH_COUNT数组用于配置每次的抽奖个数,与奖品一一对应。
  4. 企业标识配置:企业标识用于显示在抽奖卡片上,同样在config.js文件中配置。

License

该项目采用MIT开源协议。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】