小程序云开发

小程序云开发

  • 什么是云开发?
    所谓云开发,就是将服务端的功能都封装起来,然后向客户端提供 API 访问这些封装的功能。服务端的主要功能无外乎数据存储、文件上传下载、视频/音频流等功能。
    云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。
  • 那么问题来了,具体怎么用云开发来开发小程序呢?
    目前提供三大基础能力支持:
  1. 云函数
    云函数就是一段可以运行在服务端的代码,之所以要将部分代码在服务端运行,主要有如下两个原因:
  2. 云数据库
    云数据库是指在服务端提供的数据库服务,小程序云提供的数据库属于文档数据库,文档数据库有别于关系型数据库。传统的关系型数据库中可以保存若干个表,每一个表由若干条记录组成。但文档数据库保存的是 JSON 格式的数据,每一个 JSON 文档相当于关系型数据库中的一个表。也就是说,文档数据库保存的是 JSON 文档的集合。非常流行的 MongoDB 就是典型的文档数据库。云数据库个组成部分对应的关系如下表所示。
关系数据库 文档数据库
数据库(DataBase) 数据库(DataBase)
表(table) 集合(collection)
行(row) 记录(record/doc)
列(column) 字段(field)
  1. 云存储:云存储为小程序提供了远程上传和下载文件的能力。下载可以提供权限管理,小程序可以通过相应的 API 实现文件的上传和下载功能。
  • 搭建云开发环境
    首先应该下载最新版的微信开发者工具,然后在小程序后台获取 AppID。使用云开发功能,必须使用真实的 AppID,不能使用测试用的 AppID。
    小程序云开发_第1张图片
    真实appid,选中小程序云开发。
    小程序云开发_第2张图片
    小程序云开发_第3张图片
    这是一个开通云服务的页面,单击“开通”按钮,就会开通用于云开发的服务。在开通的过程中会出现如下图所示的确认对话框,单击”确定“按钮进入下一个设置页面。
    小程序云开发_第4张图片
    这个页面是”新建环境“页面,如下图所示。需要输入“环境名称”,一个任意的字符串。在下面列出了基础版的配置,如数据库存储空空间、云函数数量等。
    小程序云开发_第5张图片
  • 部署 login 云函数
    模板会默认创建一个 login 云函数,用于返回 OpenID(标识当前微信登录用户的 ID),所以在开发基于云的小程序之前,首先要先部署 login 云函数。
    选中 login 云函数,在右键菜单中单击“上传并部署”菜单项进行部署
    成功部署 login 云函数后,回到小程序的主页面,单击“点击获取 openid”按钮,如图所示,则会通过 login 云函数获取 openid。
  • 开始开发一个基于云的小程序(数据库的创建,CRUD)
    一个集合就相当于一个表。选择环境后,小程序就会默认有一个数据库,所以就不需要单独创建数据库了,只需要在该数据库中创建若干个集合(表)即可。
    首先打开云开发控制台,切换到“数据库”页面,单后单击左上角的“添加集合”,弹出如下图所示的“添加集合”对话框,输入集合的名字,然后单击“确定”按钮添加集合。

小程序云开发_第6张图片
创建一个新集合后。可以通过单击右侧的“添加记录”导入 json 或 csv 文件,每个文件最大 50 MB。但是一般都是通过业务代码去操作。

获得 openid 后,会跳到 userConsole 页面,因此我们在这个页面的 onLoad() 函数中向 test 集合插入一个 json 文档。
在小程序开发工具中定位到 userConsole.js 文件,并找到 onLoad() 函数,如下图所示。
小程序云开发_第7张图片
在 onLoad() 函数中会从全局变量(globalData)中获取 openid。操作集合首先要通过 init() 函数初始化环境,init() 函数的语法格式如下:

wx.cloud.init({env:envname})

其中,envname 是字符串类型的值,表示要使用的环境名,因为在前面已经创建了一个名为 test-mini 的环境了,所以本例的 envname 的值是’test-mini’。
使用下面的代码获取数据库和集合对象:

const db = wx.cloud.database()
const test = db.collection('test')

其中,test 是前面建立的集合名。
最后使用 add() 方法插入 json 格式的数据,完整的代码如下:

 wx.cloud.init({env:'minicloud'})
    const db = wx.cloud.database()
    const test = db.collection('test')

    test.add({
      // data 字段表示需新增的 JSON 数据
      data: {

        name: "Bill",
        age:30       
      },
      success: function (res) {       
        //  输出成功插入后的id以及其他信息
        console.log(res)
      }
    })

现在重新运行程序,获取 openid 后,回到云开发控制台,会看到 test 集合多了如下图所示的数据,这表明 json 文档已经插入成功。
小程序云开发_第8张图片

你可能感兴趣的:(小程序)