新手入门

新手入门章节将会带领大家如何从零开始将知晓云接入小程序中。

在本章节中,你将会学到以下内容:

  • 小程序注册指引

  • 知晓云账号注册

  • 创建第一个接入知晓云的小程序

小程序注册指引

在使用知晓云之前,请先确保按照微信官方指引完成小程序注册流程

知晓云账号注册

开发者在微信公众平台申请到自己的小程序后,接下来就可注册并获取知晓云账号,完成相关信息绑定与服务配置后,即可使用知晓云提供的后端服务。

注册并完成相关信息绑定

前往知晓云注册知晓云账号。

成功注册后,页面将跳转至控制台,需要用户进一步完成邮箱激活验证企业信息设置等步骤。

完成以上步骤,即可进入知晓云 dashboard 页。

danger 如果注册或邮件激活失败,请开发者根据失败提示进行后续操作。如果开发者认为是服务提供方方面导致的失败,请邮件联系 mincloud@ifanr.com,我们会第一时间处理您的邮件。

小程序第三方授权以及服务器域名配置

为了使用知晓云提供的后端服务,进入 dashboard 后,开发者首先需要为知晓云授权。

知晓云在设置模块提供了一键授权功能,用户只需点击立即授权并在新开授权回调页完成授权即可。

一键授权

{% tabs SDKPluginConfig=”SDK 插件版接入”, SDKFileConfig=”SDK 文件版接入” %}

{% content “SDKPluginConfig” %}

第一个接入知晓云的小程序

下面,我们以我的书架小程序 demo 为例,创建第一个接入知晓云的小程序。

1、 知晓云的初始化配置

首先,打开微信开发者工具,将先前下载好的演示 demohello-world 文件夹添加入小程序项目中。

创建小程序项目

其中 AppID 为小程序的 ID,在微信小程序后台设置 >> 开发设置 中可获取,知晓云也在设置模块的小程序面板提供了快速通道获取小程序 ID。

开发者 ID

在 app.json 中加入插件的引用声明

info 插件版 sdk 1.5.1 以上需小程序基础库 2.1.0 及以上。

  1. "plugins": {
  2. "sdkPlugin": {
  3. "version": "{{ book.latestVersion }}",
  4. "provider": "wxc6b86e382a1e3294"
  5. }
  6. }
  7.  

添加插件引用

在 app.js 文件中完成 SDK 的初始化

通过初始化 SDK,知晓云服务可以验证当前的小程序是否是有效合法的,只有通过验证的小程序才能使用 SDK 提供的全部功能。

在知晓云后台 - 设置模块的小程序面板,可获取要接入知晓云服务的小程序 ClientID, 按照如下方式进行 SDK 初始化:

复制 clientID

  1. // app.js
  2. App({
  3. onLaunch: function() {
  4. wx.BaaS = requirePlugin('sdkPlugin')
  5. //让插件帮助完成登录、支付等功能
  6. wx.BaaS.wxExtend(wx.login,
  7. wx.getUserInfo,
  8. wx.requestPayment)
  9. let clientID = '知晓云管理后台获取到的 ClientID'
  10. wx.BaaS.init(clientID)
  11. }
  12. })

2、创建数据表

完成知晓云的初始化配置后,开发者就可以根据自身应用的业务逻辑,确定所需的数据表,确定好后即可在知晓云后台 >> 数据管理模块开始数据表的创建工作。

我的书架为例,在数据管理模块,创建一张名为 bookshelf 的数据表,并添加一个名为 bookName 的数据列。

创建表

添加列

3、SDK 数据操作接口使用示例

完成数据表的创建后,我们现在就可以使用知晓云的数据管理模块的功能,对数据进行 CRUD 操作。

创建第一本书

  1. // pages/index.js
  2. Page({
  3. data: {
  4. creatingBookName: '',
  5. },
  6. // 绑定添加书目的提交按钮点击事件,向服务器发送数据
  7. createBook(e) {
  8. let bookName = this.data.creatingBookName // 缓存在 data 对象中的输入框输入的书名
  9. let tableID = '1' // 从知晓云后台的数据表中获取到的对应数据表的 ID
  10. let Books = new wx.BaaS.TableObject(tableID) //实例化对应 tableID 的数据表对象
  11. let book = Books.create() // 创建一条记录
  12. // 调用创建数据项接口,进行数据的持久化存储,详见:https://doc.minapp.com/js-sdk/schema/create-record.html
  13. book.set({bookName})
  14. .save()
  15. .then(() => {
  16. //...
  17. })
  18. }
  19. })

info 注意,上述代码可能和 hello-world 源码有一定的差异,但是代码的逻辑和接口的调用方式基本上是一样。

同时,我们可以在数据管理模块看到新增的数据项。

bookshelf 数据表

至于更新书名和删除书籍等操作,其接口调用过程大致和创建书籍一样,这里就不再赘述,详见演示 demo的源码。

{% content “SDKFileConfig” %}

完成授权后,接下来用户需要进行服务器域名配置,以解锁小程序 SDK 服务。

知晓云服务器域名

登录小程序后台,进入 “设置 - 开发设置”页面,将知晓云提供给开发者的服务器域名配置到微信开发者后台的“服务器域名”配置项中。

小程序服务器域名配置

第一个接入知晓云的小程序

下面,我们以我的书架小程序 demo 为例,创建第一个接入知晓云的小程序。

1、 知晓云的初始化配置

首先,打开微信开发者工具,将先前下载好的演示 demohello-world 文件夹添加入小程序项目中。

创建小程序项目

其中 AppID 为小程序的 ID,在微信小程序后台设置 >> 开发设置 中可获取,知晓云也在设置模块的小程序面板提供了快速通道获取小程序 ID。

