aj

aj命令

1. 基本使用

aj命令的专用语法如下:

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

2. 命令列表

命令执行 含义
aj icomplex 「模块」生成ExListComplex专用模块。
aj iform 「组件」生成ExForm专用组件。
aj jperm 「后端」生成权限专用的Excel数据文件。

3. 标准化配置

{
     module: 'ZT环境变量设置的模块',
     language: 'Z_LANGUAGE语言环境变量设置,默认「cn」',
     pathRoot: '系统根据执行目录计算的当前项目根目录',
     pathResource: '资源目录',
     pathUi: '生成代码目录',
     namespace: 'Cab.json中所需的名空间值',
     input: {
         params: {
             MODULE: '当前模块的文字描述名称',
             API: '构造标准接口`/api/xxx`的RESTful接口专用路径替换部分。',
             IDENTIFIER: '模型的统一标识符,最终会绑定到identifier中。'
         },
         tpl: {
             type: '使用的模板tpl文件目录,cab/下的目录名',
             source: '「单文件」单文件的拷贝源',
             target: '「单文件」单文件的目标拷贝文件'
         }
     },
     runtime: {
         namespaceFile: 'Cab.json文件生成路径',
         resource: '资源文件的根目录',
         resourceFiles: {
             'fileName1': '资源文件地址,json后缀,模板则是fileName1.tpl文件',
             'fileName2': '......'
         },
         ui: '代码文件根目录',
         uiFiles: {
             'fileName1': '代码文件地址,js后缀,模板则是fileName1.tpl文件',
             'fileName2': '......'
         }
     }
}

4. 标准化模板参数

tpl文件中替换的部分会使用配置文件中的参数来替换。

参数 替换部分 含义
MODULE #MODULE# 当前模块的文字描述名称。
API #API# 构造标准接口/api/xxx的RESTful接口专用路径替换部分。
IDENTIFIER #IDENTIFIER# 模型的统一标识符,最终会绑定到identifier中。
NAME #NAME# 绑定文件设定,直接赋值input.params.NAME = tpl.target生成单文件专用。
SIGMA #SIGMA SIGMA统一标识符,用于标识租户、应用。
ROLE_ID #ROLE_ID# 操作的角色ID。
PREFIX 生成文件专用参数,不在模板中。
SHEET 工作专用的Sheet名,不在模板中。

Methods

(static) icomplex()

aj icomplex

1. 命令

使用该命令生成完整的ExListComplex完整组件页。

2. 执行

2.1. 基本介绍

# 2.1.1. 命令语法
aj icomplex

# 2.1.2. 执行测试
aj icomplex
# ...省略部分...
[Zero AI] Zero AI 系统启动......
[Zero AI] Zero AI 加载输入参数:
{
     "config": "ui.json"
}
[Zero AI] 「启用ZT环境」,当前模块:generated/test,特殊命令只能在ZT环境使用。
[Zero AI] Zero AI  0. 基础环境......
[Zero AI] 环境变量:ZT = generated/test
[Zero AI] 模块信息:generated/test
[Zero AI] 语言信息:cn
[Zero AI] 项目目录:<项目根目录>
[Zero AI] Zero AI  1. 目录检查......
[Zero AI] Zero AI  2. 文件表:
[Zero AI]           UI.Add = <项目根目录>/src/cab/cn/components/generated/test/UI.Add.json
[Zero AI]          UI.Edit = <项目根目录>/src/cab/cn/components/generated/test/UI.Edit.json
[Zero AI]        UI.Filter = <项目根目录>/src/cab/cn/components/generated/test/UI.Filter.json
[Zero AI]               UI = <项目根目录>/src/cab/cn/components/generated/test/UI.json
[Zero AI]               UI = <项目根目录>/src/components/generated/test/UI.js
[Zero AI]               Op = <项目根目录>/src/components/generated/test/Op.js
[Zero AI]          UI.Form = <项目根目录>/src/components/generated/test/UI.Form.js
[Zero AI] Zero AI  3. 执行React命令......
[Zero AI] Zero AI       3.1. 创建名空间文件......
[Zero AI] (Sync)成功将数据写入到文件:<项目根目录>/src/components/generated/test/Cab.json!
[Zero AI] Zero AI       3.2. 构造资源文件......
[Zero AI] (Sync)成功将数据写入到文件:<项目根目录>/src/cab/cn/components/generated/test/UI.Add.json!
[Zero AI] (Sync)成功将数据写入到文件:<项目根目录>/src/cab/cn/components/generated/test/UI.Edit.json!
[Zero AI] (Sync)成功将数据写入到文件:<项目根目录>/src/cab/cn/components/generated/test/UI.Filter.json!
[Zero AI] (Sync)成功将数据写入到文件:<项目根目录>/src/cab/cn/components/generated/test/UI.json!
[Zero AI] Zero AI       3.3. 构造界面文件......
[Zero AI] (Sync)成功将数据写入到文件:<项目根目录>/src/components/generated/test/UI.js!
[Zero AI] (Sync)成功将数据写入到文件:<项目根目录>/src/components/generated/test/Op.js!
[Zero AI] (Sync)成功将数据写入到文件:<项目根目录>/src/components/generated/test/UI.Form.js!
[Zero AI] Zero AI  4. 命令执行完成!!!

