微信小程序云开发-云函数

新建云函数

使用云函数

在index.js文件写入代码:

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

cloud.init({
          
   
  env:"cloud1-5gm1st7bd8379afb"
})

// 云函数入口函数
const db=cloud.database();
exports.main = async (event, context) => {
          
   
  return db.collection("users").get()
}

env对应的是,环境ID。主函数入口下是一个调用数据库的函数。 users 是数据库中一个表的名字,这个语句中没有添加任何条件约束,所以会返回表中的全部信息。

这样就写好一个简单的云函数了,选中要使用的云函数(注意是函数不是单个文件),右击选择【上传并部署:云端安装依赖】,注意看右侧有浮窗提示上传成功的信息。因为我本地没有下载node.js而且也枚安装依赖npm,所以用来云端的。

在小程序文件pages下,找一个js文件写代码就行,想在那个页面用,就在对应页面的js文件写就可以。

<button bindtap="getdata">获取数据库表信息</button>
getdata(){
          
   
    wx.cloud.callFunction({
          
   
      name:"getDatas",//云函数名
      data:{
          
   },
      success(res){
          
   
        console.log(res)
      },
      fail:res=>{
          
   
        console.log(res)
      }
    })
  }

点击button按钮,控制台就输出了表中全部信息。也就是集合users中的全部记录。

云函数传值与调用

这部分的代码是在之前的基础上在相应位置上添加几个代码段。 云函数写完之后,需要重新部署。

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

cloud.init({
          
   
  env:"cloud1-5gm1st7bd8379afb"
})

// 云函数入口函数
const db=cloud.database();
exports.main = async (event, context) => {
          
   
  return db.collection("users").where({
          
   
    // 数据库字段名:上传过来的名
    sex:event.sex
  }).get()
}

page下的某个页面文件:

<button bindtap="getdata">获取数据库表信息</button>
getdata(){
          
   
    wx.cloud.callFunction({
          
   
      name:"getDatas",//云函数名
      data:{
          
   
      	sex:"女"
      },
      success(res){
          
   
        console.log(res)
      },
      fail:res=>{
          
   
        console.log(res)
      }
    })
  }

点击button按钮,控制台就输出了表中性别为女的全部信息。

经验分享 程序员 微信小程序 职场和发展