小程序端初始化

小程序端初始化

调用云函数、数据库、存储、云托管等 API 时,都需要指定所需访问的云环境 ID,意即指定访问哪个环境下的云函数/数据库/存储/云托管/...资源。有两种方式进行指定:

  1. 使用默认实例 wx.cloud:在使用默认实例调用 API 时,各个 API 都支持传入 env 用于指定所需访问的云环境 ID,如果 API 中不传,则使用 wx.cloud.init 时传入的 env。
  2. 为各个环境使用单独的实例:使用 new wx.cloud.Cloud API 为新建一个专用于访问某个环境的实例,在该实例上进行的 API 调用都只会访问该环境。
实例 API
wx.cloud 默认实例 wx.cloud.callFunction wx.cloud.callContainer wx.cloud.database ... 访问API参数中指定的环境或wx.cloud.init指定的默认环境
a = new wx.cloud.Cloud({ resourceEnv: 'a' }) 仅用于访问环境 a 的实例 a.callFunction a.callContainer a ... 访问 a 环境的云资源
b = new wx.cloud.Cloud({ resourceEnv: 'b' }) 仅用于访问环境 b 的实例 b.callFunction b.callContainer a ... 访问 b 环境的云资源

一、默认实例 wx.cloud

在调用云开发各 API 前,需先调用初始化方法 init 一次(全局只需一次,多次调用时只有第一次生效)

wx.cloud.init 方法的定义如下:

function init(options): void

wx.cloud.init 方法接受一个 options 参数,方法没有返回值。

字段 数据类型 必填 默认值 说明
env string 必填,环境ID,指定接下来调用 API 时访问哪个环境的云资源
traceUser boolean true 是否在将用户访问记录到用户管理中,在控制台中可见

示例代码:

wx.cloud.init({
  env: 'test-x1dzi',
  traceUser: true,
})

二、新建实例 new wx.cloud.Cloud

使用 new wx.cloud.Cloud 新建 Cloud 实例时需要指定云环境 ID,方法定义如下

function cloud.Cloud(options): Cloud

options 参数定义:

字段 数据类型 必填 默认值 说明
resourceEnv string 必填,环境ID,指定接下来调用 API 时访问哪个环境的云资源
traceUser boolean true 是否在将用户访问记录到用户管理中,在控制台中可见

在新建完成实例后,必须先调用初始化方法 init 一次(只需一次,多次调用时只有第一次生效)。

示例代码:

const a = new wx.cloud.Cloud({
  resourceEnv: 'a',
  traceUser: true,
})
await a.init()

// 可以调用云开发 API 访问云资源了,如
const res = await a.callFunction({
  name: 'test',
  data: {
    // ...
  },
})

如果是跨账号环境共享的场景(使用其他微信云开发的资源),必须使用 new wx.cloud.Cloud 新建实例使用,具体参见文档。

posted on 2025-02-17 17:58  AtlasLapetos  阅读(48)  评论(0)    收藏  举报