前言:
微信小程序云开发可以在创建项目的时候直接选着云开发,也可以以普通的方式创建小程序项目之后(就是不使用云开发的方式),然后在做一些配置,同样让小程序拥有云开发的功能,下面我就是使用的普通方式创建的小程序项目。
一、初始化云开发环境
首先进入app.json 文件夹,加上如下代码:
onLaunch() {
console.log("小程序启动成功");
wx.cloud.init({
env: 'phone-text'
})
// env 后面写的是你小程序云开发的 环境id 具体位置在云开发控制台的设置中可以看到
此时,你的小程序就具备了云开发的功能了
详情可看微信官网文档:
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/init.html
二、开启云函数功能
在微信小程序云开发时,在数据库中手动创建的数据,没有 _openid这个字段,所以此时我们使用云数据库本身提供的api是查不到的,还有就是,如果其他用户在你的小程序上发布一些信息,你想评论,或者是点赞收藏,这也是做不了的,也就是说,无法操作其他用户提交的数据,此时我们就需要用到云函数了。
1、在项目的根目录创建一个文件夹 colud
2、在 project.config.json 文件夹下添加一个 cloudfunctionRoot 字段:
"cloudfunctionRoot": "cloud/", // 这个colud其实就是你创建的那个文件夹的名字,用来存放云函数的
如图:
3、创建云函数:
在colud文件夹右键 新建Node.js云函数 就可以了
然后,当我们在云函数中的index.js文件中编写好云函数代码时,一定要在当前云函数,右键,上传并部署:云端安装依赖(不上传node_modules)
此时你编写的云函数才会起效果;
4、案例
编写getSop云函数获取shop集合中的所有商品信息:
云函数代码:
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => { // event 是用来接受传递过来的参数的
const wxContext = cloud.getWXContext()
try{
return await cloud.database().collection("shop").get({
success: function (res) {
console.log(event.test); // 输出test
console.log(res)
// 将查询到的结果返回出去
return res
}
});
} catch (e) {
console.error(e);
}
}
小程序js代码:
getShopData(){
console.log("sss")
wx.cloud.callFunction({
// 云函数名称
name: 'getShop', // 调用哪个云函数的函数名,一定要写对应
data:{
test:"test"
}, // 传给云函数的参数
success: function(res) {
console.log(res.result.data)
},
fail: console.error
})
}
不懂得可以留言咨询!