微信小程序云开发
如何利用最快的方式进行小程序的开发?
传统的购买服务器搭建后端服务的开发方式已经越来越繁重,因为各种的环境配置,服务部署,服务器价格等压力已经让开发软件成本变的越来越高昂。只有让开发变得简单,让开发变的快捷,特别像小程序这类轻应用,如何能在短短几周的时间内从开发到发布上线,变的尤为重要,提高效率,降低成本才是关键。
小程序云开发流程
选择云开发 并且创建自己的环境
前期有一定的免费额度,后面需要收费,价格自行了解
熟悉下界面
云开发提供给我们数据库、云函数(可以理解为后端接口函数)
利用云函数来开发我们的后端接口
云函数的底层实现是Node
所有有Node基础的小伙伴相对来说能够很快上手
熟悉下目录结构
cloudfunctions目录为云函数目录,可以理解为服务端接口目录
miniprogram目录是小程序前端目录,可以理解为客户端页面
所以这个云开发的项目是前后端分离的项目
开发前当前环境一定要选择自己创建的云环境,我这里是test
新建一个getUser的云函数,这里会看到工具会自动给我们创建config.json、index.js、package.json三个文件对应云函数的配置、入口、依赖
我们主要在index.js下编写我们的业务逻辑,也可以说是接口逻辑代码。
云函数入口文件的依赖也是依赖于微信的sdk,然后初始化sdk。
接下来就是main函数,它是异步的,并且有两个参数,event用来接受客户端入参,context是当前函数的调用信息。
通俗的讲main就是接口的入口函数,event通过客户端拿到传递的参数,retrun返回给客户端,就是这么一个很简单的过程。
将main下内容改成一个参数计算加法的结果返回给客户端。
// 云函数入口函数
exports.main = async (event, context) => {
return {
code: 100,
data: event.a+event.b,
msg:'success'
}
}
保存后右击getUser选择上传并部署
这时候打开云开发→云函数下就可以看到刚刚上传的云函数getUser
这样一个简单的getUser的接口就写好了,下面去前端调用下。
在小程序前端目录miniprogram下index目录下index.js下写一个onLoad函数,并且通过wx.cloud.callFunction函数来调用getUser云函数。
name为刚刚建的云函数名称,传入a和b参数,重新点击编译按钮,这时候查看network调用情况,可以看到一个云函数接口的调用信息,并且返回了a+b的结果,这就是一个简单的云函数接口调用。
wx.cloud.callFunction({
name:'getUser',
data:{
a:1,
b:2
}
}).then(res=>{
console.log(res)
})
如何获取数据库数据?
首先在数据库内新建一个集合对应数据库表
添加一条记录,id系统自动生成
注意这里需要配置好可读写的数据权限,不然可能拿不到数据
初始化数据库,并且通过collection来获取表数据
并且点击云函数上传并部署,完成后再次调用
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
const data = await db.collection('test').get()
return {
code: 100,
data: data,
msg:'success'
}
}
// 前端调用
wx.cloud.callFunction({
name:'getUser',
data:{}
}).then(res=>{
console.log(res)
})
可以看到云函数成功返回了数据库test表内的数据。
直接从前端获取数据库数据
如何直接从前端获取数据库数据,而不许要通过云函数呢,微信sdk也提供了一种简单的方法
注意如果使用这种方式获取数据库数据,一定要将数据库的权限配置成所有用户可读写,否则获取不到数据。
const db = wx.cloud.database()
db.collection('test').get().then(res=>{
console.log(res)
})
总结
微信小程序云函数开发,提供了最快最高效的方式进行了用户与数据的交互,极大的提供了开发的效率,缩短了周期,可以为很多轻量小应用提供最快的上线模式,而不需要像传统开发模式一样,购买服务器部署服务配置环境等等,大大降低了成本。
评论区