布景
今天谁炒菜,谁洗碗,谁买菜…啊,Boss说用抽签吧,于是有了下图
这样存在做弊的问题(记住棍子特征,谁先,谁后抽等等)于是有了这个抽签小程序(当然小程序我一个人操控,我想不想做弊看心情了)
简 p E介
扫码体验
数e ^ x 6据服务,存储
本项目运用的是微信云开发,云数据库声明个抽签chouqianList集合即可(云开发为开发者供给完好的原生云端支撑和微信服务支撑,弱化后端和运维概念,无需建立服务器,运用渠道供给的 API 进行核心业务开发,即e m 0 z可完成快速上线和迭代)
运行前准备
(1)注册微信小程序| + G V F 6 / 9 %,获取 appid,替换本项目project.config.json里的appid
(2)开通小程序的云开发
详细完成
主页
主页从上至下有抽签主题,抽签选项,建议抽签,常用抽签,此页面主要功用建议抽签,把抽签内容存到数据库里边。
微@ N . ( C ) m l W信审阅提示
处理这个问题添加的内容调用这个方法(小程序内容安全api,云开发可调用)
isCheckMsg: functip Y 0 G ^ O h { con (msg) {
return new Promise(fD ) o vunction (n, s0 L n U ! 8 ~ E o) {
wx.cloud.callFunctio @ ] j 5 } un({
name: 'msg',
data:S d v d 6 ({
text: msg
})
}).then(res => {
if (res.result.errCode === 87014) {
// 没通过
n(false)
} else {
// ("通过")
n(true)
}
});
});
},[ 6 ~ B D B D
随机抽签
// 递归随机回来抽签项
edchouqian() {e 7 l E , O - @ !
let that = this;
return new P6 9 x 5 % T u .romise(function; & q 1 (n, s) {
const db = wx.cloud.database()
// 查询当前用户一切的 chouqianList
db.collection('chouq} & ; K 9 = y e |ic T p 0 : [ ianList').where({
_id: that.datS H d T * Ha.drawlotsId
}).get({
success: res => {
that.setData({
detail: res.w F | D B |data[0].detail,
});
let nullDetail = res.data[0].detail.filter(item => item.openid == "");//找出没有抽签的选项
let arrIndex = Math.I Z |floor((Math.random() * nullDetail.length));//从没有抽签的选项随k y Z 6机选择一个选项
let objinde& m I k [ o %x = nullDetail[arrIndex].index;
n(objindex)
},
fail: err => {
wx.showToast({
ih o f ` c J T Dcon: 'none',
title: '查询记载失败'
})
console.error('[数据库] [查询记载] 失败:', err);
s(err);
}
})
});
},
抽签页
抽签页有抽签功用,显现抽签成果,D A Z _ j h此页面主要功用,从数据库查询是否现已抽签,已抽W T 6签显现抽签成果,未抽签随机分配抽签(或许显现抽签次数已用完)。
重复抽签问题用函@ q _ x数防抖或许节流
抽签成果页
抽签成果页,显现一切抽签人员和成果(成果从数据库根i : 1 v W 3 r r据抽签表的id查询)
至此完毕 源码地址
结语:
由于发的时间比较短,页面、功用还需要慢慢完善,发布了的功用也有一些待改善的地方,欢迎相同情投意合的码友们多多指教和沟通。ヾ(❀╹◡╹)ノ~
前端学习大佬群493671066,美女多多。老司机快上车,来不及解释了。
作者相关Vue文章
根据Vue2.0完成后台体系权限操控
vue2.0-根据elementui换肤(自定义主题)
前端文档汇总
VUE2.0增修改查附修改添加model(弹框)组件共用