上篇文章:【第一篇】微信小程序云开发项目总结
功能点1:用户填写简历
这就是个非常简单的form表格页面,用户在页面中填写他的相关信息,点击提交,即可上传到我们的云开发后台。
云函数获得用户openid
上传信息时我们需要将用户填写信息与每个用户独特的openid
一同上传,以在后面针对不同的openid给予回复。这里我们可以编写一个云函数来获取openid
。
首先右键cloud
文件夹选择新建Node.js云函数
,来创建一个云函数
填入云函数名称,我这里填的是getOpenid
,回车。
以后编写函数都是在index.js
文件中进行的,该文件初始化有如下代码:
可以看到函数默认返回了用户的openid
,说明不需要进行修改,接下来只是调用它。
我直接从app.js
中的onLaunch()
函数中调用云函数,让得到openid
成为一个全局变量,方便我以后在其他的页面直接使用它。
wx.cloud.callFunction({
name: "getOpenid",
success(res) {
getApp().globalData.openid = res.result.openid
},
})
调用云函数非常简单,name
属性中填入云函数名称,再在调用成功后进行一些操作(如赋值)。
拿到openid后,我们就可以连同用户填写信息一起上传。我们为form
表单的bindsubmit
属性编写一个函数click2submit
,函数伪代码如下:
将表单中的信息存为相应的变量
if 变量为空
告诉用户需要完整填写表单
else 调用云开发api将变量上传到数据库
成功后进行跳转提示
在开始上传前需要先到后台数据库中创建一个表,创建非常的简单,这就不加以赘述了。
我创建了一个表,名叫information
,用来存储用户的简历信息,可以发现在创建表时甚至不需要设计表的字段,只需要设置表名即可,十分轻松。
ok,我们现在可以开始上传数据,代码如下:
wx.cloud.database().collection("Information").add({
data: {
openid: that.data.openid,
name: name,
age: age,
gender: gender,
position: position,
native: native,
evaluate: evaluate,
experience: experience,
soldier: soldier,
want: want,
number: number,
read: 0,
time: util.formatTime(new Date())
},
success(res) {
wx.navigateTo({
url: 'success/success',
})
}
})
代码非常的简单,要将数据上传到哪个表,仅需要在wx.cloud.database().collection("")
的collection
中传入表的名称即可。
data
中就是需要上传的数据,格式是字段名:数据
,上传成功后表中数据如下
可以看到数据中除了我们上传的字段,还有两个自动创建的字段_id
和_openid
,_id
是系统自动为数据生成的用来识别数据的编号,每条数据的_id
都是不相同的;_openid
表示创建该条数据用户的openid
。
至此,我们已经完成了这个页面的全部内容,有两个值得提的细节。
一个是用户提交完数据后,页面将跳转到一个新的页面来告诉用户操作成功,以免用户产生顾虑,重复提交,带来更好的用户体验
第二点是我在上传数据时,给了一个字段read
,它的值默认为0,在以后管理员在查看信息时,如果数据的read
字段为0,表示这条数据未读过,系统自动给该条数据标上红点,同时将数据排在列表前面,将已读过的数据read
字段值置为1,并放在列表后面。
下篇文章:【第三篇】微信小程序云开发项目总结