aj

aj命令

1. 基本使用

aj命令的专用语法如下:

aj <command> [options1|options2|options3...]

2. 命令列表

命令执行 含义
aj perm 生成某个角色的权限专用Excel数据文件
aj rs 为某个接口直接生成系统所需的权限文件,只针对超级管理员(key = e501b47a-c08b-4c83-b12b-95ad82873e96),
若存在其他额外角色可以继续使用命令 aj perm 从超级管理员中拷贝。
aj plugin 「工程命令」生成第三方插件专用初始化命令,可为某个 Maven 插件实现初始化流程,包括代码生成。
aj mod 模块化专用命令,根据当前环境中的 路由规划器模块规划器 自动化重写模块化专用配置文件。
aj init 「工程命令」根据后端脚手架初始化Zero后端工程命令。
aj bundle OSGI目录初始化专用命令,可以为某个 OSGI 的 Bundle 按相关规范生成目录结构。

Methods

(static) bundle()

aj bundle

1. 命令

aj bundle -p <path>
短参 全参 类型 默认 含义
-p --path String 生成目录规范的主目录。

2. 介绍

使用该命令生成一个 OSGI Bundle 专用的目录结构

3. 执行

ai bundle -p <path>

[Zero AI] Zero Ecotope AI工具项  : <专用工具>
[Zero AI] HomePage   : http://www.vertxai.cn
[Zero AI] Github     : https://github.com/silentbalanceyh/vertx-ai.git
[Zero AI] Version    : 0.3.25  「确认您的Node版本 ( >= 18.x ) 支持ES6, ES7.」
[Zero AI] AI 系统启动......
[Zero AI] Zero AI 加载输入参数:
{
    "path": "."
}
[Zero AI] Bundle规范目录创建:.
[Zero AI] 即将拷贝说明文件:
[Zero AI] (Async)成功将数据写入到文件:./specification.txt!

(static) init()

aj init

1. 命令

aj init -name <name>
短参 全参 类型 默认 含义
-n --name String (无) 项目名称以及目录名称。

2. 介绍

zero-scaffold项目脚手架初始化专用命令。

3. 执行

aj init -name test-demo-api
[Zero AI] Zero AI 代码生成工具  : <标准工具>
[Zero AI] HomePage   : http://www.vertxai.cn
[Zero AI] Github     : https://github.com/silentbalanceyh/vertx-ai.git
[Zero AI] Version    : 0.3.2  「确认您的Node版本 ( >= 14.x ) 支持ES6, ES7.」
[Zero AI] Zero AI 系统启动......
[Zero AI] Zero AI 加载输入参数:
{
        "name": "test-demo-api"
}
[Zero AI] 工程构建目录:test-demo-api
Cloning into 'test-demo-api'...
remote: Enumerating objects: 949, done.
remote: Counting objects: 100% (949/949), done.
remote: Compressing objects: 100% (176/176), done.
remote: Total 949 (delta 719), reused 944 (delta 717), pack-reused 0
Receiving objects: 100% (949/949), 1.21 MiB | 1.73 MiB/s, done.
Resolving deltas: 100% (719/719), done.
[Zero AI] 执行工程初始化:test-demo-api
[Zero AI] 工程初始化完成:test-demo-api,您可以开始您的Zero Api之行了!

(static) mod()

aj mod

1. 命令

aj mod -p <path> -e <extension> -w <write>
短参 全参 类型 默认 含义
-p --path String 模块化OOB数据专用目录。
-e --extension String .xlsx 模块化OOB数据专用文件后缀。
-w --write String REPLACE 写入模式,REPLACE为替换,APPEND为追加。

2. 介绍

此命令为 zero-battery 量身打造的命令,用于自动化生成 initialize.json 文件专用,此文件为模块化连接文件。

3. 执行

