ai命令
1. 基本使用
ai命令的专用语法如下:
ai <command> [options1|options2|options3...]
2. 命令列表
若命令带了
(M)
,则表示 MacOS 系统中,会将生成结果直接拷贝到剪切板中随后可直接粘贴。
命令执行 | 含义 |
---|---|
ai uuid | (M) 随机生成一定数量的UUID字符串 |
ai csv | 读取数据文件中的Array数组数据,然后转换成csv的文件格式输出。 |
ai uk | 检查数据文件中的 Data 数据是否符合唯一性约束,可直接针对批量数据执行唯一性检查。 |
ai data | 专用数据生成器,可根据您的输入生成两个格式的Json数据:Object/Array 。 |
ai key | 为输入数据中的Array或Object追加UUID 格式的字段,字段可配置,默认为field = key 属性。 |
ai str | (M) 生成随机字符串。 |
ai md5 | (M) 针对输入字符串进行符合 Zero 规范的 MD5 加密处理。 |
ai init | 「工程命令」Zero前端工程初始化专用命令。 |
ai sync | 「工程命令」Zero前端工程框架同步专用命令(更新Zero Ui框架专用)。 |
3. 数据通用格式
带data节点
{
"data": [
{
"name": "Lang1",
"email": "lang.yu1@hpe.com"
},
{
"name": "Lang2",
"email": "lang.yu2@hpe.com"
}
]
}
直接格式
[
{
"name": "Lang1",
"email": "lang.yu1@hpe.com"
},
{
"name": "Lang2",
"email": "lang.yu2@hpe.com"
}
]
Methods
(static) csv()
ai csv
1. 命令
ai csv -p <path>
短参 | 全参 | 类型 | 默认 | 含义 |
---|---|---|---|---|
-p | --path | String | (无) | 「统一格式」数据文件路径。 |
-c | --config | String | null | 配置文件路径。 |
-s | --separator | String | , |
Csv文件的分隔符设置。 |
2. 介绍
使用该命令将读取的Array数组数据转换成csv的文件格式
3. 执行
ai csv -p csv.json
# ...省略部分...
[Zero AI] Zero AI 系统启动......
[Zero AI] Zero AI 加载输入参数:
{
"path": "csv.json",
"config": null,
"separator": ","
}
[Zero AI] 使用分隔符:,
[Zero AI] (Async)成功将数据写入到文件:./9bfe660a-d1be-48af-914f-97d996278086.csv!
输出的格式如下
name,email
Lang1,lang.yu1@hpe.com
Lang2,lang.yu2@hpe.com
4. 特殊说明
4.1. 数据文件格式
「通用(略)」数据部分必须对等,从第一个元素开始执行所有的字段解析,如果字段不匹配则直接跳过。
4.2. 带mapping配置文件
csv.zero
# KV; 为文件前缀
KV;
name=Name,email=Email
多余的输出
.......
[Zero AI] 映射配置数据:
{
"name": "Name",
"email": "Email"
}
[Zero AI] 使用分隔符:,
[Zero AI] 字段执行转换:name -> Name
[Zero AI] 字段执行转换:email -> Email
.......
最终数据
Name,Email
Lang1,lang.yu1@hpe.com
Lang2,lang.yu2@hpe.com
(static) data()
ai data
1. 命令
ai data -c <config>
短参 | 全参 | 类型 | 默认 | 含义 |
---|---|---|---|---|
-c | --config | String | (无) | 配置文件路径。 |
-o | --out | String | . |
输出目录文件路径,文件名随机UUID。 |
-j | --json | Boolean | false | 是否生成Object数据格式,true则生成,否则生成Array格式。 |
-n | --number | Number | 23 | 只有json = false 时生效,生成Array的数据条数。 |
2. 介绍
根据规则随机生成数据Object/Array的专用命令。
3. 执行
ai data -c data.zero -j true
# ...省略部分...
[Zero AI] Zero AI 系统启动......
[Zero AI] Zero AI 加载输入参数:
{
"config": "data.zero",
"out": ".",
"json": "true",
"number": 23
}
[Zero AI] 处理过后的完整配置信息:
{
"number": 23,
"json": "true",
"config": {
"key": "Guid",
"code": "Code",
"array1": [
"A",
"B",
"C"
],
"fixed": "$FIXED:测试值",
"date1": "ISO"
}
}
[Zero AI] (Async)成功将数据写入到文件:./4f945df8-9d27-4169-9b18-d6d6385a310c.json!
4. 生成器设置
4.1. 生成器说明
生成规则 | 说明 |
---|---|
[] | 从数组中随机读取一个元素执行赋值。 |
$FIX:X | 生成固定值X 赋值给记录中的属性。 |
Guid | 随机生成UUID字符串。 |
Code | 系统编码字符串(只支持大写和点操作符27个字符),生成长度为6。 |
HeadCount | 企业内部员工数量。 |
Mobile | 手机号码。 |
Phone | 座机号码。 |
Http | 生成http:// 链接。 |
Https | 生成https:// 链接。 |
Ftp | 生成ftp:// 链接。 |
Domain | 生成随机域名。 |
Protocol | 随机生成协议。 |
IP | 随机生成IP地址。 |
Bool | 随机布尔值。 |
Color | 随机Web色彩:#xxxxxx 格式。 |
Version | 生成版本号(通常是软件版本号)。 |
Percent | 随机百分数。 |
Zip | 随机邮编。 |
随机电子信箱。 | |
Region | 随机区域信息。 |
Province | 随机省会信息。 |
City | 随机城市信息。 |
CityFull | 随机城市全称,带区域。 |
County | 随机二级县。 |
CountyFull | 随机二级县全称。 |
Tld | 随机顶级域名。 |
CnName | 随机姓名。 |
CnFirst | 随机姓。 |
CnCompany | 随机公司。 |
CnDept | 随机部门。 |
CnSection | 随机科室。 |
CnScope | 随机范围。 |
CnAddress | 随机地址。 |
CnText | 随机段落文字。 |
CnSentence | 随机句子。 |
CnTitle | 随机标题。 |
CnGender | 随机性别。 |
EnName | 随机姓名。 |
EnFirst | 随机 First Name。 |
EnLast | 随机 Last Name。 |
EnCompany | 随机公司。 |
EnDept | 随机部门。 |
EnSection | 随机科室。 |
EnScope | 随机范围。 |
EnAddress | 随机地址。 |
EnText | 随机段落文字。 |
EnSentence | 随机句子。 |
EnTitle | 随机标题。 |
EnGender | 随机性别。 |
Iso | ISO时间格式。 |
Now | 当前时间格式。 |
Date | 日期。 |
DateTime | 日期/时间。 |
Time | 时间。 |
NumberX | 随机数字。 |
EnStringX | 随机字符串。 |
CnStringX | 随机字符串。 |
En/Cn
前缀分别代表中文和英文。NumberX, EnStringX, CnStringX
可使用数字当后缀,数值表示长度,从1 - 10
。
4.2. data.zero例子
配置文件
P;
key=Guid
noArray=["A","B","C"]
noFixed=$FIXED:测试值
code=Code
headCount=HeadCount
mobile=Mobile
phone=Phone
http=Http
https=Https
ftp=Ftp
domain=Domain
protocol=Protocol
ip=IP
bool=Bool
color=Color
version=Version
percent=Percent
zip=Zip
email=Email
region=Region
province=Province
city=City
city2=CityFull
county=County
countyFull=CountyFull
tld=Tld
cnName=CnName
cnFirst=CnFirst
cnCompany=CnCompany
cnDept=CnDept
cnSection=CnSection
cnScope=CnScope
cnAddress=CnAddress
cnText=CnText
cnSentence=CnSentence
cnTitle=CnTitle
cnGender=CnGender
enName=EnName
enFirst=EnFirst
enLast=EnLast
enCompany=EnCompany
enDept=EnDept
enSection=EnSection
enScope=EnScope
enAddress=EnAddress
enText=EnText
enSentence=EnSentence
enTitle=EnTitle
enGender=EnGender
iso=Iso
now=Now
date=Date
datetime=DateTime
time=Time
数据内容
{
"data": {
"key": "23121742-2dab-4ac6-b578-2f6720410cfb",
"noArray": "C",
"noFixed": "测试值",
"code": "KPEX.T",
"headCount": 929,
"mobile": "18488562585",
"phone": "(012) 4610 1140",
"http": "http://atrtyq.lu/oqkpau",
"https": "https://qpvpuuvfk.do/hrfmjfp",
"ftp": "ftp://osonkoesp.bf/tzghunec",
"domain": "vqjxomib.hk",
"protocol": "mid",
"ip": "64.198.160.131",
"bool": false,
"color": "#f2d779",
"version": "3.569",
"percent": "0.09",
"zip": "664855",
"email": "w.omwjnhtfyg@ydjyl.ml",
"region": "华南",
"province": "山东省",
"city": "来宾市",
"city2": "台湾 基隆市",
"county": "普兰店市",
"countyFull": "吉林省 辽源市 东辽县",
"tld": "gi",
"cnName": "梁桂英",
"cnFirst": "何",
"cnCompany": "除成地界记头布公司",
"cnDept": "形东严克部",
"cnSection": "及着系科室",
"cnScope": "范围效教对",
"cnAddress": "华南湖南省 郴州市 临武县克加头被",
"cnText": "地量好和儿县国主然格作提阶行。见快油个革想除当术取且可强地及至接院......",
"cnSentence": "每光越主识比习接问织眼导社连且到教。",
"cnTitle": "来却后市定越下较",
"cnGender": "男",
"enName": "Matthew Clark",
"enFirst": "Frank",
"enLast": "Allen",
"enCompany": "Rvo Ynfg Ickxlfloy Vuux Company",
"enDept": "Wnqxdzhse Ysericfry Vfewslfgdf Wqlxd Department",
"enSection": "Vxdialugp Rdwicyvh Section",
"enScope": "Scope: 持太",
"enAddress": "Sandra, State Hinp, Street Martinez",
"enText": "Nlebzn thwuouuth holdtxltqm npqb fzlsr smhjohs .......",
"enSentence": "Ufhnqddg eikesnc xawwb vsmuvop qhorlgvel .......",
"enTitle": "Feyv Apareaaif Ygnddotmr Jryvw",
"enGender": "Female",
"iso": "2021-03-16T09:54:43.442Z",
"now": "2021-03-16 17:54:43",
"date": "1988-11-05",
"datetime": "1989-04-05 17:40:52",
"time": "23:16:00"
}
}
(static) init()
ai init
1. 命令
ai init -name <name>
短参 | 全参 | 类型 | 默认 | 含义 |
---|---|---|---|---|
-n | --name | String | (无) | 项目名称以及目录名称。 |
2. 介绍
vertx-ui项目脚手架初始化专用命令。
3. 执行
ai init -name test-demo
[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"
}
[Zero AI] 工程构建目录:test-demo
Cloning into 'test-demo'...
remote: Enumerating objects: 888, done.
remote: Counting objects: 100% (888/888), done.
remote: Compressing objects: 100% (538/538), done.
remote: Total 36593 (delta 445), reused 610 (delta 339), pack-reused 35705
Receiving objects: 100% (36593/36593), 29.09 MiB | 151.00 KiB/s, done.
Resolving deltas: 100% (24009/24009), done.
[Zero AI] 执行工程初始化:test-demo
[Zero AI] (Sync)成功将数据写入到文件:test-demo/package.json!
[Zero AI] 执行后期处理:......
[Zero AI] 资源清理中:rm -rf test-demo/.zero/*
[Zero AI] 资源清理中:rm -rf test-demo/document/doc-web/*
[Zero AI] 资源清理中:rm -rf test-demo/document/doc-web-extension/*
[Zero AI] 资源清理中:rm -rf test-demo/guide/
[Zero AI] 资源清理中:rm -rf test-demo/_config.yml
[Zero AI] 资源清理中:rm -rf test-demo/CNAME
[Zero AI] 资源清理中:rm -rf test-demo/data.json
[Zero AI] 资源清理中:rm -rf test-demo/LICENSE
[Zero AI] 资源清理中:rm -rf test-demo/package-lock.json
[Zero AI] 资源清理中:rm -rf test-demo/yarn.lock
[Zero AI] 工程初始化完成:test-demo,您可以开始您的Zero Ui之行了!
(static) key()
ai key
1. 命令
ai key -p <path>
短参 | 全参 | 类型 | 默认 | 含义 |
---|---|---|---|---|
-p | --path | String | (无) | 「统一格式」数据文件路径。 |
-f | --field | String | key | 追加的UUID的字段名。 |
2. 介绍
使用该命令针对数据中的所有节点追加field = key
的UUID值。
3. 执行
ai key -p key
# ...省略部分...
[Zero AI] Zero AI 系统启动......
[Zero AI] Zero AI 加载输入参数:
{
"path": "key",
"field": "key"
}
[Zero AI] (Async)成功将数据写入到文件:key/key2.json!
[Zero AI] (Async)成功将数据写入到文件:key/key3.json!
[Zero AI] (Async)成功将数据写入到文件:key/key1.json!
(static) md5()
ai md5
1. 命令
ai md5 -i <Input>
短参 | 全参 | 类型 | 默认 | 含义 |
---|---|---|---|---|
-i | --input | String | 无 | 输入需要MD5加密的原始字符串。 |
2. 介绍
使用该命令加密输入字符串,如果平台支持还会拷贝到剪切板中,目前支持的操作系统:
darwin
:MacOs苹果操作系统
3. 执行
ai md5 -i smaveapp lang@LangYus-MacBook-Pro
[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.19 「确认您的Node版本 ( >= 14.x ) 支持ES6, ES7.」
[Zero AI] Zero AI 系统启动......
[Zero AI] Zero AI 加载输入参数:
{
"input": "smaveapp"
}
[Zero AI] 当前操作系统:darwin
443196C59BF602102141607D992702EE
[Zero AI] 加密的字符串已经成功拷贝到剪切板中!
(static) str()
ai str
1. 命令
ai str -n <N> -l <N>
短参 | 全参 | 类型 | 默认 | 含义 |
---|---|---|---|---|
-n | --number | Number | 1 | 指定需要生成随机字符串的数量,默认生成1个随机字符串值,\n 符号分割。 |
-l | --length | Number | 64 | 指定随机字符串长度,默认长度64。 |
2. 执行
使用该命令生成指定数量的随机字符串,如果平台支持还会拷贝到剪切板中,目前支持的操作系统:
darwin
:MacOs苹果操作系统
3. 执行
ai str lang@LangYus-MacBook-Pro
[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.5 「确认您的Node版本 ( >= 14.x ) 支持ES6, ES7.」
[Zero AI] Zero AI 系统启动......
[Zero AI] Zero AI 加载输入参数:
{
"number": 1,
"length": 64
}
[Zero AI] 随机字符串,生成数量:1,长度:64
[Zero AI] 当前操作系统:darwin
5lTe8OsBsi8bw6PbVlS0aftyAfjsmEGjiwXXWpL5IEM3px6ZiM8Vz2nKnnqHFDnv
[Zero AI] 生成的随机字符串已经全部成功拷贝到剪切板中!
(static) sync()
ai sync
1. 命令
ai sync -p <path>
短参 | 全参 | 类型 | 默认 | 含义 |
---|---|---|---|---|
-p | --path | String | . | 前端项目根目录,配置文件路径。 |
2. 介绍
此命令用于从前端直接更新最新的 Zero Ui 框架部分代码,且在前端新版脚手架中,Zero Ui部分的框架代码全部位于 .gitignore
文件中不作为源代码提交。
3. 执行
ai sync
[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.30 「确认您的Node版本 ( >= 18.x ) 支持ES6, ES7.」
[Zero AI] AI 系统启动......
[Zero AI] Zero AI 加载输入参数:
{
"path": ".zero"
}
[Zero AI] 发现存在旧代码,正在删除:.zero/scaffold-ui
[Zero AI] 拉取最新代码:.zero/scaffold-ui
Cloning into '.zero/scaffold-ui'...
remote: Enumerating objects: 4932, done.
remote: Counting objects: 100% (4932/4932), done.
remote: Compressing objects: 100% (4045/4045), done.
remote: Total 4932 (delta 677), reused 4644 (delta 499), pack-reused 0
Receiving objects: 100% (4932/4932), 11.34 MiB | 2.12 MiB/s, done.
Resolving deltas: 100% (677/677), done.
[Zero AI] 开始更新主框架:......
[Zero AI] 处理目录:run-default.sh
[Zero AI] 处理目录:run-doc.sh
[Zero AI] 处理目录:run-zero.sh
[Zero AI] 处理目录:run-zero.bat
[Zero AI] 处理目录:run-update.sh
[Zero AI] 处理目录:document/
[Zero AI] 处理目录:scripts/
[Zero AI] 处理目录:config/
[Zero AI] 处理目录:src/cab/cn/cerebration/
[Zero AI] 处理目录:src/cab/cn/extension/
[Zero AI] 处理目录:src/cab/cn/economy/
[Zero AI] 处理目录:src/cab/cn/shared.json
[Zero AI] 处理目录:src/economy/
[Zero AI] 处理目录:src/entity@em/
[Zero AI] 处理目录:src/extension/
[Zero AI] 处理目录:src/environment/
[Zero AI] 处理目录:src/skin/index.d.ts
[Zero AI] 处理目录:src/skin/index.entry.js
[Zero AI] 处理目录:src/skin/index.js
[Zero AI] 处理目录:src/skin/plot.fn.mix.attr.js
[Zero AI] 处理目录:src/skin/plot.fn.of.document.js
[Zero AI] 处理目录:src/skin/wait._.v.locale.definition.js
[Zero AI] 处理目录:src/skin/wait.fn.skin.initialize.js
[Zero AI] 处理目录:src/skin/aroma-library/index.js
[Zero AI] 处理目录:src/skin/aroma-library/__.theme.shared/
[Zero AI] 处理目录:src/style/@old/
[Zero AI] 处理目录:src/style/connect/
[Zero AI] 处理目录:src/style/macrocosm/index.scss
[Zero AI] 处理目录:src/style/macrocosm/mod.screen.scss
[Zero AI] 处理目录:src/style/microcosm/
[Zero AI] 处理目录:src/style/uca/
[Zero AI] 处理目录:src/style/unstable/
[Zero AI] 处理目录:src/style/ux@legacy/
[Zero AI] 处理目录:src/ui/
[Zero AI] 处理目录:src/unfold/
[Zero AI] 处理目录:src/upper/
[Zero AI] 处理目录:src/utter/
[Zero AI] 处理目录:src/ux/
[Zero AI] 处理目录:src/zero/
[Zero AI] 处理目录:src/zest@web/
[Zero AI] 处理目录:src/zion/
[Zero AI] 处理目录:src/zither@em/
[Zero AI] 处理目录:src/zodiac/
[Zero AI] 处理目录:src/zoe@em/
[Zero AI] 处理目录:src/zone/
[Zero AI] 处理目录:src/index.js
[Zero AI] 主框架更新完成:.zero/scaffold-ui!
(static) uk()
ai uk
1. 命令
ai uk -p <path> -f <field>
短参 | 全参 | 类型 | 默认 | 含义 |
---|---|---|---|---|
-p | --path | String | (无) | 「统一格式」待检查的数据文件路径。 |
-f | --field | String | (无) | 待检查的字段名,字段可使用field1,field2,field3 格式检查多个字段。 |
2. 介绍
使用该命令检查数据文件中的数据是否包含重复属性field = value
键值对。
3. 执行
ai uk -p uk.json -f name
# ...省略部分...
[Zero AI] Zero AI 系统启动......
[Zero AI] Zero AI 加载输入参数:
{
"path": "uk.json",
"field": "name"
}
[Zero AI] 检查字段:["name"]
[Zero AI] 字段出现重复值:name = Lang2
[Zero AI] 系统检查重复值完成!
(static) uuid()
ai uuid
1. 命令
ai uuid -n <N>
短参 | 全参 | 类型 | 默认 | 含义 |
---|---|---|---|---|
-n | --number | Number | 20 | 指定需要生成UUID值的数量,默认生成20个UUID字符串值,\n 符号分割。 |
2. 介绍
使用该命令生成指定数量的UUID字符串,如果平台支持还会拷贝到剪切板中,目前支持的操作系统:
darwin
:MacOs苹果操作系统
3. 执行
ai uuid -n 3
# ...省略部分...
[Zero AI] Zero AI 系统启动......
[Zero AI] 命令参数:
{
"number": "3"
}
[Zero AI] UUID生成器,生成数量:3
[Zero AI] 当前操作系统:darwin
14ea44ed-5d9a-406a-9912-d95d8f6a8411
5d27ca30-3e74-4a8a-a149-e8d40677d542
a1ddb2ce-eabf-4a95-968d-8e4655207f44
[Zero AI] 生成的UUID已经全部成功拷贝到剪切板中!