Open douzi8 opened 5 years ago
alipaydev 开发工具提供命令行方式进行开发,提高研发效率,提供小程序各种便捷工具。
支持命令行和SDK方式引入
tnpm install @alipay/dev -g
操作流程:
alipaydev key create
生成密钥(pkcs8 rsa2 格式)alipaydev key upload
自动打开浏览器配置页或直接前往“工具密钥设置” 页面进行工具公钥和IP白名单(可选)设置。将第一步生成的“公钥”在此页面配置,设置完成后系统会为您分配一个工具ID(toolId)alipaydev config set -i {工具id} -k {工具私钥}
参数说明
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
-i, --tool-id | 是 | 工具id | 无 |
-k, --private-key | 是 | 工具私钥 | 无 |
【注意】:
alipaydev config list
命令查看本地配置详情可以通过 alipaydev -h
查看所有命令帮助,并且每个命令可通过增加 -h 参数查看明细说明
分类 | 说明 | 命令 |
---|---|---|
小程序 | 小程序预览 | alipaydev mini preview |
demo下载 | alipaydev mini demo |
|
云开发 | 云服务空间列表 | alipaydev cloud space list |
空间下的云函数列表 | alipaydev cloud function list |
|
上传云函数 | alipaydev cloud function deploy |
|
下载云函数 | alipaydev cloud function download |
|
密钥 | 密钥生成 | alipaydev key create |
密钥匹配检测 | alipaydev key match |
|
密钥转换 | alipaydev key convert |
alipaydev mini preview
示例
# 将 /Users/workspace/Demos/todos 目录下的小程序源码上传预览,对应appId为20190666750666
alipaydev mini preview -p /Users/workspace/Demos/todos -i 20190666750666
# 默认启动页为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" | 无 |
--launch | 否 | app.js的onLaunch中取得, 如: "name=demo&fromId=11" | 无 |
-f, --qrcode-format | 否 | 返回二维码文件的格式, 如: 'terminal','base64','image' | image |
-o, --qrcode-output | 否 | 二维码文件保存路径,如: '/docuemnt/demo.png' | 程序执行目录 |
alipaydev mini demo
示例
alipaydev mini demo
alipaydev mini demo --path /Users/workspace/Demos
参数
参数 | 必填 | 说明 |
---|---|---|
-p, --path | 否 | 下载到指定目录 |
alipaydev key create
示例
# 在当前目录生成密钥文件,并在终端中打印。密钥类型RSA2,密钥格式PCKS8
alipaydev key create
# 在指定目录生成密钥文件,并在终端中打印
alipaydev key create -t rsa2 --pub-path=/Users/keys/public.txt --pri-path /Users/keys/private.txt
# 密钥生成帮助
alipaydev key -h
参数
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
-t, --type | 否 | 密钥类型(rsa2/rsa) | rsa2 |
-s, --scheme | 否 | 密钥格式(pkcs8/pkcs1) | pkcs8 |
--pub-path | 否 | 公钥保存地址 | 当前工作目录 |
--pri-path | 否 | 私钥保存地址 | 当前工作目录 |
无参数,打开浏览器后,上传本地生成的公钥
alipaydev key upload
alipaydev key match
示例
# 校验public.txt 和private.txt 中存放的公私钥是否成对匹配
alipaydev key match --pub-path=/Users/keys/public.txt --pri-path /Users/keys/private.txt
# 密钥匹配帮助
alipaydev key match -h
参数
参数 | 必填 | 说明 |
---|---|---|
--pub-path | 是 | 公钥地址 |
--pri-path | 是 | 私钥地址 |
alipaydev key convert
示例
# 将 private.txt中的私钥转换成pcks1格式
alipaydev key convert --pri-path /Users/keys/private.txt -s pkcs1
# 密钥转换帮助
alipaydev key convert
参数
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
--pri-path | 是 | 私钥地址 | 无 |
-s, --scheme | 否 | 密钥格式(pkcs8/pkcs1) | pkcs8 |
alipaydev cloud space list
示例
# 查看云服务空间列表,在终端显示云服务空间的名称以及云服务空间的 ID
alipaydev cloud space list -i 2021001107626425
# 云服务空间命令帮助
alipaydev cloud space -h
alipaydev cloud function list
示例
# 查询服务空间下的云函数列表
alipaydev cloud function list -i 2021001107626425 -s a97326fa-014b-4f9b-bc90-e4be2d776627
# 云函数列表命令帮助
alipaydev cloud function list -h
参数
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
-i, --app-id | 是 | 小程序appId | 无 |
-s, --space-id | 是 | 云服务空间ID | 无 |
alipaydev cloud function deploy
示例
# 上传云函数
alipaydev cloud function deploy -i 2021001107626425 -s a97326fa-014b-4f9b-bc90-e4be2d776627 -n getSum -p /xxx/yyy
# 上传云函数列表命令帮助
alipaydev cloud function deploy -h
参数
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
-i, --app-id | 是 | 小程序appId | 无 |
-s, --space-id | 是 | 云服务空间ID | 无 |
-n, --name | 是 | 云函数名 | 无 |
-p, --project | 是 | 云函数本地文件地址 | 无 |
alipaydev cloud function download
示例
# 上传云函数
alipaydev cloud function download -i 2021001107626425 -s a97326fa-014b-4f9b-bc90-e4be2d776627 -n getSum --path /a/b
# 上传云函数列表命令帮助
alipaydev cloud function download -h
参数
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
-i, --app-id | 是 | 小程序appId | 无 |
-s, --space-id | 是 | 云服务空间ID | 无 |
-n, --name | 是 | 云函数名 | 无 |
-p, --path | 是 | 下载后保存路径 | 无 |
npm install @alipay/dev --save
import alipaydev from '@alipay/dev'
// 或者
const alipaydev = require('@alipay/dev')
alipaydev.setConfig({
toolId: '',
privateKey: '',
})
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 false
const success = await alipaydev.matchKey({
privatePem: '',
publicPem: ''
})
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
privatePem | 是 | 私钥 | 无 |
publicPem | 是 | 公钥 | 无 |
const {
schema,
qrcode
} = await alipaydev.miniPreview({
project: '/Users/nuge.lw/Documents/code/mp/qiang/dist/my/client',
appId: '2021001158675201'
})
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
project | 是 | 本地项目地址 | 无 |
appId | 是 | 小程序appId | 无 |
page | 否 | 落地页 | 无 |
launch | 否 | app.js的onLaunch中取得 | 无 |
qrcodeFormat | 否 | 返回二维码文件的格式(terminal/base64/image) | image |
qrcodeOutput | 否 | 二维码文件保存路径 | 无 |
属性 | 类型 | 说明 |
---|---|---|
schema | string | 支付宝schema链接 |
qrcode | string | schema对应的二维码 |
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.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.deployCloudFunction({
appId: '2021001158675201',
spaceId: '02664190-6841-4f50-980a-12121504a807',
project: '/server/functions/demo'
name: 'demo',
})
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
appId | 是 | 小程序appId | 无 |
spaceId | 是 | 服务空间ID | 无 |
name | 是 | 云函数名 | 无 |
path | 是 | 保存路径 | 无 |
unzip | 是 | 下载后,是否自动解压 | false |
属性 | 类型 | 说明 |
---|---|---|
stat | string | 下载状态, stat为ok代表成功 |
code | string | 错误码 |
message | string | 提示信息 |
alipaydev 开发工具提供命令行方式进行开发,提高研发效率,提供小程序各种便捷工具。
支持命令行和SDK方式引入
tnpm install @alipay/dev -g
操作流程:
alipaydev key create
生成密钥(pkcs8 rsa2 格式)alipaydev key upload
自动打开浏览器配置页或直接前往“工具密钥设置” 页面进行工具公钥和IP白名单(可选)设置。将第一步生成的“公钥”在此页面配置,设置完成后系统会为您分配一个工具ID(toolId)alipaydev config set -i {工具id} -k {工具私钥}
参数说明
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
-i, --tool-id | 是 | 工具id | 无 |
-k, --private-key | 是 | 工具私钥 | 无 |
【注意】:
alipaydev config list
命令查看本地配置详情可以通过 alipaydev -h
查看所有命令帮助,并且每个命令可通过增加 -h 参数查看明细说明
分类 | 说明 | 命令 |
---|---|---|
小程序 | 小程序预览 | alipaydev mini preview |
demo下载 | alipaydev mini demo |
|
云开发 | 云服务空间列表 | alipaydev cloud space list |
空间下的云函数列表 | alipaydev cloud function list |
|
上传云函数 | alipaydev cloud function deploy |
|
下载云函数 | alipaydev cloud function download |
|
密钥 | 密钥生成 | alipaydev key create |
密钥匹配检测 | alipaydev key match |
|
密钥转换 | alipaydev key convert |
alipaydev mini preview
示例
# 将 /Users/workspace/Demos/todos 目录下的小程序源码上传预览,对应appId为20190666750666
alipaydev mini preview -p /Users/workspace/Demos/todos -i 20190666750666
# 默认启动页为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" | 无 |
--launch | 否 | app.js的onLaunch中取得, 如: "name=demo&fromId=11" | 无 |
-f, --qrcode-format | 否 | 返回二维码文件的格式, 如: 'terminal','base64','image' | image |
-o, --qrcode-output | 否 | 二维码文件保存路径,如: '/docuemnt/demo.png' | 程序执行目录 |
alipaydev mini demo
示例
alipaydev mini demo
alipaydev mini demo --path /Users/workspace/Demos
参数
参数 | 必填 | 说明 |
---|---|---|
-p, --path | 否 | 下载到指定目录 |
alipaydev key create
示例
# 在当前目录生成密钥文件,并在终端中打印。密钥类型RSA2,密钥格式PCKS8
alipaydev key create
# 在指定目录生成密钥文件,并在终端中打印
alipaydev key create -t rsa2 --pub-path=/Users/keys/public.txt --pri-path /Users/keys/private.txt
# 密钥生成帮助
alipaydev key -h
参数
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
-t, --type | 否 | 密钥类型(rsa2/rsa) | rsa2 |
-s, --scheme | 否 | 密钥格式(pkcs8/pkcs1) | pkcs8 |
--pub-path | 否 | 公钥保存地址 | 当前工作目录 |
--pri-path | 否 | 私钥保存地址 | 当前工作目录 |
无参数,打开浏览器后,上传本地生成的公钥
alipaydev key upload
alipaydev key match
示例
# 校验public.txt 和private.txt 中存放的公私钥是否成对匹配
alipaydev key match --pub-path=/Users/keys/public.txt --pri-path /Users/keys/private.txt
# 密钥匹配帮助
alipaydev key match -h
参数
参数 | 必填 | 说明 |
---|---|---|
--pub-path | 是 | 公钥地址 |
--pri-path | 是 | 私钥地址 |
alipaydev key convert
示例
# 将 private.txt中的私钥转换成pcks1格式
alipaydev key convert --pri-path /Users/keys/private.txt -s pkcs1
# 密钥转换帮助
alipaydev key convert
参数
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
--pri-path | 是 | 私钥地址 | 无 |
-s, --scheme | 否 | 密钥格式(pkcs8/pkcs1) | pkcs8 |
alipaydev cloud space list
示例
# 查看云服务空间列表,在终端显示云服务空间的名称以及云服务空间的 ID
alipaydev cloud space list -i 2021001107626425
# 云服务空间命令帮助
alipaydev cloud space -h
alipaydev cloud function list
示例
# 查询服务空间下的云函数列表
alipaydev cloud function list -i 2021001107626425 -s a97326fa-014b-4f9b-bc90-e4be2d776627
# 云函数列表命令帮助
alipaydev cloud function list -h
参数
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
-i, --app-id | 是 | 小程序appId | 无 |
-s, --space-id | 是 | 云服务空间ID | 无 |
alipaydev cloud function deploy
示例
# 上传云函数
alipaydev cloud function deploy -i 2021001107626425 -s a97326fa-014b-4f9b-bc90-e4be2d776627 -n getSum -p /xxx/yyy
# 上传云函数列表命令帮助
alipaydev cloud function deploy -h
参数
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
-i, --app-id | 是 | 小程序appId | 无 |
-s, --space-id | 是 | 云服务空间ID | 无 |
-n, --name | 是 | 云函数名 | 无 |
-p, --project | 是 | 云函数本地文件地址 | 无 |
alipaydev cloud function download
示例
# 上传云函数
alipaydev cloud function download -i 2021001107626425 -s a97326fa-014b-4f9b-bc90-e4be2d776627 -n getSum --path /a/b
# 上传云函数列表命令帮助
alipaydev cloud function download -h
参数
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
-i, --app-id | 是 | 小程序appId | 无 |
-s, --space-id | 是 | 云服务空间ID | 无 |
-n, --name | 是 | 云函数名 | 无 |
-p, --path | 是 | 下载后保存路径 | 无 |
npm install @alipay/dev --save
import alipaydev from '@alipay/dev'
// 或者
const alipaydev = require('@alipay/dev')
alipaydev.setConfig({
toolId: '',
privateKey: '',
})
demo
const { privatePem, publicPem } = await alipaydev.createKey({
type: 'rsa2',
scheme: 'pkcs8'
})
入参 |
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|---|
type | 否 | 密钥类型(rsa2/rsa) | rsa2 | |
scheme | 否 | 密钥格式(pkcs8/pkcs1) | pkcs8 | |
pubPath | 否 | 公钥保存地址 | 无 | |
priPath | 否 | 私钥保存地址 | 无 |
返回 |
属性 | 类型 | 说明 |
---|---|---|---|
privatePem | string | 私钥 | |
publicPem | string | 公钥 |
export interface CreateKeyResult {
/**
* 私钥
*/
privatePem: string;
/**
* 公钥
*/
publicPem: string;
}
demo
// true or false
const success = await alipaydev.matchKey({
privatePem: '',
publicPem: ''
})
入参 |
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|---|
--privatePem | 是 | 私钥 | 无 | |
--publicPem | 是 | 公钥 | 无 |
demo
const {
schema,
qrcode
} = await alipaydev.miniPreview({
project: '/Users/nuge.lw/Documents/code/mp/qiang/dist/my/client',
appId: '2021001158675201'
})
入参 |
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|---|
--project | 是 | 本地项目地址 | 无 | |
--appId | 是 | 小程序appId | 无 | |
--page | 否 | 落地页 | 无 | |
--launch | 否 | app.js的onLaunch中取得 | 无 | |
--qrcodeFormat | 否 | 返回二维码文件的格式(terminal/base64/image) | image | |
--qrcodeOutput | 否 | 二维码文件保存路径 | 无 |
返回
export interface PreviewResult {
/**
* 支付宝schema链接
*/
schema: string;
/**
* schema对应的二维码
*/
qrcode: string;
}
demo
const result = await alipaydev.cloudSpaceList('2021001158675201')
入参 |
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|---|
--appWorkspaceId | 是 | 空间id | 无 | |
--name | 是 | 空间名称 | 无 | |
--envStatus | 是 | 空间状态 | 无 |
返回
/**
* 获取云环境列表
* @param appId 小程序appId
*/
export declare function cloudSpaceList(appId: string): Promise<CloudSpaceListResult[]>;
demo
const result = await alipaydev.cloudFunctionList({
appId: '2021001158675201',
spaceId: '02664190-6841-4f50-980a-12121504a807'
})
入参 |
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|---|
--appId | 是 | 小程序appId | 无 | |
--spaceId | 是 | 服务空间ID | 无 |
返回
export interface CloudFuntionData {
/**
* 云函数名称
*/
name: string;
/**
* 云函数描述
*/
desc: string;
/**
* 创建时间
*/
createdAt: string;
/**
* 修改时间
*/
modifiedAt: string;
/**
* 云函数超时时间
*/
timeout: string;
}
export declare function cloudFunctionList(options: CloudFunctionListOptions): Promise<CloudFuntionData[]>;
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 | 否 | 云函数描述 | 无 |
返回
export interface DeployCloudFunctionResult {
/**
* 云函数名称
*/
name: string;
/**
* 部署id
*/
deploymentId: string;
}
export declare function deployCloudFunction(options: DeployCloudFunctionOptions): Promise<DeployCloudFunctionResult>;
demo
const result = await alipaydev.deployCloudFunction({
appId: '2021001158675201',
spaceId: '02664190-6841-4f50-980a-12121504a807',
project: '/server/functions/demo'
name: 'demo',
})
入参 |
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|---|
--appId | 是 | 小程序appId | 无 | |
--spaceId | 是 | 服务空间ID | 无 | |
--name | 是 | 云函数名 | 无 | |
--path | 是 | 保存路径 | 无 | |
--unzip | 是 | 下载后,是否自动解压 | false |
返回
export interface DownloadResult {
/**
* 下载状态, stat为ok代表成功
*/
stat: string;
/**
* 错误码
*/
code: string;
/**
* 提示信息
*/
message: string;
}
export declare function downloadCloudFunction(options: DownloadCloudFunctionOptions): Promise<DownloadResult>;
全局事件