经过无数次的尝试,终于还是让我做出来了
准备工作
设置接口加签方式
使用支付宝小程序订阅消息,首先要设置接口加签方式,需要下载支付宝开放平台密钥工具,按照步骤生成秘钥,然后按照支付宝设置密钥加签方式添加接口加签方式。
有一点需要注意的,因为要在云函数中使用,所以需要把私钥PKCS1格式
获取用户的userId
这个需要两步走
- 获取code,在前端js中使用
my.getAuthCode获取authCode,并传达给云函数getuid;
// #ifdef MP-ALIPAY
my.getAuthCode({scopes: 'auth_user',success: res => {const authCode = res.authCodeif (authCode) {uniCloud.callFunction({name: 'getuid',data: {code: authCode}})}},fail: err => {console.log('my.getAuthCode 调用失败', err)}
})
// #endif
- 通过
authCode获取userId,在cloudfunctions右键创建云函数getuid,这里需要alipay-sdksdk,进入云函数getuid,然后cmd按照就行npm install alipay-sdk --save,我又安装了moment,方便后面处理时间,创建private-key.pem文件,把刚才PKCS1格式私钥复制进去,结构如下
接下来配置sdk,尝试过const AlipaySdk = require('alipay-sdk').default,失败了,于是就有如下引入方式。
const AlipaySdk