小程序之云函数的创建与使用

Posted 健伟博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序之云函数的创建与使用相关的知识,希望对你有一定的参考价值。

小程序云开发之云函数

云函数的作用

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

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

创建云函数

我们需要在微信开发者工具的文件管理里面创建一个目录和一个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

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

以上是关于小程序之云函数的创建与使用的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序代码片段

云原生设备云之云服务器的配置与使用

中国云计算的“小江湖”之云计算的开端

Android获取各个应用程序的缓存文件代码小片段(使用AIDL)

微信小程序代码片段分享

JavaScript 作用域 与 作用域链