美文网首页
Express + Three.js 抽奖程序

Express + Three.js 抽奖程序

作者: 一笔一书 | 来源:发表于2019-05-30 12:38 被阅读0次

    抽奖程序

    年会抽奖程序,3D 球体抽奖,支持奖品信息配置,参与抽奖人员信息Excel导入,抽奖结果Excel导出

    github地址: https://github.com/moshang-xc/lottery

    技术

    技术:Node + Express + Three.js

    后台通过Express实现

    前端抽奖界面通过Three.js实现 3D 抽奖球,引用了Three.js的官方 3D 示例

    功能描述:

    1. 可将抽奖结果进行保存实时下载到 excel 中
    2. 已抽取人员不在参与抽取,抽中的人员不在现场可以重新抽取
    3. 刷新或者关掉服务器,会保存当前已抽取的数据,不会进行数据重置,只有点击界面上的重置按钮,才能重置抽奖数据
    4. 每次抽取的奖品数目可配置
    5. 抽取完所有奖品后还可以继续抽取特别奖(例如:现在抽取红包,追加的奖品等),此时默认一次抽取一个

    预览

    lottery.gif f.jpg s.jpg t.jpg

    安装

    git clone https://github.com/moshang-xc/lottery.git
    
    cd lottery
    
    # 服务端插件安装
    cd server
    npm install
    
    # 前端插件安装
    cd ../product
    npm install
    
    # 打包
    npm run build
    
    # 运行
    npm run serve
    
    # 开发调试
    npm run dev
    
    

    目录结构

    Lottery
    ├── product
    │   ├── src
    │   │   ├── lottery
    │   │   │   └── index.js
    │   │   ├── lib
    │   │   ├── img
    │   │   ├── css
    │   │   └── data
    │   ├── package.json
    │   └── webpack.config.js
    ├── server
    │   ├── config.js
    │   ├── server.js
    │   └── package.js
    
    1. product 为前端页面目录
    2. package.josn web 项目配置文件
    3. webpack.config.js 打包配置文件
    4. server 为服务器目录
    5. config 为奖品信息的配置文件

    配置信息

    1. 抽奖用户信息,按指定的格式填写在server/data/user.xlsx文件中,不能修改文件名

    2. 奖品的配置信息填写在server/config.js文件中,不能修改文件名

    // 奖品信息,第一项为预留项不可修改,其他项可根据需要修改
    let prizes = [{
            type: 0,
            count: 1000,
            title: '特别奖',
            img: ''
        }, {
            type: 1,
            count: 1,
            title: '华为Mate 20X',
            img: '../img/huawei.png'
        }
        ...
    ];
    
    /**
     * 一次抽取的奖品个数
     * 顺序为:[特别奖,一等奖,二等奖,三等奖,四等奖,五等奖]
     */
    const EACH_COUNT = [1, 1, 1, 1, 1, 5];
    // 公司名称,用于显示在抽奖名单的title部分
    const COMPANY = 'MoShang';
    

    相关文章

      网友评论

          本文标题:Express + Three.js 抽奖程序

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