单片小菜 发表于 2022-4-29 14:52

小白学习小程序 | 从0开始使用云函数(14)

#申请原创#@21小跑堂



引:
      云函数是一段运行在云端的代码,不需要管理服务器,在开发工具内进行编写、可以一键上传部署即可​运行后端代码。
      小程序内提供了专门用于云函数调用的API接口,方便程序开发者获取用户的openID、appid​、进行支付功能的搭建。
      “云计算”是大趋势,这样可以减少客户端的容量​,所有的计算的环节都在云端实现了。
      不需要不断的修改用户的权限,当然也会遇到很多莫名其妙的问题,​有了问题,就需要不断的总结问题,并进行解决问题。



一、建立工程并清空冗余代码

      首先建立工程​,打开小程序,按照下图进行选择。



      AppID是必不可少的,需要勾选微信云开发选项,这步是使用云函数的关键,如果不勾选,后续开发的时候,会缺少​部署的选项。




      老刘在选用模板的时候,没有找到空白的模板,只能使用小程序的基础模板进行开发,这里面有很多我们是使用不到的,需要将里面的代码进行删减和修改,才能够​为我们自己的项目所用。

      大家可以看到界面上是云开发的一个示例,当然可以仔细的查看里面代码的功能。我们先​进行裁剪。


      我们可以看到quickstartFunctions文件夹我们暂时用不到,components文件夹也可以删掉,同时删掉images文件夹​。进行删减之后,资源管理器中的文件夹如下图所示。




      同时删除pages文件夹下面不用的子目录​。仅仅保留index​文件夹。



      代码部分的删减和修改操作​。先进行index.js文件的代码删除,只保留const...部分,并键入page,会自动弹出​建议代码。




      回车之后,系统自动补全代码​如下:



      index.json中删除


"cloud-tip-modal": "/components/cloudTipModal/index"

      index.wxml删除所有代码



      app.js文件中需要打开注释的部分,这部分需要填写自己的id,这部分不填写的话,后续​会出现很多莫名其妙的问题。





      app.json文件中​删除不用的文件夹目录,保留index文件夹的索引。同时删除windows部分。




      我们进行编译之后,没有错误,同时查看模拟器上的界面为空​。​一个清爽的工程删减、修改完毕。



二、云函数的创建

      我们开始创建云函数​。鼠标右键cloudfunctions文件夹,弹出菜单中选择新建Node.js云函数​。



      我们先看看云开发控制台中,云函数为空。



      我们在新建的Node.js文件夹起名为add,建立一个sum的云函数。



      打开index.js文件,可以看见右侧的代码显示窗口中,已经写好了框架,我们将框架的内容进行丰富即可。



      更改为如下求和代码:


let {a,b} = event            //将a,b放到事件里面
let sum = a+ b                  //进行求和
return {
    sum                        //返回求和
      鼠标右键add文件夹,选择“上传并部署:云端安装依赖(不上传node_modules)”




      我们查看一下云端情况。我们会发现add函数已经上传到了云端,并且已经部署完成。



三、云函数的使用

      使用云函数,需要用到callFunction函数,我们在onLoad函数中进行使用。增加以下代码:
wx.cloud.callFunction({
      name:'add',
      data:{
      a:21,
      b:19
      },
      success:res=>{
          console.log(res.result.sum)
          this.setData({
          b:res.result.sum
      })
      },
    })      其中name后面,是我们云函数的名字,我们刚刚起名是add函数,填写add即可。
      同时我们想在界面上查看b的数值,那么需要在data中定义b,不然在index.wxml文件中无法调用。

      只需要在index.wxml文件中写入如下代码即可查看a和b相加的数据。
<text>{{b}}</text>      运行之后,查看界面上是不是等于40.我们会发现模拟器中和控制台都输出了40.



结:

      云函数调用不成功的原因,可能有以下几点:

1. 环境ID设置不对,有很多环境ID,没有选择正确造成的。
2. 云函数本身书写有问题,例如上面的例子中


let {a,b} =event      写成了
let(a,b)=event也会出现调用错误。
3. 云函数写完之后,没有进行上传和部署,云端根本就不存在add的函数,当然就无法进行使用了。
页: [1]
查看完整版本: 小白学习小程序 | 从0开始使用云函数(14)