aj mod -p src/main/resources/plugin/norm/oob
[Zero AI] Zero Ecotope AI工具项  : <专用工具>
[Zero AI] HomePage   : http://www.vertxai.cn
[Zero AI] Github     : https://github.com/silentbalanceyh/vertx-ai.git
[Zero AI] Version    : 0.3.27  「确认您的Node版本 ( >= 18.x ) 支持ES6, ES7.」
[Zero AI] AI 系统启动......
[Zero AI] Zero AI 加载输入参数:
{
    "path": "src/main/resources/plugin/norm/oob",
    "extension": ".xlsx",
    "write": "REPLACE"
}
[Zero AI] Zero AI  检索模块目录构造配置信息。
[Zero AI] (Sync)成功将数据写入到文件:/Users/.../ox-norm/src/main/resources/plugin/norm/oob/initialize.json!

(static) perm()

aj perm

1. 命令

aj perm -r <role> -i <input>
短参 全参 类型 默认 含义
-r --role String 系统中角色的UUID。
-i --input String 另外一个目录,用来合并新权限。

2. 介绍

使用该命令生成某个角色的专用权限文件目录(内置所有Zero Extension标准权限),此命令会直接从单个角色中拷贝

3. 执行

ai perm -r ccc -i input

[Zero AI] Zero AI  1. 准备生成角色对应权限:ID = "ccc" ...
[Zero AI] Zero AI  2. 生成 Zero Extension 权限...

(static) plugin()

aj plugin

1. 命令

aj plugin -m pbc
短参 全参 类型 默认 含义
-p --path String 根据传入路径设置,如果是.则是当前目录,如果不传则从workspace.json中读取。
-m --module String 模块名称,通常是infix-xxx中的xxx名称。
-c --config String workspace.json 配置文件路径。

2. 介绍

使用该命令执行插件项目初始化,设置第三方集成项目模板专用。

3. 执行

aj plugin -m pbc
# ...省略部分...
[Zero AI] Zero AI 系统启动......
[Zero AI] Zero AI 加载输入参数:
{
     "module": "pbc",
     "config": "workspace.json"
}
[Zero AI] 「Java环境」,后端工作路径:<工作目录>。
[Zero AI] Zero AI  0. 基础环境......
[Zero AI] Zero AI  工作目录:<工作目录>
[Zero AI] Zero AI  1. 执行Plugin命令......
[Zero AI] Zero AI       1.1. 初始化源代码目录......
[Zero AI] 创建目录:<工作目录>/src/main/java/cn
[Zero AI] 创建目录:<工作目录>/src/main/java/cn/originx
[Zero AI] 创建目录:<工作目录>/src/main/java/cn/originx/pbc
[Zero AI] 创建目录:<工作目录>/src/main/java/cn/originx/pbc/component
[Zero AI] 创建目录:<工作目录>/src/main/java/cn/originx/pbc/cv
[Zero AI] 创建目录:<工作目录>/src/main/java/cn/originx/pbc/error
[Zero AI] 创建目录:<工作目录>/src/main/java/cn/originx/pbc/input
[Zero AI] 创建目录:<工作目录>/src/main/java/cn/originx/pbc/output
[Zero AI] 创建目录:<工作目录>/src/main/java/cn/originx/pbc/refine
[Zero AI] 创建目录:<工作目录>/src/main/java/cn/originx/pbc/plugin
[Zero AI] Zero AI       1.2. 初始化资源目录......
[Zero AI] 创建目录:<工作目录>/src/main/resources/plugin
[Zero AI] 创建目录:<工作目录>/src/main/resources/plugin/pbc
[Zero AI] 创建目录:<工作目录>/src/main/resources/plugin/pbc/annal
[Zero AI] Zero AI  2. 生成代码......
[Zero AI] Zero AI       2.1. backlog日志配置......
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/resources/plugin/pbc/annal/infix.xml!
[Zero AI] Zero AI       2.2.1. 「默认」集成配置......
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/resources/plugin/pbc/integration.json!
[Zero AI] Zero AI       2.2.2. 「开发」集成配置......
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/resources/plugin/pbc/integration-dev.json!
[Zero AI] Zero AI       2.2.3. 「生产」集成配置......
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/resources/plugin/pbc/integration-prod.json!
[Zero AI] Zero AI       2.2.4. 基础配置......
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/resources/plugin/pbc/configuration.json!
[Zero AI] Zero AI       2.3.1. 常量处理......
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/cv/PbCv.java!
[Zero AI] Zero AI       2.3.2. Before/After 插件处理......
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/plugin/AbstractPbBefore.java!
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/plugin/AbstractPbAfter.java!
[Zero AI] Zero AI       2.3.3. Refine 工具处理......
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/refine/PbLog.java!
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/refine/PbPin.java!
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/refine/Pb.java!
[Zero AI] Zero AI       2.3.4. Error 异常类处理......
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/error/_501PbIoNullException.java!
[Zero AI] Zero AI       2.3.5. Component 通道组件......
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/component/AbstractPbComponent.java!
[Zero AI] Zero AI       2.3.6. In 组件处理......
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/input/PbIn.java!
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/input/AbstractPbIn.java!
[Zero AI] Zero AI       2.3.7. Out 组件处理......
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/output/PbIo.java!
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/output/AbstractPbIo.java!
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/output/PbIoAdd.java!
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/output/PbIoUpdate.java!
[Zero AI] (Sync)成功将数据写入到文件:<工作目录>/src/main/java/cn/originx/pbc/output/PbIoDelete.java!
[Zero AI] Zero AI  3. 执行完成......

