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
}
})
}
//调用云函数
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()
}
//调用云函数进行数据删除
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:配置自己的云开发环境id,将云函数中的cloud.init()
改成
cloud.init({
env: '云开发环境id' //这里需要添加自己的云开发环境id
})
但这种方法要因为开发环境的不同,要进行不断的修改,建立使用第二种方法。
解决方法2:使用官方定义的常量DYNAMIC_CURRENT_ENV
(标志当前所在环境),将云函数中的cloud.init()改成
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
感谢大家,点赞,收藏,关注,评论!