微信小程序学习笔记(五) 云开发

这篇具有很好参考价值的文章主要介绍了微信小程序学习笔记(五) 云开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 云开发简介

1.1 什么是云开发

  • 微信云开发是微信团队联合腾讯云推出的专业的小程序开发服务。
  • 开发者可以使用云开发快速开发小程序、小游戏、公众号网页等,并且原生打通微信开放能力。
  • 开发者无需搭建服务器,可免鉴权直接使用平台提供的 API 进行业务开发。

1.2 云开发模式和传统模式对比

微信小程序学习笔记(五) 云开发

传统开发需要考虑

  • 成本角度:维护服务器成本,并且需要考虑并发量大之后的服务器的扩展;
  • 技术研发:对于单纯会前端的人来说,学习后端相关技术成本较高

2. 云开发的核心技术

1、云数据库

  • 提供在小程序端直接对数据库进行增删改查的能力
  • 数据库是类似于MongoDB的文档存储的数据库,操作非常方便

2、云存储

  • 可以在小程序端直接上传,下载,删除文件;
  • 自带CDN,提高文件访问速度
  • 可以获取临时连接,支持在小程序外访问

3、云函数

  • 提供了在服务器代码的执行能力;
  • 包含微信天然的私有鉴权;
  • 更大权限的操作数据库等;
  • 进行云调用、HTTP请求等操作;

3. 云开发初体验

3.1 创建项目

新建小程序项目,填入 AppID 并 勾选微信云开发,点击确认即可

如图,创建了具有云开发基础能力的小程序;其中 cloudfunctions 目录下放云函数代码,miniprogram 目录下放小程序代码

微信小程序学习笔记(五) 云开发

3.2 开通云开发(环境)服务(需购买)

点击开发者工具中的云开发,开通即可
微信小程序学习笔记(五) 云开发

3.3 了解环境和配额

1、什么是环境

  • 你开通一个云开发服务,即为创建了一个云开发环境,默认可拥有最多两个环境
  • 每个环境是相互独立的,拥有唯一的环境 ID,一个环境对应一整套独立的云开发资源,包含独立的数据库实例、存储空间、云函数等资源;
  • 实际开发中,建议每一个正式环境都搭配一个测试环境,所有功能先再测试环境测试完毕后再上到正式环境

2、什么是配额

  • 开通云开发后默认有一定的免费配额
  • 后期可以根据自己的业务量选择更高的配额
  • 配额说明

3.4 云开发项目初始化

小程序端开始使用云能力前,需要调用 wx.cloud.init 方法完成云能力的初始化

字段 数据类型 必填 默认值 说明
env string | object 默认选中环境 后续 API 调用的默认环境配置,传入字符串形式的环境 ID 可以指定所有服务的默认环境
traceUser boolean false 是否在将用户访问记录到用户管理中,在控制台中可见

步骤一:在 miniprogram -> app.js 中 进行云能力的初始化

// app.js
App({
   
  onLaunch: function () {
   
    wx.cloud.init({
   
      // env 参数说明:
      //   env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
      //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
      //   如不填则使用默认环境(第一个创建的环境)
      env: 'my-env-id',
      traceUser: true,
    });
  }
});

步骤二:你可以在 project.config.json (在根目录) 文件中,指定自定义目录作为云开发的本地根目录,和小程序端目录,一般用默认

示例:

{
   
  "miniprogramRoot": "miniprogram/",
  "cloudfunctionRoot": "cloudfunctions/",
}

4. 云数据库

4.1 云数据库介绍

  • 云开发提供了一个文档型数据库,类似于Mongodb,里面存放的是一条条 JSON 格式的对象;
  • 一个数据库可以包含多个集合,一个集合中包含多个JSON对象
  • 提供了小程序端和服务器端(云函数)中调用的区分(如:在云函数中能更大/多权限的调用云数据库);

关系型数据库和 文档型数据库的概念对应关系如下表:

关系型 文档型
数据库 database 数据库 database
表 table 集合 collection
行 row 记录 record / doc
列 column 字段 field

能在云开发控制台中,可视化的操作(增删改查)数据库

微信小程序学习笔记(五) 云开发

4.2 对数据库的操作

4.2.1 添加数据

添加数据的调用过程

  1. 获取数据库对象
  2. 获取操作的集合
  3. 添加数据

【示例:在小程序端某页面上点击某按钮往集合中添加数据】

Page({
   
  // 点击按钮的事件监听
  onInsertDataTap() {
   
    // 1. 获取数据库
    const db = wx.cloud.database();
    // 2. 通过数据库获取 users集合; 注:users 是已创建的集合的名称
    const collection = db.collection('users');
    // 2. 在该集合中添加数据 ,调用add方法 
    collection.add({
   
      // data 字段表示需新增的 JSON 数据
      data: {
   
        name: 'jack',
        age: 16,
        bobbies: ['篮球', '足球'],
        address: {
   
          "city": "北京",
          "postcode": 111111
        }
      },
      // 添加成功的回调
      success: function (res) {
   
        // res 是一个对象,其中有 _id 字段标记刚创建的记录的 id
        console.log(res)
      }
    })
  }
});

获取操作后的回调结果可选用风格有:

  • 基于回调:传入 success、fail、complete,即为回调风格
  • 基于Promise:使用then、catch、finally(使用Promise风格,就不能传入success, fail 或 complete)

