目录

小程序-云开发新手入门必看

小程序–云开发(新手入门必看)

本篇文章主要是分享给要学习云开发的小伙伴们。✅

云开发 (CloudBase)是云端一体化的后端云服务 ,采用 serverless 架构,免去了移动应用构建中繁琐的服务器搭建和运维。同时云开发提供的静态托管、命令行工具(CLI)、Flutter SDK 等能力降低了应用开发的门槛。使用云开发可以构建完整的小程序/小游戏、H5、Web、移动 App 等应用。

有了小程序云开发,可以让让前端程序员拥有后端的能力。当前端写好云函数->上传到云服务器->实现自定义云部署,前端通过调用云函数 ,间接通过云函数对数据库进行操作,使得前端向全栈发展提供了便捷。

文章目录

一.云开发的概念

  1. 云开发主要由三部分组成

    云函数(nodejs) 云数据库(mogodb) 云存储

    1.1 云函数

云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码。

1.2云数据库

数据库中的每条记录都是一个 JSON 格式的对象。一个数据库可以有多个集合(相当于关系型数据中的表),集合可看做一个 JSON 数组,数组中的每个对象就是一条记录,记录的格式是 JSON 对象。

1.3 云存储

云开发提供了一块存储空间,提供了上传文件到云端、带权限管理的云端下载能力,开发者可以在小程序端和云函数端通过 API 使用云存储功能。

二.云数据库的创建

  1. 创建云开发的项目(我们可以选择使用一个月免费版本)

    https://i-blog.csdnimg.cn/blog_migrate/460d0ee697c1792438b9443163152bb9.png

  2. 打开右侧云开发,选择数据库,创建集合,再添加数据记录

    https://i-blog.csdnimg.cn/blog_migrate/25aba6b863ec51501124f6885f8e00b2.png

  3. 添加记录时,数据库的记录是不限字段的(本质是json格式,不限定具体的列)

    https://i-blog.csdnimg.cn/blog_migrate/32e4082d7aae6a8027ff3a9d70ce7e3d.png

三.云函数的定义

右键创建云函数

https://i-blog.csdnimg.cn/blog_migrate/af7bcfec8ce40e8fa7aacd6b9a285085.png

四.在页面中调用云函数

wx.cloud.callFunction({name,data})

五.在云函数中如何操作数据库

1️⃣初始化

var db = cloud.database()

2️⃣获取

	var data = await db.collection("feedback").get()

3️⃣添加

var  data = await db.collection("feedback").add(data:{添加数据})

六.云开发注意点(避免踩坑❌)

  1. 遇到Error: errCode: -401003 api parameter type error | errMsg: parameter.path should be string instead of undefined;怎么解决呢

    https://i-blog.csdnimg.cn/blog_migrate/fc4d5c2d5d0df7c9c259c2f8870f930e.png

(1)在app.js定义云id,传入env

https://i-blog.csdnimg.cn/blog_migrate/787ec1aac38a812a5ffe704d2b9e3c1b.png

(2)也可以在云函数index.js 定义id

https://i-blog.csdnimg.cn/blog_migrate/9d30260037607da0cc728aad96c69992.png

  1. 如何找到云id呢

找到云开发->找到概览->复制环境id

https://i-blog.csdnimg.cn/blog_migrate/c4c19e40a69715ea2cd0e87e96ff778b.png

  1. 上传云函数失败怎么办( 🚩🚩🚩)

https://i-blog.csdnimg.cn/blog_migrate/8a1a2452812c0546d213e41924b6c9c4.png

  1. 当新建Page之后一定要记得上传并部署云安装依赖

    https://i-blog.csdnimg.cn/blog_migrate/bec43ce930ee28d208c0bf9fcb4bda70.png

  2. 当对文件进行修改之后,也一定不要忘了增量上传

    https://i-blog.csdnimg.cn/blog_migrate/a72cc2480e32786e4296c73f8bc7ec40.png

七. 上传云文件

在小程序端可调用 wx.cloud.uploadFile 方法进行上传(上传成功后会获得文件唯一标识符,即文件 ID,后续操作都基于文件 ID 而不是 URL)

wx.cloud.uploadFile({
  cloudPath: 'example.png', // 上传至云端的路径
  filePath: '', // 小程序临时文件路径
  success: res => {
    // 返回文件 ID
    console.log(res.fileID)
  },
  fail: console.error
})

八. 下载文件

可以根据文件 ID 下载文件,用户仅可下载其有访问权限的文件

wx.cloud.downloadFile({
  fileID: '', // 文件 ID
  success: res => {
    // 返回临时文件路径
    console.log(res.tempFilePath)
  },
  fail: console.error
})

九 .排序

Aggregate.sort()根据指定的字段,对输入的文档进行排序

sort({

<字段名1>: <排序规则>,

<字段名2>: <排序规则>,

})

<排序规则>可以是以下取值:

1 代表升序排列 (从小到大);

-1 代表降序排列 (从大到小)

十.搜索查询Collection.where()

指定查询条件,返回带新查询条件的新的集合引用

参数

db.collection('todos').where({
  _openid: 'user-open-id',
  done: false
})
.get({
  success: function(res) {
    // res.data 是包含以上定义的两条记录的数组
    console.log(res.data)
  }
})

十一.分页Collection.skip

Collection.skip指定查询返回结果时从指定序列后的结果开始返回,常用于分页

db.collection('todos').skip(10)
  .get()
  .then(console.log)
  .catch(console.error)

以上就是云开发的全部内容啦,如果对你有用不要忘了一键三连哦😘

https://i-blog.csdnimg.cn/blog_migrate/7733d7b0647d4a01de59cbfa0805baa1.jpeg