通过小程序云SDK,您可以在小程序中直接访问小程序云Serverless服务。2.3版本支付宝小程序修改为静默授权。
前提条件
在首次使用小程序云服务前,您需要开通小程序云服务。详细信息,请参见
开通小程序云服务。
在支付宝小程序中使用SDK
完成以下操作,在支付宝小程序中使用SDK:
- 在支付宝小程序项目的根目录执行以下命令安装SDK。
npm install @alicloud/mpserverless-sdk@2.3.2 --save
- 在小程序项目中添加以下代码,初始化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控制台处获得
});
其中:
- appId是小程序的ID。您可以在支付宝小程序开放平台获取小程序的App ID。
- spaceId、clientSecret和endpoint在小程序Serverless控制台创建服务空间后可以获得。详情参见创建服务空间。
- 调用user.authorize方法完成授权。
const res = await mpServerless.user.authorize({
authProvider: 'alipay_openapi'
});
if (res.success) {
console.log('授权成功');
}
其中:
说明
- 如果同时指定了authProvider和authType,authType配置优先。
- 如果将authType设置为anonymous,则不需要设置authProvider。
- 如果没有设置authType,则必须设置authProvider。
- 匿名授权获取的用户身份是一个临时身份,每次匿名授权得到的用户标识是随机不固定的,若需要获取固定用户标识,则需要通过三方授权获取。
在微信小程序中使用SDK
完成以下操作,在微信小程序中使用小程序云SDK:
- 在微信小程序项目的根目录执行以下命令安装SDK文件。
npm install @alicloud/mpserverless-sdk@2.3 --save
- 在app.js或其他需要的页面中引入SDK文件。
//app.js
const MPServerless = require('/sdk/mpserverless.js');
const MPServerless = require('@alicloud/mpserverless-sdk');
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。
- spaceId、clientSecret和endpoint在小程序Serverless控制台创建服务空间后可以获得。详情参见创建服务空间。
- 调用user.authorize方法完成授权
const res = await mpServerless.user.authorize({
authProvider: 'wechat_openapi'
});
if (res.success) {
console.log('授权成功');
}
其中:
说明
- 如果同时指定了authProvider和authType,authType配置优先。
- 如果将authType设置为anonymous,则不需要设置authProvider。
- 如果没有设置authType,则必须设置authProvider。
- 匿名授权获取的用户身份是一个临时身份,每次匿名授权得到的用户标识是随机不固定的,若需要获取固定用户标识,则需要通过三方授权获取。
在钉钉小程序中使用SDK
完成以下操作,在第三方个人应用的钉钉小程序中使用小程序云SDK:
- 在钉钉小程序项目的根目录执行以下命令安装SDK。
npm install @alicloud/dt-mpserverless-sdk@0.0.2 --save
- 在小程序项目中添加以下代码,初始化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。
- spaceId、clientSecret和endpoint在小程序Serverless控制台创建服务空间后可以获得。详情参见创建服务空间。
- 调用user.authorize方法完成授权。
const res = await mpServerless.user.authorize({
authProvider: 'dingtalk_openapi'
});
if (res.success) {
console.log('授权成功');
}
其中:
说明
- 如果同时指定了authProvider和authType,authType配置优先。
- 如果将authType设置为anonymous,则不需要设置authProvider。
- 如果没有设置authType,则必须设置authProvider。
- 匿名授权获取的用户身份是一个临时身份,每次匿名授权得到的用户标识是随机不固定的,若需要获取固定用户标识,则需要通过三方授权获取。