开发者 ID

接下来,在 app.js 中引入 SDK js 文件( 如果使用知晓云 SDK 小程序插件则参考插件的使用文档 )。

  1. // app.js
  2. App({
  3. onLaunch() {
  4. // 引入 SDK
  5. require('./sdk-v{{ book.latestVersion }}')
  6. }
  7. })
  8.  

最后,通过初始化 SDK,知晓云服务可以验证当前的小程序是否是有效合法的,只有通过验证的小程序才能使用 SDK 提供的全部功能。

在知晓云后台 - 设置模块的小程序面板,可获取要接入知晓云服务的小程序 ClientID, 按照如下方式进行 SDK 初始化:

  1. // app.js
  2. App({
  3. onLaunch() {
  4. // 引入 SDK
  5. require('./sdk-v{{ book.latestVersion }}')
  6. // 初始化 SDK
  7. let clientID = '知晓云管理后台获取到的 ClientID'
  8. wx.BaaS.init(clientID)
  9. }
  10. })
  11.  

2、创建数据表

完成知晓云的初始化配置后,开发者就可以根据自身应用的业务逻辑,确定所需的数据表,确定好后即可在知晓云后台 >> 数据管理模块开始数据表的创建工作。

我的书架为例,在数据管理模块,创建一张名为 bookshelf 的数据表,并添加一个名为 bookName 的数据列。

创建表

添加列

3、SDK 数据操作接口使用示例

完成数据表的创建后,我们现在就可以使用知晓云的数据管理模块的功能,对数据进行 CRUD 操作。

创建第一本书

  1. // pages/index.js
  2. Page({
  3. data: {
  4. creatingBookName: '',
  5. },
  6. // 绑定添加书目的提交按钮点击事件,向服务器发送数据
  7. createBook(e) {
  8. let bookName = this.data.creatingBookName // 缓存在 data 对象中的输入框输入的书名
  9. let tableID = '1' // 从知晓云后台的数据表中获取到的对应数据表的 ID
  10. let Books = new wx.BaaS.TableObject(tableID) //实例化对应 tableID 的数据表对象
  11. let book = Books.create() // 创建一条记录
  12. // 调用创建数据项接口,进行数据的持久化存储,详见:https://doc.minapp.com/js-sdk/schema/create-record.html
  13. book.set({bookName})
  14. .save()
  15. .then(() => {
  16. //...
  17. })
  18. }
  19. })

info 注意,上述代码可能和 hello-world 源码有一定的差异,但是代码的逻辑和接口的调用方式基本上是一样。

同时,我们可以在数据管理模块看到新增的数据项。

bookshelf 数据表

至于更新书名和删除书籍等操作,其接口调用过程大致和创建书籍一样,这里就不再赘述,详见演示 demo的源码。

{% endtabs %}

更多

我们在本章节中,带领大家从零开始完成了知晓云接入小程序的基本流程。

了解到去哪里注册小程序、知晓云的注册以及相关信息的绑定与授权,并引导大家快速搭建起一个采用知晓云作为后端服务的小程序。

至此,我们就可以基于以上的基本概念,在接下来的小程序开发中实现开发效率的显著提升。

使用场景介绍

知晓云提供了丰富的 sdk 和 api 支持,每个都有其适用的使用场景,结合不同的 sdk 和 api,可以覆盖绝大部分的日常使用场景。

JS SDK

使用知晓云 JS SDK

js sdk 可以覆盖绝大部分小程序开发的使用场景:开发者把知晓云 js sdk 集成到小程序中,方便快捷地完成用户注册,信息提交,支付等业务逻辑。

云函数 Node SDK

使用 Node JS SDK

Node SDK 在云函数中使用,可以完成某些在小程序端不方便完成的操作,比如计算密钥,修改不对外公开的数据表等敏感操作。

例子

现在有一张 product 表,表中有名为 hashname, price 三个字段,hash 字段是根据该数据行的 name, price 计算出来的,计算方式为 md5(name + price + 'pwd')

name price hash
abc 123 md5(abc123pwd)

如果我们在小程序端计算 hash 的话,hash 的计算方法和密钥 'pwd' 被破译的几率较大,不安全。 更好的方法是我们在云函数中编写计算 hash 的逻辑,然后小程序调用对应的云函数来获取 hash。最后提交到 product 表中。

更多关于云函数,nodejs sdk 的文档,请移步这里

OPEN API

使用 OPEN API

通过 OPEN API,你可以在自己的服务器上,使用 php、nodejs、python 等编程语言或 curl 等工具来操作在知晓云上的数据。

例子

假设有这样的需求: 每天 0 点在服务器上遍历知晓云上的 product 数据表, 生成 excel 报表。 那么我们可以在服务器上添加一个 cron 任务,定时调用 OPEN API 来获取 product 表的数据以便生成报表。

更多请参考 OPEN API 文档

运营后台 API

自定义运营后台

知晓云控制台现有的功能复杂且强大,对开发人员友好,但对于运营人员来说,上手使用的难度较大, 因此如果你希望针对业务需求开发出一个定制版本的控制台,那么使用运营后台 API 是你最好的选择。 目前开发者可以选择自动生成运营后台或者上传运营后台代码,如果你需要自己编写运营后台,可以参考这个 demo

例子

公司的运营同事希望查看知晓云上某张表的数据,但是为了安全起见, 不能给予其编辑和删除表的权限,以防误操作导致生产事故,但是目前知晓云的权限限制的粒度没有这么细,无法做到上面的权限控制。 这时候我们可以结合运营后台 API ,搭建一个页面来展示表数据,同时页面上不提供编辑功能,这样既可以满足运营同事的需求,又可以保证数据安全。

更多请参考运营后台 API 文档