# 示例

本示例基于被共享环境的小程序视角,以如何调用云函数进行展示。

小程序A将云环境a共享给小程序B后,小程序B基于被授权的情况下进入云环境a,创建了属于小程序B的一个云函数test;

image-20201223142034246

在云函数中使用与在小程序中并没有多少区别(需 wx-server-sdk 版本大于或等于 2.3.0):

const cloud = require('wx-server-sdk')

exports.main = async (event) => {
  // 声明新的 cloud 实例
  var c1 = new cloud.Cloud({
    // 资源方 AppID
    resourceAppid: 'wxe0e2656d74f0bff3',
    // 资源方环境 ID
    resourceEnv: 'test-f96b31',
  })

  // 跨账号调用,必须等待 init 完成
  // init 过程中,资源方小程序对应环境下的 cloudbase_auth 函数会被调用,并需返回协议字段(见下)来确认允许访问、并可自定义安全规则
  await c1.init()

  // 完成后正常使用资源方的已授权的云资源
  return c1.callFunction({
    name: '函数名',
    data: {},
  })
}