代码执行完成后会在项目中生成Zero UI专用模块generated/test的所有页面以及组件。

  • 执行代码之前先执行export ZT=generated/test确保ZT环境变量有值。
  • 执行位置可以是当前项目中的任意一个路径,脚本会自己计算当前项目的根目录(Zero UI专用)。
  • 该命令执行时模板文件位置位于src/cab/list目录中,且模板文件以tpl结尾。

2.2. 生成的文件说明

文件名 模板 含义
Cab.json 名空间关联文件,计算得来。
UI.Add.json UI.Add.json.tpl 「无字段」添加表单专用资源文件。
UI.Edit.json UI.Edit.json.tpl 「无字段」编辑表单专用资源文件。
UI.Filter.json UI.Filter.json.tpl 过滤表单专用资源文件(高级搜索用)。
UI.json UI.json.tpl 主界面资源文件。
UI.js UI.js.tpl 主界面脚本文件。
Op.js Op.js.tpl Action/Callback专用Js事件脚本。
UI.Form.js UI.Form.js.tpl 三个表单合一的专用Js脚本。

3. 选项

3.1. 基本说明

短参 全参 类型 默认 含义
-c --config String ui.json 配置文件路径。

(static) iform()

aj iform

1. 命令

使用该命令生成完整的ExForm完整表单组件页。

2. 执行

2.1. 基本介绍

# 2.1.1. 命令语法
ai iform -u <ui>

# 2.1.2. 执行测试
aj iform -u UI.Basic
# ...省略部分...
[Zero AI] Zero AI 系统启动......
[Zero AI] Zero AI 加载输入参数:
{
     "config": "ui.json",
     "ui": "UI.Basic"
}
[Zero AI] 「启用ZT环境」,当前模块:generated/test,特殊命令只能在ZT环境使用。
[Zero AI] Zero AI  0. 基础环境......
[Zero AI] 环境变量:ZT = generated/test
[Zero AI] 模块信息:generated/test
[Zero AI] 语言信息:cn
[Zero AI] 项目目录:<项目根目录>
[Zero AI] Zero AI  1. 目录检查......
[Zero AI] Zero AI  2. 文件表:
[Zero AI] Zero AI  3. 执行React命令......
[Zero AI] Zero AI       3.1. 创建名空间文件......
[Zero AI] Zero AI       3.2. 构造资源文件......
[Zero AI] (Sync)成功将数据写入到文件:<项目根目录>/src/cab/cn/components/generated/test/UI.Basic.json!
[Zero AI] Zero AI       3.3. 构造界面文件......
[Zero AI] (Sync)成功将数据写入到文件:<项目根目录>/src/components/generated/test/UI.Basic.js!
[Zero AI] Zero AI  4. 命令执行完成!!!

代码执行完成后会在项目中生成Zero UI专用模块generated/test中唯一的两个页面。

  • 执行代码之前先执行export ZT=generated/test确保ZT环境变量有值。
  • 该命令执行时模板文件位置位于src/cab/form目录中,且模板文件以tpl结尾。
  • 生成的UI.js的按钮部分直接位于当前文件中,并且默认包含了ADD, EDIT, DELETE三个核心按钮。

2.2. 生成的文件说明

文件名 模板 含义
Cab.json 名空间关联文件,计算得来。
<Name>.json UI.json.tpl 当前表单专用资源文件。
<Name>.js UI.js.tpl 当前表单源代码专用文件。

3. 选项

3.1. 基本说明

短参 全参 类型 默认 含义
-u --ui String 生成的文件名,最终生成<Name>.json/<Name>.js
-c --config String ui.json 配置文件路径。

(static) jperm()

aj jperm

1. 命令

使用该命令生成某个角色的专用权限文件目录(内置所有Zero Extension标准权限)

2. 执行

2.1. 基本介绍

# 2.1.1. 命令语法
aj jperm -r <role> -i <input>

# 2.1.2. 执行测试
ai jperm -r ccc -i input

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

### 3. 选项

#### 3.1. 基本说明

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

(static) jplugin()

aj jplugin

1. 命令

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

2. 执行

2.1. 基本介绍

# 2.1.1. 命令语法
aj jplugin -m pbc

# 2.1.2. 执行测试
aj jplugin -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. 执行完成......

3. 选项

3.1. 基本说明

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