10-小程序云开发

8/16/2001

# 一,云开发介绍

# 1,传统开发模式

传统开发项目模型:

特点:

  • 维护服务器成本
  • 对于单纯会前端的人来说,学习后端相关的技术,成本较高

# 2,云开发模式

云开发模式:

云开发核心技术

  • 云数据库
  • 云存储
  • 云函数

云数据库

  • 小程序端直接对数据库进行增删改查
  • 类似于MongoDB的文档存储的数据库

云存储

  • 在小程序端直接上传、下载、删除文件
  • 自带CDN,提高文件访问速度
  • 可以获取临时链接,支持在小程序外访问

云函数

  • 提供了在服务器代码的执行能力
  • 包含微信天然的私有鉴权
  • 更大权限的操作数据库等
  • 进行云调用、HTTP请求等操作

传统开发与云开发对比:

# 3,创建项目与项目目录结构分析

  • 直接课堂演示

# 4,环境的配额与项目初始化

什么是环境

  • 一个环境对应一整套独立的云开发资源,包括数据库、存储空间、云函数等资源。
  • 各个环境是相互独立的,用户开通云开发后即创建了一个环境,默认可拥有最多两个环境。

什么是配额

  • 就是云开发的配置,之前有免费的,现在开始收费了
  • 可以根据自己的业务量选择对应的更高配额
  • 参考:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/billing/quota.html

项目初始化

  • 在小程序端开始使用云能力前,需先调用 wx.cloud.init 方法完成云能力初始化
  • env: 必填,默认选择的环境
  • traceUser:非必填,是否在将用户访问记录到用户管理中,在控制台中可见

# 4,云数据库

云开发提供了一个文档型数据库,类似于MongoDB,里面存放的是一条条JSON格式的对象

  • 数据库 database
  • 集合 collection
  • 文档document

操作数据库:

  • 控制台操作
  • 代码操作
  • 云函数中操作

# 5,操作数据库

添加数据

  • add

修改数据

  • update:更新(增加)某一个字段
  • set: 使用新对象替换原来对象

删除数据

  • remove

查询数据

  • 方式一:通过ID查询精确的某一条数据,使用doc查询ID
  • 方式二:根据条件查询满足条件的数据,使用where作为条件
  • 方式三:通过指令过滤数据,使用db.command的指令
  • 方式四:通过正则表达式匹配符合的数据,使用db. RegExp创建正则规则
  • 方式五:获取整个集合的数据(小程序端一次性最多20条,云函数中可以获取100条),直接调用get
  • 方式六:过滤、分页、排序查询数据,使用field、skip、limit、orderBy

# 6,云存储

云存储用于将文件存储到云端

  • 云存储提供高可用、高稳定、强安全的云端存储服务
  • 持任意数量和形式的非结构化数据存储,如视频和图片
  • 并在控制台进行可视化管理

云存储对应的操作:

  • 上传文件
    • 本地文上传到云存储中
  • 获取文件的临时链接,在外网可以访问
    • 在小程序以外的地方访问(比如浏览器、手机端),可以通过获取临时链接,该链接可以在小程序以外访问,文件链接有效期为两个小时
  • 下载文件
    • 把云存储中的文件下载到本地
  • 文件删除
    • 将文件从云存储中删除掉,这样可以省略空间

# 7,云函数与云调用

云函数即在云端(服务器端)运行的函数

  • 开发者无需购买、搭建服务器,只需编写函数代码并部署到云端即可在小程序端调用
  • 云函数之间也可互相调用
  • 一个云函数可由多个文件组成,占用一定量的CPU 内存等计算资源
  • 云函数完全独立,可分别部署在不同的地区

注意点

  • 一个云函数的写法与我们之前写的的 JS函数一样,代码运行在云端 Node.js 中
  • 当云函数被小程序端调用时,写的代码会被放在Node.js 运行环境中执行
  • 云函数中,我们可以:进行网络请求,操作云数据库,操作云存储等
  • 云函数的独特优势在于与微信登录鉴权的无缝整合

使用步骤

    1. 创建一个云函数
    1. 编写云函数的代码逻辑
    1. 将云函数上传到云端
    1. 小程序中对云函数调用

云函数中操作数据库

  • 云函数中对数据库的操作限制更少,所以我们常常会在云函数中进行数据库操作
  • 可以根据条件一次性删除多条数据
  • 对数据请求的个数没有严格的限制

云函数中发送网络请求

  • 可以使用axios库发生网络请求

云函数生成小程序码

  • 对于使用云开发生成小程序码,相对于自己搭建服务器简单很少,因为它拥有天然的鉴权功能
  • 参考:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.createQRCode.html
Last Updated: 12/25/2022, 10:02:14 PM