云开发(微信-小程序)笔记(六)----云函数,就这(下)

云函数-数据更新

1.先创建一个云函数Update

2.编写Update中的index.js

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

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

// 云函数入口函数
exports.main = async (event, context) => {
  return cloud.database().collection('Goods')
    .doc(event.id)
    .update({
      data: {
        price: event.price
      }
    })
}

3.替换原来的更新功能的代码
如下
云开发(微信-小程序)笔记(六)----云函数,就这(下)_第1张图片

 //调用云函数
      wx.cloud.callFunction({
        name: 'Update',
        data:{   //将以下数据传入云函数
          id: id,
          price:parseInt(price)
        }
      }).then(res => {
        console.log('云函数调用成功', res)
        this.getDetail()
      }).catch(res => {
        console.log('云函数调用失败', res)
      })

云函数-数据删除

1.先创建一个云函数remove1
2.编写remove1中的index.js

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

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV 
})

// 云函数入口函数
exports.main = async (event, context) => {
  return cloud.database().collection('Goods')
  .doc(event.id)
  .remove()
}

3.替换原来的删除功能的代码
如下
云开发(微信-小程序)笔记(六)----云函数,就这(下)_第2张图片

 //调用云函数进行数据删除
          wx.cloud.callFunction({
              name: 'remove1',
              data: { 
                id: id
              }
          })

运用云函数做四则运算

1.先创建一个云函数Commit
2.编写云函数的代码(减号可以修改成其他符号)

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

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV 
})

// 云函数入口函数
exports.main = async (event, context) => {
  return event.a - event.b
 
}

3.在yunhanshu里面进行调用

// pages/yunhanshu/yunhanshu.js
Page({
  onLoad() {
    //云函数调用
    wx.cloud.callFunction({
        name: 'Commit' ,//云函数名
        data: {  //传值到云函数
          a: 2,
          b: 3
        }
      })
      .then(res => {
        console.log('成功', res)
        console.log(typeof res.result)  //显示res值的类型
      })
      .catch(res => {
        console.log('失败', res)
      })
  }
})

数据的导入与导出

(1)导出(做备份),如下图
云开发(微信-小程序)笔记(六)----云函数,就这(下)_第3张图片

(2)导入(创建大量的数据),如下图
云开发(微信-小程序)笔记(六)----云函数,就这(下)_第4张图片

注意事项

云函数有修改,需要部署之后,才会生效(右键选择 上传并部署)
云函数如果有两个开发环境可能会出现云环境未初始化的问题
解决方法1:配置自己的云开发环境id,将云函数中的cloud.init()改成

cloud.init({
  env: '云开发环境id' //这里需要添加自己的云开发环境id
})

但这种方法要因为开发环境的不同,要进行不断的修改,建立使用第二种方法。

解决方法2:使用官方定义的常量DYNAMIC_CURRENT_ENV(标志当前所在环境),将云函数中的cloud.init()改成

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV 
})

云开发(微信-小程序)笔记(六)----云函数,就这(下)_第5张图片

感谢大家,点赞,收藏,关注,评论!

你可能感兴趣的:(云开发(微信-小程序)笔记,笔记,小程序,微信,微信小程序)