Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
alipay-dev
Advanced tools
alipaydev 开发工具提供命令行方式进行开发,提高研发效率,提供小程序各种便捷工具。
支持命令行和SDK方式引入
npm install alipay-dev -g
可以通过 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 | |
密钥 | 密钥生成 | alipaydev key create |
密钥匹配检测 | alipaydev key match | |
密钥转换 | alipaydev key convert |
操作流程:
alipaydev key create -w
生成密钥(pkcs8 rsa2 格式)alipaydev key upload
自动打开浏览器配置页或直接前往“工具密钥设置” 页面进行工具公钥和IP白名单(可选)设置。将第一步生成的“公钥”在此页面配置,设置完成后系统会为您分配一个工具ID(toolId)alipaydev config set -i 工具ID
参数说明
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
-i, --tool-id | 是 | 工具id | 无 |
-k, --private-key | 否 | 工具私钥 | 无 |
以下所有命令,需要传入--app-id
和--space-id
, 都可以提前选定
# 可以切换当前操作的小程序
alipaydev mini list
# 可以切换当前操作的云服务空间
alipaydev cloud space list
# 查看工具的配置信息
alipaydev config list
示例
# 将 /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" | 无 |
--launch | 否 | app.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 | alipay |
-e, --experience | 否 | 上传成功后,自动设置为体验版本, 该功能只针对小程序主账号生效 | false |
示例
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 | 是 | 下载后保存路径 | 无 |
示例
# 在当前目录生成密钥文件,并在终端中打印。密钥类型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 |
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 false
const success = await alipaydev.matchKey({
privatePem: '',
publicPem: ''
})
参数 | 必填 | 说明 | 默认值 |
---|---|---|---|
privatePem | 是 | 私钥 | 无 |
publicPem | 是 | 公钥 | 无 |
FAQs
alipay-dev 品牌升级成miniu,详情信息可参考miniu官网.
The npm package alipay-dev receives a total of 2 weekly downloads. As such, alipay-dev popularity was classified as not popular.
We found that alipay-dev demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
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.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.