cloudcc-cli 2.4.0 → 2.4.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.
- package/README.md +60 -0
- package/bin/index.js +5 -0
- package/cloudcc-dev-skill/SKILL.md +6 -12
- package/cloudcc-dev-skill/config.json +2 -2
- package/mcp/index.js +9 -4
- package/mcp/tools/Trigger List Retriever/handler.js +24 -8
- package/package.json +2 -2
- package/src/classes/create.js +1 -1
- package/src/classes/docs/devguide.md +138 -25
- package/src/config/use.js +20 -5
- package/src/dupeCatcher/create.js +76 -0
- package/src/dupeCatcher/delete.js +69 -0
- package/src/dupeCatcher/detail.js +57 -0
- package/src/dupeCatcher/doc.js +11 -0
- package/src/dupeCatcher/docs/devguide.md +125 -0
- package/src/dupeCatcher/docs/introduction.md +21 -0
- package/src/dupeCatcher/get.js +88 -0
- package/src/dupeCatcher/index.js +14 -0
- package/src/html/doc.js +35 -0
- package/src/html/docs/devguide.md +67 -0
- package/src/html/docs/introduction.md +4 -0
- package/src/html/index.js +11 -0
- package/src/openapi/cloudcc-openapi-sdk.js +1085 -0
- package/src/openapi/doc.js +30 -0
- package/src/openapi/docs/devguide.md +65 -0
- package/src/openapi/docs/introduction.md +43 -0
- package/src/openapi/get.js +45 -0
- package/src/openapi/index.js +12 -0
- package/src/plugin/publish1.js +1 -1
- package/src/plugin/pull.js +2 -2
- package/src/script/docs/devguide.md +22 -2
- package/src/sharingRule/doc.js +46 -0
- package/src/sharingRule/docs/devguide.md +28 -0
- package/src/sharingRule/docs/introduction.md +7 -0
- package/src/sharingRule/get.js +48 -0
- package/src/sharingRule/index.js +9 -0
- package/src/site/doc.js +35 -0
- package/src/site/docs/devguide.md +209 -0
- package/src/site/docs/introduction.md +4 -0
- package/src/site/index.js +11 -0
- package/src/timer/docs/devguide.md +218 -29
- package/src/triggers/docs/devguide.md +247 -127
- package/src/triggers/get.js +7 -0
- package/src/version/doctor.js +11 -4
- package/src/version/listModuleCommands.js +20 -0
- package/template/index.js +2 -2
- package/utils/config.js +129 -21
- package/cloudcc-dev-skill/cloudcc-dev-html.md +0 -42
- package/template/cloudcc-cli.configjs +0 -7
|
@@ -18,38 +18,16 @@
|
|
|
18
18
|
- `2-timer-classes-analysis.md` 提供当前项目定时器使用场景和共性模式
|
|
19
19
|
- `timer devguide` 提供本地目录、CLI、发布和 SOURCE 区域约束
|
|
20
20
|
|
|
21
|
-
## 3.
|
|
21
|
+
## 3. 与 introduction 的分工(避免重复)
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
为避免与 `timer introduction` 内容重复,本 `devguide` 只保留“开发落地规范”:
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
- 命令与入参(可直接执行)
|
|
26
|
+
- 目录与文件约束(可直接检查)
|
|
27
|
+
- SDK 用法与边界(可直接编码)
|
|
28
|
+
- 代码模板与禁止事项(可直接评审)
|
|
26
29
|
|
|
27
|
-
|
|
28
|
-
- 需要每天、每周、每月、月初、月末执行
|
|
29
|
-
- 需要批量扫描一批记录并统一处理
|
|
30
|
-
- 需要失败补偿、周期重试或后台巡检
|
|
31
|
-
- 需要构建底表、看板、台账、报表支撑数据
|
|
32
|
-
- 需要在满足条件后自动提醒、自动推进、自动同步
|
|
33
|
-
|
|
34
|
-
### 3.2 不适合定时器类的情况
|
|
35
|
-
|
|
36
|
-
- 记录保存时必须立刻校验或立刻拦截
|
|
37
|
-
- 单笔数据变化后必须在同一事务里马上联动
|
|
38
|
-
- 高度依赖前端交互、人工确认、页面反馈
|
|
39
|
-
- 只是一次性临时数据处理,不需要长期调度
|
|
40
|
-
|
|
41
|
-
### 3.3 当前项目中定时器的六大主类型
|
|
42
|
-
|
|
43
|
-
根据现有项目总结,AI 应优先将需求归入以下类型之一:
|
|
44
|
-
|
|
45
|
-
- 提醒通知类
|
|
46
|
-
- 同步推送集成类
|
|
47
|
-
- 刷新更新修正类
|
|
48
|
-
- 报表底表支撑类
|
|
49
|
-
- 自动生成派生类
|
|
50
|
-
- 权限共享治理类
|
|
51
|
-
|
|
52
|
-
如果需求明显不属于上述类型,AI 应重新评估是否真的应该落到定时器类。
|
|
30
|
+
“定时器是什么、能解决什么、与触发器差异、适用/不适用场景”等概念说明,统一以 `cloudcc doc timer introduction` 为准。
|
|
53
31
|
|
|
54
32
|
## 4. 文件与交付规范
|
|
55
33
|
|
|
@@ -75,6 +53,217 @@ AI 在动手写代码前,必须先判断需求是否真的适合用定时器
|
|
|
75
53
|
- 让类继承 `CCSchedule`
|
|
76
54
|
- 构造方法名与类名一致
|
|
77
55
|
|
|
56
|
+
### 4.4 timer 模块支持的 CLI 命令总览(重点:入参)
|
|
57
|
+
|
|
58
|
+
说明:
|
|
59
|
+
|
|
60
|
+
- 下文命令中的资源名使用 `timer`,也可使用别名 `schedule`(两者路由到同一模块)。
|
|
61
|
+
- `projectPath` 未传时,默认使用当前工作目录。
|
|
62
|
+
|
|
63
|
+
#### 1) 创建定时类
|
|
64
|
+
|
|
65
|
+
命令:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
cloudcc create timer <name>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
参数:
|
|
72
|
+
|
|
73
|
+
| 参数 | 必填 | 类型 | 说明 |
|
|
74
|
+
| --- | --- | --- | --- |
|
|
75
|
+
| `name` | 是 | `string` | 定时类名称(同时作为目录名、Java 类名) |
|
|
76
|
+
|
|
77
|
+
示例:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
cloudcc create timer DailySyncJob
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
#### 2) 发布定时类
|
|
86
|
+
|
|
87
|
+
命令:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
cloudcc publish timer <name>
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
参数:
|
|
94
|
+
|
|
95
|
+
| 参数 | 必填 | 类型 | 说明 |
|
|
96
|
+
| --- | --- | --- | --- |
|
|
97
|
+
| `name` | 是 | `string` | 本地 `schedule/<name>/` 目录名 |
|
|
98
|
+
|
|
99
|
+
示例:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
cloudcc publish timer DailySyncJob
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
#### 3) 拉取定时类(按本地名称)
|
|
108
|
+
|
|
109
|
+
命令:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
cloudcc pull timer <name>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
参数:
|
|
116
|
+
|
|
117
|
+
| 参数 | 必填 | 类型 | 说明 |
|
|
118
|
+
| --- | --- | --- | --- |
|
|
119
|
+
| `name` | 是 | `string` | 本地 `schedule/<name>/` 目录名;会读取该目录 `config.json` 中的 `id` 到线上拉取 |
|
|
120
|
+
|
|
121
|
+
示例:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
cloudcc pull timer DailySyncJob
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
#### 4) 查询定时类列表(支持条件查询)
|
|
130
|
+
|
|
131
|
+
命令:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
cloudcc get timer [listQueryJson] [projectPath]
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
`listQueryJson` 推荐结构:
|
|
138
|
+
|
|
139
|
+
```json
|
|
140
|
+
{
|
|
141
|
+
"shownum": 2000,
|
|
142
|
+
"showpage": 1,
|
|
143
|
+
"sname": "",
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
字段说明:
|
|
148
|
+
|
|
149
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
150
|
+
| --- | --- | --- | --- |
|
|
151
|
+
| `shownum` | `number|string` | 否 | 每页条数,默认 `2000` |
|
|
152
|
+
| `showpage` | `number|string` | 否 | 页码,默认 `1` |
|
|
153
|
+
| `sname` | `string` | 否 | 名称筛选关键字,模糊查询 |
|
|
154
|
+
|
|
155
|
+
示例:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
cloudcc get timer "$(node -e 'console.log(encodeURI(JSON.stringify({shownum:2000,showpage:1,fid:\"\",sname:\"Daily\",rptcond:\"\",rptorder:\"\"})))')"
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
#### 5) 查看定时类详情
|
|
164
|
+
|
|
165
|
+
命令:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
cloudcc detail timer <name> <id>
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
参数规则(实现口径):
|
|
172
|
+
|
|
173
|
+
| 参数 | 必填 | 类型 | 说明 |
|
|
174
|
+
| --- | --- | --- | --- |
|
|
175
|
+
| `name` | 条件必填 | `string` | 传 `name` 时优先查本地;本地不完整时再走线上 |
|
|
176
|
+
| `id` | 条件必填 | `string` | 当 `name` 为空时,必须传 `id` 走线上查询 |
|
|
177
|
+
|
|
178
|
+
等价理解:`name` 与 `id` 至少传一个,优先使用 `name` 路径。
|
|
179
|
+
|
|
180
|
+
示例(按本地名):
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
cloudcc detail timer DailySyncJob
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
示例(按线上 id):
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
cloudcc detail timer "" a0Bxxxxxxxxxxxx
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
#### 6) 按 ID 拉取并落地到本地目录
|
|
195
|
+
|
|
196
|
+
命令:
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
cloudcc pullList timer <id> <projectPath>
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
参数:
|
|
203
|
+
|
|
204
|
+
| 参数 | 必填 | 类型 | 说明 |
|
|
205
|
+
| --- | --- | --- | --- |
|
|
206
|
+
| `id` | 是 | `string` | 线上定时类 ID |
|
|
207
|
+
| `projectPath` | 是 | `string` | 项目根目录;会写入到 `<projectPath>/schedule/<name>/` |
|
|
208
|
+
|
|
209
|
+
示例:
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
cloudcc pullList timer a0Bxxxxxxxxxxxx /path/to/project
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
#### 7) 删除定时类
|
|
218
|
+
|
|
219
|
+
命令:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
cloudcc delete timer <nameOrId> [projectPath]
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
参数规则:
|
|
226
|
+
|
|
227
|
+
| 参数 | 必填 | 类型 | 说明 |
|
|
228
|
+
| --- | --- | --- | --- |
|
|
229
|
+
| `nameOrId` | 是 | `string` | 可传本地目录名或线上 ID;若本地 `schedule/<nameOrId>/config.json` 存在且带 `id`,优先使用其中 `id` 删除 |
|
|
230
|
+
| `projectPath` | 否 | `string` | 项目根目录,默认当前目录 |
|
|
231
|
+
|
|
232
|
+
示例(按名称):
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
cloudcc delete timer DailySyncJob
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
示例(按 id):
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
cloudcc delete timer a0Bxxxxxxxxxxxx
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
#### 8) 文档命令
|
|
247
|
+
|
|
248
|
+
命令:
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
cloudcc doc timer <introduction|devguide>
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
参数:
|
|
255
|
+
|
|
256
|
+
| 参数 | 必填 | 类型 | 说明 |
|
|
257
|
+
| --- | --- | --- | --- |
|
|
258
|
+
| `introduction|devguide` | 是 | `string` | `introduction` 返回概念文档;`devguide` 返回开发规范(并附 SDK 速查) |
|
|
259
|
+
|
|
260
|
+
示例:
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
cloudcc doc timer introduction
|
|
264
|
+
cloudcc doc timer devguide
|
|
265
|
+
```
|
|
266
|
+
|
|
78
267
|
## 5. AI 编写定时器类的核心原则
|
|
79
268
|
|
|
80
269
|
### 5.1 先分析,再编码
|