4.5 实现投票小程序服务端功能
前面开发投票小程序时还有一些服务端的功能没有实现,当时以//todo标注,以测试数据完成基本功能。现在学习了云开发技术,就可以实现投票小程序的服务端功能了
4.5.1 完成创建投票功能
首先,在app.js文件中加入对云开发能力的初始化方法。代码如下:
App({
onLaunch(){//生命周期函数,小程序打开时执行一次
wx.cloud.init({
//小程序生命周期函数onLaunch,小程序启动时会调用它
env:’test-555′,//指定使用环境ID为
traeUser:true//将用户对云资源的访问记录到用户管理中,在云开发控制台中可见
})
}
})
在云开发控制台的数据库管理创建新集合votes,并将集合权限设置修改为“所有用户可读,仅创建者可读写”
接下来修改createVote.js文件中的formSubmit函数,使用小程序端的云开发数据库API在集合中创建一条数据。
增加校验服务器托管网函数,对表单数据做一些验证,如果数据不完整可以通过小程序的提示框API提醒用户。代码如下:
formSubmit(){
//提交前需要先对表单内容进行校验
constmsg=this.checkFormValid()
if(msg){//在if判断时,null会被转换为false
wx.showToast({//在调用提示框API显示提示内容
title:msg,//提示框中的文字内容
icon:’none’//提示框的图标,none表示没有图标
})
return//提前返回,函数会在这里结束,后面的内容不会执行
}
constformData={
type:this.data.type,
voteTitle:this.data.formTitle,
voteDesc:this.data.formDesc,
optionList:this.data.optionList,
endDate:this.data.endDate,
isAnonymousfalse:服务器托管网this.data.isAnonymousfalse,
voteList:[]//用于保存每一个用户投票的情况
}
constdb=wx.cloud.database
db.collection(‘votes’).add({//将表单数据添加到votes集合中
data:formData
}).then(res=>{
console.log(res._id)//从返回值中可以拿到新添加记录自动生成的ID
wx.redirectTo({//自动跳转到参与投票页面
url:’/pages/vote/vote?voteID=’+res._id,
})
}).catch(res=>{
console.error(res)
wx.showToast({//创建投票失败时,显示提示框提示用户
title:’创建投票失败’,
icon:’none’
})
})
}
formData中新增加了一个voteList属性,用于保存每一个用户的投票情况,每当有用户投票,将用户的投票选项及个人信息添加到数组中。
创建投票的功能完成。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
对于小猫来讲,最近的一段日子是不好过的,纵使听着再有节拍的音乐,也换不起他对生活的热情。由于上一次“幂等事件”躺枪,他已经有几天没有休息好了。他感觉人生到了低谷。 当接手这个商城项目之后,他感觉他一直没有好过。他的内心彷徨,在工位上边写着事故报告,边嘀咕着“今…