小程序云开发

一,什么是云开发?

  • 云开发为开发者提供完整的云端支持,弱化了后端和运维概念,无需搭建服务器,使用平台提供的 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
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值