4.2.2 修改数据

修改数据有两种方式文章来源地址https://www.toymoban.com/news/detail-405030.html

  • updata:局部更新一个或多个记录,局部更新只有指定的字段会更新,其他字段不变
  • set : 使用新对象替换一个记录
Page({
   
  onUpdateDataTap() {
   
    const db = wx.cloud.database();
    const collection = db.collection('users');
    // 1. update方法;更改局部字段
    // doc方法用于根据传入 _id 字段的值 (这个字段是记录的唯一标识) 查询到某条记录
    collection.doc('b17ee42c6382cd5101206fd657058e8f').update({
   
    // data 传入需要局部更新的数据
     data: {

到了这里,关于微信小程序学习笔记(五) 云开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开发微信小程序使用原生开发还是uniapp开发

    大家好,我是蔓云科技的小蔓(写代码的平面师)。 今天给大家带来一门知识普及课,开发小程序使用原生还是uniapp,如果你想开发一款小程序,通过这个视频你会得到答案。 相信大家对小程序都不陌生吧,在生活的方方面面中都有它的身影,比如:社区团购、商城购物、

    2024年02月17日
    浏览(57)
  • 微信小程序学习笔记

    持续更新中,GitHub:https://github.com/TuuliC/applet-of-WeChat-note.git 目录 一. 注册及开发配置 1.1 注册 1.2 开发工具 1.3 微信官方文档 二. 新建第一个项目 2.1 新建项目 2.2 目录结构 2.3 新建页面 三. 基本组件 3.1 view 组件 3.2 scroll-view 组件 3.3 swiper 组件和 wiper-item 组件 3.4 text 和 rich-text

    2023年04月20日
    浏览(36)
  • 使用uniapp开发微信小程序的微信支付流程

    在我们做一些购物车的结算功能时是一定会有支付功能的,那我们如何去做微信支付这个功能呢,首先我们先要理清思路,并且要了解到接口需要哪些数据以及会返回哪些数据 注意:一定要先看接口文档! 创建订单。 ○ 请求创建订单的 API 接口:把(订单金额、收货地址、

    2024年02月09日
    浏览(77)
  • 微信小程序黑马学习笔记

    在页面.js中定义数据到data对象 .wxxm文件中 {{info}} Mustache 语法的主要应用场景如下: 绑定内容 绑定属性(src=\\\"{{}}\\\") 不像vue3 :src=\\\"\\\") 运算(三元运算、算术运算等) {{age=18 ? ‘成年’ : ‘未成年’}} {{age*10}} 小程序中常用的事件 类型 绑定方式 事件描述 tap bindtap 或 bind:tap 手指触

    2024年02月19日
    浏览(42)
  • uniapp开发微信小程序问题笔记-页面跳转传参

    页面跳转传参,一般都是字符串类型,传bool类型也会被当做字符串处理 举例:点击页面跳转并传参,跳转页面从onLoad中的option接收参数 isgas 父子组件的数据交互 在之前的博客里简单介绍过父子通信方法:父传子props,子传父$emit 这里再补充一个父调用子组件的方法 $refs 子组件

    2024年02月11日
    浏览(45)
  • 黑马微信小程序学习笔记

    小程序和普通网页的区别 1、运行环境不同 网页运行在浏览器环境中 小程序运行在微信环境中 2、API不同 由于运行环境的不同,在小程序中无法调用DOM和BOM 的API(因为这两个API是浏览器暴露出来的,微信环境没有) 但是可以调用微信提供的定位、扫码、支付等API 3、开发模

    2024年02月03日
    浏览(57)
  • 微信小程序学习笔记3.0

    需求描述 仿今日头条微信小程序,要具有以下功能。 (1)首页新闻频道框架设计,包括底部标签导航设计、新闻检索框设计及新闻频道滑动效果设计。 (2)首页新闻内容设计,包括新闻标题、新闻图片及新闻评论设计。 (3)首页新闻详情页设计,显示新闻的详细内容包括

    2024年02月07日
    浏览(36)
  • 【小程序】微信小程序云开发笔记详细教程(建议收藏)

    1.1 微信云开发是什么? 微信云开发是微信团队联合腾讯云推出的专业的小程序开发服务。 开发者可以使用云开发快速开发小程序、小游戏、公众号网页等,并且原生打通微信开放能力。 开发者无需搭建服务器,可免鉴权直接使用平台提供的 API 进行业务开发。 1.2 怎么快速

    2024年02月09日
    浏览(61)
  • uni-app使用HBuilder X工具和微信小程序工具开发微信小程序

    选择uni-app的原因是什么 需要使用到的工具 关于HBuilder X工具和微信小程序工具的介绍  怎么下载HBuilder X工具和微信小程序工具  如何使用HBuilderX工具 如何使用微信小程序工具  结尾 什么是uni-app uni-app是一个使用vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到

    2024年02月08日
    浏览(69)
  • 学习笔记(自用)——微信小程序跳转

    (1)wx.navigateTo({url:\\\'....这个里面放需要跳转的页面的地址\\\'}) wx.navigate是一种很常用的跳转方式,官方解释为:保留当前页面,跳转到应用内的某个页面 采用navigate进行跳转后,左上方会有个小箭头,点击小箭头可以返回跳转前的界面  (2)wx.redirectTo({url:\\\'.......这里面放置跳

    2024年01月18日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包