今天誰炒菜,誰洗碗,誰買菜...啊,Boss說用抽籤吧,因而有了下圖html
這樣存在做弊的問題(記住棍子特徵,誰先,誰後抽等等)因而有了這個抽籤小程序(固然小程序我一我的控制,我想不想做弊看心情了)前端
掃碼體驗vue
本項目使用的是微信雲開發,雲數據庫聲明個抽籤chouqianList集合便可(雲開發爲開發者提供完整的原生雲端支持和微信服務支持,弱化後端和運維概念,無需搭建服務器,使用平臺提供的 API 進行核心業務開發,便可實現快速上線和迭代)git
(1)註冊微信小程序,獲取 appid,替換本項目project.config.json裏的appidgithub
(2)開通小程序的雲開發數據庫
首頁從上至下有抽籤主題,抽籤選項,發起抽籤,經常使用抽籤,此頁面主要功能發起抽籤,把抽籤內容存到數據庫裏面。json
微信審覈提示
![]()
解決這個問題添加的內容調用這個方法(小程序內容安全api,雲開發可調用)
isCheckMsg: function (msg) { return new Promise(function (n, s) { wx.cloud.callFunction({ name: 'msg', data: ({ text: msg }) }).then(res => { if (res.result.errCode === 87014) { // 沒經過 n(false) } else { // ("經過") n(true) } }); }); },
隨機抽籤小程序
// 遞歸隨機返回抽籤項 edchouqian() { let that = this; return new Promise(function (n, s) { const db = wx.cloud.database() // 查詢當前用戶全部的 chouqianList db.collection('chouqianList').where({ _id: that.data.drawlotsId }).get({ success: res => { that.setData({ detail: res.data[0].detail, }); let nullDetail = res.data[0].detail.filter(item => item.openid == "");//找出沒有抽籤的選項 let arrIndex = Math.floor((Math.random() * nullDetail.length));//從沒有抽籤的選項隨機選擇一個選項 let objindex = nullDetail[arrIndex].index; n(objindex) }, fail: err => { wx.showToast({ icon: 'none', title: '查詢記錄失敗' }) console.error('[數據庫] [查詢記錄] 失敗:', err); s(err); } }) }); },
抽籤頁有抽籤功能,顯示抽籤結果,此頁面主要功能,從數據庫查詢是否已經抽籤,已抽籤顯示抽籤結果,未抽籤隨機分配抽籤(或者顯示抽籤次數已用完)。後端
重複抽籤問題用函數防抖或者節流
抽籤結果頁,顯示全部抽籤人員和結果(結果從數據庫根據抽籤表的id查詢)微信小程序
由於發的時間比較短,頁面、功能還須要慢慢完善,發佈了的功能也有一些待改進的地方,歡迎一樣志同道合的碼友們多多指教和交流。ヾ(????)?~
前端學習大佬羣493671066,美女多多。老司機快上車,來不及解釋了。