微信小程序 云函数
文章目录
云函数初始化使用
1.初始化需要的操作
1)创建一个cloud文件夹
2)并且将cloud文件夹在project.config.json中进行注册
2.获取云函数数据
调用云函数
// 云函数的调用
callcloudfunction(){
wx.cloud.callFunction({
name:'getdata'
}).then(res=>{
console.log("云函数调用成功")
console.log(res)
}).catch(err=>{
console.error(err)
})
},
调用的结果
3.云函数的部署
注意云函数只要修改了之后就需要重新部署,不然的话会调用上一级的云函数
1)云函数获取openID
使用云函数可以直接进入到登陆状态获取到openID,不需要通过中间服务器获取
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
return {
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
}
}
2)云函数获取数据库的数据
// 云函数入口文件
const cloud = require('wx-server-sdk')
// 确定当前需要什么样的云开发环境
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
let result
// 云函数和云数据库处于同一个环境 不需要加 wv.
result = cloud.database().collection('user').get()
return result
}
返回结果:
3)云函数与前端获取数据库数据的区别
前端:只能返回20条数据
云函数:可以返回100条数据
4)云函数如何去传参数
// 有参调用云函数
updatecloudfunction(){
wx.cloud.callFunction({
name:'updatedata',
data:{
id:'82afc00a624d43ab036f8b9748175cf4',
name:"曾文玉"
}
}).then(res=>{
console.log("传递参数",res)
}).catch(err=>{
console.log("传递参数错误",err)
})
},
云函数的入口处
// 云函数入口函数
exports.main = async (event, context) => {
// 增删改查都是这样的
return cloud.database().collection('user')
.doc(event.id).update({
data:{
uname:event.name
}
})
}