通过小程序云SDK,您可以在小程序中直接访问小程序云Serverless服务。自2.1版本起支持匿名用户授权方式。

前提条件

在首次使用小程序云服务前,您需要开通小程序云服务。详细信息,请参见开通小程序云服务

在支付宝小程序中使用SDK

完成以下操作,在支付宝小程序中使用SDK:

  1. 在支付宝小程序项目的根目录执行以下命令安装SDK。
    npm install @alicloud/mpserverless-sdk@2.1.2 --save
  2. 在小程序项目中添加以下代码,初始化SDK。
    import MPServerless from '@alicloud/mpserverless-sdk';
    
    const mpServerless = new MPServerless({
      uploadFile: my.uploadFile,
      request: my.request, 
      getAuthCode: my.getAuthCode 
      }, {
      appId: '1234456789', // 小程序应用标识
      spaceId: 'db4dd657-7041-470a-90xxxxx', // 服务空间标识
      clientSecret: '6c3c86xxxx6', // 服务空间 secret key
      endpoint: 'https://endpoint', // 服务空间地址,从小程序Serverless控制台处获得
    });

    其中:

  3. 调用user.authorize方法完成授权。
    const res = await mpServerless.user.authorize({
      authProvider: 'alipay_openapi'
    });
    if (res.success) {
      console.log('授权成功');
    }

    其中:

    • authProvider:指定授权方,取值alipay_openapiwechat_openapi
    • authType:指定授权方式。取值anonymous表示通过匿名方式授权。
      说明
      • 如果同时指定了authProviderauthTypeauthType配置优先。
      • 如果将authType设置为anonymous,则不需要设置authProvider
      • 如果没有设置authType,则必须设置authProvider
      • 匿名授权获取的用户身份是一个临时身份,每次匿名授权得到的用户标识是随机不固定的,若需要获取固定用户标识,则需要通过三方授权获取。

在微信小程序中使用SDK

完成以下操作,在微信小程序中使用小程序云SDK:

  1. 单击这里下载SDK文件。
  2. 将下载后的mpserverless.js文件添加到小程序项目目录下,然后在app.js或其他需要的页面中引入SDK文件。
    //app.js
    const MPServerless = require('/sdk/mpserverless.js');
    
    const mpServerless = new MPServerless({
      uploadFile: wx.uploadFile,
      request: wx.request,
      getAuthCode: wx.login,
      getFileInfo: wx.getFileInfo,
      getImageInfo: wx.getImageInfo,
    }, {
      appId: 'appId', // 小程序应用标识
      spaceId: '', // 服务空间标识
      clientSecret: '', // 服务空间 secret key
      endpoint: '', // 服务空间地址,从小程序 serverless 控制台处获得
    });

    其中:

    • appId是小程序的ID。您可以在微信公众平台获取小程序的App ID。
    • spaceIdclientSecretendpoint在小程序Serverless控制台创建服务空间后可以获得。详情参见创建服务空间
  3. 调用user.authorize方法完成授权
    const res = await mpServerless.user.authorize({
      authProvider: 'wechat_openapi'
    });
    if (res.success) {
      console.log('授权成功');
    }

    其中:

    • authProvider:指定授权方,取值alipay_openapiwechat_openapi
    • authType:指定授权方式。取值anonymous表示通过匿名方式授权。
      说明
      • 如果同时指定了authProviderauthTypeauthType配置优先。
      • 如果将authType设置为anonymous,则不需要设置authProvider
      • 如果没有设置authType,则必须设置authProvider
      • 匿名授权获取的用户身份是一个临时身份,每次匿名授权得到的用户标识是随机不固定的,若需要获取固定用户标识,则需要通过三方授权获取。