阅读(2975) 赞(1)

支付宝小程序扩展能力 alipaydevSDK

2020-09-07 13:39:30 更新

SDK 引入

npm install alipay-dev --save
import alipaydev from 'alipay-dev'// 或者const alipaydev = require('alipay-dev')

初始化配置

alipaydev.setConfig({
  toolId: '',
  privateKey: '',
})

小程序预览

示例代码

const previewResult =  await alipaydev.miniPreview({
  project: '/code/mini/path',
  appId: '2019012963164448',
  page: 'page/shop/detail?id=10&from=name'})

入参

参数 必填 说明 默认值
project 是 本地项目地址 无
appId 是 小程序appId 无
page 否 落地页 无
launch 否 app.js 的 onLaunch 中取得 无
qrcodeFormat 否 返回二维码文件的格式。 terminal、base64、image image
qrcodeOutput 否 二维码文件保存路径 无

返回

属性 类型 说明
schema string 支付宝 schema 链接
qrcode string schema 对应的二维码

小程序上传

示例代码

const uploadResult = await alipaydev.miniUpload({
  project: '/code/mini/path',
  appId: '2019012963164448',
  clientType: 'alipay',
  experience: true,
  onProgressUpdate (info) {
    const { status, data } = info    console.log(status, data)
  }
})

入参

参数 必填 说明 默认值
project 是 项目目录 无
appId 是 小程序 appId 无
packageVersion 否 上传包版本 线上包版本自增 0.0.1
clientType 否 上传的终端。 支付宝:alipay,高德:amap alipay
experience 否 上传成功后,自动设置为体验版本, 该功能只针对小程序主账号生效 false
onProgressUpdate 否 上传过程中的回调 无

返回

属性 类型 说明
packages package[] 编译后的代码包信息
- package.name string 上传包名字
- package.type string 类型,整包,主包,分包
- package.size string 上传包尺寸,单位 KB
packageVersion string 上传包的版本
qrCodeUrl string 体验二维码在线地址

空间列表

示例代码

const result = await alipaydev.cloudSpaceList('2021001158675201')

入参

参数 必填 说明 默认值
appId 是 小程序 appId 无

返回

返回一个数组,每一项属性如下

属性 类型 说明
appWorkspaceId string 空间 ID
name string 空间名称
envStatus string 空间状态

指定空间下的云函数列表

示例代码

const result = await alipaydev.cloudFunctionList({
  appId: '2021001158675201',
  spaceId: '02664190-6841-4f50-980a-12121504a807'})

入参

参数 必填 说明 默认值
appId 是 小程序 appId 无
spaceId 是 服务空间 ID 无

返回

返回一个数组,每一项属性如下

属性 类型 说明
name string 云函数名称
desc string 云函数描述
createdAt string 创建时间
modifiedAt string 修改时间
timeout string 云函数超时时间

运行本地云函数

示例代码

const result = await alipaydev.invokeLocalFunction({
  appId: '20190666750666',
  spaceId: '1d98dd70-ceb5-4334-b958-85ff3c7aa8f4',
  project: '/server/functions',
  name: 'main',
  functionArgs: {
    x: 1,
    y: 1  },
})

入参

参数 必填 说明 默认值
appId 是 小程序 appId 无
spaceId 是 服务空间 ID 无
project 是 本地项目地址 无
name 是 云函数名 无
functionArgs 否 云函数参数 {}

返回

当前云函数自身的返回

上传云函数

示例代码

const result = await alipaydev.deployCloudFunction({
  appId: '2021001158675201',
  spaceId: '02664190-6841-4f50-980a-12121504a807',
  project: '/server/functions/demo'  name: 'demo'})

入参

参数 必填 说明 默认值
appId 是 小程序 appId 无
spaceId 是 服务空间 ID 无
project 是 本地项目地址 无
name 是 云函数名 无
desc 否 云函数描述 无

返回

属性 类型 说明
name string 云函数名称
deploymentId string 部署 ID

下载云函数

示例代码

const result = await alipaydev.downloadCloudFunction({
  appId: '2021001158675201',
  spaceId: '02664190-6841-4f50-980a-12121504a807',
  name: 'demo',
  path: '/server/functions/',
  unzip: true})

入参

参数 必填 说明 默认值
appId 是 小程序 appId 无
spaceId 是 服务空间 ID 无
name 是 云函数名 无
path 是 保存路径 无
unzip 否 下载后,是否自动解压 false

返回

属性 类型 说明
stat string 下载状态,stat 为 ok 代表成功
code string 错误码
message string 提示信息

密钥生成

示例代码

const { privatePem, publicPem } = await alipaydev.createKey({
  type: 'rsa2',
  scheme: 'pkcs8'})

入参

参数 必填 说明 默认值
type 否 密钥类型(rsa2/rsa) rsa2
scheme 否 密钥格式(pkcs8/pkcs1) pkcs8
pubPath 否 公钥保存地址 无
priPath 否 私钥保存地址 无

返回

属性 类型 说明
privatePem string 私钥
publicPem string 公钥

密钥匹配检测

示例代码

// true or falseconst success = await alipaydev.matchKey({
  privatePem: '',
  publicPem: ''})

入参

参数 必填 说明 默认值
privatePem 是 私钥 无
publicPem 是 公钥 无