Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

alipay-dev

Package Overview
Dependencies
Maintainers
1
Versions
33
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

alipay-dev

支付宝开放平台命令工具箱,提供小程序开发过程中的各种便捷工具

  • 0.4.21
  • npm
  • Socket score

Version published
Weekly downloads
2
decreased by-94.44%
Maintainers
1
Weekly downloads
 
Created
Source

简介

alipaydev 开发工具提供命令行方式进行开发,提高研发效率,提供小程序各种便捷工具。

支持命令行和SDK方式引入

全局安装

npm install alipay-dev -g

CLI命令

命令索引

可以通过 alipaydev -h 查看所有命令帮助,并且每个命令可通过增加 -h 参数查看明细说明

分类说明命令
配置工具初始化配置alipaydev config set
展示工具配置信息alipaydev config list
小程序小程序列表alipaydev mini list
小程序预览alipaydev mini preview
小程序上传alipaydev mini upload
demo下载alipaydev mini demo
云开发云服务空间列表alipaydev cloud space list
空间下的云函数列表alipaydev cloud function list
启动本地云函数运行环境alipaydev cloud function dev
上传云函数alipaydev cloud function deploy
下载云函数alipaydev cloud function download
http触发器alipaydev cloud function http
密钥密钥生成alipaydev key create
密钥匹配检测alipaydev key match
密钥转换alipaydev key convert

在线视频演示

  • 工具初始化配置
  • 小程序预览
  • 小程序上传
  • Serverless云函数本地调试

支付宝服务群

工具初始化配置

操作流程:

  1. 运行alipaydev key create -w生成密钥(pkcs8 rsa2 格式)
  2. 运行alipaydev key upload自动打开浏览器配置页或直接前往“工具密钥设置” 页面进行工具公钥和IP白名单(可选)设置。将第一步生成的“公钥”在此页面配置,设置完成后系统会为您分配一个工具ID(toolId)
  3. 工具密钥设置页面配置完成后,运行配置命令,设置第二步系统分配的工具Id(toolId)
alipaydev config set -i 工具ID

参数说明

参数必填说明默认值
-i, --tool-id工具id
-k, --private-key工具私钥
--proxy代理地址

appId和spaceId切换

以下所有命令,需要传入--app-id--space-id, 都可以提前选定

# 可以切换当前操作的小程序
alipaydev mini list

# 可以切换当前操作的云服务空间
alipaydev cloud space list

# 查看工具的配置信息
alipaydev config list

小程序相关

以下命令都支持普通小程序小程序插件

https代理

使用superagent-proxy代理服务,默认服务地址: https://ideservice.alipay.com

# 将所有服务代理到指定地址
alipaydev config set --proxy http://127.0.0.1

小程序预览

示例

# 将 /Users/workspace/Demos/todos 目录下的小程序源码上传预览
alipaydev mini preview -p /Users/workspace/Demos/todos

# 默认启动页为pages/index/index,参数q=v&id=33,小程序launch参数为name=demo&fromId=11
alipaydev mini preview -p /Users/workspace/Demos/todos -i 20190666750666 --page 'pages/index/index?q=v&id=33' --launch 'name=demo&fromId=11'

CLI参数

参数必填说明默认值
-p, --project项目目录
-i, --app-id小程序appId
--page落地页面, 如:"pages/index/index?q=v&id=33"
--launchapp.js的onLaunch中取得, 如: "name=demo&fromId=11"
-f, --qrcode-format返回二维码文件的格式, 如: 'terminal','base64','image'image
-o, --qrcode-output二维码文件保存路径,如: '/docuemnt/demo.png'程序执行目录

小程序上传

示例

alipaydev mini upload -p /Users/workspace/Demos
参数必填说明默认值
-p, --project项目目录
-i, --app-id小程序appId
-v, --version上传包版本线上包版本自增0.0.1
-c, --client-type上传的终端。 支付宝: alipay; 高德: amap; UC: com.uc.app; 夸克: com.quark.browser; 阿里医院: com.alibaba.health; 口碑独立客户端: com.koubei.mobile.KoubeiClient;alipay
-e, --experience上传成功后,自动设置为体验版本, 该功能只针对小程序主账号生效false

demo下载

示例

alipaydev mini demo

参数

参数必填说明
-p, --path下载到指定目录

云开发相关

查看云服务空间列表

示例

# 查看云服务空间列表,在终端显示云服务空间的名称以及云服务空间的 ID
alipaydev cloud space list -i 2021001107626425

查看云函数列表

示例

# 查询服务空间下的云函数列表
alipaydev cloud function list

参数

参数必填说明默认值
-i, --app-id小程序appId
-s, --space-id云服务空间ID

启动本地调试服务

alipaydev cloud function dev -p /server/functions --inspect
参数必填说明默认值
-i, --app-id小程序appId
-p, --project云函数根目录
--port服务启动端口3636
--inspect启动chrome调试器false

上传云函数

示例

# 上传云函数根目录下名为 getSum 的云函数
alipaydev cloud function deploy -n getSum -p /server/functions
# 上传云函数根目录下名为 aaa bbb的云函数
alipaydev cloud function deploy -n aaa bbb -p /server/functions

参数

参数必填说明默认值
-i, --app-id小程序appId
-s, --space-id云服务空间ID
-n, --name云函数名称,多个云函数则以空格分隔
-p, --project云函数本地文件地址

下载云函数

示例

# 下载云函数 main到 /server/functions目录下面
alipaydev cloud function download  -n main --path /server/functions

参数

参数必填说明默认值
-i, --app-id小程序appId
-s, --space-id云服务空间ID
-n, --name云函数名
-p, --path下载后保存路径

