douzi8 / lechebang

乐车邦h5文档
2 stars 1 forks source link

全局管理 #34

Open douzi8 opened 5 years ago

douzi8 commented 5 years ago

全局事件

douzi8 commented 4 years ago

简介

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

支持命令行和SDK方式引入

全局安装

tnpm install @alipay/dev -g

CLI命令

工具初始化配置

操作流程:

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

参数说明

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

【注意】:

  1. 第二步是配置工具“公钥”,第三步是本地设置“私钥”。
  2. 本地重新设置过私钥后,请同步设置第二步的步骤,保持公钥-私钥和工具ID配对。
  3. 您可通过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' 程序执行目录

demo下载

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 下载后保存路径

SDK引入

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 公钥

密钥匹配检测

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 二维码文件保存路径

返回

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

空间列表

demo

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

入参

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

返回

返回一个数组,每一项属性如下 属性 类型 说明
appWorkspaceId string 空间id
name string 空间名称
envStatus string 空间状态

指定空间下的云函数列表

demo

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 云函数超时时间

上传云函数

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 云函数描述

返回

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

下载云函数

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

返回

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

支付宝服务群

douzi8 commented 4 years ago

简介

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

支持命令行和SDK方式引入

全局安装

tnpm install @alipay/dev -g

CLI命令

工具初始化配置

操作流程:

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

参数说明

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

【注意】:

  1. 第二步是配置工具“公钥”,第三步是本地设置“私钥”。
  2. 本地重新设置过私钥后,请同步设置第二步的步骤,保持公钥-私钥和工具ID配对。
  3. 您可通过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' 程序执行目录

demo下载

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 下载后保存路径

SDK引入

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>;

支付宝服务群