云调用使用
云调用是基于小程序 Serverless 的云函数来使用支付宝小程序开放接口的能力,可以方便的让开发者在小程序中直接调用支付宝的后端开放接口,不需要关注服务端的相关配置,极大的减少了接入的流程,进一步降低了支付宝小程序的开发门槛。
目前云调用涵盖了支付宝开放的基础能力、营销能力、会员能力、支付能力、安全能力,以及阿里云开放的短信能力。云调用的资金能力也将在近期开放。
步骤一:开通云调用功能
完成以下操作,在小程序云控制台开通云调用功能:
1.打开小程序云控制台。
2.在导航栏选择 扩展能力。
3.在扩展能力页面,单击立即开通。
4.单击前往 RAM 进行授权,然后单击同意授权允许小程序访问函数计算服务。
- 返回扩展能力页面,查看开通状态。
步骤二:安装并初始化SDK
1.在小程序项目的根目录执行以下命令安装 SDK。
npm install @alicloud/mpserverless-sdk --save
npm install alipay-serverless-sdk --save
2.在 app.js 中初始化云调用 SDK(全局只需初始化一次)。
// 1. 引入必要的 sdk
import MPServerless from '@alicloud/mpserverless-sdk';
import cloud from 'alipay-serverless-sdk';
// 2. 在 app.js 中对 sdk 进行初始化
// 2.1 初始化 MPServerless
my.serverless = my.serverless || new MPServerless({
uploadFile: my.uploadFile,
request: my.request,
getAuthCode: my.getAuthCode,
}, {
// 2.2 参数能在小程序云服务空间详情中获取
appId: '',
spaceId: '',
clientSecret: '',
endpoint: ''
});
// 2.3 初始化 alipay-serverless-sdk
cloud.init(my.serverless);
其中:
• appId 是小程序的 ID。您可以在支付宝小程序控制台获得。
• spaceId、clientSecret 和 endpoint 在小程序 Serverless 控制台创建服务空间后可以获得。
3.在想要使用 SDK 的页面导入 alipay-serverless-sdk 即可使用。
// 比如在 page.js导入alipay-serverless-sdk
import cloud from 'alipay-serverless-sdk';
//调用对应能力的API
const res = await cloud.base.qrcode.create(urlParam, queryParam, describe);
更多云调用支持的开放能力见 https://opendocs.alipay.com/mini/cloudservice/khf843
同时我们提供了调用支付宝开放能力的通用云调用接口,满足你的开发需要。
var exchangeUseParams = new Object({
user_id: 2088xxxxxx',
voucher_id: '2020132xxxxxxx',
out_biz_no: 'xxxxxx'
});
const res = await cloud.util.generic.execute('alipay.marketing.exchangevoucher.use',
exchangeUseParams);
今日作业
在小程序端通过云调用的方式,为你的小程序首页生成一个二维码。