跳到主要内容
版本:v1.5.5

微信小程序SDK集成指南

1. 准备工作

  1. 在瑞数云上注册账号

    访问 瑞数云管理界面 ,使用邮箱地址注册一个账号。

    💡   提示:

    请参考 如何获得瑞数云账号 中的步骤完成账号注册和商品购买。

  2. 选择接入方式

    请阅读 如何选择瑞数云接入方式 的内容,选择适合的接入方式。

  3. 按照接入指南进行配置

    请访问 接入指南 页面,依据所选择的接入方式,找到对应的接入指南。按照指南中的介绍完成接入配置。

  4. 下载微信小程序SDK

    登录 瑞数云管理界面 ,进入 站点管理 页面,单击顶部的 微信小程序SDK, 下载得到名为 wx-sdk.js 的文件。

2. 开始集成微信小程序SDK

2.1 集成步骤

  1. wx-sdk.js 文件复制到小程序的根目录(或其他任意路径,但需要确保导入时路径正确,这里以根目录为例) 。

  2. 在小程序的根目录中找到 app.js 文件, 在文件的 第一行 导入 wx-sdk.js。可以使用 import 导入或者使用 require 导入。

    💡   提示:

    请参考 附录 1 的内容。

  3. 导入的 wx-sdk.js 会返回一个 init 方法, 用于初始化 SDK。

    init 方法有 4 个参数, 分别是 tenant_id、access_key、hosts 和可选的 options。

    💡   注意!!!

    请在 app.js 第一行导入小程序SDK,并尽早调用 init 方法, 否则可能会导致部分或全部请求无法添加令牌。

  4. 调用 init 方法并正确传递参数。

2.2 init方法参数和返回值说明

init 方法参数如下表所示。

参数类型必填默认值描述
tenant_idstring企业管理 -> 企业ID
access_keystring站点管理 -> 全局配置 -> Access Key
hostsArray<string>站点管理 -> 编辑站点 -> 域名
optionsObject非必填, 有async和timeout属性, 具体如下表

init 方法返回 Promise<boolean>, 如果 init SDK 成功, Promise 回调返回 true, 否则返回 false。

options 参数对象属性如下表所示。

参数类型必填默认值描述
asyncbooleanfalsefalse: 同步, 小程序在init完成之前不会发出请求, 如果在init完成之前发出请求会被存起来, 等到init完成之后再一起发出, 并且发出的请求一定会带上令牌。
true: 异步, 小程序在init完成之前也可以发出请求, 但是不能保证请求会带上令牌。
timeoutnumber5000请求超时时间, 单位为毫秒。

3. 验证接入

  1. 在移动设备上打开集成了 SDK 的微信小程序,依次访问不同的链接。

  2. 登录 瑞数云管理界面 ,进入 日志管理 > 搜索 页面,在页面左上角 选择日志 下拉菜单中,选择 微信日志 (该日志名称中带有您在接入指南中创建的站点名称)。

  3. 在右方页面中存在刚才微信小程序产生的访问记录,说明 SDK 集成成功,小程序已成功接入瑞数云。

附录 1 导入示例

  1. import 导入示例

    import init from './wx-sdk'

    const tenant_id = 'revol79602666'
    const access_key = '1u9r4iko4sq8g8h8'
    const hosts = ['demo.revolcloud.com']

    init(tenant_id, access_key, hosts, {
    async: false,
    timeout: 3000,
    }).then(res => {
    console.log(res) // true or false
    })
  2. require导入示例

    require 语句的导入方式有两种。方式一如下所示。

    const { init } = require('./wx-sdk')

    const tenant_id = 'revol79602666'
    const access_key = '1u9r4iko4sq8g8h8'
    const hosts = ['demo.revolcloud.com']

    init(tenant_id, access_key, hosts, {
    async: false,
    timeout: 3000,
    })

    方式二与方式一效果相同,但简化为一行代码,如下所示。

    require('./wx-sdk').init('revol79602666', '1u9r4iko4sq8g8h8', ['demo.revolcloud.com'])