云函数HTTP触发

示例

# 开启todo云函数的HTTP触发
alipaydev cloud function http --enable -n todo -p /http/todo

# 关闭todo云函数的HTTP触发
alipaydev cloud function http --no-enable -n todo

参数

参数必填说明默认值
-i, --app-id小程序appId
-s, --space-id云服务空间ID
-n, --name云函数名
-p, --path云函数HTTP触发路径,须以/http开头
--enable开启HTTP触发功能true
--no-enable关闭HTTP触发功能

密钥相关

密钥生成

示例

# 在当前目录生成密钥文件,并在终端中打印。密钥类型RSA2,密钥格式PCKS8
alipaydev key create

参数

参数必填说明默认值
-t, --type密钥类型(rsa2/rsa)rsa2
-s, --scheme密钥格式(pkcs8/pkcs1)pkcs8
--pub-path公钥保存地址当前工作目录
--pri-path私钥保存地址当前工作目录

工具密钥上传

示例

alipaydev key upload

密钥匹配检测

示例

# 校验public.txt 和private.txt 中存放的公私钥是否成对匹配
alipaydev key match --pub-path /Users/keys/public.txt   --pri-path /Users/keys/private.txt

参数

参数必填说明
--pub-path公钥地址
--pri-path私钥地址

密钥转换

示例

# 将 private.txt中的私钥转换成pcks1格式
alipaydev key convert --pri-path /Users/keys/private.txt -s pkcs1

参数

参数必填说明默认值
--pri-path私钥地址
-s, --scheme密钥格式(pkcs8/pkcs1)pkcs8

SDK引入

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

初始化配置

alipaydev.setConfig({
  toolId: '',
  privateKey: '',
  // 服务代理地址
  // proxy: 'http://127.0.0.1'
})

小程序列表

demo
const miniList = await alipaydev.miniAppList()
入参

返回

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

属性类型说明
appIdstring小程序appId
appNamestring小程序名称
logoUrlstring小程序logo
subApplicationTypestring程序类型: TINYAPP_NORMAL, TINYAPP_PLUGIN, TINYAPP_TEMPLATE

小程序预览

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

    console.log(status, data)
  }
})
入参
参数必填说明默认值
project本地项目地址
appId小程序appId
page落地页
launchapp.js的onLaunch中取得
qrcodeFormat返回二维码文件的格式。 'terminal', 'base64', 'image'image
qrcodeOutput二维码文件保存路径
onProgressUpdate上传过程中的回调
返回
属性类型说明
subApplicationTypestring程序类型: TINYAPP_NORMAL, TINYAPP_PLUGIN, TINYAPP_TEMPLATE
schemastring支付宝schema链接
qrcodestringschema对应的二维码

获取最近的上传版本号

demo
// 上传版本字符串
const uploadLastVersion = await alipaydev.getUploadVersion({
  appId: '2019012963164448',
  clientType: 'alipay',
})

小程序上传

demo
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,高德: amapalipay
experience上传成功后,自动设置为体验版本, 该功能只针对小程序主账号生效false
onProgressUpdate上传过程中的回调
返回
属性类型说明
subApplicationTypestring程序类型: TINYAPP_NORMAL, TINYAPP_PLUGIN, TINYAPP_TEMPLATE
packagespackage[]编译后的代码包信息
- package.namestring上传包名字
- package.typestring类型,整包,主包,分包
- package.sizestring上传包尺寸,单位KB
packageVersionstring上传包的版本
qrCodeUrlstring体验二维码在线地址

空间列表

demo
const result = await alipaydev.cloudSpaceList('2021001158675201')
入参
参数必填说明默认值
appId小程序appId
返回

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

属性类型说明
appWorkspaceIdstring空间id
namestring空间名称
envStatusstring空间状态

指定空间下的云函数列表

demo
const result = await alipaydev.cloudFunctionList({
  appId: '2021001158675201',
  spaceId: '02664190-6841-4f50-980a-12121504a807'
})
入参
参数必填说明默认值
appId小程序appId
spaceId服务空间ID
返回

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

属性类型说明
namestring云函数名称
descstring云函数描述
createdAtstring创建时间
modifiedAtstring修改时间
timeoutstring云函数超时时间

运行本地云函数

demo
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云函数参数{}
返回

本地云函数运行的结果

上传云函数

demo
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云函数描述
返回
属性类型说明
namestring云函数名称
deploymentIdstring部署id

下载云函数

demo
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
返回
属性类型说明
statstring下载状态, stat为ok代表成功
codestring错误码
messagestring提示信息

云函数http触发器

demo
const result = await alipaydev.updateFunctionHttpTrigger({
  appId: '2021001158675201',
  spaceId: '02664190-6841-4f50-980a-12121504a807',
  name: 'todo',
  httpTriggerPath: '/http/todo',
  enable: true
})

密钥生成

demo
const { privatePem, publicPem } = await alipaydev.createKey({
  type: 'rsa2',
  scheme: 'pkcs8'
})
入参
参数必填说明默认值
type密钥类型(rsa2/rsa)rsa2
scheme密钥格式(pkcs8/pkcs1)pkcs8
pubPath公钥保存地址
priPath私钥保存地址
返回
属性类型说明
privatePemstring私钥
publicPemstring公钥

密钥匹配检测

demo
// true or false
const success = await alipaydev.matchKey({
  privatePem: '',
  publicPem: ''
})
入参
参数必填说明默认值
privatePem私钥
publicPem公钥

Keywords

FAQs

Package last updated on 23 Oct 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc