zoukankan      html  css  js  c++  java
  • 小程序之云函数的创建与使用

    小程序云开发之云函数

    云函数的作用

    我所知道的是,云函数可以做一些前端做不了,必须在服务器端做的复杂的操作。

    比如:
    数据库的多条纪录同时更新与数据库的多条纪录同时删除,这是在前端无法实现的,然后就可以通过云函数来实现。

    创建云函数

    我们需要在微信开发者工具的文件管理里面创建一个目录和一个nodejs云函数。

    Mou icon

    创建好云函数后需要在根目录下的 project.config.json 中添加如下代码:

    {
    	"cloudfunctionRoot": "./functions/"
    }
    

    当我们创建好云函数后,程序会自动给我们配置一些代码如下:

    // 云函数入口文件
    const cloud = require('wx-server-sdk')
    
    cloud.init() //初始化云函数
    const db = cloud.database()
    const _ = db.command
    // 云函数入口函数
    //event:触发云函数的事件
    exports.main = async (event, context) => {
    	 const {OPENID, APPID, UNIONID} = cloud.getWXContext()
    
    	  return {
    	    OPENID,
    	    APPID,
    	    UNIONID,
    	  }	
    }
    

    注:在刚创建的云函数文件中,没有cloud.init()这个语句,我们需要自己添加进去

    使用云函数

    当我们创建好云函数后,就可以去使用它啦!

    首先

    我们需要将自己创建的云函数上传并部署到云端。

    Mou icon

    注:需要选择云端安装依赖(不上传node_modules)这一项

    然后

    我们需要在前台的js文件中去使用。
    这里,我会在onReady生命周期使用。代码如下:

    wx.cloud.callFunction({
      name: 'sum',
      complete: res => {
        console.log('callFunction test result: ', res)
      }
    })
    

    name:你所创建的云函数的名字

    res:得到的是云函数执行后return的结果

    比如:我们在云函数文件中添加如下代码:

     /*return {
        OPENID,
        APPID,
        UNIONID,
      }*/
    
     return {
     	count:3
     }
    

    注:注释的代码是上面将要替换掉的,替换为count:3

    前端运行得到的结果就是count:3

    所以

    前端res得到的结果就是云函数return回去的值。

    到这里,应该就知道云函数是如何工作的了吧。

    使用云函数进行多条纪录更新

    数据库结构:

    {
    	"_id": "XBCTC8DR1TiNy2Ad",
    	"_openid": "oB-Ir5LDd_zO1lLCVs4kMSiLw-Km",
    	"username":"xiaoming",
    	"age":19
    }
    

    云函数代码:

    const cloud = require('wx-server-sdk')
    cloud.init();
    const db = cloud.database()
    
    exports.main = async (event, context) => {
      try {
        return await db.collection('testInfo').where({
          age:80
        }).remove()
      } catch (e) {
        console.error(e)
      }
    }
    

    使用云函数后,数据库结构里面的age将会改为80

    注:以上便是云函数的创建与使用了,因初学小程序,若有不足之处,请多多指正。

  • 相关阅读:
    netstat -ano 查看机器端口占用情况
    配置中心Nacos 20210908
    ABAP-查询系统表记录
    ABAP-自定义表维护程序
    linux 常用操作
    自动化回归测试实战
    LeetCode大部分是medium难度不怎么按顺序题解(下)
    bitmapCache.getDataURL is not a function BUG修复
    createjs 刮刮卡,刮开百分比。 含源文件
    【nim语言】nim语言 1.4.8编译时SSL报错“No SSL/TLS CA certificates found” 解决方法。
  • 原文地址:https://www.cnblogs.com/xiaojianwei/p/10107717.html
Copyright © 2011-2022 走看看