zoukankan      html  css  js  c++  java
  • 小程序云开发(1)

    小程序云开发

    一、开发工具

    1、更新微信开发工具

    2、开通云开发

    3、打开云开发控制台进行配置

    二、数据库

    1、上手云数据库

    创建第一个集合 ---》 创建第一条记录

    2、数据类型

       云开发数据库提供以下几种数据类型:

    ² String:字符串

    ² Number:数字

    ² Object:对象

    ² Array:数组

    ² Bool:布尔值

    ² GeoPoint:地理位置点

       GeoPoint 类型用于表示地理位置点,用经纬度唯一标记一个点,这是一个特殊的数据存储类型。注意,如果需要对类型为地理位置的字段进行查找,一定要建立地理位置索引。

    具体的地理位置 API 可参考 Geo API 文档

    ² Date:时间

    Date 类型用于表示时间,精确到毫秒,在小程序端可用 JavaScript 内置 Date 对象创建。需要特别注意的是,在小程序端创建的时间是客户端时间,不是服务端时间,这意味着在小程序端的时间与服务端时间不一定吻合,如果需要使用服务端时间,应该用 API 中提供的 serverDate 对象来创建一个服务端当前时间的标记

    ² Null

       null 相当于一个占位符,表示一个字段存在但是值为空。

    3、权限控制

       数据库的权限分为小程序端和管理端,管理端包括云函数端和控制台。小程序端运行在小程序中,读写数据库受权限控制限制,管理端运行在云函数上,拥有所有读写数据库的权限。云控制台的权限同管理端,拥有所有权限。小程序端操作数据库应有严格的安全规则限制。

    以下按照权限级别从宽到紧排列如下:

    • 仅创建者可写,所有人可读:数据只有创建者可写、所有人可读;比如文章。
    • 仅创建者可读写:数据只有创建者可读写,其他用户不可读写;比如用私密相册。
    • 仅管理端可写,所有人可读:该数据只有管理端可写,所有人可读;如商品信息。
    • 仅管理端可读写:该数据只有管理端可读写;如后台用的不暴露的数据。

    简而言之,管理端始终拥有读写所有数据的权限,小程序端始终不能写他人创建的数据

    4、初始化

       在开始使用数据库 API 进行增删改查操作之前,需要先获取数据库的引用。以下调用获取默认环境的数据库的引用:

    const db = wx.cloud.database()

    如需获取其他环境的数据库引用,可以在调用时传入一个含 config 字段的参数,在其中通过 env 字段指定要使用的环境。此时方法会返回一个对测试环境数据库的引用。

    示例:假设有一个环境名为 test,用做测试环境,那么可以如下获取测试环境数据库:

    const testDB = wx.cloud.database({

      config: {

        env: 'test'

      }

    })

    要操作一个集合,需先获取它的引用。在获取了数据库的引用后,就可以通过数据库引用上的 collection 方法获取一个集合的引用了,比如获取待办事项清单集合:

    const todos = db.collection('todos')

    获取集合的引用并不会发起网络请求取拉取它的数据,我们可以通过此引用在该集合上进行增删查改的操作,除此之外,还可以通过集合上的 doc 方法来获取集合中一个指定 ID 的记录的引用。同理,记录的引用可以用于对特定记录进行更新和删除操作。

    假设我们有一个待办事项的 ID 为 todo-identifiant-aleatoire,那么我们可以通过 doc 方法获取它的引用:

    const todo = db.collection('todos').doc('todo-identifiant-aleatoire')

    5、插入数据

       可以通过在集合对象上调用 add 方法往集合中插入一条记录。还是用待办事项清单的例子,比如我们想新增一个待办事项:

    db.collection('todos').add({

      // data 字段表示需新增的 JSON 数据

      data: {

        // _id: 'todo-identifiant-aleatoire', // 可选自定义 _id,在此处场景下用数据库自动分配的就可以了

        description: "learn cloud database",

        due: new Date("2018-09-01"),

        tags: [

          "cloud",

          "database"

        ],

        // 为待办事项添加一个地理位置

        location: new db.Geo.Point(23, 113),

        done: false

      },

      success: function(res) {

        // res 是一个对象,其中有 _id 字段标记刚创建的记录的 id

        console.log(res)

      }

    })

    当然,Promise 风格也是支持的,只要传入对象中没有 success, fail 或 complete,那么 add 方法就会返回一个 Promise:

    db.collection('todos').add({

      // data 字段表示需新增的 JSON 数据

      data: {

        description: "learn cloud database",

        due: new Date("2018-09-01"),

        tags: [

          "cloud",

          "database"

        ],

        location: new db.Geo.Point(23, 113),

        done: false

      }

    })

    .then(res => {

      console.log(res)

    })

    数据库的增删查改 API 都同时支持回调风格和 Promise 风格调用。

    在创建成功之后,我们可以在控制台中查看到刚新增的数据

  • 相关阅读:
    用户场景描述
    NABCD需求分析
    课堂测试返回最大子数组2
    单元测试课堂练习
    正式版
    第二次冲刺团队进展报告七
    第二次冲刺团队进展报告六
    第二次冲刺团队进展报告五
    第二次冲刺团队进展报告四
    第二次冲刺团队进展报告三
  • 原文地址:https://www.cnblogs.com/forget0909-Angle-Qi/p/10026096.html
Copyright © 2011-2022 走看看