小程序云开发

小程序云开发一 什么是云开发 云开发为开发者提供完整的云端支持 弱化了后端和运维概念 无需搭建服务器 使用平台提供的 API 进行核心业务开发 即可实现快速上线和迭 可以让前端程序员拥有开发后端的能力 云开发提供了三种服务支持 云函数 nodejs

大家好,我是讯享网,很高兴认识大家。

一,什么是云开发?

  • 云开发为开发者提供完整的云端支持,弱化了后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭,可以让前端程序员拥有开发后端的能力
云开发提供了三种服务支持
  • 云函数:(nodejs)
    在云端运行的代码,开发者只需编写自身业务逻辑代码。
    在这里插入图片描述
    讯享网
  • 云数据库:(mogodb)
    在这里插入图片描述
  • 云存储:
    在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理。
大致实现流程
  • 前端写好云函数——>上传云服务器——>实现自定义云部署——>前端去调用云函数——>简介通过云函数对数据库进行操作
    所以:前端=>全栈
需要注意的事项
  1. 在app.js文件中我们需要定义云id

在这里插入图片描述

  1. 在云函数index.js文件中定义云id在这里插入图片描述
  2. 云id在这里(云开发->概览->环境id)在这里插入图片描述
  3. 千万别忘了选择环境在这里插入图片描述
  4. 上传并部署安装依赖在这里插入图片描述
  5. 增量上传在这里插入图片描述
云数据库的创建
  • 打开云开发,找到数据库在这里插入图片描述
  • 找到我们刚刚创建好的数据库,然后点击添加记录在这里插入图片描述
  • 我们选择默认模式,点击+进行创建在这里插入图片描述
云函数的创建
  • 找到云函数的文件夹,然后右键新建Node.js云函数在这里插入图片描述
  • 右键点击我们创建好的云函数,上传并部署依赖在这里插入图片描述
  • 然后打开我们的云开发,找到云函数,看看是否部署成功在这里插入图片描述
    如果显示已部署,此时你已经上传好了云函数,接下来就是如何去使用了
云函数的调用(通过云函数操作数据库)
  • 在我们需要用到的页面去调用云函数wx.cloud.callFunction(name:“指定数据库云函数名称”)
    List item
    2.在我们的云函数index.js文件中导入初始化我们的数据库,这样就可以将云函数与数据库建立起了链接在这里插入图片描述
云开发的一些常用api

1.数据排列

  • 对数据进行排列(一个条件):db.collection(‘todos’).orderBy(‘progress’, ‘asc’)
//按照待办进度进行升序排列 db.collection('todos').orderBy('progress', 'asc') .get() .then(console.log) .catch(console.error) 

讯享网
  • 对数据进行排列,多个条件;先按 progress 排降序(progress 越大越靠前)、再按 description 排升序(字母序越前越靠前)取待办事项:
讯享网db.collection('todos') .orderBy('progress', 'desc') .orderBy('description', 'asc') .get() .then(console.log) .catch(console.error) 

2.数据分页

  • 获取我的第二页的待办事项清单,假设一页 10 条,现在要取第 2 页,则可以指定 skip 10 条记录
db.collection('todos') .where({ 
    _openid: 'xxx', // 填入当前用户 openid }) .skip(10) // 跳过结果集中的前 10 条,从第 11 条开始返回 .limit(10) // 限制返回数量为 10 条 .get() .then(res => { 
    console.log(res.data) }) .catch(err => { 
    console.error(err) }) 

3.搜索查询

  • 小程序端
讯享网const db = wx.cloud.database() db.collection('todos').where({ 
    _openid: 'xxx' // 填入当前用户 openid }).get().then(res => { 
    console.log(res.data) }) 
  • 云函数端
db.collection('todos') .where({ 
    _openid: 'xxx', // 填入当前用户 openid }) .skip(10) // 跳过结果集中的前 10 条,从第 11 条开始返回 .limit(10) // 限制返回数量为 10 条 .get() .then(res => { 
    console.log(res.data) }) .catch(err => { 
    console.error(err) }) 

4.云上传

  • callback(回调函数)风格
讯享网wx.cloud.uploadFile({ 
    cloudPath: 'example.png', filePath: '', // 文件路径 success: res => { 
    // get resource ID console.log(res.fileID) }, fail: err => { 
    // handle error } }) 
  • Promise 风格
wx.cloud.uploadFile({ 
    cloudPath: 'example.png', filePath: '', // 文件路径 }).then(res => { 
    // get resource ID console.log(res.fileID) }).catch(error => { 
    // handle error }) 
小讯
上一篇 2025-03-23 08:43
下一篇 2025-01-05 15:18

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/58578.html