zero-ai 0.3.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CNAME +1 -0
- package/README.md +54 -0
- package/SUMMARY.md +15 -0
- package/_config.yml +1 -0
- package/_layouts/default.html +60 -0
- package/_sass/jekyll-theme-dinky.scss +440 -0
- package/_sass/rouge-github.scss +209 -0
- package/assets/css/style.scss +4 -0
- package/assets/images/arrow-down.png +0 -0
- package/assets/images/octocat-small.png +0 -0
- package/assets/js/scale.fix.js +20 -0
- package/configs/sorts.json +38 -0
- package/document/doc-config/jsdoc.json +89 -0
- package/document/doc-config/third-part/esdoc.json +9 -0
- package/document/doc-config/third-part/yuidoc-example.json +23 -0
- package/document/doc-config/third-part/yuidoc.json +11 -0
- package/document/doc-config/tpl/publish.js +778 -0
- package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Bold.eot +0 -0
- package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
- package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Bold.woff +0 -0
- package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
- package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Regular.eot +0 -0
- package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
- package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Regular.woff +0 -0
- package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
- package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
- package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +978 -0
- package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
- package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
- package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
- package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
- package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1049 -0
- package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
- package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
- package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
- package/document/doc-config/tpl/static/scripts/collapse.js +20 -0
- package/document/doc-config/tpl/static/scripts/linenumber.js +25 -0
- package/document/doc-config/tpl/static/scripts/nav.js +12 -0
- package/document/doc-config/tpl/static/scripts/polyfill.js +4 -0
- package/document/doc-config/tpl/static/scripts/prettify/Apache-License-2.0.txt +202 -0
- package/document/doc-config/tpl/static/scripts/prettify/lang-css.js +2 -0
- package/document/doc-config/tpl/static/scripts/prettify/prettify.js +28 -0
- package/document/doc-config/tpl/static/scripts/search.js +83 -0
- package/document/doc-config/tpl/static/styles/jsdoc.css +765 -0
- package/document/doc-config/tpl/static/styles/prettify.css +79 -0
- package/document/doc-config/tpl/static/styles/zero.css +50 -0
- package/document/doc-config/tpl/tmpl/augments.tmpl +10 -0
- package/document/doc-config/tpl/tmpl/container.tmpl +197 -0
- package/document/doc-config/tpl/tmpl/details.tmpl +148 -0
- package/document/doc-config/tpl/tmpl/example.tmpl +2 -0
- package/document/doc-config/tpl/tmpl/examples.tmpl +13 -0
- package/document/doc-config/tpl/tmpl/exceptions.tmpl +32 -0
- package/document/doc-config/tpl/tmpl/layout.tmpl +98 -0
- package/document/doc-config/tpl/tmpl/mainpage.tmpl +15 -0
- package/document/doc-config/tpl/tmpl/members.tmpl +38 -0
- package/document/doc-config/tpl/tmpl/method.tmpl +138 -0
- package/document/doc-config/tpl/tmpl/modifies.tmpl +14 -0
- package/document/doc-config/tpl/tmpl/params.tmpl +132 -0
- package/document/doc-config/tpl/tmpl/properties.tmpl +107 -0
- package/document/doc-config/tpl/tmpl/returns.tmpl +19 -0
- package/document/doc-config/tpl/tmpl/source.tmpl +8 -0
- package/document/doc-config/tpl/tmpl/tutorial.tmpl +19 -0
- package/document/doc-config/tpl/tmpl/type.tmpl +7 -0
- package/document/doc-config/tpl/zero.css +0 -0
- package/document/doc-web/E.html +395 -0
- package/document/doc-web/fonts/Montserrat/Montserrat-Bold.eot +0 -0
- package/document/doc-web/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
- package/document/doc-web/fonts/Montserrat/Montserrat-Bold.woff +0 -0
- package/document/doc-web/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
- package/document/doc-web/fonts/Montserrat/Montserrat-Regular.eot +0 -0
- package/document/doc-web/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
- package/document/doc-web/fonts/Montserrat/Montserrat-Regular.woff +0 -0
- package/document/doc-web/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
- package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
- package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +978 -0
- package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
- package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
- package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
- package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
- package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1049 -0
- package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
- package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
- package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
- package/document/doc-web/index.html +262 -0
- package/document/doc-web/module-_debug.html +1104 -0
- package/document/doc-web/module-_epic.html +1631 -0
- package/document/doc-web/module-ai.html +1701 -0
- package/document/doc-web/module-aj.html +1081 -0
- package/document/doc-web/scripts/collapse.js +20 -0
- package/document/doc-web/scripts/linenumber.js +25 -0
- package/document/doc-web/scripts/nav.js +12 -0
- package/document/doc-web/scripts/polyfill.js +4 -0
- package/document/doc-web/scripts/prettify/Apache-License-2.0.txt +202 -0
- package/document/doc-web/scripts/prettify/lang-css.js +2 -0
- package/document/doc-web/scripts/prettify/prettify.js +28 -0
- package/document/doc-web/scripts/search.js +83 -0
- package/document/doc-web/styles/jsdoc.css +765 -0
- package/document/doc-web/styles/prettify.css +79 -0
- package/document/doc-web/styles/zero.css +50 -0
- package/document/markdown/README.md +0 -0
- package/document/markdown/gong-cheng-chu-shi-hua.md +79 -0
- package/document/markdown/t0002-uuidsheng-cheng-qi.md +142 -0
- package/document/markdown/t0003-shu-ju-mo-ni-qi.md +135 -0
- package/document/markdown/t0004-zerode-fu-wu-tong-xun-fen-xi-qi.md +64 -0
- package/document/markdown/t0005-liquibaseshu-ju-zhuan-huan-qi.md +68 -0
- package/document/markdown/zt0001-pagecardchuang-jian.md +71 -0
- package/document/markdown/zt0002-formchuang-jian.md +81 -0
- package/document/markdown/zt0003-tian-jia-card-an-niu.md +115 -0
- package/document/markdown/zt0004-chu-li-modal-zhe-zhao-xiao-guo.md +105 -0
- package/document/markdown/ztgong-ju.md +0 -0
- package/install-local.sh +3 -0
- package/package.json +53 -0
- package/run-authorize.sh +32 -0
- package/run-doc.sh +16 -0
- package/run-update.sh +6 -0
- package/script/bootstrap +6 -0
- package/script/cibuild +9 -0
- package/script/release +42 -0
- package/script/validate-html +28 -0
- package/script/zrun-doc-generate.sh +18 -0
- package/script/zrun-doc-server.sh +13 -0
- package/src/ai.js +11 -0
- package/src/aj.js +11 -0
- package/src/art.js +11 -0
- package/src/cab/form/UI.js.tpl +50 -0
- package/src/cab/form/UI.json.tpl +38 -0
- package/src/cab/list/Op.js.tpl +42 -0
- package/src/cab/list/UI.Add.json.tpl +32 -0
- package/src/cab/list/UI.Edit.json.tpl +34 -0
- package/src/cab/list/UI.Filter.json.tpl +29 -0
- package/src/cab/list/UI.Form.js.tpl +64 -0
- package/src/cab/list/UI.js.tpl +49 -0
- package/src/cab/list/UI.json.tpl +208 -0
- package/src/cab/perm/falcon.app.xlsx +0 -0
- package/src/cab/perm/falcon.authority.resource.perm.xlsx +0 -0
- package/src/cab/perm/falcon.authority.resource.resource.xlsx +0 -0
- package/src/cab/perm/falcon.authority.role.action.xlsx +0 -0
- package/src/cab/perm/falcon.authority.view.xlsx +0 -0
- package/src/cab/perm/falcon.battery.module.xlsx +0 -0
- package/src/cab/perm/falcon.epic.form.xlsx +0 -0
- package/src/cab/perm/falcon.epic.integration.xlsx +0 -0
- package/src/cab/perm/falcon.epic.modeling.entity.xlsx +0 -0
- package/src/cab/perm/falcon.epic.modeling.field.xlsx +0 -0
- package/src/cab/perm/falcon.epic.modeling.global.xlsx +0 -0
- package/src/cab/perm/falcon.epic.modeling.model.xlsx +0 -0
- package/src/cab/perm/falcon.epic.page.xlsx +0 -0
- package/src/cab/perm/falcon.epic.topology.xlsx +0 -0
- package/src/cab/perm/falcon.fm.bank.xlsx +0 -0
- package/src/cab/perm/falcon.fm.bill.process.xlsx +0 -0
- package/src/cab/perm/falcon.fm.book.xlsx +0 -0
- package/src/cab/perm/falcon.fm.currency.xlsx +0 -0
- package/src/cab/perm/falcon.fm.debt.xlsx +0 -0
- package/src/cab/perm/falcon.fm.settlement.xlsx +0 -0
- package/src/cab/perm/falcon.fm.subject.xlsx +0 -0
- package/src/cab/perm/falcon.fm.term.xlsx +0 -0
- package/src/cab/perm/falcon.i.directory.xlsx +0 -0
- package/src/cab/perm/falcon.i.integration.xlsx +0 -0
- package/src/cab/perm/falcon.lbs.city.xlsx +0 -0
- package/src/cab/perm/falcon.lbs.floor.xlsx +0 -0
- package/src/cab/perm/falcon.lbs.query.xlsx +0 -0
- package/src/cab/perm/falcon.lbs.state.xlsx +0 -0
- package/src/cab/perm/falcon.lbs.tent.xlsx +0 -0
- package/src/cab/perm/falcon.login.index.xlsx +0 -0
- package/src/cab/perm/falcon.my.menu.xlsx +0 -0
- package/src/cab/perm/falcon.organization.brand.xlsx +0 -0
- package/src/cab/perm/falcon.organization.company.xlsx +0 -0
- package/src/cab/perm/falcon.organization.contract.xlsx +0 -0
- package/src/cab/perm/falcon.organization.customer.xlsx +0 -0
- package/src/cab/perm/falcon.organization.dept.team.xlsx +0 -0
- package/src/cab/perm/falcon.organization.dept.xlsx +0 -0
- package/src/cab/perm/falcon.organization.employee.identity.xlsx +0 -0
- package/src/cab/perm/falcon.organization.employee.xlsx +0 -0
- package/src/cab/perm/falcon.organization.project.xlsx +0 -0
- package/src/cab/perm/falcon.psi.pos.xlsx +0 -0
- package/src/cab/perm/falcon.psi.wh.xlsx +0 -0
- package/src/cab/perm/falcon.rbac.group.xlsx +0 -0
- package/src/cab/perm/falcon.rbac.role.xlsx +0 -0
- package/src/cab/perm/falcon.rbac.user.xlsx +0 -0
- package/src/cab/perm/falcon.system.document.xlsx +0 -0
- package/src/cab/perm/falcon.system.job.xlsx +0 -0
- package/src/cab/perm/falcon.system.report.xlsx +0 -0
- package/src/cab/perm/falcon.system.sync_log.xlsx +0 -0
- package/src/cab/perm/falcon.system.todo.xlsx +0 -0
- package/src/cab/perm/falcon.system.workflow.xlsx +0 -0
- package/src/cab/perm/falcon.ui.app.xlsx +0 -0
- package/src/cab/perm/falcon.view.personal.xlsx +0 -0
- package/src/cab/perm/falcon.x.activity.xlsx +0 -0
- package/src/cab/perm/falcon.x.attachment.xlsx +0 -0
- package/src/cab/perm/falcon.x.category.xlsx +0 -0
- package/src/cab/perm/falcon.x.integration.xlsx +0 -0
- package/src/cab/perm/falcon.x.linkage.xlsx +0 -0
- package/src/cab/perm/falcon.x.menu.xlsx +0 -0
- package/src/cab/perm/falcon.x.notice.xlsx +0 -0
- package/src/cab/perm/falcon.x.tabular.xlsx +0 -0
- package/src/cab/perm/falcon.x.tag.xlsx +0 -0
- package/src/cab/plugin/Component.java.tpl +52 -0
- package/src/cab/plugin/Cv.java.tpl +21 -0
- package/src/cab/plugin/ErrorIo.java.tpl +26 -0
- package/src/cab/plugin/In.Abstract.java.tpl +30 -0
- package/src/cab/plugin/In.java.tpl +25 -0
- package/src/cab/plugin/Io.Abstract.java.tpl +36 -0
- package/src/cab/plugin/Io.Impl.java.tpl +21 -0
- package/src/cab/plugin/Io.java.tpl +73 -0
- package/src/cab/plugin/Plugin.After.java.tpl +22 -0
- package/src/cab/plugin/Plugin.Before.java.tpl +22 -0
- package/src/cab/plugin/Refine.Log.java.tpl +47 -0
- package/src/cab/plugin/Refine.Pin.java.tpl +70 -0
- package/src/cab/plugin/Refine.java.tpl +67 -0
- package/src/cab/plugin/configuration.json.tpl +3 -0
- package/src/cab/plugin/infix.xml.tpl +22 -0
- package/src/cab/plugin/integration.json.tpl +20 -0
- package/src/cab/resource/falcon.resource.xlsx +0 -0
- package/src/cab/resource/resource.json +8 -0
- package/src/cab/resource/resource.xlsx +0 -0
- package/src/commander/ai.zero +10 -0
- package/src/commander/aj.zero +8 -0
- package/src/commander/ar.zero +4 -0
- package/src/commander/option.zero +21 -0
- package/src/commander-ai/fn.csv.js +105 -0
- package/src/commander-ai/fn.data.js +404 -0
- package/src/commander-ai/fn.init.js +106 -0
- package/src/commander-ai/fn.key.js +81 -0
- package/src/commander-ai/fn.md5.js +76 -0
- package/src/commander-ai/fn.random.js +84 -0
- package/src/commander-ai/fn.uk.js +70 -0
- package/src/commander-ai/fn.uuid.js +80 -0
- package/src/commander-ai/index.js +19 -0
- package/src/commander-aj/bundle/specification.txt +49 -0
- package/src/commander-aj/fn.i.mod.js +26 -0
- package/src/commander-aj/fn.i.resource.js +33 -0
- package/src/commander-aj/fn.j.bundle.js +51 -0
- package/src/commander-aj/fn.j.init.js +72 -0
- package/src/commander-aj/fn.j.permission.js +60 -0
- package/src/commander-aj/fn.j.plugin.js +120 -0
- package/src/commander-aj/fn.j.row.js +5 -0
- package/src/commander-aj/index.js +16 -0
- package/src/commander-ar/fn.i.complex.js +112 -0
- package/src/commander-ar/fn.i.form.js +91 -0
- package/src/commander-ar/index.js +7 -0
- package/src/epic/ai.economy.impl.fn.excel.js +128 -0
- package/src/epic/ai.economy.impl.fn.execute.js +162 -0
- package/src/epic/ai.economy.impl.fn.java.js +140 -0
- package/src/epic/ai.economy.impl.fn.json.js +23 -0
- package/src/epic/ai.economy.impl.fn.plugin.js +160 -0
- package/src/epic/ai.economy.impl.fn.react.js +219 -0
- package/src/epic/ai.export.impl.fn.parse.js +345 -0
- package/src/epic/ai.export.impl.fn.seek.js +42 -0
- package/src/epic/ai.export.interface.fn.string.js +5 -0
- package/src/epic/ai.export.interface.io.js +69 -0
- package/src/epic/ai.export.interface.util.js +17 -0
- package/src/epic/ai.path.fn.dir.operation.js +87 -0
- package/src/epic/ai.path.fn.io.command.js +43 -0
- package/src/epic/ai.path.fn.io.specification.js +59 -0
- package/src/epic/ai.path.fn.io.typed.js +63 -0
- package/src/epic/ai.path.fn.out.content.js +47 -0
- package/src/epic/ai.string.fn.str.util.js +56 -0
- package/src/epic/ai.uncork.fn.element.feature.js +52 -0
- package/src/epic/ai.uncork.fn.it.feature.js +118 -0
- package/src/epic/ai.uncork.fn.to.typed.js +74 -0
- package/src/epic/ai.under.fn.cx.evaluate.js +81 -0
- package/src/epic/ai.under.fn.fx.terminal.js +143 -0
- package/src/epic/ai.unified.fn._.logging.js +45 -0
- package/src/epic/ai.unified.fn.fn.error.code.js +114 -0
- package/src/epic/ai.unified.fn.is.decision.js +20 -0
- package/src/epic/ai.unified.fn.sorter.element.js +26 -0
- package/src/epic/index.js +216 -0
- package/src/epic/zero.__.fn.find.util.js +37 -0
- package/src/epic/zero.__.v.constant.js +5 -0
- package/test/csv.json +12 -0
- package/test/csv.zero +2 -0
- package/test/data.zero +56 -0
- package/test/key/key1.json +15 -0
- package/test/key/key2.json +12 -0
- package/test/key/key3.json +5 -0
- package/test/key.json +12 -0
- package/test/uk.json +19 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
const Ec = require('../epic');
|
|
2
|
+
const os = require('os');
|
|
3
|
+
|
|
4
|
+
const os_compatible = ['darwin', 'win32'];
|
|
5
|
+
|
|
6
|
+
module.exports = () => {
|
|
7
|
+
/*
|
|
8
|
+
* 参数解析
|
|
9
|
+
*/
|
|
10
|
+
const actual = Ec.executeInput(
|
|
11
|
+
['-i', '--input'],
|
|
12
|
+
[
|
|
13
|
+
["-i", "--input"]
|
|
14
|
+
]
|
|
15
|
+
);
|
|
16
|
+
/*
|
|
17
|
+
* 基本信息
|
|
18
|
+
*/
|
|
19
|
+
const input = actual.input;
|
|
20
|
+
const platform = os.platform();
|
|
21
|
+
Ec.info(`当前操作系统:${platform}`);
|
|
22
|
+
|
|
23
|
+
if (os_compatible.indexOf(platform) > -1) {
|
|
24
|
+
const content = Ec.strMD5(input);
|
|
25
|
+
console.info(content);
|
|
26
|
+
Ec.outCopy(content)
|
|
27
|
+
.then(sign => Ec.info(`加密的字符串已经成功拷贝到剪切板中!`))
|
|
28
|
+
} else {
|
|
29
|
+
/*
|
|
30
|
+
* 不支持的操作系统
|
|
31
|
+
*/
|
|
32
|
+
Ec.fxError(10032, platform);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* ## `ai md5`
|
|
39
|
+
*
|
|
40
|
+
* ### 1. 命令
|
|
41
|
+
*
|
|
42
|
+
* 使用该命令加密输入字符串,如果平台支持还会拷贝到剪切板中,目前支持的操作系统:
|
|
43
|
+
*
|
|
44
|
+
* * `darwin`:MacOs苹果操作系统
|
|
45
|
+
*
|
|
46
|
+
* ### 2. 执行
|
|
47
|
+
*
|
|
48
|
+
* ```shell
|
|
49
|
+
* # 2.1. 命令语法
|
|
50
|
+
* ai md5 -i <Input>
|
|
51
|
+
*
|
|
52
|
+
* # 2.2. 执行测试
|
|
53
|
+
* ai md5 -i smaveapp lang@LangYus-MacBook-Pro
|
|
54
|
+
* [Zero AI] Zero AI 代码生成工具 : <标准工具>
|
|
55
|
+
* [Zero AI] HomePage : http://www.vertxai.cn
|
|
56
|
+
* [Zero AI] Github : https://github.com/silentbalanceyh/vertx-ai.git
|
|
57
|
+
* [Zero AI] Version : 0.3.19 「确认您的Node版本 ( >= 14.x ) 支持ES6, ES7.」
|
|
58
|
+
* [Zero AI] Zero AI 系统启动......
|
|
59
|
+
* [Zero AI] Zero AI 加载输入参数:
|
|
60
|
+
* {
|
|
61
|
+
* "input": "smaveapp"
|
|
62
|
+
* }
|
|
63
|
+
* [Zero AI] 当前操作系统:darwin
|
|
64
|
+
* 443196C59BF602102141607D992702EE
|
|
65
|
+
* [Zero AI] 加密的字符串已经成功拷贝到剪切板中!
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* ### 3. 选项
|
|
69
|
+
*
|
|
70
|
+
* |短参|全参|类型|默认|含义|
|
|
71
|
+
* |---|---|---|---|:---|
|
|
72
|
+
* |-i|--input|String|无|输入需要MD5加密的原始字符串。|
|
|
73
|
+
*
|
|
74
|
+
* @memberOf module:ai
|
|
75
|
+
* @method md5
|
|
76
|
+
*/
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
const Ec = require('../epic');
|
|
2
|
+
const os = require('os');
|
|
3
|
+
|
|
4
|
+
module.exports = () => {
|
|
5
|
+
/*
|
|
6
|
+
* 参数解析
|
|
7
|
+
*/
|
|
8
|
+
const actual = Ec.executeInput(
|
|
9
|
+
[],
|
|
10
|
+
[
|
|
11
|
+
['-n', '--number', 1],
|
|
12
|
+
['-l', '--length', 64]
|
|
13
|
+
]
|
|
14
|
+
);
|
|
15
|
+
/*
|
|
16
|
+
* 基本信息
|
|
17
|
+
*/
|
|
18
|
+
const number = actual.number;
|
|
19
|
+
const length = actual.length;
|
|
20
|
+
const platform = os.platform();
|
|
21
|
+
Ec.info(`随机字符串,生成数量:${number},长度:${length}`);
|
|
22
|
+
Ec.info(`当前操作系统:${platform}`);
|
|
23
|
+
|
|
24
|
+
if ("darwin" === platform) {
|
|
25
|
+
const content = [];
|
|
26
|
+
for (let idx = 0; idx < number; idx++) {
|
|
27
|
+
const generated = Ec.strRandom(length);
|
|
28
|
+
console.info(generated);
|
|
29
|
+
content.push(generated);
|
|
30
|
+
}
|
|
31
|
+
Ec.outMacOs(content.join('\n'))
|
|
32
|
+
.then(sign => Ec.info(`生成的随机字符串已经全部成功拷贝到剪切板中!`))
|
|
33
|
+
} else {
|
|
34
|
+
/*
|
|
35
|
+
* 不支持的操作系统
|
|
36
|
+
*/
|
|
37
|
+
Ec.fxError(10032, platform);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* ## `ai str`
|
|
44
|
+
*
|
|
45
|
+
* ### 1. 命令
|
|
46
|
+
*
|
|
47
|
+
* 使用该命令生成指定数量的随机字符串,如果平台支持还会拷贝到剪切板中,目前支持的操作系统:
|
|
48
|
+
*
|
|
49
|
+
* * `darwin`:MacOs苹果操作系统
|
|
50
|
+
*
|
|
51
|
+
* ### 2. 执行
|
|
52
|
+
*
|
|
53
|
+
* ```shell
|
|
54
|
+
* # 2.1. 命令语法
|
|
55
|
+
* ai str -n <N> -l <N>
|
|
56
|
+
*
|
|
57
|
+
* # 2.2. 执行测试
|
|
58
|
+
* ai str lang@LangYus-MacBook-Pro
|
|
59
|
+
* [Zero AI] Zero AI 代码生成工具 : <标准工具>
|
|
60
|
+
* [Zero AI] HomePage : http://www.vertxai.cn
|
|
61
|
+
* [Zero AI] Github : https://github.com/silentbalanceyh/vertx-ai.git
|
|
62
|
+
* [Zero AI] Version : 0.3.5 「确认您的Node版本 ( >= 14.x ) 支持ES6, ES7.」
|
|
63
|
+
* [Zero AI] Zero AI 系统启动......
|
|
64
|
+
* [Zero AI] Zero AI 加载输入参数:
|
|
65
|
+
* {
|
|
66
|
+
* "number": 1,
|
|
67
|
+
* "length": 64
|
|
68
|
+
* }
|
|
69
|
+
* [Zero AI] 随机字符串,生成数量:1,长度:64
|
|
70
|
+
* [Zero AI] 当前操作系统:darwin
|
|
71
|
+
* 5lTe8OsBsi8bw6PbVlS0aftyAfjsmEGjiwXXWpL5IEM3px6ZiM8Vz2nKnnqHFDnv
|
|
72
|
+
* [Zero AI] 生成的随机字符串已经全部成功拷贝到剪切板中!
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* ### 3. 选项
|
|
76
|
+
*
|
|
77
|
+
* |短参|全参|类型|默认|含义|
|
|
78
|
+
* |---|---|---|---|:---|
|
|
79
|
+
* |-n|--number|Number|1|指定需要生成随机字符串的数量,默认生成1个随机字符串值,`\n`符号分割。|
|
|
80
|
+
* |-l|--length|Number|64|指定随机字符串长度,默认长度64。|
|
|
81
|
+
*
|
|
82
|
+
* @memberOf module:ai
|
|
83
|
+
* @method str
|
|
84
|
+
*/
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
const Ec = require('../epic');
|
|
2
|
+
module.exports = () => {
|
|
3
|
+
const actual = Ec.executeInput(
|
|
4
|
+
[
|
|
5
|
+
['-p', '--path'],
|
|
6
|
+
['-f', '--field']
|
|
7
|
+
],
|
|
8
|
+
[
|
|
9
|
+
['-p', '--path'],
|
|
10
|
+
['-f', '--field']
|
|
11
|
+
]
|
|
12
|
+
);
|
|
13
|
+
const inputData = Ec.ioDataA(actual.path);
|
|
14
|
+
const field = actual.field;
|
|
15
|
+
if (field) {
|
|
16
|
+
const fieldArr = field.toString().split(',');
|
|
17
|
+
Ec.info(`检查字段:${JSON.stringify(fieldArr).blue}`);
|
|
18
|
+
fieldArr.forEach(field => {
|
|
19
|
+
const checked = {};
|
|
20
|
+
inputData.forEach(each => {
|
|
21
|
+
const value = each[field];
|
|
22
|
+
if (value && checked.hasOwnProperty(value)) {
|
|
23
|
+
Ec.info(`字段出现重复值:${field} = ${value}`.red);
|
|
24
|
+
}
|
|
25
|
+
checked[value] = true;
|
|
26
|
+
});
|
|
27
|
+
})
|
|
28
|
+
Ec.info("系统检查重复值完成!".cyan);
|
|
29
|
+
} else {
|
|
30
|
+
Ec.fxError(10001, field, "String");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* ## `ai uk`
|
|
36
|
+
*
|
|
37
|
+
* ### 1. 命令
|
|
38
|
+
*
|
|
39
|
+
* 使用该命令检查数据文件中的数据是否包含重复属性`field = value`键值对。
|
|
40
|
+
*
|
|
41
|
+
* ### 2. 执行
|
|
42
|
+
*
|
|
43
|
+
* ```shell
|
|
44
|
+
* # 2.1. 命令语法
|
|
45
|
+
* ai uk -p <path> -f <field>
|
|
46
|
+
*
|
|
47
|
+
* # 2.2. 执行测试
|
|
48
|
+
* ai uk -p uk.json -f name
|
|
49
|
+
* # ...省略部分...
|
|
50
|
+
* [Zero AI] Zero AI 系统启动......
|
|
51
|
+
* [Zero AI] Zero AI 加载输入参数:
|
|
52
|
+
* {
|
|
53
|
+
* "path": "uk.json",
|
|
54
|
+
* "field": "name"
|
|
55
|
+
* }
|
|
56
|
+
* [Zero AI] 检查字段:["name"]
|
|
57
|
+
* [Zero AI] 字段出现重复值:name = Lang2
|
|
58
|
+
* [Zero AI] 系统检查重复值完成!
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* ### 3. 选项
|
|
62
|
+
*
|
|
63
|
+
* |短参|全参|类型|默认|含义|
|
|
64
|
+
* |---|---|---|---|:---|
|
|
65
|
+
* |-p|--path|String|(无)|「统一格式」数据文件路径。|
|
|
66
|
+
* |-f|--field|String|(无)|待检查的字段名,字段可使用`field1,field2,field3`格式检查多个字段。|
|
|
67
|
+
*
|
|
68
|
+
* @memberOf module:ai
|
|
69
|
+
* @method uk
|
|
70
|
+
*/
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
const Ec = require('../epic');
|
|
2
|
+
const os = require('os');
|
|
3
|
+
|
|
4
|
+
const os_compatible = ['darwin', 'win32'];
|
|
5
|
+
|
|
6
|
+
module.exports = () => {
|
|
7
|
+
/*
|
|
8
|
+
* 参数解析
|
|
9
|
+
*/
|
|
10
|
+
const actual = Ec.executeInput(
|
|
11
|
+
[],
|
|
12
|
+
[
|
|
13
|
+
['-n', '--number', 20]
|
|
14
|
+
]
|
|
15
|
+
);
|
|
16
|
+
/*
|
|
17
|
+
* 基本信息
|
|
18
|
+
*/
|
|
19
|
+
const number = actual.number;
|
|
20
|
+
const platform = os.platform();
|
|
21
|
+
Ec.info(`UUID生成器,生成数量:${number}`);
|
|
22
|
+
Ec.info(`当前操作系统:${platform}`);
|
|
23
|
+
if (os_compatible.indexOf(platform) > -1) {
|
|
24
|
+
const content = [];
|
|
25
|
+
for (let idx = 0; idx < number; idx++) {
|
|
26
|
+
const generated = Ec.strUuid();
|
|
27
|
+
console.info(generated);
|
|
28
|
+
content.push(generated);
|
|
29
|
+
}
|
|
30
|
+
Ec.outCopy(content.join('\n'))
|
|
31
|
+
.then(sign => Ec.info(`生成的UUID已经全部成功拷贝到剪切板中!`))
|
|
32
|
+
} else {
|
|
33
|
+
/*
|
|
34
|
+
* 不支持的操作系统
|
|
35
|
+
*/
|
|
36
|
+
Ec.fxError(10032, platform);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* ## `ai uuid`
|
|
43
|
+
*
|
|
44
|
+
* ### 1. 命令
|
|
45
|
+
*
|
|
46
|
+
* 使用该命令生成指定数量的UUID字符串,如果平台支持还会拷贝到剪切板中,目前支持的操作系统:
|
|
47
|
+
*
|
|
48
|
+
* * `darwin`:MacOs苹果操作系统
|
|
49
|
+
*
|
|
50
|
+
* ### 2. 执行
|
|
51
|
+
*
|
|
52
|
+
* ```shell
|
|
53
|
+
* # 2.1. 命令语法
|
|
54
|
+
* ai uuid -n <N>
|
|
55
|
+
*
|
|
56
|
+
* # 2.2. 执行测试
|
|
57
|
+
* ai uuid -n 3
|
|
58
|
+
* # ...省略部分...
|
|
59
|
+
* [Zero AI] Zero AI 系统启动......
|
|
60
|
+
* [Zero AI] 命令参数:
|
|
61
|
+
* {
|
|
62
|
+
* "number": "3"
|
|
63
|
+
* }
|
|
64
|
+
* [Zero AI] UUID生成器,生成数量:3
|
|
65
|
+
* [Zero AI] 当前操作系统:darwin
|
|
66
|
+
* 14ea44ed-5d9a-406a-9912-d95d8f6a8411
|
|
67
|
+
* 5d27ca30-3e74-4a8a-a149-e8d40677d542
|
|
68
|
+
* a1ddb2ce-eabf-4a95-968d-8e4655207f44
|
|
69
|
+
* [Zero AI] 生成的UUID已经全部成功拷贝到剪切板中!
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* ### 3. 选项
|
|
73
|
+
*
|
|
74
|
+
* |短参|全参|类型|默认|含义|
|
|
75
|
+
* |---|---|---|---|:---|
|
|
76
|
+
* |-n|--number|Number|20|指定需要生成UUID值的数量,默认生成20个UUID字符串值,`\n`符号分割。|
|
|
77
|
+
*
|
|
78
|
+
* @memberOf module:ai
|
|
79
|
+
* @method uuid
|
|
80
|
+
*/
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const executeUuid = require('./fn.uuid');
|
|
2
|
+
const executeCsv = require('./fn.csv');
|
|
3
|
+
const executeUk = require('./fn.uk');
|
|
4
|
+
const executeKey = require('./fn.key');
|
|
5
|
+
const executeData = require('./fn.data');
|
|
6
|
+
const executeInit = require('./fn.init');
|
|
7
|
+
const executeString = require('./fn.random');
|
|
8
|
+
const executeMD5 = require('./fn.md5');
|
|
9
|
+
const exported = {
|
|
10
|
+
executeUuid, // ai uuid
|
|
11
|
+
executeCsv, // ai csv
|
|
12
|
+
executeUk, // ai uk
|
|
13
|
+
executeKey, // ai key
|
|
14
|
+
executeData, // ai data
|
|
15
|
+
executeInit, // ai init
|
|
16
|
+
executeString, // ai str
|
|
17
|
+
executeMD5, // ai md5
|
|
18
|
+
};
|
|
19
|
+
module.exports = exported;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
带 AI 的就是命令自动生成的
|
|
2
|
+
Eclipse常用插件基础
|
|
3
|
+
- /META-INF/MANIFEST.MF (Maven打包自动生成)模块描述文件
|
|
4
|
+
- plugin.xml (手工创建)插件配置文件
|
|
5
|
+
- plugin.properties (手工创建)插件配置文件
|
|
6
|
+
- lib/ AI / 依赖库
|
|
7
|
+
- schema/ AI / XSD专用文件存储目录
|
|
8
|
+
- xxx.jar (Maven打包自动生成)JAR文件,主 Bundle
|
|
9
|
+
|
|
10
|
+
自定义插件基础(全AI系列)
|
|
11
|
+
- lib/
|
|
12
|
+
- extension/ 第三方开发的扩展JAR文件
|
|
13
|
+
- modeler/ 模型库
|
|
14
|
+
- emf/ EMF模型库
|
|
15
|
+
- atom/ zero-atom 专用模型库
|
|
16
|
+
- meta/ 定义
|
|
17
|
+
- reference/ 引用
|
|
18
|
+
- rule/ 规则
|
|
19
|
+
- init/ 注册初始化目录,元数据出厂设置
|
|
20
|
+
- modeler/ 模型注册器
|
|
21
|
+
- store/ 存储注册器
|
|
22
|
+
- ddl/ SQL存储中的基础文件
|
|
23
|
+
- cloud/ 云端连接器
|
|
24
|
+
- development/ 开发层编辑器
|
|
25
|
+
- oob/ 初始化元数据
|
|
26
|
+
- resource/ 专用资源文件
|
|
27
|
+
- backend/ 后端 Web 主目录
|
|
28
|
+
- scripts/ 后端 Web 专用主脚本
|
|
29
|
+
- {type}/ 不同类型的脚本,后期扩展脚本引擎
|
|
30
|
+
- endpoint/ 后端 Web 端地址
|
|
31
|
+
- api/ Web服务接口,RESTful
|
|
32
|
+
- web-socket/ Web Socket服务
|
|
33
|
+
- service-bus/ Service Bus服务总线
|
|
34
|
+
- webapp/ (后端)JSP等类型内容
|
|
35
|
+
- WEB-INF/ 传统资源文件,包括 web.xml / Servlet
|
|
36
|
+
- components/ (后端)组件配置目录
|
|
37
|
+
- task/ 任务
|
|
38
|
+
- handler/ 处理器
|
|
39
|
+
- event/ 事件
|
|
40
|
+
- validator/ 验证器
|
|
41
|
+
- frontend/ 前端配置主目录
|
|
42
|
+
- assembly/ Native前端处理
|
|
43
|
+
- cab/ 资源包
|
|
44
|
+
- {language}/ 语言目录(多语言环境)
|
|
45
|
+
- scripts/ 前端脚本(Ts、Js)
|
|
46
|
+
- skin/ 前端皮肤处理专用
|
|
47
|
+
- images/ 图片相关资源
|
|
48
|
+
- icon/ 图标资源
|
|
49
|
+
- components/ 自定义组件(扩展)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const Ec = require('../epic');
|
|
2
|
+
module.exports = () => {
|
|
3
|
+
const actual = Ec.executeInput(
|
|
4
|
+
[],
|
|
5
|
+
[
|
|
6
|
+
['-p', '--path', "."],
|
|
7
|
+
['-e', '--extension', ".xlsx"],
|
|
8
|
+
['-w', '--write', "REPLACE"]
|
|
9
|
+
]
|
|
10
|
+
);
|
|
11
|
+
Ec.cxExist(actual.path);
|
|
12
|
+
|
|
13
|
+
Ec.fxError(!["REPLACE", "APPEND"].includes(actual.write), 10036, actual.write);
|
|
14
|
+
|
|
15
|
+
const moduleConfig = Ec.javaSmartMod(actual.path);
|
|
16
|
+
// 执行 initialize.json 写入
|
|
17
|
+
const files = Ec.seekChildren(moduleConfig.path,
|
|
18
|
+
(filename) => filename.endsWith(actual.extension));
|
|
19
|
+
const normalized = [];
|
|
20
|
+
files.forEach(file => normalized.push(`${moduleConfig.prefix}${file}`));
|
|
21
|
+
|
|
22
|
+
// 读取 initialize.json 文件并执行合并
|
|
23
|
+
const contentJ = Ec.ioJArray(moduleConfig.out);
|
|
24
|
+
const contentT = Ec.jsonCombine(contentJ, normalized, actual.write);
|
|
25
|
+
Ec.outJson(moduleConfig.out, contentT, true);
|
|
26
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const Ec = require("../epic");
|
|
2
|
+
const path = require("path");
|
|
3
|
+
|
|
4
|
+
module.exports = () => {
|
|
5
|
+
const actual = Ec.executeInput(
|
|
6
|
+
[
|
|
7
|
+
["-c", "--config"],
|
|
8
|
+
["-o", "--out"]
|
|
9
|
+
],
|
|
10
|
+
[
|
|
11
|
+
["-c", "--config"],
|
|
12
|
+
["-o", "--out"]
|
|
13
|
+
]
|
|
14
|
+
);
|
|
15
|
+
if (Ec.isExist(actual.config)) {
|
|
16
|
+
const config = Ec.ioJObject(actual.config);
|
|
17
|
+
const file = {};
|
|
18
|
+
file.resource = path.join(__dirname, `../cab/resource/resource.xlsx`);
|
|
19
|
+
file.json = path.join(__dirname, `../cab/resource/resource.json`);
|
|
20
|
+
file.auth = path.join(__dirname, `../cab/resource/falcon.resource.xlsx`);
|
|
21
|
+
file.identifier = config.identifier
|
|
22
|
+
const parameters = {};
|
|
23
|
+
parameters.NAME = config.name;
|
|
24
|
+
parameters.MODULE = config.module;
|
|
25
|
+
parameters.ID = config.identifier;
|
|
26
|
+
parameters.API = config.api;
|
|
27
|
+
parameters.SET = config.set;
|
|
28
|
+
parameters.TYPE = config.type;
|
|
29
|
+
Ec.excelRes(file, parameters);
|
|
30
|
+
} else {
|
|
31
|
+
throw new Error(`对不起,配置文件"${actual.config}"不存在!!`)
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const Ec = require('../epic');
|
|
2
|
+
const fs = require("fs");
|
|
3
|
+
const path = require("path");
|
|
4
|
+
module.exports = () => {
|
|
5
|
+
const actual = Ec.executeInput(
|
|
6
|
+
[],
|
|
7
|
+
[
|
|
8
|
+
['-p', '--path', "."]
|
|
9
|
+
]
|
|
10
|
+
);
|
|
11
|
+
const inputPath = actual.path;
|
|
12
|
+
Ec.info(`Bundle规范目录创建:${inputPath}`);
|
|
13
|
+
[
|
|
14
|
+
"lib/extension",
|
|
15
|
+
"modeler/emf",
|
|
16
|
+
"modeler/atom",
|
|
17
|
+
"modeler/atom/meta",
|
|
18
|
+
"modeler/atom/reference",
|
|
19
|
+
"modeler/atom/rule",
|
|
20
|
+
"init/modeler",
|
|
21
|
+
"init/store/ddl",
|
|
22
|
+
"init/cloud",
|
|
23
|
+
"init/development",
|
|
24
|
+
"init/oob/resource",
|
|
25
|
+
"backend/scripts/groovy",
|
|
26
|
+
"backend/scripts/js",
|
|
27
|
+
"backend/scripts/jruby",
|
|
28
|
+
"backend/scripts/jpython",
|
|
29
|
+
"backend/endpoint/api",
|
|
30
|
+
"backend/endpoint/web-socket",
|
|
31
|
+
"backend/endpoint/service-bus",
|
|
32
|
+
"backend/webapp/WEB-INF",
|
|
33
|
+
"backend/components",
|
|
34
|
+
"backend/components/task",
|
|
35
|
+
"backend/components/handler",
|
|
36
|
+
"backend/components/event",
|
|
37
|
+
"backend/components/validator",
|
|
38
|
+
"frontend/assembly",
|
|
39
|
+
"frontend/cab/cn",
|
|
40
|
+
"frontend/cab/en",
|
|
41
|
+
"frontend/cab/jp",
|
|
42
|
+
"frontend/scripts/js",
|
|
43
|
+
"frontend/scripts/ts",
|
|
44
|
+
"frontend/skin/",
|
|
45
|
+
"frontend/images/",
|
|
46
|
+
"frontend/images/icon",
|
|
47
|
+
"frontend/components",
|
|
48
|
+
].forEach(filename => fs.mkdirSync(inputPath + "/" + filename, {recursive: true}));
|
|
49
|
+
Ec.info(`即将拷贝说明文件:`);
|
|
50
|
+
Ec.ioCopy(path.join(__dirname, "./bundle/specification.txt"), inputPath + "/specification.txt");
|
|
51
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
const Ec = require("../epic");
|
|
2
|
+
const child = require('child_process');
|
|
3
|
+
module.exports = () => {
|
|
4
|
+
const actual = Ec.executeInput(
|
|
5
|
+
[
|
|
6
|
+
['-n', '--name']
|
|
7
|
+
],
|
|
8
|
+
[
|
|
9
|
+
['-n', '--name']
|
|
10
|
+
]
|
|
11
|
+
);
|
|
12
|
+
// 第一步:环境检查
|
|
13
|
+
if (Ec.isExist(".git")) {
|
|
14
|
+
Ec.error("请选择不带`.git`或`vertx-zero-scaffold`的目录执行当前命令,最好使用空目录!");
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
// 第二步:检查 vertx-zero-scaffold
|
|
18
|
+
const target = actual.name;
|
|
19
|
+
Ec.info(`工程构建目录:${target}`);
|
|
20
|
+
const cmd = `git clone https://gitee.com/silentbalanceyh/vertx-zero-scaffold.git ${target}`;
|
|
21
|
+
child.execSync(cmd, {stdio: 'inherit'});
|
|
22
|
+
// 删除目标目录中的 .git 文件夹
|
|
23
|
+
Ec.info(`执行工程初始化:${target}`);
|
|
24
|
+
const cmdGit = `rm -rf ${target}/.git`;
|
|
25
|
+
child.execSync(cmdGit, {stdio: 'inherit'});
|
|
26
|
+
Ec.info(`工程初始化完成:${target},您可以开始您的Zero Api之行了!`.help);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* ## `aj jinit`
|
|
30
|
+
*
|
|
31
|
+
* ### 1. 命令
|
|
32
|
+
*
|
|
33
|
+
* vertx-zero-scaffold项目脚手架初始化专用命令。
|
|
34
|
+
*
|
|
35
|
+
* ### 2. 执行
|
|
36
|
+
*
|
|
37
|
+
* ```shell
|
|
38
|
+
* # 2.1. 命令语法
|
|
39
|
+
* aj jinit -name <name>
|
|
40
|
+
*
|
|
41
|
+
* # 2.2. 执行测试
|
|
42
|
+
* aj jinit -name test-demo-api
|
|
43
|
+
* [Zero AI] Zero AI 代码生成工具 : <标准工具>
|
|
44
|
+
* [Zero AI] HomePage : http://www.vertxai.cn
|
|
45
|
+
* [Zero AI] Github : https://github.com/silentbalanceyh/vertx-ai.git
|
|
46
|
+
* [Zero AI] Version : 0.3.2 「确认您的Node版本 ( >= 14.x ) 支持ES6, ES7.」
|
|
47
|
+
* [Zero AI] Zero AI 系统启动......
|
|
48
|
+
* [Zero AI] Zero AI 加载输入参数:
|
|
49
|
+
* {
|
|
50
|
+
"name": "test-demo-api"
|
|
51
|
+
* }
|
|
52
|
+
* [Zero AI] 工程构建目录:test-demo-api
|
|
53
|
+
* Cloning into 'test-demo-api'...
|
|
54
|
+
* remote: Enumerating objects: 949, done.
|
|
55
|
+
* remote: Counting objects: 100% (949/949), done.
|
|
56
|
+
* remote: Compressing objects: 100% (176/176), done.
|
|
57
|
+
* remote: Total 949 (delta 719), reused 944 (delta 717), pack-reused 0
|
|
58
|
+
* Receiving objects: 100% (949/949), 1.21 MiB | 1.73 MiB/s, done.
|
|
59
|
+
* Resolving deltas: 100% (719/719), done.
|
|
60
|
+
* [Zero AI] 执行工程初始化:test-demo-api
|
|
61
|
+
* [Zero AI] 工程初始化完成:test-demo-api,您可以开始您的Zero Api之行了!
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* ### 3. 选项
|
|
65
|
+
*
|
|
66
|
+
* |短参|全参|类型|默认|含义|
|
|
67
|
+
* |---|---|---|---|:---|
|
|
68
|
+
* |-n|--name|String|(无)|项目名称以及目录名称。|
|
|
69
|
+
*
|
|
70
|
+
* @memberOf module:aj
|
|
71
|
+
* @method jinit
|
|
72
|
+
*/
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
const Ec = require('../epic');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
|
|
4
|
+
module.exports = () => {
|
|
5
|
+
const actual = Ec.executeInput(
|
|
6
|
+
[
|
|
7
|
+
["-r", "--role"],
|
|
8
|
+
["-o", "--out"]
|
|
9
|
+
],
|
|
10
|
+
[
|
|
11
|
+
["-r", "--role"],
|
|
12
|
+
["-o", "--out"],
|
|
13
|
+
["-i", "--input"]
|
|
14
|
+
]
|
|
15
|
+
);
|
|
16
|
+
// 读取文件列表
|
|
17
|
+
const standard = Ec.ioFiles(path.join(__dirname, `../cab/perm`));
|
|
18
|
+
const configuration = {};
|
|
19
|
+
configuration.files = standard.map(item => item.path);
|
|
20
|
+
if (actual.input) {
|
|
21
|
+
let filesInput = Ec.ioFiles(path.join(process.cwd(), actual.input));
|
|
22
|
+
configuration.filesInput = filesInput.map(item => item.path);
|
|
23
|
+
}
|
|
24
|
+
configuration.role = actual.role;
|
|
25
|
+
configuration.out = actual.out;
|
|
26
|
+
Ec.excelRun(configuration);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* ## `aj jperm`
|
|
30
|
+
*
|
|
31
|
+
* ### 1. 命令
|
|
32
|
+
*
|
|
33
|
+
* 使用该命令生成某个角色的专用权限文件目录(内置所有Zero Extension标准权限)
|
|
34
|
+
*
|
|
35
|
+
* ### 2. 执行
|
|
36
|
+
*
|
|
37
|
+
* #### 2.1. 基本介绍
|
|
38
|
+
*
|
|
39
|
+
* ```shell
|
|
40
|
+
* # 2.1.1. 命令语法
|
|
41
|
+
* aj jperm -r <role> -i <input>
|
|
42
|
+
*
|
|
43
|
+
* # 2.1.2. 执行测试
|
|
44
|
+
* ai jperm -r ccc -i input
|
|
45
|
+
*
|
|
46
|
+
* [Zero AI] Zero AI 1. 准备生成角色对应权限:ID = "ccc" ...
|
|
47
|
+
* [Zero AI] Zero AI 2. 生成 Zero Extension 权限...
|
|
48
|
+
*
|
|
49
|
+
* ### 3. 选项
|
|
50
|
+
*
|
|
51
|
+
* #### 3.1. 基本说明
|
|
52
|
+
*
|
|
53
|
+
* |短参|全参|类型|默认|含义|
|
|
54
|
+
* |---|---|---|---|:---|
|
|
55
|
+
* |-c|--role|String|无|系统中角色的UUID。|
|
|
56
|
+
* |-i|--input|String|无|另外一个目录,用来合并新权限。|
|
|
57
|
+
*
|
|
58
|
+
* @memberOf module:aj
|
|
59
|
+
* @method jperm
|
|
60
|
+
**/
|