年会抽奖程åºï¼Œ3D çƒä½“抽奖,支æŒå¥–å“ä¿¡æ¯é…置,å‚与抽奖人员信æ¯Excel
导入,抽奖结果Excel
导出
如果该程åºå¯¹ä½ 有帮助😎😎😎,希望给个âstarâ喔。😘😘😘ðŸ˜ðŸ¥°ðŸŽ‰ðŸŽˆðŸŽƒ
ç«‹å³ä½“验一下: https://moshang-xc.github.io/lottery/
技术:Node + Express + Three.js
åŽå°é€šè¿‡Express
实现
å‰ç«¯æŠ½å¥–界é¢é€šè¿‡Three.js
实现 3D 抽奖çƒï¼Œå¼•用了Three.js
的官方 3D 示例
- å¯å°†æŠ½å¥–结果进行ä¿å˜å®žæ—¶ä¸‹è½½åˆ° excel ä¸ðŸŽ‰
- 已抽å–人员ä¸åœ¨å‚与抽å–,抽ä¸çš„人员ä¸åœ¨çŽ°åœºå¯ä»¥é‡æ–°æŠ½å–ðŸŽ
- 刷新或者关掉æœåŠ¡å™¨ï¼Œä¼šä¿å˜å½“å‰å·²æŠ½å–的数æ®ï¼Œä¸ä¼šè¿›è¡Œæ•°æ®é‡ç½®ï¼Œåªæœ‰ç‚¹å‡»ç•Œé¢ä¸Šçš„é‡ç½®æŒ‰é’®ï¼Œæ‰èƒ½é‡ç½®æŠ½å¥–æ•°æ®ðŸ§§
- æ¯æ¬¡æŠ½å–çš„å¥–å“æ•°ç›®å¯é…置🎈
- 抽å–完所有奖å“åŽè¿˜å¯ä»¥ç»§ç»æŠ½å–特别奖(例如:现在抽å–çº¢åŒ…ï¼Œè¿½åŠ çš„å¥–å“ç‰)ï¼Œæ¤æ—¶é»˜è®¤ä¸€æ¬¡æŠ½å–一个🧨
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
- product 为å‰ç«¯é¡µé¢ç›®å½•
- package.josn web 项目é…置文件
- webpack.config.js 打包é…置文件
- server 为æœåŠ¡å™¨ç›®å½•
- 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];
如上é…置,表示一次抽å–的奖å“个æ 647A •°é¡ºåºä¸ºï¼šç‰¹åˆ«å¥–æ¯æ¬¡æŠ½ä¸€ä¸ªï¼Œç‰¹ç‰å¥–æ¯æ¬¡æŠ½ä¸€ä¸ªï¼Œä¸€ç‰å¥–æ¯æ¬¡æŠ½äº”个
è¯¥æ ‡è¯†ç”¨äºŽæ˜¾ç¤ºåœ¨æŠ½å¥–å¡ç‰‡ä¸Šã€‚
const COMPANY = "MoShang";
MIT