微信小程序之云开发基础知识

    技术2025-04-29  18

    云开发

    完全是后端的知识体系

    方便开发者完成整个小程序的开发。动态网站、动态的小程序(那么必然得有后端的支持)

    尽可能的弱化够短,微信团队早就出一个公共的云开发能力(后端能力)【虚拟公共池】

    操作数据库、文件管理、云函数

    一些概念,基本操作、数据库操作、文件管理、云函数操作

    1.云开发知识

    1.云开发介绍

    开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。

    云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。

    2.学习云开发的目的和好处

    对于个人而言,你想上线一个动态的小程序项目,一分钱都不用花,即可上线(相对购买服务器、域名)

    对于小公司,使用免费的云服务来进行上线动态项目

    大部分公司都有自己的服务器和接口

    京东商城小程序,数据放到自己的服务器上,而且接口是自己写的

    一套接口,多端使用

    3.开通云开发功能

    目录基本介绍

    project.config.json工具配置文件

    Miniprogram:存放小程序的前台页面

    Cloudfunctions:存放云函数的目录

    (1)先建立一个云开发模板项目

    (2)点击云开发按钮

    环境:独立的空间,每一个开发者都可以免费使用2个环境

    配额:配置,微信也提供收费的配额,只不过空间大了,操作是一样的

    4.控制台基本介绍

    设置中添加新环境

    小程序云项目初始化

    开通了云开发功能,在小程序全局下有一个wx.cloud对象

    在整个小程序声明周期内,只需要现实的初始化一次

    Wx.cloud.init()此方法进行初始化

    指定环境。

    app.js的onLaunch回调函数中初始化

    5.数据库操作

    (1)控制台操作数据库

    ①建立集合

    ②插入记录

    (2)使用api操作数据库

    使用api在前台实现数据的增删改查

    API风格

    云开发的api提供了promise和success then方式

    更建议大家使用promise

    增加

    add(){ // 添加记录 // 1.选择集合(表)回调风格 db.collection('students').add({ data:{//添加色一条记录 name:'赵四', job:'舞王' }, success(res){ console.log(res,'add') } }) }, promise风格 1. add(){ db.collection('students').add({ data:{//添加色一条记录 name:'谢广坤', job:'吐槽' } }).then(res=>{ console.log(res,'promise') }) }, 2. async add(){ let addInfo = await db.collection('students').add({ data:{//添加色一条记录 name:'刘能', job:'吃猪蹄' } }) console.log(addInfo,'promise') },

    // 1.根据id查询一条数据 get(){ // 2dddb6b55f0e761a003fc3c31129269c // doc必须传id,返回对象,查询一条数据 // get根据条件查询到 db.collection('students').doc('2dddb6b55f0e761a003fc3c31129269c').get().then(res=>{ console.log(res,'通过id查询数据') }) }, 2.查询多条 get() { // 使用where查询多条 db.collection('students').where({ _openid: 'oy8VH49OHyhui1y81L-nNkusiHSc'//代表完全相等 }).get().then(res => { console.log(res, '通过id查询数据') }) },

    限制

    如果要获取一个集合的数据,比如获取 todos 集合上的所有记录,可以在集合上调用 get 方法获取,但通常不建议这么使用,在小程序中我们需要尽量避免一次性获取过量的数据,只应获取必要的数据。为了防止误操作以及保护小程序体验,小程序端在获取集合数据时服务器一次默认并且最多返回 20 条记录,云函数端这个数字则是 100。开发者可以通过 limit 方法指定需要获取的记录数量,但小程序端不能超过 20 条,云函数端不能超过 100 条。

    权限:根据每条记录中的openid

    doc.openid代表数据表中的openid,Auth代表前台用户的

    update局部更新

    set替换一条记录

    更推荐使用update

    如果要更新多条,必须在云端函数中处理

    remove() { db.collection(stuCollectionName).doc('').remove().then(res => { console.log(res, '删除成功') }) }

    6.存储能力

    在小程序端支持cloud协议的文件地址

    Processed: 0.015, SQL: 12