cloudcc-cli 2.3.0 → 2.3.1
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/.cloudcc-cache.json +4 -52
- package/.cursor/skills/cloudcc-cli-dev/BACKEND_CLASS.md +15 -1
- package/.cursor/skills/cloudcc-cli-dev/BACKEND_SCHEDULE.md +82 -8
- package/.cursor/skills/cloudcc-cli-dev/BACKEND_TRIGGER.md +13 -0
- package/.cursor/skills/cloudcc-cli-dev/CLI_CHEATSHEET.md +234 -77
- package/.cursor/skills/cloudcc-cli-dev/CUSTOM-SETTING-API.md +37 -216
- package/.cursor/skills/cloudcc-cli-dev/INSTALL_AND_BOOTSTRAP.md +9 -6
- package/.cursor/skills/cloudcc-cli-dev/OBJECTS_AND_FIELDS.md +99 -5
- package/.cursor/skills/cloudcc-cli-dev/REQUIREMENTS_BREAKDOWN.md +15 -0
- package/.cursor/skills/cloudcc-cli-dev/SKILL.md +29 -7
- package/.cursor/skills/cloudcc-cli-dev/STATIC-RESOURCE-API.md +60 -0
- package/.cursor/skills/cloudcc-cli-dev/VUE_CUSTOM_PAGE.md +216 -0
- package/.cursor/skills/cloudcc-cli-dev/docs//350/207/252/345/256/232/344/271/211/351/241/265/351/235/242.md +228 -0
- package/README.md +11 -0
- package/bin/index.js +3 -0
- package/package.json +2 -2
- package/src/application/delete.js +59 -0
- package/src/application/get.js +31 -5
- package/src/application/index.js +1 -0
- package/src/classes/delete.js +43 -0
- package/src/classes/detail.js +14 -7
- package/src/classes/index.js +1 -0
- package/src/customPage/create.js +74 -12
- package/src/customPage/delete.js +2 -2
- package/src/customPage/get.js +1 -1
- package/src/customSetting/create.js +27 -0
- package/src/customSetting/delete.js +26 -0
- package/src/customSetting/detail.js +24 -0
- package/src/customSetting/get.js +25 -0
- package/src/customSetting/index.js +4 -0
- package/src/fields/delete.js +52 -0
- package/src/fields/index.js +1 -0
- package/src/menu/create-page.js +16 -25
- package/src/menu/create.js +9 -3
- package/src/menu/delete.js +59 -0
- package/src/menu/get.js +56 -0
- package/src/menu/index.js +2 -0
- package/src/object/delete.js +51 -0
- package/src/object/index.js +1 -0
- package/src/plugin/detail.js +14 -6
- package/src/plugin/publish1.js +3 -3
- package/src/recordType/get.js +1 -1
- package/src/scheduleJob/delete.js +26 -0
- package/src/scheduleJob/detail.js +23 -0
- package/src/scheduleJob/get.js +26 -0
- package/src/scheduleJob/index.js +10 -0
- package/src/staticResource/count.js +25 -0
- package/src/staticResource/delete.js +26 -0
- package/src/staticResource/detail.js +24 -0
- package/src/staticResource/doc.js +106 -0
- package/src/staticResource/get.js +25 -0
- package/src/staticResource/index.js +12 -0
- package/src/timer/delete.js +43 -0
- package/src/timer/index.js +1 -0
- package/src/triggers/delete.js +46 -0
- package/src/triggers/index.js +1 -0
- package/test/application.cli.test.js +49 -8
- package/test/classes.cli.test.js +9 -3
- package/test/customSetting.cli.test.js +84 -0
- package/test/fields.cli.test.js +18 -3
- package/test/menu.cli.test.js +34 -4
- package/test/object.cli.test.js +17 -1
- package/test/scheduleJob.cli.test.js +52 -0
- package/test/staticResource.cli.test.js +78 -0
- package/test/timer.cli.test.js +8 -2
- package/test/trigger.cli.test.js +8 -2
- package/build/component-cc-test-001.common.js +0 -831
- package/build/component-cc-test-001.common.js.map +0 -1
- package/build/component-cc-test-001.css +0 -1
- package/build/component-cc-test-001.umd.js +0 -874
- package/build/component-cc-test-001.umd.js.map +0 -1
- package/build/component-cc-test-001.umd.min.js +0 -8
- package/build/component-cc-test-001.umd.min.js.map +0 -1
- package/build/demo.html +0 -1
- package/classes/CCdd/CCdd.java +0 -22
- package/classes/CCdd/CCddTest.java +0 -11
- package/classes/CCdd/config.json +0 -1
- package/core.zip +0 -0
- package/plugins/cc-test-001/cc-test-001.vue +0 -32
- package/plugins/cc-test-001/components/HelloWorld.vue +0 -11
- package/plugins/cc-test-001/config.json +0 -6
- package/schedule/CCdd/CCdd.java +0 -11
- package/schedule/CCdd/config.json +0 -1
- package/target/ccopenapi-0.0.4-classes.jar +0 -0
- package/target/ccopenapi-0.0.4.jar +0 -0
- package/target/classes/CCdd/CCdd.class +0 -0
- package/target/classes/CCdd/CCddTest.class +0 -0
- package/target/classes/CCdd/config.json +0 -1
- package/target/maven-archiver/pom.properties +0 -3
- package/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +0 -20
- package/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +0 -19
- /package/{docs → .cursor/skills/cloudcc-cli-dev/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" +0 -0
- /package/{docs → .cursor/skills/cloudcc-cli-dev/docs}/cloudcc/345/256/232/346/227/266/344/275/234/344/270/232.md" +0 -0
- /package/{docs → .cursor/skills/cloudcc-cli-dev/docs}/cloudcc/345/256/232/346/227/266/347/261/273.md" +0 -0
- /package/{docs → .cursor/skills/cloudcc-cli-dev/docs}//350/207/252/345/256/232/344/271/211/347/261/273.md" +0 -0
- /package/{docs → .cursor/skills/cloudcc-cli-dev/docs}//350/247/246/345/217/221/345/231/250/347/261/273.md" +0 -0
|
@@ -1,241 +1,62 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 自定义设置(cc 命令模式)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
直接使用以下命令查看指导文档:
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
cc doc customSetting
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## 查询自定义设置列表
|
|
15
|
-
|
|
16
|
-
路径:`{服务名称}/api/customsetting/list`
|
|
17
|
-
|
|
18
|
-
方法:POST
|
|
19
|
-
|
|
20
|
-
接口描述:分页/查询自定义设置主列表,返回 `objList` 等。
|
|
21
|
-
|
|
22
|
-
### 请求参数
|
|
23
|
-
|
|
24
|
-
| 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
|
|
25
|
-
| :--- | :--- | :--- | :--- | :--- |
|
|
26
|
-
| (请求体) | object | 非必须 | {} | 当前前端传空对象 |
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## 新建/更新自定义设置(保存主对象)
|
|
31
|
-
|
|
32
|
-
路径:`{服务名称}/api/customsetting/save`
|
|
33
|
-
|
|
34
|
-
方法:POST
|
|
35
|
-
|
|
36
|
-
接口描述:新建或编辑自定义设置主记录(标签、对象 API 名、类型、可见性、描述等)。
|
|
37
|
-
|
|
38
|
-
### 请求参数
|
|
39
|
-
|
|
40
|
-
| 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
|
|
41
|
-
| :--- | :--- | :--- | :--- | :--- |
|
|
42
|
-
| tpSysObjectVO | object | 必须 | — | 主对象载体,见下表子字段 |
|
|
43
|
-
|
|
44
|
-
**tpSysObjectVO 子字段:**
|
|
45
|
-
|
|
46
|
-
| 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
|
|
47
|
-
| :--- | :--- | :--- | :--- | :--- |
|
|
48
|
-
| accessable | string | 视业务 | — | 可见性(如 `"2"` 表示公用等,与表单选项一致) |
|
|
49
|
-
| dataType | string | 视业务 | — | 设置类型:`L` 列表,`H` 层次结构 |
|
|
50
|
-
| id | string | 视业务 | `""` | 新建传空字符串;编辑传记录 id |
|
|
51
|
-
| label | string | 视业务 | — | 标签 |
|
|
52
|
-
| remark | string | 非必须 | — | 描述 |
|
|
53
|
-
| schemetableName | string | 视业务 | — | 对象名(编辑时前端通常禁用修改) |
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## 编辑前回显(自定义设置主对象)
|
|
58
|
-
|
|
59
|
-
路径:`{服务名称}/api/customsetting/modify`
|
|
60
|
-
|
|
61
|
-
方法:POST
|
|
62
|
-
|
|
63
|
-
接口描述:根据主记录 id 拉取表单回显数据。
|
|
64
|
-
|
|
65
|
-
### 请求参数
|
|
66
|
-
|
|
67
|
-
| 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
|
|
68
|
-
| :--- | :--- | :--- | :--- | :--- |
|
|
69
|
-
| objid | string | 必须 | — | 记录id |
|
|
3
|
+
本文已从“直接调用 API”重构为“优先使用 `cc` 命令”。
|
|
70
4
|
|
|
71
5
|
---
|
|
72
6
|
|
|
73
|
-
##
|
|
74
|
-
|
|
75
|
-
路径:`{服务名称}/api/customsetting/deleteobj`
|
|
7
|
+
## 覆盖范围
|
|
76
8
|
|
|
77
|
-
|
|
9
|
+
通过 `cc` 管理自定义设置主记录:
|
|
78
10
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
| :--- | :--- | :--- | :--- | :--- |
|
|
85
|
-
| objid | string | 必须 | — | 记录id |
|
|
11
|
+
- 列表查询
|
|
12
|
+
- 详情查询
|
|
13
|
+
- 新建/编辑(save 透传)
|
|
14
|
+
- 删除
|
|
15
|
+
- 文档查看
|
|
86
16
|
|
|
87
17
|
---
|
|
88
18
|
|
|
89
|
-
##
|
|
90
|
-
|
|
91
|
-
路径:`{服务名称}/api/customsetting/detail`
|
|
92
|
-
|
|
93
|
-
方法:POST
|
|
19
|
+
## 命令速查
|
|
94
20
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
| 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
|
|
100
|
-
| :--- | :--- | :--- | :--- | :--- |
|
|
101
|
-
| objid | string | 必须 | — | 记录id |
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## 进入字段编辑(取字段编辑所需数据)
|
|
106
|
-
|
|
107
|
-
路径:`{服务名称}/api/customsetting/editfile`
|
|
21
|
+
```bash
|
|
22
|
+
# 文档
|
|
23
|
+
cc doc customSetting
|
|
108
24
|
|
|
109
|
-
|
|
25
|
+
# 列表(condition 可选)
|
|
26
|
+
cc get customSetting <projectPath> [encodedCondJson]
|
|
110
27
|
|
|
111
|
-
|
|
28
|
+
# 详情
|
|
29
|
+
cc detail customSetting <projectPath> <settingId>
|
|
112
30
|
|
|
113
|
-
|
|
31
|
+
# 新建/编辑(请求体透传到 save)
|
|
32
|
+
cc create customSetting <projectPath> <encodedBodyJson>
|
|
114
33
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
34
|
+
# 删除主记录
|
|
35
|
+
cc delete customSetting <projectPath> <settingId>
|
|
36
|
+
```
|
|
118
37
|
|
|
119
38
|
---
|
|
120
39
|
|
|
121
|
-
##
|
|
122
|
-
|
|
123
|
-
路径:`{服务名称}/api/customsetting/deletefield`
|
|
124
|
-
|
|
125
|
-
方法:POST
|
|
126
|
-
|
|
127
|
-
接口描述:在详情页删除某条自定义字段。
|
|
128
|
-
|
|
129
|
-
### 请求参数
|
|
130
|
-
|
|
131
|
-
| 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
|
|
132
|
-
| :--- | :--- | :--- | :--- | :--- |
|
|
133
|
-
| id | string | 必须 | — | 字段行 id |
|
|
134
|
-
| objid | string | 必须 | — | 所属自定义设置 id |
|
|
40
|
+
## 参数说明
|
|
135
41
|
|
|
136
|
-
|
|
42
|
+
- `projectPath`:项目根目录(包含 `cloudcc-cli.config.js`)。
|
|
43
|
+
- `encodedCondJson`:`encodeURI(JSON.stringify({...}))` 形式的查询体。
|
|
44
|
+
- `encodedBodyJson`:`encodeURI(JSON.stringify({...}))` 形式的保存请求体。
|
|
137
45
|
|
|
46
|
+
示例:
|
|
138
47
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
```json
|
|
142
|
-
[
|
|
143
|
-
{
|
|
144
|
-
"id": "0001",
|
|
145
|
-
"name": "URL",
|
|
146
|
-
"type": "U",
|
|
147
|
-
"address": "允许用户输入任何有效的网址。如果用户单击该字段,将根据用户选择的模式在浏览器的新窗口或当前窗口中打开该 URL。系统默认在浏览器的新窗口中打开该URL。"
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
"id": "0002",
|
|
151
|
-
"name": "百分比",
|
|
152
|
-
"type": "P",
|
|
153
|
-
"address": "允许用户输入百分比数字(例如,10),并自动向数字添加百分号。"
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
"id": "0003",
|
|
157
|
-
"name": "币种",
|
|
158
|
-
"type": "c",
|
|
159
|
-
"address": "币种"
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
"id": "0004",
|
|
163
|
-
"name": "电话",
|
|
164
|
-
"type": "H",
|
|
165
|
-
"address": "允许用户输入任何电话号码。自动将其转换为电话号码格式。"
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
"id": "0005",
|
|
169
|
-
"name": "电子邮件",
|
|
170
|
-
"type": "E",
|
|
171
|
-
"address": "允许用户输入电子邮件地址,对其进行验证以确保格式正确。如果对于一个联系人和潜在客户指定了此字段,则用户单击“发送电子邮件”时可以选择地址。注意,自定义电子邮件地址无法用于批量电子邮件。"
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
"id": "0006",
|
|
175
|
-
"name": "复选框",
|
|
176
|
-
"type": "B",
|
|
177
|
-
"address": "允许用户选择“真”(选取)或“假”(不选取)值。"
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
"id": "0007",
|
|
181
|
-
"name": "日期",
|
|
182
|
-
"type": "D",
|
|
183
|
-
"address": "允许用户输入日期或从弹出式日历中选择日期。"
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
"id": "0008",
|
|
187
|
-
"name": "日期和时间",
|
|
188
|
-
"type": "F",
|
|
189
|
-
"address": "允许用户输入日期和时间,或从弹出式日历中选择日期。当用户单击弹出式日历中的某个日期后,该日期和当前时间将输入到日期/时间字段。"
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
"id": "0009",
|
|
193
|
-
"name": "数字",
|
|
194
|
-
"type": "N",
|
|
195
|
-
"address": "允许用户输入任何数字。将删除前置零。"
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
"id": "0010",
|
|
199
|
-
"name": "文本",
|
|
200
|
-
"type": "S",
|
|
201
|
-
"address": "允许用户输入任何字母和数字组合。"
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
"id": "0011",
|
|
205
|
-
"name": "长文本",
|
|
206
|
-
"type": "X",
|
|
207
|
-
"address": "允许用户输入多行文本,最多可输入 4000 个字符。"
|
|
208
|
-
}
|
|
209
|
-
]
|
|
48
|
+
```bash
|
|
49
|
+
cc get customSetting . "$(node -e 'console.log(encodeURI(JSON.stringify({shownum:20,showpage:1})))')"
|
|
210
50
|
```
|
|
211
51
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
接口描述:在自定义设置详情页中保存字段定义(字段新建或编辑)。
|
|
216
|
-
### 请求参数
|
|
217
|
-
| 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
|
|
218
|
-
| :--- | :--- | :--- | :--- | :--- |
|
|
219
|
-
| tpSysSchemetableVO | object | 必须 | — | 字段对象,见下方子字段表 |
|
|
220
|
-
| fdtype | string | 必须 | — | 字段类型代码(如 `U` 表示 URL) |
|
|
221
|
-
**tpSysSchemetableVO 子字段:**
|
|
222
|
-
| 参数名称 | 类型 | 是否必须 | 默认值 | 备注 |
|
|
223
|
-
| :--- | :--- | :--- | :--- | :--- |
|
|
224
|
-
| schemetableId | string | 必须 | — | 所属自定义设置(对象)id |
|
|
225
|
-
| id | string | 非必须 | — | 字段 id;编辑时传,新增可不传或传空 |
|
|
226
|
-
| nameLabel | string | 必须 | — | 字段显示名称(标签) |
|
|
227
|
-
| apiname | string | 必须 | — | 字段 API 名 |
|
|
228
|
-
| edittype | string | 非必须 | — | 字段编辑类型(例如 URL 打开方式 `_blank`) |
|
|
229
|
-
| schemefieldLength | string | 非必须 | — | 字段长度 |
|
|
230
|
-
| defaultValue | string | 非必须 | — | 默认值 |
|
|
231
|
-
| datafieldRef | string | 非必须 | — | 数据字段引用名 |
|
|
232
|
-
| isDeleted | string | 非必须 | `"0"` | 删除标记 |
|
|
233
|
-
| fieldState | string | 非必须 | `"enable"` | 字段状态 |
|
|
234
|
-
| iscustom | string | 非必须 | `"1"` | 是否自定义字段 |
|
|
235
|
-
| schemefieldType | string | 必须 | — | 字段类型代码(例如 `U`) |
|
|
236
|
-
| schemefieldName | string | 必须 | — | 字段物理名/存储名 |
|
|
237
|
-
|
|
238
|
-
|
|
52
|
+
```bash
|
|
53
|
+
cc create customSetting . "$(node -e 'console.log(encodeURI(JSON.stringify({label:\"DemoSetting\",schemetableName:\"demo_setting\",setType:\"list\",shareType:\"public\",description:\"demo\"})))')"
|
|
54
|
+
```
|
|
239
55
|
|
|
56
|
+
---
|
|
240
57
|
|
|
58
|
+
## 说明与边界
|
|
241
59
|
|
|
60
|
+
- `create customSetting` 是“透传模式”:请求体字段需符合平台 `save` 接口契约。
|
|
61
|
+
- 字段级管理(如 `saveField`、`deletefield`)当前未单独封装命令;建议在平台页面完成,或后续再补 `cc` 子命令。
|
|
62
|
+
- 生产环境执行删除前,先做依赖检查与备份。
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
## 目标
|
|
2
2
|
|
|
3
|
-
让开发者(或 AI)在一台新机器上,完成 `cloudcc-cli`
|
|
3
|
+
让开发者(或 AI)在一台新机器上,完成 `cloudcc-cli`
|
|
4
|
+
的安装、模板项目创建、开发密钥配置,并能通过 `cc` 命令进行开发与发布。
|
|
4
5
|
|
|
5
6
|
---
|
|
6
7
|
|
|
@@ -22,7 +23,7 @@ sudo npm i -g cloudcc-cli
|
|
|
22
23
|
cc -v
|
|
23
24
|
```
|
|
24
25
|
|
|
25
|
-
> 说明:`cc` 是该 CLI
|
|
26
|
+
> 说明:`cc` 是该 CLI 的统一入口命令之一。
|
|
26
27
|
|
|
27
28
|
---
|
|
28
29
|
|
|
@@ -47,13 +48,15 @@ npm run serve
|
|
|
47
48
|
|
|
48
49
|
你需要一个具备“代码管理/开发者权限”的账号。
|
|
49
50
|
|
|
50
|
-
- **开发者密钥(CloudCCDev)**:在 CRM
|
|
51
|
+
- **开发者密钥(CloudCCDev)**:在 CRM
|
|
52
|
+
后台「连接的应用程序」中新建后获取并复制。
|
|
51
53
|
- **安全标记(safetyMark)**:在个人设置中重置安全标记后,通过邮箱获取。
|
|
52
54
|
|
|
53
55
|
### 写入项目的 `cloudcc-cli.config.js`
|
|
54
56
|
|
|
55
|
-
模板项目根目录通常会有
|
|
57
|
+
模板项目根目录通常会有
|
|
58
|
+
`cloudcc-cli.config.js`(或你们约定的同名配置文件),核心原则:
|
|
56
59
|
|
|
57
60
|
- **多环境**:用 `use` 字段选择当前环境(如 `dev/uat/prod`)。
|
|
58
|
-
- **不要提交真实密钥到 Git**:建议 `.gitignore`
|
|
59
|
-
|
|
61
|
+
- **不要提交真实密钥到 Git**:建议 `.gitignore`
|
|
62
|
+
忽略配置文件,或用本地私密文件方式管理。
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
本篇聚焦用 `cloudcc-cli` 的 `cc` 命令完成:
|
|
4
4
|
|
|
5
5
|
- 创建自定义对象(Custom Object)
|
|
6
|
+
- 删除自定义对象
|
|
6
7
|
- 查询对象列表
|
|
7
8
|
- 查询对象字段
|
|
8
9
|
- 为对象创建字段(支持多字段类型)
|
|
9
|
-
|
|
10
|
+
- 删除字段
|
|
11
|
+
-(可选)创建菜单、创建应用(把对象挂到导航中)
|
|
10
12
|
|
|
11
13
|
---
|
|
12
14
|
|
|
@@ -21,14 +23,40 @@
|
|
|
21
23
|
|
|
22
24
|
```bash
|
|
23
25
|
cc create object <projectPath> <label>
|
|
26
|
+
cc create object <projectPath> <label> <nameLabel>
|
|
24
27
|
```
|
|
25
28
|
|
|
26
29
|
示例:
|
|
27
30
|
|
|
28
31
|
```bash
|
|
29
32
|
cc create object . 客户
|
|
33
|
+
cc create object . 客户 customer_custom_object
|
|
30
34
|
```
|
|
31
35
|
|
|
36
|
+
说明:
|
|
37
|
+
|
|
38
|
+
- `nameLabel` 可选,不传时会由工具根据 `label` 自动生成(例如 `customer_custom_object`)。
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 删除自定义对象
|
|
43
|
+
|
|
44
|
+
### CLI 命令(项目已有实现)
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
cc delete object <projectPath> <objid>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
示例:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
cc delete object . 20261EF49B88F9269cVr
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
说明:
|
|
57
|
+
|
|
58
|
+
- `objid` 为对象 ID,可先用 `cc get object <projectPath> custom` 查询。
|
|
59
|
+
|
|
32
60
|
---
|
|
33
61
|
|
|
34
62
|
## 查询对象列表
|
|
@@ -36,19 +64,27 @@ cc create object . 客户
|
|
|
36
64
|
### CLI 命令(输出 JSON)
|
|
37
65
|
|
|
38
66
|
```bash
|
|
39
|
-
# type 可选:standard / custom /
|
|
67
|
+
# type 可选:standard / custom / chat / trigger / fields
|
|
68
|
+
# 不传 type 时返回 standard + custom
|
|
40
69
|
cc get object <projectPath> [type]
|
|
70
|
+
|
|
71
|
+
# 当 type=fields 时,需要额外传对象 JSON(至少含 objprefix)
|
|
72
|
+
cc get object <projectPath> fields <encodedObjectJson>
|
|
41
73
|
```
|
|
42
74
|
|
|
43
75
|
示例:
|
|
44
76
|
|
|
45
77
|
```bash
|
|
46
|
-
cc get object .
|
|
78
|
+
cc get object .
|
|
79
|
+
cc get object . custom
|
|
80
|
+
cc get object . fields "$(node -e 'console.log(encodeURI(JSON.stringify({objprefix:\"a01\"})))')"
|
|
47
81
|
```
|
|
48
82
|
|
|
49
83
|
用途:
|
|
50
84
|
|
|
51
85
|
- 获取对象 `objprefix` / 对象 `id`(后续创建字段、触发器会用到)
|
|
86
|
+
- `type=trigger` 时可拿到触发器创建所需的目标对象信息
|
|
87
|
+
- `type=fields` 时用于基于对象前缀查询字段(需额外传 encodedObjectJson,通常更建议直接使用 `cc get fields`)
|
|
52
88
|
|
|
53
89
|
---
|
|
54
90
|
|
|
@@ -94,18 +130,65 @@ cc create fields <projectPath> <fieldType> <objid> <nameLabel> [ptext|lookupObj]
|
|
|
94
130
|
|
|
95
131
|
---
|
|
96
132
|
|
|
133
|
+
## 删除字段(Field)
|
|
134
|
+
|
|
135
|
+
### CLI 命令(项目已有实现)
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
cc delete fields <projectPath> <fieldId> <objid>
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
示例:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
cc delete fields . ffe2026F12B15D3sCX5R 202688F2CF34EE6vnMQ5
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
说明:
|
|
148
|
+
|
|
149
|
+
- 删除接口为“彻底删除”,执行前请确认该字段未被公式字段、触发器、脚本、页面布局依赖。
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
97
153
|
## 菜单与应用(让对象可访问)
|
|
98
154
|
|
|
99
155
|
### 创建菜单(CLI)
|
|
100
156
|
|
|
101
157
|
```bash
|
|
102
|
-
cc create menu
|
|
158
|
+
cc create menu object <projectPath> <objectId> <tabName> [tabStyle] [mobileimg] [cloudccservicetab]
|
|
159
|
+
cc create menu page <projectPath> <pageApi> <tabName> <pname> [tabStyle] [mobileimg] [cloudccservicetab] [mobileurl]
|
|
160
|
+
cc create menu script <projectPath> <scriptId> <tabName> [tabStyle] [mobileimg] [cloudccservicetab]
|
|
161
|
+
cc create menu site <projectPath> <siteId> <tabName> [tabStyle] [mobileimg] [cloudccservicetab]
|
|
103
162
|
```
|
|
104
163
|
|
|
105
164
|
示例:
|
|
106
165
|
|
|
107
166
|
```bash
|
|
108
167
|
cc create menu object . <objectId> "我的对象菜单"
|
|
168
|
+
cc create menu page . contract-assistant "合同助手" contract_assistant_menu
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
说明:
|
|
172
|
+
|
|
173
|
+
- `pageApi` 为自定义页面 API 名,命令内部会自动拼接为 `lightningPage`(`pageApi#lightning`)。
|
|
174
|
+
- `create menu page` 的 `pageType` 固定为 `customPage`,`mobileurl` 默认空字符串。
|
|
175
|
+
- `pname` 为菜单名称字段,必填。
|
|
176
|
+
|
|
177
|
+
### 查询菜单(CLI)
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
cc get menu <projectPath> [encodedCondJson]
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
说明:
|
|
184
|
+
|
|
185
|
+
- 接口若返回分组结构(如 `botlist/objectlist/objlist/pagelist/scriptlist`),CLI 会自动聚合为数组并输出。
|
|
186
|
+
- 聚合结果每一项会附带 `__group` 字段,表示来源分组。
|
|
187
|
+
|
|
188
|
+
### 删除菜单(CLI)
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
cc delete menu <projectPath> <tabId>
|
|
109
192
|
```
|
|
110
193
|
|
|
111
194
|
### 创建应用(CLI)
|
|
@@ -114,7 +197,18 @@ cc create menu object . <objectId> "我的对象菜单"
|
|
|
114
197
|
cc create application <projectPath> <appName> <appCode> [menuIds]
|
|
115
198
|
```
|
|
116
199
|
|
|
200
|
+
### 查询应用(CLI)
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
cc get application <projectPath> [encodedCondJson]
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### 删除应用(CLI)
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
cc delete application <projectPath> <appId>
|
|
210
|
+
```
|
|
211
|
+
|
|
117
212
|
说明:
|
|
118
213
|
|
|
119
214
|
- `menuIds`:可选,多个用逗号分隔;系统会确保默认菜单 `acf000001` 被包含。
|
|
120
|
-
|
|
@@ -4,6 +4,21 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## 设计前阅读(先看模块文档)
|
|
8
|
+
|
|
9
|
+
在做需求拆解与技术方案设计前,优先阅读 `docs` 目录中对应模块说明,先建立能力边界与适用场景认知,再进行选型与设计,避免组件误选。
|
|
10
|
+
|
|
11
|
+
- 自定义类:`docs/自定义类.md`
|
|
12
|
+
- 触发器:`docs/触发器类.md`
|
|
13
|
+
- 定时类:`docs/cloudcc定时类.md`
|
|
14
|
+
- 定时作业:`docs/cloudcc定时作业.md`
|
|
15
|
+
- 自定义页面:`docs/自定义页面.md`
|
|
16
|
+
- 自定义组件:`docs/CloudCC自定义组件使用说明.md`
|
|
17
|
+
|
|
18
|
+
如需求涉及多个模块,按“后端能力 -> 页面能力 -> 组合方案”顺序阅读,再输出拆解结果与交付物清单。
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
7
22
|
## 需求拆解模板(AI 必须输出)
|
|
8
23
|
|
|
9
24
|
拿到需求后,先输出以下结构(缺信息则显式标注“待确认”):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cloudcc-cli-dev
|
|
3
|
-
description: CloudCC CRM 二次开发 CLI 助手。用于需求拆解与方案选型,并通过 cloudcc-cli(cc
|
|
3
|
+
description: CloudCC CRM 二次开发 CLI 助手。用于需求拆解与方案选型,并通过 cloudcc-cli(cc 命令)创建/拉取/发布类、定时类、定时作业、触发器、自定义组件、自定义页面、自定义设置、客户端脚本与静态资源。用户提到 CloudCC、cloudcc-cli、cc 命令、类/定时类/定时作业/触发器/自定义组件/自定义页面/自定义设置/客户端脚本/静态资源 时应优先使用。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# CloudCC CLI Development Skill
|
|
@@ -10,19 +10,39 @@ description: CloudCC CRM 二次开发 CLI 助手。用于需求拆解与方案
|
|
|
10
10
|
|
|
11
11
|
## 工作目录
|
|
12
12
|
- 在openclaw环境中,需要在agent的workspace中创建code文件夹,然后在code文件中使用cc create project xxx,创建一个模版项目。
|
|
13
|
+
- 每次启动这个技能,要扫描下code文件夹,查看创建的项目
|
|
13
14
|
|
|
14
15
|
## 使用方式(AI 必须遵循)
|
|
15
16
|
|
|
16
|
-
-
|
|
17
|
+
- 设计实现方案时,重点阅读 `REQUIREMENTS_BREAKDOWN.md`,输出需求拆解与交付物清单,发开时可以忽略
|
|
17
18
|
- 需要环境/密钥 配置时,阅读 `INSTALL_AND_BOOTSTRAP.md`。
|
|
18
19
|
- 需要建模时(对象/字段/菜单/应用),阅读 `OBJECTS_AND_FIELDS.md`。
|
|
19
|
-
-
|
|
20
|
+
- 需要开发后端逻辑时(类/定时器/触发器),按主题阅读:
|
|
20
21
|
- `BACKEND_CLASS.md`
|
|
21
22
|
- `BACKEND_SCHEDULE.md`
|
|
22
23
|
- `BACKEND_TRIGGER.md`
|
|
23
|
-
-
|
|
24
|
+
- 需要开发自定义组件时,阅读 `VUE_CUSTOM_COMPONENT.md`。
|
|
25
|
+
- 需要开发自定义页面时,阅读 `VUE_CUSTOM_PAGE.md`。
|
|
26
|
+
- 需要开发自定义设置时,阅读 `CUSTOM-SETTING-API.md`。
|
|
27
|
+
- 需要管理静态资源时,阅读 `STATIC-RESOURCE-API.md`。
|
|
28
|
+
- 需要开发客户端脚本时,优先阅读 `CLI_CHEATSHEET.md` 中的 `script` 命令章节。
|
|
24
29
|
- 需要快速对照命令与参数时,阅读 `CLI_CHEATSHEET.md`。
|
|
25
30
|
|
|
31
|
+
## 密钥配置
|
|
32
|
+
|
|
33
|
+
密钥应配置在每个项目的 `cloudcc-cli.config.js` 文件中,不要存储在技能目录中。
|
|
34
|
+
|
|
35
|
+
示例配置:
|
|
36
|
+
```javascript
|
|
37
|
+
module.exports = {
|
|
38
|
+
"use": "junjiedemo",
|
|
39
|
+
"junjiedemo": {
|
|
40
|
+
"safetyMark": "xxx",
|
|
41
|
+
"CloudCCDev": "xxx"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
26
46
|
## 强制安全边界
|
|
27
47
|
|
|
28
48
|
- 不要在输出/代码/提交中包含真实密钥(`CloudCCDev`、`safetyMark`、`secretKey`、`openSecretKey`、token
|
|
@@ -37,8 +57,10 @@ description: CloudCC CRM 二次开发 CLI 助手。用于需求拆解与方案
|
|
|
37
57
|
- 安装与初始化:`INSTALL_AND_BOOTSTRAP.md`
|
|
38
58
|
- 需求拆解与方案选择:`REQUIREMENTS_BREAKDOWN.md`
|
|
39
59
|
- 自定义对象与字段:`OBJECTS_AND_FIELDS.md`
|
|
40
|
-
-
|
|
41
|
-
- 定时类:`BACKEND_SCHEDULE.md`
|
|
42
|
-
- 触发器:`BACKEND_TRIGGER.md`
|
|
60
|
+
- 类/定时类/定时作业/触发器:`BACKEND_CLASS.md`、`BACKEND_SCHEDULE.md`、`BACKEND_TRIGGER.md`
|
|
43
61
|
- Vue 自定义组件:`VUE_CUSTOM_COMPONENT.md`
|
|
62
|
+
- 自定义页面:`VUE_CUSTOM_PAGE.md`
|
|
63
|
+
- 自定义设置:`CUSTOM-SETTING-API.md`
|
|
64
|
+
- 静态资源:`STATIC-RESOURCE-API.md`
|
|
65
|
+
- 客户端脚本:`CLI_CHEATSHEET.md`(`script` 章节)
|
|
44
66
|
- CLI 速查:`CLI_CHEATSHEET.md`
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# 静态资源(cc 命令模式)
|
|
2
|
+
|
|
3
|
+
本文已从“直接 API 文档”重构为“`cc` 命令优先”。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 覆盖范围
|
|
8
|
+
|
|
9
|
+
通过 `cc` 管理静态资源:
|
|
10
|
+
|
|
11
|
+
- 列表查询
|
|
12
|
+
- 详情查询
|
|
13
|
+
- 删除
|
|
14
|
+
- 容量统计
|
|
15
|
+
- 文档查看
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 命令速查
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# 文档
|
|
23
|
+
cc doc staticResource
|
|
24
|
+
|
|
25
|
+
# 列表(condition 可选)
|
|
26
|
+
cc get staticResource <projectPath> [encodedCondJson]
|
|
27
|
+
|
|
28
|
+
# 详情
|
|
29
|
+
cc detail staticResource <projectPath> <resourceId>
|
|
30
|
+
|
|
31
|
+
# 删除
|
|
32
|
+
cc delete staticResource <projectPath> <resourceId>
|
|
33
|
+
|
|
34
|
+
# 容量统计
|
|
35
|
+
cc count staticResource <projectPath> [encodedCondJson]
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 参数说明
|
|
41
|
+
|
|
42
|
+
- `projectPath`:项目根目录(包含 `cloudcc-cli.config.js`)。
|
|
43
|
+
- `encodedCondJson`:`encodeURI(JSON.stringify({...}))` 形式条件参数。
|
|
44
|
+
|
|
45
|
+
示例:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
cc get staticResource . "$(node -e 'console.log(encodeURI(JSON.stringify({label:\"logo\"})))')"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
cc count staticResource .
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 说明与边界
|
|
58
|
+
|
|
59
|
+
- 当前未封装“文件上传/更新”命令(`saveStaticResource` 涉及 `FormData` 上传文件)。
|
|
60
|
+
- 需要上传文件时,建议使用平台页面操作;后续可按需求补 `cc create staticResource`。
|