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.
Files changed (276) hide show
  1. package/CNAME +1 -0
  2. package/README.md +54 -0
  3. package/SUMMARY.md +15 -0
  4. package/_config.yml +1 -0
  5. package/_layouts/default.html +60 -0
  6. package/_sass/jekyll-theme-dinky.scss +440 -0
  7. package/_sass/rouge-github.scss +209 -0
  8. package/assets/css/style.scss +4 -0
  9. package/assets/images/arrow-down.png +0 -0
  10. package/assets/images/octocat-small.png +0 -0
  11. package/assets/js/scale.fix.js +20 -0
  12. package/configs/sorts.json +38 -0
  13. package/document/doc-config/jsdoc.json +89 -0
  14. package/document/doc-config/third-part/esdoc.json +9 -0
  15. package/document/doc-config/third-part/yuidoc-example.json +23 -0
  16. package/document/doc-config/third-part/yuidoc.json +11 -0
  17. package/document/doc-config/tpl/publish.js +778 -0
  18. package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  19. package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  20. package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  21. package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  22. package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  23. package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  24. package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  25. package/document/doc-config/tpl/static/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  26. package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  27. package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +978 -0
  28. package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  29. package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  30. package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  31. package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  32. package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1049 -0
  33. package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  34. package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  35. package/document/doc-config/tpl/static/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  36. package/document/doc-config/tpl/static/scripts/collapse.js +20 -0
  37. package/document/doc-config/tpl/static/scripts/linenumber.js +25 -0
  38. package/document/doc-config/tpl/static/scripts/nav.js +12 -0
  39. package/document/doc-config/tpl/static/scripts/polyfill.js +4 -0
  40. package/document/doc-config/tpl/static/scripts/prettify/Apache-License-2.0.txt +202 -0
  41. package/document/doc-config/tpl/static/scripts/prettify/lang-css.js +2 -0
  42. package/document/doc-config/tpl/static/scripts/prettify/prettify.js +28 -0
  43. package/document/doc-config/tpl/static/scripts/search.js +83 -0
  44. package/document/doc-config/tpl/static/styles/jsdoc.css +765 -0
  45. package/document/doc-config/tpl/static/styles/prettify.css +79 -0
  46. package/document/doc-config/tpl/static/styles/zero.css +50 -0
  47. package/document/doc-config/tpl/tmpl/augments.tmpl +10 -0
  48. package/document/doc-config/tpl/tmpl/container.tmpl +197 -0
  49. package/document/doc-config/tpl/tmpl/details.tmpl +148 -0
  50. package/document/doc-config/tpl/tmpl/example.tmpl +2 -0
  51. package/document/doc-config/tpl/tmpl/examples.tmpl +13 -0
  52. package/document/doc-config/tpl/tmpl/exceptions.tmpl +32 -0
  53. package/document/doc-config/tpl/tmpl/layout.tmpl +98 -0
  54. package/document/doc-config/tpl/tmpl/mainpage.tmpl +15 -0
  55. package/document/doc-config/tpl/tmpl/members.tmpl +38 -0
  56. package/document/doc-config/tpl/tmpl/method.tmpl +138 -0
  57. package/document/doc-config/tpl/tmpl/modifies.tmpl +14 -0
  58. package/document/doc-config/tpl/tmpl/params.tmpl +132 -0
  59. package/document/doc-config/tpl/tmpl/properties.tmpl +107 -0
  60. package/document/doc-config/tpl/tmpl/returns.tmpl +19 -0
  61. package/document/doc-config/tpl/tmpl/source.tmpl +8 -0
  62. package/document/doc-config/tpl/tmpl/tutorial.tmpl +19 -0
  63. package/document/doc-config/tpl/tmpl/type.tmpl +7 -0
  64. package/document/doc-config/tpl/zero.css +0 -0
  65. package/document/doc-web/E.html +395 -0
  66. package/document/doc-web/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  67. package/document/doc-web/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  68. package/document/doc-web/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  69. package/document/doc-web/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  70. package/document/doc-web/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  71. package/document/doc-web/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  72. package/document/doc-web/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  73. package/document/doc-web/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  74. package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  75. package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +978 -0
  76. package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  77. package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  78. package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  79. package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  80. package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +1049 -0
  81. package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  82. package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  83. package/document/doc-web/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  84. package/document/doc-web/index.html +262 -0
  85. package/document/doc-web/module-_debug.html +1104 -0
  86. package/document/doc-web/module-_epic.html +1631 -0
  87. package/document/doc-web/module-ai.html +1701 -0
  88. package/document/doc-web/module-aj.html +1081 -0
  89. package/document/doc-web/scripts/collapse.js +20 -0
  90. package/document/doc-web/scripts/linenumber.js +25 -0
  91. package/document/doc-web/scripts/nav.js +12 -0
  92. package/document/doc-web/scripts/polyfill.js +4 -0
  93. package/document/doc-web/scripts/prettify/Apache-License-2.0.txt +202 -0
  94. package/document/doc-web/scripts/prettify/lang-css.js +2 -0
  95. package/document/doc-web/scripts/prettify/prettify.js +28 -0
  96. package/document/doc-web/scripts/search.js +83 -0
  97. package/document/doc-web/styles/jsdoc.css +765 -0
  98. package/document/doc-web/styles/prettify.css +79 -0
  99. package/document/doc-web/styles/zero.css +50 -0
  100. package/document/markdown/README.md +0 -0
  101. package/document/markdown/gong-cheng-chu-shi-hua.md +79 -0
  102. package/document/markdown/t0002-uuidsheng-cheng-qi.md +142 -0
  103. package/document/markdown/t0003-shu-ju-mo-ni-qi.md +135 -0
  104. package/document/markdown/t0004-zerode-fu-wu-tong-xun-fen-xi-qi.md +64 -0
  105. package/document/markdown/t0005-liquibaseshu-ju-zhuan-huan-qi.md +68 -0
  106. package/document/markdown/zt0001-pagecardchuang-jian.md +71 -0
  107. package/document/markdown/zt0002-formchuang-jian.md +81 -0
  108. package/document/markdown/zt0003-tian-jia-card-an-niu.md +115 -0
  109. package/document/markdown/zt0004-chu-li-modal-zhe-zhao-xiao-guo.md +105 -0
  110. package/document/markdown/ztgong-ju.md +0 -0
  111. package/install-local.sh +3 -0
  112. package/package.json +53 -0
  113. package/run-authorize.sh +32 -0
  114. package/run-doc.sh +16 -0
  115. package/run-update.sh +6 -0
  116. package/script/bootstrap +6 -0
  117. package/script/cibuild +9 -0
  118. package/script/release +42 -0
  119. package/script/validate-html +28 -0
  120. package/script/zrun-doc-generate.sh +18 -0
  121. package/script/zrun-doc-server.sh +13 -0
  122. package/src/ai.js +11 -0
  123. package/src/aj.js +11 -0
  124. package/src/art.js +11 -0
  125. package/src/cab/form/UI.js.tpl +50 -0
  126. package/src/cab/form/UI.json.tpl +38 -0
  127. package/src/cab/list/Op.js.tpl +42 -0
  128. package/src/cab/list/UI.Add.json.tpl +32 -0
  129. package/src/cab/list/UI.Edit.json.tpl +34 -0
  130. package/src/cab/list/UI.Filter.json.tpl +29 -0
  131. package/src/cab/list/UI.Form.js.tpl +64 -0
  132. package/src/cab/list/UI.js.tpl +49 -0
  133. package/src/cab/list/UI.json.tpl +208 -0
  134. package/src/cab/perm/falcon.app.xlsx +0 -0
  135. package/src/cab/perm/falcon.authority.resource.perm.xlsx +0 -0
  136. package/src/cab/perm/falcon.authority.resource.resource.xlsx +0 -0
  137. package/src/cab/perm/falcon.authority.role.action.xlsx +0 -0
  138. package/src/cab/perm/falcon.authority.view.xlsx +0 -0
  139. package/src/cab/perm/falcon.battery.module.xlsx +0 -0
  140. package/src/cab/perm/falcon.epic.form.xlsx +0 -0
  141. package/src/cab/perm/falcon.epic.integration.xlsx +0 -0
  142. package/src/cab/perm/falcon.epic.modeling.entity.xlsx +0 -0
  143. package/src/cab/perm/falcon.epic.modeling.field.xlsx +0 -0
  144. package/src/cab/perm/falcon.epic.modeling.global.xlsx +0 -0
  145. package/src/cab/perm/falcon.epic.modeling.model.xlsx +0 -0
  146. package/src/cab/perm/falcon.epic.page.xlsx +0 -0
  147. package/src/cab/perm/falcon.epic.topology.xlsx +0 -0
  148. package/src/cab/perm/falcon.fm.bank.xlsx +0 -0
  149. package/src/cab/perm/falcon.fm.bill.process.xlsx +0 -0
  150. package/src/cab/perm/falcon.fm.book.xlsx +0 -0
  151. package/src/cab/perm/falcon.fm.currency.xlsx +0 -0
  152. package/src/cab/perm/falcon.fm.debt.xlsx +0 -0
  153. package/src/cab/perm/falcon.fm.settlement.xlsx +0 -0
  154. package/src/cab/perm/falcon.fm.subject.xlsx +0 -0
  155. package/src/cab/perm/falcon.fm.term.xlsx +0 -0
  156. package/src/cab/perm/falcon.i.directory.xlsx +0 -0
  157. package/src/cab/perm/falcon.i.integration.xlsx +0 -0
  158. package/src/cab/perm/falcon.lbs.city.xlsx +0 -0
  159. package/src/cab/perm/falcon.lbs.floor.xlsx +0 -0
  160. package/src/cab/perm/falcon.lbs.query.xlsx +0 -0
  161. package/src/cab/perm/falcon.lbs.state.xlsx +0 -0
  162. package/src/cab/perm/falcon.lbs.tent.xlsx +0 -0
  163. package/src/cab/perm/falcon.login.index.xlsx +0 -0
  164. package/src/cab/perm/falcon.my.menu.xlsx +0 -0
  165. package/src/cab/perm/falcon.organization.brand.xlsx +0 -0
  166. package/src/cab/perm/falcon.organization.company.xlsx +0 -0
  167. package/src/cab/perm/falcon.organization.contract.xlsx +0 -0
  168. package/src/cab/perm/falcon.organization.customer.xlsx +0 -0
  169. package/src/cab/perm/falcon.organization.dept.team.xlsx +0 -0
  170. package/src/cab/perm/falcon.organization.dept.xlsx +0 -0
  171. package/src/cab/perm/falcon.organization.employee.identity.xlsx +0 -0
  172. package/src/cab/perm/falcon.organization.employee.xlsx +0 -0
  173. package/src/cab/perm/falcon.organization.project.xlsx +0 -0
  174. package/src/cab/perm/falcon.psi.pos.xlsx +0 -0
  175. package/src/cab/perm/falcon.psi.wh.xlsx +0 -0
  176. package/src/cab/perm/falcon.rbac.group.xlsx +0 -0
  177. package/src/cab/perm/falcon.rbac.role.xlsx +0 -0
  178. package/src/cab/perm/falcon.rbac.user.xlsx +0 -0
  179. package/src/cab/perm/falcon.system.document.xlsx +0 -0
  180. package/src/cab/perm/falcon.system.job.xlsx +0 -0
  181. package/src/cab/perm/falcon.system.report.xlsx +0 -0
  182. package/src/cab/perm/falcon.system.sync_log.xlsx +0 -0
  183. package/src/cab/perm/falcon.system.todo.xlsx +0 -0
  184. package/src/cab/perm/falcon.system.workflow.xlsx +0 -0
  185. package/src/cab/perm/falcon.ui.app.xlsx +0 -0
  186. package/src/cab/perm/falcon.view.personal.xlsx +0 -0
  187. package/src/cab/perm/falcon.x.activity.xlsx +0 -0
  188. package/src/cab/perm/falcon.x.attachment.xlsx +0 -0
  189. package/src/cab/perm/falcon.x.category.xlsx +0 -0
  190. package/src/cab/perm/falcon.x.integration.xlsx +0 -0
  191. package/src/cab/perm/falcon.x.linkage.xlsx +0 -0
  192. package/src/cab/perm/falcon.x.menu.xlsx +0 -0
  193. package/src/cab/perm/falcon.x.notice.xlsx +0 -0
  194. package/src/cab/perm/falcon.x.tabular.xlsx +0 -0
  195. package/src/cab/perm/falcon.x.tag.xlsx +0 -0
  196. package/src/cab/plugin/Component.java.tpl +52 -0
  197. package/src/cab/plugin/Cv.java.tpl +21 -0
  198. package/src/cab/plugin/ErrorIo.java.tpl +26 -0
  199. package/src/cab/plugin/In.Abstract.java.tpl +30 -0
  200. package/src/cab/plugin/In.java.tpl +25 -0
  201. package/src/cab/plugin/Io.Abstract.java.tpl +36 -0
  202. package/src/cab/plugin/Io.Impl.java.tpl +21 -0
  203. package/src/cab/plugin/Io.java.tpl +73 -0
  204. package/src/cab/plugin/Plugin.After.java.tpl +22 -0
  205. package/src/cab/plugin/Plugin.Before.java.tpl +22 -0
  206. package/src/cab/plugin/Refine.Log.java.tpl +47 -0
  207. package/src/cab/plugin/Refine.Pin.java.tpl +70 -0
  208. package/src/cab/plugin/Refine.java.tpl +67 -0
  209. package/src/cab/plugin/configuration.json.tpl +3 -0
  210. package/src/cab/plugin/infix.xml.tpl +22 -0
  211. package/src/cab/plugin/integration.json.tpl +20 -0
  212. package/src/cab/resource/falcon.resource.xlsx +0 -0
  213. package/src/cab/resource/resource.json +8 -0
  214. package/src/cab/resource/resource.xlsx +0 -0
  215. package/src/commander/ai.zero +10 -0
  216. package/src/commander/aj.zero +8 -0
  217. package/src/commander/ar.zero +4 -0
  218. package/src/commander/option.zero +21 -0
  219. package/src/commander-ai/fn.csv.js +105 -0
  220. package/src/commander-ai/fn.data.js +404 -0
  221. package/src/commander-ai/fn.init.js +106 -0
  222. package/src/commander-ai/fn.key.js +81 -0
  223. package/src/commander-ai/fn.md5.js +76 -0
  224. package/src/commander-ai/fn.random.js +84 -0
  225. package/src/commander-ai/fn.uk.js +70 -0
  226. package/src/commander-ai/fn.uuid.js +80 -0
  227. package/src/commander-ai/index.js +19 -0
  228. package/src/commander-aj/bundle/specification.txt +49 -0
  229. package/src/commander-aj/fn.i.mod.js +26 -0
  230. package/src/commander-aj/fn.i.resource.js +33 -0
  231. package/src/commander-aj/fn.j.bundle.js +51 -0
  232. package/src/commander-aj/fn.j.init.js +72 -0
  233. package/src/commander-aj/fn.j.permission.js +60 -0
  234. package/src/commander-aj/fn.j.plugin.js +120 -0
  235. package/src/commander-aj/fn.j.row.js +5 -0
  236. package/src/commander-aj/index.js +16 -0
  237. package/src/commander-ar/fn.i.complex.js +112 -0
  238. package/src/commander-ar/fn.i.form.js +91 -0
  239. package/src/commander-ar/index.js +7 -0
  240. package/src/epic/ai.economy.impl.fn.excel.js +128 -0
  241. package/src/epic/ai.economy.impl.fn.execute.js +162 -0
  242. package/src/epic/ai.economy.impl.fn.java.js +140 -0
  243. package/src/epic/ai.economy.impl.fn.json.js +23 -0
  244. package/src/epic/ai.economy.impl.fn.plugin.js +160 -0
  245. package/src/epic/ai.economy.impl.fn.react.js +219 -0
  246. package/src/epic/ai.export.impl.fn.parse.js +345 -0
  247. package/src/epic/ai.export.impl.fn.seek.js +42 -0
  248. package/src/epic/ai.export.interface.fn.string.js +5 -0
  249. package/src/epic/ai.export.interface.io.js +69 -0
  250. package/src/epic/ai.export.interface.util.js +17 -0
  251. package/src/epic/ai.path.fn.dir.operation.js +87 -0
  252. package/src/epic/ai.path.fn.io.command.js +43 -0
  253. package/src/epic/ai.path.fn.io.specification.js +59 -0
  254. package/src/epic/ai.path.fn.io.typed.js +63 -0
  255. package/src/epic/ai.path.fn.out.content.js +47 -0
  256. package/src/epic/ai.string.fn.str.util.js +56 -0
  257. package/src/epic/ai.uncork.fn.element.feature.js +52 -0
  258. package/src/epic/ai.uncork.fn.it.feature.js +118 -0
  259. package/src/epic/ai.uncork.fn.to.typed.js +74 -0
  260. package/src/epic/ai.under.fn.cx.evaluate.js +81 -0
  261. package/src/epic/ai.under.fn.fx.terminal.js +143 -0
  262. package/src/epic/ai.unified.fn._.logging.js +45 -0
  263. package/src/epic/ai.unified.fn.fn.error.code.js +114 -0
  264. package/src/epic/ai.unified.fn.is.decision.js +20 -0
  265. package/src/epic/ai.unified.fn.sorter.element.js +26 -0
  266. package/src/epic/index.js +216 -0
  267. package/src/epic/zero.__.fn.find.util.js +37 -0
  268. package/src/epic/zero.__.v.constant.js +5 -0
  269. package/test/csv.json +12 -0
  270. package/test/csv.zero +2 -0
  271. package/test/data.zero +56 -0
  272. package/test/key/key1.json +15 -0
  273. package/test/key/key2.json +12 -0
  274. package/test/key/key3.json +5 -0
  275. package/test/key.json +12 -0
  276. 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
+ **/