通过小程序云SDK,您可以在小程序中直接访问小程序云Serverless服务。2.3版本支付宝小程序修改为静默授权。

前提条件

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

在支付宝小程序中使用SDK

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

  1. 在支付宝小程序项目的根目录执行以下命令安装SDK。
    npm install @alicloud/mpserverless-sdk@2.3.2 --save
  2. 在小程序项目中添加以下代码,初始化SDK。
    import MPServerless from '@alicloud/mpserverless-sdk';
    
    const mpServerless = new MPServerless({
      uploadFile: my.uploadFile,
      request: my.request, 
      getAuthCode: my.getAuthCode,
      getFileInfo: my.getFileInfo,
      getImageInfo: my.getImageInfo
      }, {
      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('授权成功');
    }

    其中:

    说明
    • 如果同时指定了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('授权成功');
    }

    其中:

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

在钉钉小程序中使用SDK

完成以下操作,在第三方个人应用的钉钉小程序中使用小程序云SDK:

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

    其中:

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

    其中:

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