cloudcc-cli 2.3.0 → 2.3.2

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 (273) hide show
  1. package/.claude/settings.json +15 -0
  2. package/.cloudcc-cache.json +17 -48
  3. package/.cursor/skills/cloudcc-cli-dev.zip +0 -0
  4. package/.cursor/skills/cloudcc-cli-usage/SKILL.md +67 -0
  5. package/README.md +22 -0
  6. package/bin/cc.js +13 -8
  7. package/bin/index.js +12 -2
  8. package/bin/mcp.js +1 -1
  9. package/build/{component-cc-test-001.common.js → component-CCPlugin1774500425584.common.js} +25 -25
  10. package/build/component-CCPlugin1774500425584.common.js.map +1 -0
  11. package/build/component-CCPlugin1774500425584.css +1 -0
  12. package/build/{component-cc-test-001.umd.js → component-CCPlugin1774500425584.umd.js} +27 -27
  13. package/build/component-CCPlugin1774500425584.umd.js.map +1 -0
  14. package/build/{component-cc-test-001.umd.min.js → component-CCPlugin1774500425584.umd.min.js} +3 -3
  15. package/build/component-CCPlugin1774500425584.umd.min.js.map +1 -0
  16. package/build/demo.html +1 -1
  17. package/{src/mcp → mcp}/tools/Class Editor Guide/handler.js +12 -4
  18. package/{src/mcp → mcp}/tools/Component Editor Guide/handler.js +15 -14
  19. package/{src/mcp → mcp}/tools/Trigger Editor Guide/handler.js +8 -2
  20. package/package.json +2 -2
  21. package/src/application/delete.js +59 -0
  22. package/src/application/doc.js +46 -0
  23. package/src/application/docs/devguide.md +173 -0
  24. package/src/application/docs/introduction.md +81 -0
  25. package/src/application/get.js +31 -5
  26. package/src/application/index.js +2 -0
  27. package/src/brief/get.js +1 -1
  28. package/src/classes/create.js +6 -1
  29. package/src/classes/delete.js +49 -0
  30. package/src/classes/detail.js +21 -7
  31. package/src/classes/doc.js +49 -472
  32. package/src/classes/docs/devguide.md +451 -0
  33. package/src/classes/get.js +9 -2
  34. package/src/classes/index.js +3 -1
  35. package/src/classes/publish.js +6 -1
  36. package/src/classes/pull.js +6 -1
  37. package/src/classes/pullList.js +6 -3
  38. package/src/config/doc.js +31 -0
  39. package/src/config/docs/devguide.md +100 -0
  40. package/src/config/index.js +5 -0
  41. package/src/customPage/create.js +109 -14
  42. package/src/customPage/delete.js +2 -2
  43. package/src/customPage/doc.js +46 -0
  44. package/src/customPage/docs/devguide.md +200 -0
  45. package/src/customPage/docs/introduction.md +224 -0
  46. package/src/customPage/get.js +1 -1
  47. package/src/customPage/index.js +1 -0
  48. package/src/customSetting/create.js +36 -0
  49. package/src/customSetting/delete.js +35 -0
  50. package/src/customSetting/deleteCustomSettingField.js +43 -0
  51. package/src/customSetting/detail.js +33 -0
  52. package/src/customSetting/doc.js +22 -179
  53. package/src/customSetting/docs/devguide.md +181 -0
  54. package/src/customSetting/docs/introduction.md +3 -0
  55. package/src/customSetting/editCustomSettingField.js +34 -0
  56. package/src/customSetting/get.js +34 -0
  57. package/src/customSetting/index.js +10 -1
  58. package/src/customSetting/modify.js +30 -0
  59. package/src/customSetting/saveCustomSettingField.js +46 -0
  60. package/src/fields/delete.js +52 -0
  61. package/src/fields/doc.js +45 -0
  62. package/src/fields/docs/devguide.md +224 -0
  63. package/src/fields/docs/introduction.md +217 -0
  64. package/src/fields/index.js +2 -0
  65. package/src/globalSelectList/create.js +51 -0
  66. package/src/globalSelectList/delete.js +56 -0
  67. package/src/globalSelectList/detail.js +45 -0
  68. package/src/globalSelectList/doc.js +52 -0
  69. package/src/globalSelectList/docs/devguide.md +212 -0
  70. package/src/globalSelectList/docs/introduction.md +82 -0
  71. package/src/globalSelectList/get.js +31 -0
  72. package/src/globalSelectList/index.js +16 -0
  73. package/src/menu/create-page.js +54 -26
  74. package/src/menu/create-script.js +67 -19
  75. package/src/menu/create.js +9 -3
  76. package/src/menu/delete.js +59 -0
  77. package/src/menu/doc.js +57 -0
  78. package/src/menu/docs/devguide.md +203 -0
  79. package/src/menu/docs/introduction.md +99 -0
  80. package/src/menu/get.js +56 -0
  81. package/src/menu/index.js +3 -0
  82. package/src/menu/validator.js +80 -0
  83. package/src/object/delete.js +51 -0
  84. package/src/object/doc.js +45 -0
  85. package/src/object/docs/devguide.md +112 -0
  86. package/src/object/docs/introduction.md +187 -0
  87. package/src/object/get.js +1 -23
  88. package/src/object/index.js +2 -0
  89. package/src/pagelayout/create.js +123 -0
  90. package/src/pagelayout/doc.js +46 -0
  91. package/src/pagelayout/docs/devguide.md +295 -0
  92. package/src/pagelayout/docs/introduction.md +44 -0
  93. package/src/pagelayout/get.js +46 -0
  94. package/src/pagelayout/index.js +9 -0
  95. package/src/plugin/detail.js +14 -6
  96. package/src/plugin/doc.js +43 -863
  97. package/src/plugin/docs/devguide.md +923 -0
  98. package/src/plugin/publish1.js +3 -3
  99. package/src/profile/create.js +108 -0
  100. package/src/profile/delete.js +59 -0
  101. package/src/profile/doc.js +46 -0
  102. package/src/profile/docs/devguide.md +332 -0
  103. package/src/profile/docs/introduction.md +123 -0
  104. package/src/profile/get.js +55 -0
  105. package/src/profile/index.js +14 -0
  106. package/src/project/doc.js +39 -372
  107. package/src/project/docs/devguide.md +359 -0
  108. package/src/project/docs/introduction.md +3 -0
  109. package/src/recordType/create.js +77 -0
  110. package/src/recordType/delete.js +52 -0
  111. package/src/recordType/doc.js +36 -0
  112. package/src/recordType/docs/devguide.md +160 -0
  113. package/src/recordType/docs/introduction.md +53 -0
  114. package/src/recordType/editInfo.js +39 -0
  115. package/src/recordType/editSave.js +47 -0
  116. package/src/recordType/get.js +1 -1
  117. package/src/recordType/getList.js +31 -0
  118. package/src/recordType/index.js +16 -3
  119. package/src/recordType/newInfo.js +39 -0
  120. package/src/recordType/validDelete.js +91 -0
  121. package/src/res.md +66 -0
  122. package/src/role/create.js +153 -0
  123. package/src/role/delete.js +59 -0
  124. package/src/role/doc.js +46 -0
  125. package/src/role/docs/devguide.md +387 -0
  126. package/src/role/docs/introduction.md +124 -0
  127. package/src/role/get.js +57 -0
  128. package/src/role/index.js +10 -0
  129. package/src/scheduleJob/delete.js +26 -0
  130. package/src/scheduleJob/detail.js +23 -0
  131. package/src/scheduleJob/doc.js +49 -0
  132. package/src/scheduleJob/docs/devguide.md +79 -0
  133. package/src/scheduleJob/docs/introduction.md +101 -0
  134. package/src/scheduleJob/get.js +26 -0
  135. package/src/scheduleJob/index.js +15 -0
  136. package/src/script/delete.js +112 -0
  137. package/src/script/doc.js +31 -245
  138. package/src/script/docs/devguide.md +290 -0
  139. package/src/script/docs/introduction.md +48 -0
  140. package/src/script/index.js +1 -0
  141. package/src/staticResource/count.js +46 -0
  142. package/src/staticResource/create.js +97 -0
  143. package/src/staticResource/delete.js +48 -0
  144. package/src/staticResource/detail.js +46 -0
  145. package/src/staticResource/doc.js +39 -0
  146. package/src/staticResource/docs/devguide.md +157 -0
  147. package/src/staticResource/docs/introduction.md +3 -0
  148. package/src/staticResource/get.js +48 -0
  149. package/src/staticResource/index.js +13 -0
  150. package/src/timer/create.js +6 -1
  151. package/src/timer/delete.js +49 -0
  152. package/src/timer/detail.js +5 -5
  153. package/src/timer/doc.js +57 -0
  154. package/src/timer/get.js +7 -1
  155. package/src/timer/index.js +4 -1
  156. package/src/timer/publish.js +6 -1
  157. package/src/timer/pull.js +6 -1
  158. package/src/timer/pullList.js +5 -3
  159. package/src/triggers/delete.js +46 -0
  160. package/src/triggers/detail.js +5 -5
  161. package/src/triggers/doc.js +49 -364
  162. package/src/triggers/docs/devguide.md +334 -0
  163. package/src/triggers/get.js +7 -3
  164. package/src/triggers/index.js +2 -4
  165. package/src/triggers/pullList.js +7 -7
  166. package/src/user/create.js +50 -0
  167. package/src/user/delete.js +59 -0
  168. package/src/user/doc.js +46 -0
  169. package/src/user/docs/devguide.md +634 -0
  170. package/src/user/docs/introduction.md +124 -0
  171. package/src/user/get.js +112 -0
  172. package/src/user/index.js +12 -0
  173. package/src/user/update.js +96 -0
  174. package/src/user/view.js +60 -0
  175. package/test/application.cli.test.js +49 -8
  176. package/test/classes.cli.test.js +14 -5
  177. package/test/customPage.cli.test.js +96 -0
  178. package/test/customSetting.cli.test.js +84 -0
  179. package/test/fields.cli.test.js +18 -3
  180. package/test/globalSelectList.cli.test.js +94 -0
  181. package/test/menu-script.cli.test.js +147 -0
  182. package/test/menu.cli.test.js +42 -5
  183. package/test/object.cli.test.js +17 -1
  184. package/test/plugin.cli.test.js +5 -3
  185. package/test/scheduleJob.cli.test.js +52 -0
  186. package/test/staticResource.cli.test.js +78 -0
  187. package/test/timer.cli.test.js +20 -7
  188. package/test/trigger.cli.test.js +13 -5
  189. package/tmp_customsetting_detail.json +1 -0
  190. package/.cursor/skills/cloudcc-cli-dev/BACKEND_CLASS.md +0 -97
  191. package/.cursor/skills/cloudcc-cli-dev/BACKEND_SCHEDULE.md +0 -78
  192. package/.cursor/skills/cloudcc-cli-dev/BACKEND_TRIGGER.md +0 -137
  193. package/.cursor/skills/cloudcc-cli-dev/CLI_CHEATSHEET.md +0 -215
  194. package/.cursor/skills/cloudcc-cli-dev/CUSTOM-SETTING-API.md +0 -241
  195. package/.cursor/skills/cloudcc-cli-dev/INSTALL_AND_BOOTSTRAP.md +0 -59
  196. package/.cursor/skills/cloudcc-cli-dev/OBJECTS_AND_FIELDS.md +0 -120
  197. package/.cursor/skills/cloudcc-cli-dev/REQUIREMENTS_BREAKDOWN.md +0 -98
  198. package/.cursor/skills/cloudcc-cli-dev/SKILL.md +0 -44
  199. package/.cursor/skills/cloudcc-cli-dev/VUE_CUSTOM_COMPONENT.md +0 -151
  200. package/build/component-cc-test-001.common.js.map +0 -1
  201. package/build/component-cc-test-001.css +0 -1
  202. package/build/component-cc-test-001.umd.js.map +0 -1
  203. package/build/component-cc-test-001.umd.min.js.map +0 -1
  204. package/classes/CCdd/CCdd.java +0 -22
  205. package/classes/CCdd/CCddTest.java +0 -11
  206. package/classes/CCdd/config.json +0 -1
  207. package/core.zip +0 -0
  208. package/plugins/cc-test-001/cc-test-001.vue +0 -32
  209. package/plugins/cc-test-001/components/HelloWorld.vue +0 -11
  210. package/plugins/cc-test-001/config.json +0 -6
  211. package/schedule/CCdd/CCdd.java +0 -11
  212. package/schedule/CCdd/config.json +0 -1
  213. package/src/approval/approve.js +0 -105
  214. package/src/approval/get.js +0 -245
  215. package/src/approval/index.js +0 -11
  216. package/src/approval/reject.js +0 -105
  217. package/src/plugin/readme.md +0 -7
  218. package/target/ccopenapi-0.0.4-classes.jar +0 -0
  219. package/target/ccopenapi-0.0.4.jar +0 -0
  220. package/target/classes/CCdd/CCdd.class +0 -0
  221. package/target/classes/CCdd/CCddTest.class +0 -0
  222. package/target/classes/CCdd/config.json +0 -1
  223. package/target/maven-archiver/pom.properties +0 -3
  224. package/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +0 -20
  225. package/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +0 -19
  226. /package/{src/mcp → mcp}/cliRunner.js +0 -0
  227. /package/{src/mcp → mcp}/index.js +0 -0
  228. /package/{src/mcp → mcp}/readme.md +0 -0
  229. /package/{src/mcp → mcp}/tools/Application Creator/handler.js +0 -0
  230. /package/{src/mcp → mcp}/tools/Approval/handler.js +0 -0
  231. /package/{src/mcp → mcp}/tools/Class Creator/handler.js +0 -0
  232. /package/{src/mcp → mcp}/tools/Class Detail Retriever/handler.js +0 -0
  233. /package/{src/mcp → mcp}/tools/Class List Retriever/handler.js +0 -0
  234. /package/{src/mcp → mcp}/tools/Class Publisher/handler.js +0 -0
  235. /package/{src/mcp → mcp}/tools/Class Puller/handler.js +0 -0
  236. /package/{src/mcp → mcp}/tools/Client Script Detail Retriever/handler.js +0 -0
  237. /package/{src/mcp → mcp}/tools/Client Script Editor Guide/handler.js +0 -0
  238. /package/{src/mcp → mcp}/tools/Client Script List Retriever/handler.js +0 -0
  239. /package/{src/mcp → mcp}/tools/Client Script Publisher/handler.js +0 -0
  240. /package/{src/mcp → mcp}/tools/Client Script Puller/handler.js +0 -0
  241. /package/{src/mcp → mcp}/tools/CloudCC Development Overview/handler.js +0 -0
  242. /package/{src/mcp → mcp}/tools/Component Creator/handler.js +0 -0
  243. /package/{src/mcp → mcp}/tools/Component Detail Retriever/handler.js +0 -0
  244. /package/{src/mcp → mcp}/tools/Component List Retriever/handler.js +0 -0
  245. /package/{src/mcp → mcp}/tools/Component Publisher/handler.js +0 -0
  246. /package/{src/mcp → mcp}/tools/Component Puller/handler.js +0 -0
  247. /package/{src/mcp → mcp}/tools/Dev Environment Creator/fetcher.js +0 -0
  248. /package/{src/mcp → mcp}/tools/Dev Environment Creator/handler.js +0 -0
  249. /package/{src/mcp → mcp}/tools/Dev Environment Validator/handler.js +0 -0
  250. /package/{src/mcp → mcp}/tools/Developer Key Setup Guide/fetcher.js +0 -0
  251. /package/{src/mcp → mcp}/tools/Developer Key Setup Guide/handler.js +0 -0
  252. /package/{src/mcp → mcp}/tools/JSP Migrator/handler.js +0 -0
  253. /package/{src/mcp → mcp}/tools/Menu Creator/handler.js +0 -0
  254. /package/{src/mcp → mcp}/tools/Object Creator/handler.js +0 -0
  255. /package/{src/mcp → mcp}/tools/Object Fields Creator/handler.js +0 -0
  256. /package/{src/mcp → mcp}/tools/Object Fields Retriever/handler.js +0 -0
  257. /package/{src/mcp → mcp}/tools/Object List Retriever/handler.js +0 -0
  258. /package/{src/mcp → mcp}/tools/Scheduled Class Creator/handler.js +0 -0
  259. /package/{src/mcp → mcp}/tools/Scheduled Class Detail Retriever/handler.js +0 -0
  260. /package/{src/mcp → mcp}/tools/Scheduled Class List Retriever/handler.js +0 -0
  261. /package/{src/mcp → mcp}/tools/Scheduled Class Publisher/handler.js +0 -0
  262. /package/{src/mcp → mcp}/tools/Scheduled Class Puller/handler.js +0 -0
  263. /package/{src/mcp → mcp}/tools/Trigger Creator/handler.js +0 -0
  264. /package/{src/mcp → mcp}/tools/Trigger Detail Retriever/handler.js +0 -0
  265. /package/{src/mcp → mcp}/tools/Trigger List Retriever/handler.js +0 -0
  266. /package/{src/mcp → mcp}/tools/Trigger Publisher/handler.js +0 -0
  267. /package/{src/mcp → mcp}/tools/Trigger Puller/handler.js +0 -0
  268. /package/{src/mcp → mcp}/tools/index.js +0 -0
  269. /package/{docs//350/207/252/345/256/232/344/271/211/347/261/273.md" → src/classes/docs/introduction.md} +0 -0
  270. /package/{docs/CloudCC/350/207/252/345/256/232/344/271/211/347/273/204/344/273/266/344/275/277/347/224/250/350/257/264/346/230/216.md" → src/plugin/docs/introduction.md} +0 -0
  271. /package/{docs/cloudcc/345/256/232/346/227/266/344/275/234/344/270/232.md" → src/timer/docs/devguide.md} +0 -0
  272. /package/{docs/cloudcc/345/256/232/346/227/266/347/261/273.md" → src/timer/docs/introduction.md} +0 -0
  273. /package/{docs//350/247/246/345/217/221/345/231/250/347/261/273.md" → src/triggers/docs/introduction.md} +0 -0
@@ -0,0 +1,157 @@
1
+ # 静态资源(Static Resource)操作指南
2
+
3
+ 直接查看:`cc doc staticResource`
4
+
5
+ ---
6
+
7
+ ## 1. 常见操作
8
+
9
+ - 查询静态资源列表
10
+ - 查看静态资源详情
11
+ - 新建/编辑静态资源(上传)
12
+ - 删除静态资源
13
+ - 查询静态资源容量(上传前校验)
14
+
15
+ ---
16
+
17
+ ## 2. 常用 CLI 命令
18
+
19
+ ### 1) 查看静态资源指导文档
20
+
21
+ 命令:
22
+
23
+ ```bash
24
+ cc doc staticResource
25
+ ```
26
+
27
+ 说明:输出静态资源完整操作文档,并自动附带本文件内容。
28
+
29
+ ### 2) 查询静态资源列表
30
+
31
+ 命令:
32
+
33
+ ```bash
34
+ cc get staticResource <projectPath> [encodedCondJson]
35
+ ```
36
+
37
+ 参数说明:
38
+
39
+ | 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
40
+ | :--- | :--- | :--- | :--- | :--- |
41
+ | projectPath | string | 非必须 | 当前目录 | 项目根目录 |
42
+ | encodedCondJson | string | 非必须 | — | `encodeURI(JSON.stringify(body))` 后的查询条件 |
43
+
44
+ 请求体(decoded 后)常用字段:
45
+
46
+ | 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
47
+ | :--- | :--- | :--- | :--- | :--- |
48
+ | label | string | 非必须 | `""` | 可用于按标签/名称筛选 |
49
+
50
+ ### 3) 查询静态资源详情
51
+
52
+ 命令:
53
+
54
+ ```bash
55
+ cc detail staticResource <projectPath> <resourceId>
56
+ ```
57
+
58
+ 参数说明:
59
+
60
+ | 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
61
+ | :--- | :--- | :--- | :--- | :--- |
62
+ | projectPath | string | 非必须 | 当前目录 | 项目根目录 |
63
+ | resourceId | string | 必须 | — | 静态资源 id |
64
+
65
+ ### 4) 新建/编辑静态资源(上传)
66
+
67
+ 命令:
68
+
69
+ ```bash
70
+ cc create staticResource <projectPath> <encodedBodyJson>
71
+ ```
72
+
73
+ 参数说明:
74
+
75
+ | 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
76
+ | :--- | :--- | :--- | :--- | :--- |
77
+ | projectPath | string | 非必须 | 当前目录 | 项目根目录 |
78
+ | encodedBodyJson | string | 必须 | — | `encodeURI(JSON.stringify(body))` |
79
+
80
+ 请求体(decoded 后)字段:
81
+
82
+ | 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
83
+ | :--- | :--- | :--- | :--- | :--- |
84
+ | filePath | string | 视场景 | — | 新建必填;编辑不换文件可不传 |
85
+ | label | string | 必须 | — | 标签/名称 |
86
+ | desc | string | 非必须 | `""` | 描述 |
87
+ | id | string | 仅编辑 | `""` | 编辑时传静态资源 id |
88
+ | name | string | 非必须 | 文件名 | 不传则从 `filePath` 推导 |
89
+ | type | string | 非必须 | 文件后缀 | 不传则从文件名推导 |
90
+
91
+ ### 5) 删除静态资源
92
+
93
+ 命令:
94
+
95
+ ```bash
96
+ cc delete staticResource <projectPath> <resourceId>
97
+ ```
98
+
99
+ 参数说明:
100
+
101
+ | 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
102
+ | :--- | :--- | :--- | :--- | :--- |
103
+ | projectPath | string | 非必须 | 当前目录 | 项目根目录 |
104
+ | resourceId | string | 必须 | — | 静态资源 id |
105
+
106
+ ### 6) 统计静态资源容量(上传前校验)
107
+
108
+ 命令:
109
+
110
+ ```bash
111
+ cc count staticResource <projectPath> [encodedCondJson]
112
+ ```
113
+
114
+ 参数说明:
115
+
116
+ | 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
117
+ | :--- | :--- | :--- | :--- | :--- |
118
+ | projectPath | string | 非必须 | 当前目录 | 项目根目录 |
119
+ | encodedCondJson | string | 非必须 | — | 当前实现通常不传,传值时同样为 `encodeURI(JSON.stringify(body))` |
120
+
121
+ ---
122
+
123
+ ## 3. 示例
124
+
125
+ ### 按 label 查询列表
126
+
127
+ ```bash
128
+ cc get staticResource . "$(node -e 'console.log(encodeURI(JSON.stringify({label:\"logo\"})))')"
129
+ ```
130
+
131
+ ### 查询容量统计
132
+
133
+ ```bash
134
+ cc count staticResource .
135
+ ```
136
+
137
+ ### 新建静态资源(上传文件)
138
+
139
+ ```bash
140
+ cc create staticResource . "$(node -e "console.log(encodeURI(JSON.stringify({filePath:'./assets/logo.png',label:'logo_png',desc:'cli upload'})))")"
141
+ ```
142
+
143
+ ### 编辑静态资源(不替换文件)
144
+
145
+ ```bash
146
+ cc create staticResource . "$(node -e "console.log(encodeURI(JSON.stringify({id:'69c4f469ec9eb4d5c8a1b76d',label:'logo_png_v2',desc:'rename only'})))")"
147
+ ```
148
+
149
+ ---
150
+
151
+ ## 4. Checklist
152
+
153
+ - [ ] 已在正确项目目录执行命令(或显式传入 `projectPath`)
154
+ - [ ] 列表查询条件已按 `encodeURI(JSON.stringify(...))` 传入
155
+ - [ ] 删除前已确认资源未被页面/脚本/组件引用
156
+ - [ ] 上传前已先执行容量统计
157
+
@@ -0,0 +1,3 @@
1
+ # CloudCC 静态资源介绍
2
+
3
+ TODO
@@ -0,0 +1,48 @@
1
+ const { getPackageJson } = require("../../utils/config");
2
+ const BaseUrl = "https://developer.apis.cloudcc.cn";
3
+
4
+ /**
5
+ * 静态资源 - 查询列表
6
+ * CLI: cc get staticResource <projectPath> [encodedCondJson]
7
+ * 参数说明:
8
+ * - projectPath: 项目根目录,默认 process.cwd()
9
+ * - encodedCondJson(可选): encodeURI(JSON.stringify(body))
10
+ * - body: 查询条件对象(可为空 {}),常用字段:label
11
+ * 请求头说明:
12
+ * - accessToken: 从 cloudcc-cli.config.js 读取
13
+ * - source: 默认 cloudcc_cli
14
+ */
15
+ async function get(projectPath = process.cwd(), encodedCondJson, isMcp = false) {
16
+ let body = {};
17
+ if (encodedCondJson) {
18
+ body = JSON.parse(decodeURI(encodedCondJson));
19
+ }
20
+ const config = await getPackageJson(projectPath);
21
+ const devSvcDispatch = config.devSvcDispatch || "/devconsole";
22
+ const baseUrl = config.baseUrl || BaseUrl;
23
+ const res = await fetch(
24
+ `${baseUrl}${devSvcDispatch}/staticResource/listStaticResource`,
25
+ {
26
+ method: "POST",
27
+ headers: {
28
+ "Content-Type": "application/json; charset=utf-8",
29
+ accessToken: config.accessToken,
30
+ source: config.source || "cloudcc_cli",
31
+ },
32
+ body: JSON.stringify(body),
33
+ }
34
+ );
35
+ const data = await res.json();
36
+ if (data && (data.result || String(data.returnCode) === "200" || String(data.returnCode).endsWith("-OK"))) {
37
+ const list = Array.isArray(data?.data)
38
+ ? data.data
39
+ : (data?.data?.objList || data?.data?.list || []);
40
+ if (!isMcp) {
41
+ console.log(JSON.stringify(list));
42
+ }
43
+ return list;
44
+ }
45
+ throw new Error("Get Static Resource Failed: " + (data?.returnInfo || data?.message || "Unknown error"));
46
+ }
47
+
48
+ module.exports = get;
@@ -0,0 +1,13 @@
1
+ const cc = {};
2
+ cc.doc = require("./doc");
3
+ cc.create = require("./create");
4
+ cc.get = require("./get");
5
+ cc.detail = require("./detail");
6
+ cc.delete = require("./delete");
7
+ cc.count = require("./count");
8
+ function StaticResource(action, argvs) {
9
+ cc[action](...argvs.slice(2));
10
+ }
11
+
12
+ module.exports = StaticResource;
13
+
@@ -4,7 +4,12 @@ const path = require("path")
4
4
  const chalk = require("chalk")
5
5
  const { getPackageJson } = require("../../utils/config.js")
6
6
 
7
- async function create(name) {
7
+ /**
8
+ * cc create timer <name>
9
+ * @param {string[]} argvs
10
+ */
11
+ async function create(argvs) {
12
+ const name = argvs[2]
8
13
  let res = await checkUpdate();
9
14
  if (!res) {
10
15
  let config = await getPackageJson();
@@ -0,0 +1,49 @@
1
+ const fs = require("fs");
2
+ const path = require("path");
3
+ const chalk = require("chalk");
4
+ const { getPackageJson } = require("../../utils/config");
5
+ const { postClass } = require("../../utils/http");
6
+
7
+ /**
8
+ * cc delete timer <nameOrId> [projectPath]
9
+ * @param {string[]} argvs
10
+ */
11
+ async function remove(argvs) {
12
+ const nameOrId = argvs[2]
13
+ const projectPath = argvs[3] != null && argvs[3] !== "" ? argvs[3] : process.cwd()
14
+ let scheduleId = nameOrId;
15
+ const schedulePath = path.join(projectPath, `schedule/${nameOrId}/`);
16
+ const configPath = path.join(schedulePath, "config.json");
17
+
18
+ if (fs.existsSync(configPath)) {
19
+ const configContent = JSON.parse(fs.readFileSync(configPath, "utf8"));
20
+ if (configContent.id) {
21
+ scheduleId = configContent.id;
22
+ }
23
+ }
24
+
25
+ if (!scheduleId) {
26
+ throw new Error("Delete Schedule Failed: schedule name or id is required");
27
+ }
28
+
29
+ const config = await getPackageJson(projectPath);
30
+ console.error();
31
+ console.error(chalk.green(`Deleting schedule (${scheduleId}), please wait...`));
32
+ console.error();
33
+
34
+ const res = await postClass(
35
+ config.setupSvc + "/api/ccPeak/delete",
36
+ { id: scheduleId },
37
+ config.accessToken
38
+ );
39
+
40
+ if (res && res.result) {
41
+ console.error(chalk.green("Success! Schedule deleted."));
42
+ console.error();
43
+ return res;
44
+ }
45
+ const msg = res && (res.returnInfo || res.message) ? (res.returnInfo || res.message) : "Unknown error";
46
+ throw new Error("Delete Schedule Failed: " + msg);
47
+ }
48
+
49
+ module.exports = remove;
@@ -5,12 +5,12 @@ const { getPackageJson } = require("../../utils/config")
5
5
  const { postClass } = require("../../utils/http")
6
6
 
7
7
  /**
8
- * 获取定时类详细信息
9
- * @param {string} name - 定时类名称(优先从本地查询)
10
- * @param {string} id - 定时类ID(当没有name时从服务器查询)
11
- * @returns {Object} 定时类详细信息
8
+ * cc detail timer <name> <id>
9
+ * @param {string[]} argvs
12
10
  */
13
- async function detail(name, id) {
11
+ async function detail(argvs) {
12
+ const name = argvs[2]
13
+ const id = argvs[3]
14
14
  // 如果有 name,优先查询本地
15
15
  if (name && name !== '') {
16
16
  const schedulePath = path.join(process.cwd(), `schedule/${name}/`);
@@ -0,0 +1,57 @@
1
+ /**
2
+ * timer(定时类)文档入口:正文均在 `docs/` 目录。
3
+ */
4
+ const fs = require("fs");
5
+ const path = require("path");
6
+
7
+ const DOCS_DIR = path.join(__dirname, "docs");
8
+ const BACKEND_SDK_JAVA = path.join(__dirname, "..", "api", "backend-sdk-java.md");
9
+
10
+ function readDocFile(basename) {
11
+ return fs.readFileSync(path.join(DOCS_DIR, `${basename}.md`), "utf8");
12
+ }
13
+
14
+ /** 介绍文档:定时类概念、能力与典型场景 */
15
+ function getIntroductionDoc() {
16
+ return readDocFile("introduction");
17
+ }
18
+
19
+ /** 开发指导:定时作业/定时类实践;末尾拼接后端 Java SDK 速查 */
20
+ function getDevGuideDoc() {
21
+ const base = readDocFile("devguide").trimEnd();
22
+ let sdk = "";
23
+ try {
24
+ sdk = fs.readFileSync(BACKEND_SDK_JAVA, "utf8").trim();
25
+ } catch (e) {
26
+ sdk = "";
27
+ }
28
+ if (!sdk) {
29
+ return base;
30
+ }
31
+ return [base, "", "---", "", "## 附录:后端 SDK(Java)速查", "", sdk, ""].join("\n");
32
+ }
33
+
34
+ /**
35
+ * cc doc timer <introduction|devguide>
36
+ * @param {string[]} argvs [doc, type, introduction|devguide, ...]
37
+ */
38
+ function doc(argvs) {
39
+ const subType = argvs[2];
40
+ const key = String(subType || "").trim().toLowerCase();
41
+ if (!key) {
42
+ throw new Error("cc doc timer 需要子命令:introduction 或 devguide");
43
+ }
44
+ if (key === "introduction") {
45
+ const content = getIntroductionDoc();
46
+ console.log(content);
47
+ return content;
48
+ }
49
+ if (key === "devguide") {
50
+ const content = getDevGuideDoc();
51
+ console.log(content);
52
+ return content;
53
+ }
54
+ throw new Error(`doc 不支持的子命令: ${subType},请使用 introduction 或 devguide`);
55
+ }
56
+
57
+ module.exports = doc;
package/src/timer/get.js CHANGED
@@ -1,7 +1,13 @@
1
1
  const { getPackageJson } = require("../../utils/config")
2
2
  const { postClass } = require("../../utils/http")
3
3
 
4
- async function get(arg1, arg2, isMcp = false) {
4
+ /**
5
+ * cc get timer [listQueryJson] [projectPath]
6
+ * @param {string[]} argvs
7
+ */
8
+ async function get(argvs, isMcp = false) {
9
+ const arg1 = argvs[2]
10
+ const arg2 = argvs[3]
5
11
  let body = arg1 != null && arg1 != '' ? JSON.parse(decodeURI(arg1)) : { shownum: "2000", showpage: "1", fid: "", sname: '', rptcond: '', rptorder: '' }
6
12
  let config = await getPackageJson(arg2);
7
13
  let res = await postClass(config.setupSvc + "/api/ccPeak/list", body, config.accessToken)
@@ -5,8 +5,11 @@ cc.pull = require("./pull")
5
5
  cc.get = require("./get")
6
6
  cc.pullList = require("./pullList")
7
7
  cc.detail = require("./detail")
8
+ cc.delete = require("./delete")
9
+ cc.doc = require("./doc")
10
+
8
11
  function Timer(action, argvs) {
9
- cc[action](argvs[2], argvs[3])
12
+ cc[action](argvs)
10
13
  }
11
14
 
12
15
  module.exports = Timer;
@@ -7,7 +7,12 @@ const { javaContentRegular } = require("../../utils/utils")
7
7
 
8
8
  const { getPackageJson } = require("../../utils/config")
9
9
  const { postClass } = require("../../utils/http")
10
- async function publish(name) {
10
+ /**
11
+ * cc publish timer <name>
12
+ * @param {string[]} argvs
13
+ */
14
+ async function publish(argvs) {
15
+ const name = argvs[2]
11
16
  let res = await checkUpdate();
12
17
  if (!res) {
13
18
  console.error();
package/src/timer/pull.js CHANGED
@@ -8,7 +8,12 @@ const { javaContentRegular } = require("../../utils/utils")
8
8
  const { getPackageJson } = require("../../utils/config")
9
9
  const { postClass } = require("../../utils/http")
10
10
 
11
- async function pull(name) {
11
+ /**
12
+ * cc pull timer <name>
13
+ * @param {string[]} argvs
14
+ */
15
+ async function pull(argvs) {
16
+ const name = argvs[2]
12
17
  let res = await checkUpdate();
13
18
  if (!res) {
14
19
  console.error();
@@ -4,10 +4,12 @@ const { getPackageJson } = require("../../utils/config");
4
4
  const { postClass } = require("../../utils/http");
5
5
 
6
6
  /**
7
- * 批量拉取定时器详情并生成本地文件
8
- * @param timer id
7
+ * cc pullList timer <id> <projectPath>
8
+ * @param {string[]} argvs
9
9
  */
10
- async function pullList(arg1, arg2, isMcp = false) {
10
+ async function pullList(argvs, isMcp = false) {
11
+ const arg1 = argvs[2]
12
+ const arg2 = argvs[3]
11
13
  const body = { id: arg1 };
12
14
  let config = await getPackageJson(arg2);
13
15
  const res = await postClass(config.setupSvc + "/api/ccPeak/detail", body, config.accessToken);
@@ -0,0 +1,46 @@
1
+ const fs = require("fs");
2
+ const path = require("path");
3
+ const chalk = require("chalk");
4
+ const { getPackageJson } = require("../../utils/config");
5
+ const { postClass } = require("../../utils/http");
6
+
7
+ async function remove(argvs) {
8
+ const namePathOrId = argvs[2];
9
+ const projectPath = argvs[3] || process.cwd();
10
+
11
+ if (!namePathOrId) {
12
+ throw new Error("Delete Trigger Failed: trigger namePath or id is required");
13
+ }
14
+
15
+ let triggerId = namePathOrId;
16
+ const triggerPath = path.join(projectPath, `triggers/${namePathOrId}/`);
17
+ const configPath = path.join(triggerPath, "config.json");
18
+
19
+ if (fs.existsSync(configPath)) {
20
+ const configContent = JSON.parse(fs.readFileSync(configPath, "utf8"));
21
+ if (configContent.id) {
22
+ triggerId = configContent.id;
23
+ }
24
+ }
25
+
26
+ const config = await getPackageJson(projectPath);
27
+ console.error();
28
+ console.error(chalk.green(`Deleting trigger (${triggerId}), please wait...`));
29
+ console.error();
30
+
31
+ const res = await postClass(
32
+ config.setupSvc + "/api/triggerSetup/deleteTrigger",
33
+ { id: triggerId },
34
+ config.accessToken
35
+ );
36
+
37
+ if (res && res.result) {
38
+ console.error(chalk.green("Success! Trigger deleted."));
39
+ console.error();
40
+ return res;
41
+ }
42
+ const msg = res && (res.returnInfo || res.message) ? (res.returnInfo || res.message) : "Unknown error";
43
+ throw new Error("Delete Trigger Failed: " + msg);
44
+ }
45
+
46
+ module.exports = remove;
@@ -5,12 +5,12 @@ const { getPackageJson } = require("../../utils/config")
5
5
  const { postClass } = require("../../utils/http")
6
6
 
7
7
  /**
8
- * 获取触发器详细信息
9
- * @param {string} namePath - 触发器路径 "objectName/triggerName"(优先从本地查询)
10
- * @param {string} id - 触发器ID(当没有namePath时从服务器查询)
11
- * @returns {Object} 触发器详细信息
8
+ * cc detail triggers <namePath> <id>
9
+ * @param {string[]} argvs [detail, type, namePath?, id?]
12
10
  */
13
- async function detail(namePath, id) {
11
+ async function detail(argvs) {
12
+ const namePath = argvs[2]
13
+ const id = argvs[3]
14
14
  // 如果有 namePath,优先查询本地
15
15
  if (namePath && namePath !== '') {
16
16
  const triggerPath = path.join(process.cwd(), `triggers/${namePath}/`);