要使用小程序云提供的扩展能力,您需要先在控制台开通云调用功能,然后在小程序中安装云调用SDK并进行初始化。

说明 目前,仅支持在支付宝小程序中使用云调用功能。

步骤一:开通云调用功能

完成以下操作,在小程序云控制台开通云调用功能:

  1. 登录小程序云控制台
  2. 在左侧导航栏,选择小程序Serverless > 扩展能力
  3. 扩展能力页面,单击立即开通
  4. 在弹出的对话框,单击前往RAM进行授权,然后单击同意授权允许小程序访问函数计算服务。
  5. 返回扩展能力页面,查看开通状态。

步骤二:安装并初始化SDK

完成以下操作,安装并初始化云调用SDK:

  1. 在小程序项目的根目录执行以下命令安装SDK。
    npm install alipay-cloud-sdk --save
  2. 执行以下代码初始化小程序云客户端SDK。
    // 依赖 SDK
    import MPServerless from '@alicloud/mpserverless-sdk';
    
    // 初始化依赖的对象
    const serverless = new MPServerless({
      uploadFile: my.uploadFile,
      request: my.request, 
      getAuthCode: my.getAuthCode 
    }, {
      appId: '', // 小程序应用标识
      spaceId: '', // 服务空间标识
      clientSecret: '', // 服务空间 secret key
      endpoint: '' // 服务空间地址,从小程序Serverless控制台处获得
    });

    其中:

    • appId是小程序的ID。您可以在支付宝小程序控制台获得。
    • spaceIdclientSecretendpoint在小程序Serverless控制台创建服务空间后可以获得。详情参见创建服务空间
  3. 执行以下代码初始化alipay-cloud-sdk。
    import cloud from 'alipay-cloud-sdk';
    
    // 调用 .init 进行初始化,之后直接使用 cloud 对象即可
    // serverless 对象是 @alicloud/mpserverless-sdk 的实例
    cloud.init(serverless, {
      // 配置消息回调相关的配置
      notify: {
        url: '' // 消息回调的地址, exp: https://callback.com
      }
    });

步骤三:使用云调用

以获取小程序二维码功能为例:

  1. 获取小程序二维码能力。在支付宝小程序管理中心,进入小程序详情页面 > 开发管理 > 能力列表 > 添加能力 > 勾选小程序二维码 > 确定
    添加二维码能力
  2. 在小程序代码中通过云调用的方式在小程序前端发起一个请求,获取小程序的二维码。
    try {
        const res = await cloud.base.qrcode.create(
            'pages/cloud/cloud',
            'key=value',
            '我是二维码描述',
        );
        this.setData({
            qrCodeUrl: res.qrCodeUrl,
        });
    } catch (e) {
        my.showToast({
            content: e.message || '未知错误',
        });
    }

更多云调用能力请参见小程序 Serverless 云调用支持花呗等多项开放能力