(static) rs()

aj rs

1. 命令

aj rs -c <config> -o <output>
短参 全参 类型 默认 含义
-c --config String 配置文件路径。
-o --output String 输出目录路径。

2. 介绍

此命令为 zero-crud 模块量身打造的命令,最新BUG修复之后,您可以直接使用此命令生成专用 Excel/Json 配置文件,并将此文件数据导入到系统中,即可直接连接 zero-rbac 实现接口的权限授权处理。

3. 执行

aj rs -c nm-law.json -o .
[Zero AI] Zero Ecotope AI工具项  : <专用工具>
[Zero AI] HomePage   : http://www.vertxai.cn
[Zero AI] Github     : https://github.com/silentbalanceyh/vertx-ai.git
[Zero AI] Version    : 0.3.27  「确认您的Node版本 ( >= 18.x ) 支持ES6, ES7.」
[Zero AI] AI 系统启动......
[Zero AI] Zero AI 加载输入参数:
{
    "config": "nm-law.json",
    "out": "."
}
[Zero AI] Zero AI  1. 准备生成资源信息..., {"NAME":"法规","MODULE":"doc.law","ID":"nm.law","API":"nm-law","TYPE":"resource.document"}
[Zero AI] Zero AI  2. 生成 Zero Extension 资源文件...
[Zero AI] Zero AI  2.1. 数据加载中,替换原始文件……
[Zero AI] Zero AI  2.2. 分析结果:最大行 - 64,最大列 - 16384。
[Zero AI] Zero AI  2.3. 正在解析表达式......
[Zero AI] Zero AI  2.4. 创建新数据文件......
[Zero AI] Zero AI  执行Worksheet:./nm.law.xlsx。
[Zero AI] Zero AI  3. 资源生成完成...
[Zero AI] Zero AI  4. 准备生成权限信息..., {"NAME":"法规","MODULE":"doc.law","ID":"nm.law","API":"nm-law","TYPE":"resource.document"}
[Zero AI] Zero AI  2.1. 数据加载中,替换原始文件……
[Zero AI] Zero AI  2.2. 分析结果:最大行 - 20,最大列 - 16384。
[Zero AI] Zero AI  2.3. 正在解析表达式......
[Zero AI] Zero AI  2.4. 创建新数据文件......
[Zero AI] Zero AI  执行Worksheet:./falcon.nm.law.xlsx。
[Zero AI] Zero AI  5. 权限文件生成完成...
[Zero AI] Zero AI  执行完成...
[Zero AI] (Async)成功将数据写入到文件:./nm.law.json!

4. 配置文件

此处特殊说明一下输入配置文件的基本格式和内容:

{
    "name": "界面显示的业务模块名称",
    "module": "生成资源码、权限码、行为码专用和当前模型绑定的模块名称",
    "identifier": "模型的统一标识符,静态和动态都可支持",
    "api": "crud接口中的 :actor 参数",
    "type": "对应到 S_RESOURCE 中的 TYPE 字段实现资源定义和资源管理专用"
}