经过无数次的尝试,终于还是让我做出来了
准备工作
设置接口加签方式
使用支付宝小程序订阅消息,首先要设置接口加签方式
,需要下载支付宝开放平台密钥工具,按照步骤生成秘钥,然后按照支付宝设置密钥加签方式添加接口加签方式
。
有一点需要注意的,因为要在云函数中使用,所以需要把私钥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-sdk
sdk,进入云函数getuid
,然后cmd按照就行npm install alipay-sdk --save
,我又安装了moment
,方便后面处理时间,创建private-key.pem文件,把刚才PKCS1
格式私钥复制进去,结构如下
接下来配置sdk,尝试过const AlipaySdk = require('alipay-sdk').default
,失败了,于是就有如下引入方式。
const AlipaySdk