微信小程序添加数据到云数据库的云函数及其调

1.云函数编写 

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()

const db = cloud.database()
const _ = db.command

// 云函数入口函数
exports.main = async (event, context) => {
  return await db.collection('equip').add({
    data: {
      imgSrc:event.imgSrc,
      equipname: event.equipname,
      ifalarm:event.isalarm,
      remark:event.remark,
      connect: event.connect,

    },
     success: function (res) {
      wx.showToast({
        title: "添加成功",
        duration: 2000
      })
      that.setData({
        imgSrc: event.imgSrc,
        equipname: event.equipname,
        isalarm: event.isalarm,
        remark: event.remark,
        connect: event.connect,
      })
    },
    fail: function (res) {
      wx.showToast({
        title: "添加失败",
        duration: 2000
      })
    }
  })


}

这里边的

exports.main = async (event, context) => { }

event 对象指的是触发云函数的事件,当小程序端调用云函数时,event 就是小程序端调用云函数时传入的参数,外加后端自动注入的小程序用户的 openid 和小程序的 appid。这里的event.imgSrc等是指本地传递对象的参数,var imgSrc

context 对象包含了此处调用的调用信息和运行状态,可以用它来了解服务运行的情况。

 

const cloud = require('wx-server-sdk')

这是一个帮助我们在云函数中操作数据库、存储以及调用其他云函数的微信提供的库

2.配置环境

node.js,npm, 右击函数目录部署上传所有文件,运行npm -install,npm install --save wx-server-sdk@latest

3.本地函数调用

//本地函数调用云函数 
wx.cloud.callFunction({
        name: 'cloudadd',
        data: {
          imgSrc: '/images/keys.jpg',
          equipname: equipinfo.equipname,
          isalarm: equipinfo.ifalarm,
          remark: equipinfo.remark,
          connect: equipinfo.connect,
        },
        complete: res => {
          console.log('callFunction test result: ', res)
        }
      })

首先说明调用的与函数名称,这里是cloudadd

然后给函数的数据赋值,左边imgSrc等为数据库的value,右边为本地的变量

4.总结

云函数相当于对数据的操作进行了封装,云函数在部署上传后,本地函数只需要调用API就好了

开发者文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/getting-started.html

 

 

 

 

你可能感兴趣的:(微信小程序)