网站建设公司接单,刚刚廊坊发生大事了,代码生成器在线,微信开发人4.5 实现投票小程序服务端功能
前面开发投票小程序时还有一些服务端的功能没有实现#xff0c;当时以//todo标注#xff0c;以测试数据完成基本功能。现在学习了云开发技术#xff0c;就可以实现投票小程序的服务端功能了
4.5.1 完成创建投票功能
首先#xff0c;在app.…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(){ // 提交前需要先对表单内容进行校验 const msg this.checkFormValid() if(msg){ // 在if判断时null会被转换为false wx.showToast({ // 在调用提示框API显示提示内容 title: msg, // 提示框中的文字内容 icon: none // 提示框的图标none表示没有图标 }) return // 提前返回函数会在这里结束后面的内容不会执行 } const formData { 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: [] // 用于保存每一个用户投票的情况 } const db 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属性用于保存每一个用户的投票情况每当有用户投票将用户的投票选项及个人信息添加到数组中。
创建投票的功能完成。