Coder Social home page Coder Social logo

dystudio / lottery Goto Github PK

View Code? Open in Web Editor NEW

This project forked from moshang-xc/lottery

0.0 1.0 0.0 10.14 MB

🎉🌟✨🎈年会抽奖程序,基于 Express + Three.js的 3D 球体抽奖程序,奖品🧧🎁,文字,图片,抽奖规则均可配置,😜抽奖人员信息Excel一键导入😍,抽奖结果Excel导出😎,给你的抽奖活动带来全新酷炫体验🚀🚀🚀

JavaScript 87.43% CSS 10.92% HTML 1.66%

lottery's Introduction

抽奖程序

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

如果该程序对你有帮助😎😎😎,希望给个star喔。😘😘😘😍🥰🎉🎈🎃

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 为奖品信息的配置文件

配置信息

抽奖用户信息配置

抽奖用户信息在**server/data/user.xlsx**文件中,按文件格式进行填充,不能修改文件名和列头

奖品信息配置

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

其中奖品 prizes 的配置描述如下:

参数 值类型 描述
type Number 奖品类型,唯一标识,0 是默认特别奖的占位符,其它奖品不可使用
count Number 奖品数量
text String 奖项名称
title String 奖品描述
img String 奖品的图片地址,图片在img目录下
// 奖品信息,第一项为预留项不可修改,其他项可根据需要修改
let prizes = [{
        type: 0,
        count: 1000,
        title: "",
        text: "特别奖"
    },
    {
        type: 1,
        count: 2,
        text: "特等奖",
        title: "神秘大礼",
        img: "../img/secrit.jpg"
    },
    {
        type: 2,
        count: 5,
        text: "一等奖",
        title: "Mac Pro",
        img: "../img/mbp.jpg"
    }
    ...
];

奖品每次抽取个数配置

EACH_COUNT用于配置每次的抽奖个数,与 prizes 奖品一一对应,例如上面的奖品配置对应的抽奖个数配置如下:

const EACH_COUNT = [1, 1, 5];

如上配置,表示一次抽取的奖品个数顺序为:特别奖每次抽一个,特等奖每次抽一个,一等奖每次抽五个

企业标识配置

该标识用于显示在抽奖卡片上。

const COMPANY = "MoShang";

License

MIT

lottery's People

Contributors

dependabot[bot] avatar moshang-xc avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.