什么是云开发?
serverless = server + less (无服务器或者少服务器)
云开发为什么会出现(因为钱)
之前想要让一个项目上线,需要很多事项
https:// 需要购买证书,正经的一些证书(通配型*)。申请到免费的,一年一续。
nginx,apache
python,php,nodejs,asp
cdn(预付费机制),带宽,几核CPU,多大内存
都需要花钱买
而云开发的出现--------省钱,省时间,省人力…
不再区分前后端,而是以业务分。只需要实现业务逻辑部分即可,后台的繁琐配置由云帮我们实现。
如何开启云开发
必须注册微信小程序,不能使用测试号
云开发注意事项
免费额度,云开发管理后台
免费的支持日活过千没问题
老项目改为云开发
添加下面两个配置即可,分别指定小程序目录和云盘数目录
云开发使用
1、微信开发者工具选择小程序云开发
2、点击顶部云开发打开管理后台,没有开通的需要开通
选择资源均衡型免费开通
然后即可跳入管理后台页面
管理后台使用的是mongoDB数据库
3、点击cloudfunctions选择一个创建好的云环境
4、右击cloudfunctions创建nodejs云函数(这儿以获取微信步数为例)
编写云函数,其中event即我们传过来的参数
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
const {werundata} = event
return {
werundata
}
}
右击先进行本地调试,也可直接在命令行中执行nodejs代码进行调试
因为引入了部分依赖,安装依赖,使用的是npm管理器,右击在外部终端窗口中打开,正常安装即可
右击上传并部署到云环境,管理后台点击云函数即可看到刚刚上传的云函数
页面内容编写
getWeiRunData:function(){
wx.getWeRunData({
success: (result) => {
console.log(result)
wx.cloud.callFunction({
name:"getweirun",
data:{
werundata:wx.cloud.CloudID(result.cloudID)//即event接收到的内容
},
success:(res)=>{
console.log(res)
}
})
},
})
}
wx.getWeRunData获取到的数据为加密数据
最终获取到的结果,这儿之所以不需要加密是因为本身就用的微信云函数,而微信里面的数据也存在云服务器内部,直接获取即可。若用其他后台语言去实现,则需要授权解密等相关步骤。
5、创建数据库,建立连接,存储数据
数据库操作文档
const db = cloud.database()
//连接数据库,添加数据
db.collection('books').add({
data:{}
})
//获取查询数据
try {
return await db.collection('books').where({按需查找}).get()
} catch (e) {
console.error(e)
}
保存成功
设置索引主键,防止数据重复提交
记得修改权限,让所有用户可读,否则无法获取数据
https://nodersurvey.github.io/reporters/
https://juejin.cn/post/6895217723476738061