侧边栏壁纸
  • 累计撰写 21 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论
标签搜索

目 录CONTENT

文章目录

微信小程序云开发

程序员老潘
2022-09-14 / 0 评论 / 0 点赞 / 130 阅读 / 1,260 字

微信小程序云开发

如何利用最快的方式进行小程序的开发?

传统的购买服务器搭建后端服务的开发方式已经越来越繁重,因为各种的环境配置,服务部署,服务器价格等压力已经让开发软件成本变的越来越高昂。只有让开发变得简单,让开发变的快捷,特别像小程序这类轻应用,如何能在短短几周的时间内从开发到发布上线,变的尤为重要,提高效率,降低成本才是关键。

小程序云开发流程

image.png

选择云开发 并且创建自己的环境
前期有一定的免费额度,后面需要收费,价格自行了解
image.png

熟悉下界面
云开发提供给我们数据库、云函数(可以理解为后端接口函数)
利用云函数来开发我们的后端接口
云函数的底层实现是Node
所有有Node基础的小伙伴相对来说能够很快上手
image.png

熟悉下目录结构
cloudfunctions目录为云函数目录,可以理解为服务端接口目录
miniprogram目录是小程序前端目录,可以理解为客户端页面
所以这个云开发的项目是前后端分离的项目
开发前当前环境一定要选择自己创建的云环境,我这里是test
image.png

新建一个getUser的云函数,这里会看到工具会自动给我们创建config.json、index.js、package.json三个文件对应云函数的配置、入口、依赖
我们主要在index.js下编写我们的业务逻辑,也可以说是接口逻辑代码。
云函数入口文件的依赖也是依赖于微信的sdk,然后初始化sdk。
接下来就是main函数,它是异步的,并且有两个参数,event用来接受客户端入参,context是当前函数的调用信息。
通俗的讲main就是接口的入口函数,event通过客户端拿到传递的参数,retrun返回给客户端,就是这么一个很简单的过程。
image.png

将main下内容改成一个参数计算加法的结果返回给客户端。

// 云函数入口函数
exports.main = async (event, context) => {
  return {
    code: 100,
    data: event.a+event.b,
    msg:'success'
  }
}

保存后右击getUser选择上传并部署
image.png

这时候打开云开发→云函数下就可以看到刚刚上传的云函数getUser
这样一个简单的getUser的接口就写好了,下面去前端调用下。
image.png

在小程序前端目录miniprogram下index目录下index.js下写一个onLoad函数,并且通过wx.cloud.callFunction函数来调用getUser云函数。
image.png

name为刚刚建的云函数名称,传入a和b参数,重新点击编译按钮,这时候查看network调用情况,可以看到一个云函数接口的调用信息,并且返回了a+b的结果,这就是一个简单的云函数接口调用。

wx.cloud.callFunction({
  name:'getUser',
  data:{
    a:1,
    b:2
  }
}).then(res=>{
  console.log(res)
})

如何获取数据库数据?

首先在数据库内新建一个集合对应数据库表
添加一条记录,id系统自动生成
注意这里需要配置好可读写的数据权限,不然可能拿不到数据
image.png

初始化数据库,并且通过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表内的数据。
image.png

直接从前端获取数据库数据

如何直接从前端获取数据库数据,而不许要通过云函数呢,微信sdk也提供了一种简单的方法

image.png

注意如果使用这种方式获取数据库数据,一定要将数据库的权限配置成所有用户可读写,否则获取不到数据。

const db = wx.cloud.database()
db.collection('test').get().then(res=>{
  console.log(res)
})

总结

微信小程序云函数开发,提供了最快最高效的方式进行了用户与数据的交互,极大的提供了开发的效率,缩短了周期,可以为很多轻量小应用提供最快的上线模式,而不需要像传统开发模式一样,购买服务器部署服务配置环境等等,大大降低了成本。

0

评论区