基於 React + python年會抽獎系統
背景
年末部門內組織總結團建,少不了令人激動的抽獎環節。往年抽彩蛋的形式多少有些資源浪費、組織流程複雜。於是借鑑了開源專案,設計開發這個簡易的抽獎系統。
NewYearLottery 是一個基於react + dva + antd + python + wxpy 開發的,整合了微信群訊息同步的WEB版抽獎系統。
預覽
系統設計
本應用抽獎部分是完全獨立的前端應用,不涉及後端互動。所以部署後,每個人看到介面的雖是一樣,但每個人的本地資料是不同的,獎品及人員資訊都在管理員瀏覽器的session storage中,這樣也避免了介面安全問題。
微信訊息同步部分,是藉助微信群訊息監控,實時進行轉發,並在抽獎系統中實時展示,以增加參與者的互動樂趣。
使用步驟
- 匯入抽獎人員
- 設定獎品資料
- 開始輪次抽獎 系統設定按鈕隱藏在頁面左下角,匯入資料需放在Excel中,按照下面三列表的格式匯入系統(weight預設是1,暫未開發根據權重區別功能)。
核心程式碼
應用使用dva管理資料流,核心的資料方法都在“NewYearLottery/src/models/lottery.js”中。
服務端訊息轉發部分在"server/app/core/wxChat.py"中。
每輪滾動的人員列表都會隨機洗牌,滾動資料每50ms重新整理一次。
/**
* 隨機洗牌
*
*/
export function shuffle(arr) {
let randomIndex = 0;
for (var i = 0; i < arr.length; i++) {
randomIndex = Math.floor(Math.random() * (arr.length - i));
let temp = arr[i];
arr[i] = arr[randomIndex];
arr[randomIndex] = temp;
}
return arr
}
開源地址
https://github.com/t880216t/NewYearLottery.git
參考資料
- DvaJS https://dvajs.com/
- 抽獎程式(React)https://blog.csdn.net/Jason847/article/details/86560894
- Ant Design https://ant.design/index-cn
相關文章
- python——公司年會抽獎小程式Python
- 手把手教你用python做一個年會抽獎系統Python
- 基於React跑一個簡易版九宮格抽獎React
- 12 random案例 年會抽獎案例random
- 大轉盤抽獎系統
- 抽獎系統細節玩法
- 基於Serverless架構的盲盒抽獎系統(1500份禮品 自己部署自己抽)Server架構
- 基於vue2.0+ 抽獎專案Vue
- 拼團抽獎系統模式玩法模式
- 盲盒商城系統開發抽獎系統方案
- 【小型系統】抽獎系統-使用Java Swing完成Java
- 線上抽獎系統的測試報告測試報告
- js抽獎JS
- 實戰模擬│揭祕為啥年會你抽不到特等獎
- 別找了,這就是你想要的年會抽獎開源專案
- 大營銷抽獎系統,DDD開發要如何建模?
- php抽獎功能PHP
- 隨機抽獎隨機
- Chat-React基於react的聊天會話元件React會話元件
- 中獎與抽獎次序無關
- 如何設計一個百萬級使用者的抽獎系統?
- Flash手機抽獎程式設計:基礎思路程式設計
- 抽獎問題分析
- Android抽獎功能Android
- 如何模仿MX抽獎
- 基於thinkphp的會員推廣系統PHP
- 【微信刮刮卡抽獎遊戲】教你輕鬆做個抽獎遊戲頁面遊戲
- 帶頭擼抽獎系統,DDD + RPC 開發分散式架構!RPC分散式架構
- 手遊“抽獎介面”的思考
- 樂智抽獎外掛
- 活動抽獎元件設計元件
- H5活動抽獎H5
- 微信小程式抽獎-翻牌微信小程式
- JavaScript抽獎效果詳解JavaScript
- 抽獎動畫 - 播放svga動畫動畫SVG
- PHP抽獎演算法PHP演算法
- 分散式抽獎秒殺系統,DDD架構設計和實現分享分散式架構
- canvas 基礎系列(三)之實現九宮格抽獎Canvas