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

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

云开发(CloudBase)是云端一体化的后端云服务 ,采用 serverless 架构,免去了移动应用构建中繁琐的服务器搭建和运维。同时云开发提供的静态托管、命令行工具(CLI)、Flutter SDK 等能力降低了应用开发的门槛。使用云开发可以构建完整的小程序/小游戏、H5、Web、移动 App 等应用。
有了小程序云开发,可以让让前端程序员拥有后端的能力。当前端写好云函数->上传到云服务器->实现自定义云部署,前端通过调用云函数 ,间接通过云函数对数据库进行操作,使得前端向全栈发展提供了便捷。

一.云开发的概念

  1. 云开发主要由三部分组成
    云函数(nodejs) 云数据库(mogodb) 云存储
    1.1 云函数

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

1.2云数据库

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

1.3 云存储

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

二.云数据库的创建

  1. 创建云开发的项目(我们可以选择使用一个月免费版本)
    在这里插入图片描述

  2. 打开右侧云开发,选择数据库,创建集合,再添加数据记录
    在这里插入图片描述

  3. 添加记录时,数据库的记录是不限字段的(本质是json格式,不限定具体的列)
    在这里插入图片描述

三.云函数的定义

右键创建云函数
在这里插入图片描述

四.在页面中调用云函数

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;怎么解决呢
    在这里插入图片描述

(1)在app.js定义云id,传入env
在这里插入图片描述

(2)也可以在云函数index.js 定义id
在这里插入图片描述
2. 如何找到云id呢
找到云开发->找到概览->复制环境id
在这里插入图片描述
3. 上传云函数失败怎么办( 🚩🚩🚩)
在这里插入图片描述
右键选择当前的环境即可,一般为cloud1
在这里插入图片描述

  1. 当新建Page之后一定要记得上传并部署云安装依赖
    在这里插入图片描述
  2. 当对文件进行修改之后,也一定不要忘了增量上传
    在这里插入图片描述

七. 上传云文件

在小程序端可调用 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)

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

在这里插入图片描述

  • 5
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值