cloudcc-cli 2.3.5 → 2.3.7
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/.cursor/skills/cloudcc-cli-dev/SKILL.md +29 -23
- package/.cursor/skills/cloudcc-dev-skill/SKILL.md +26 -26
- package/README.md +68 -13
- package/bin/cc.js +6 -6
- package/mcp/cliRunner.js +2 -2
- package/mcp/tools/Application Creator/handler.js +1 -1
- package/mcp/tools/Approval/handler.js +3 -3
- package/mcp/tools/Class Creator/handler.js +2 -2
- package/mcp/tools/Class Detail Retriever/handler.js +1 -1
- package/mcp/tools/Class Editor Guide/handler.js +1 -1
- package/mcp/tools/Class List Retriever/handler.js +1 -1
- package/mcp/tools/Class Publisher/handler.js +1 -1
- package/mcp/tools/Class Puller/handler.js +1 -1
- package/mcp/tools/Client Script Detail Retriever/handler.js +1 -1
- package/mcp/tools/Client Script Editor Guide/handler.js +1 -1
- package/mcp/tools/Client Script List Retriever/handler.js +1 -1
- package/mcp/tools/Client Script Publisher/handler.js +1 -1
- package/mcp/tools/Client Script Puller/handler.js +2 -2
- package/mcp/tools/CloudCC Development Overview/handler.js +1 -1
- package/mcp/tools/Component Creator/handler.js +1 -1
- package/mcp/tools/Component Detail Retriever/handler.js +1 -1
- package/mcp/tools/Component Editor Guide/handler.js +1 -1
- package/mcp/tools/Component List Retriever/handler.js +1 -1
- package/mcp/tools/Component Publisher/handler.js +2 -2
- package/mcp/tools/Component Puller/handler.js +1 -1
- package/mcp/tools/Dev Environment Creator/handler.js +1 -1
- package/mcp/tools/Dev Environment Validator/handler.js +1 -1
- package/mcp/tools/Developer Key Setup Guide/handler.js +1 -1
- package/mcp/tools/Menu Creator/handler.js +1 -1
- package/mcp/tools/Object Creator/handler.js +2 -2
- package/mcp/tools/Object Fields Creator/handler.js +1 -1
- package/mcp/tools/Object Fields Retriever/handler.js +1 -1
- package/mcp/tools/Object List Retriever/handler.js +1 -1
- package/mcp/tools/Scheduled Class Creator/handler.js +1 -1
- package/mcp/tools/Scheduled Class Detail Retriever/handler.js +1 -1
- package/mcp/tools/Scheduled Class List Retriever/handler.js +1 -1
- package/mcp/tools/Scheduled Class Publisher/handler.js +1 -1
- package/mcp/tools/Scheduled Class Puller/handler.js +1 -1
- package/mcp/tools/Trigger Creator/handler.js +1 -1
- package/mcp/tools/Trigger Detail Retriever/handler.js +1 -1
- package/mcp/tools/Trigger Editor Guide/handler.js +1 -1
- package/mcp/tools/Trigger List Retriever/handler.js +1 -1
- package/mcp/tools/Trigger Publisher/handler.js +1 -1
- package/mcp/tools/Trigger Puller/handler.js +1 -1
- package/package.json +4 -2
- package/src/application/create.js +2 -2
- package/src/application/delete.js +2 -2
- package/src/application/doc.js +2 -2
- package/src/application/docs/devguide.md +25 -25
- package/src/application/docs/introduction.md +2 -2
- package/src/button/create.js +1 -1
- package/src/button/delete.js +1 -1
- package/src/button/doc.js +2 -2
- package/src/button/docs/devguide.md +11 -11
- package/src/button/get.js +1 -1
- package/src/button/index.js +1 -1
- package/src/classes/create.js +1 -1
- package/src/classes/delete.js +1 -1
- package/src/classes/detail.js +1 -1
- package/src/classes/doc.js +2 -2
- package/src/classes/docs/devguide.md +21 -21
- package/src/classes/get.js +1 -1
- package/src/classes/publish.js +1 -1
- package/src/classes/pull.js +1 -1
- package/src/classes/pullList.js +1 -1
- package/src/config/doc.js +2 -2
- package/src/config/docs/devguide.md +15 -15
- package/src/customPage/create.js +2 -2
- package/src/customPage/delete.js +2 -2
- package/src/customPage/doc.js +2 -2
- package/src/customPage/docs/devguide.md +27 -27
- package/src/customPage/get.js +1 -1
- package/src/customSetting/create.js +1 -1
- package/src/customSetting/delete.js +1 -1
- package/src/customSetting/deleteCustomSettingField.js +1 -1
- package/src/customSetting/detail.js +1 -1
- package/src/customSetting/docs/devguide.md +9 -9
- package/src/customSetting/editCustomSettingField.js +1 -1
- package/src/customSetting/get.js +1 -1
- package/src/customSetting/modify.js +1 -1
- package/src/customSetting/saveCustomSettingField.js +1 -1
- package/src/fields/delete.js +2 -2
- package/src/fields/docs/devguide.md +14 -14
- package/src/fields/docs/introduction.md +3 -3
- package/src/globalSelectList/create.js +1 -1
- package/src/globalSelectList/delete.js +1 -1
- package/src/globalSelectList/detail.js +1 -1
- package/src/globalSelectList/doc.js +2 -2
- package/src/globalSelectList/docs/devguide.md +7 -7
- package/src/globalSelectList/get.js +1 -1
- package/src/identityProvider/create.js +3 -3
- package/src/identityProvider/delete.js +3 -3
- package/src/identityProvider/doc.js +2 -2
- package/src/identityProvider/docs/devguide.md +10 -10
- package/src/identityProvider/download.js +1 -1
- package/src/identityProvider/get.js +1 -1
- package/src/menu/create-object.js +2 -2
- package/src/menu/create-page.js +2 -2
- package/src/menu/create-script.js +2 -2
- package/src/menu/create-site.js +2 -2
- package/src/menu/create.js +11 -11
- package/src/menu/delete.js +2 -2
- package/src/menu/doc.js +2 -2
- package/src/menu/docs/devguide.md +13 -13
- package/src/menu/docs/introduction.md +3 -3
- package/src/menu/get.js +1 -1
- package/src/object/create.js +2 -2
- package/src/object/delete.js +2 -2
- package/src/object/docs/devguide.md +11 -11
- package/src/pagelayout/create.js +6 -6
- package/src/pagelayout/delete.js +4 -4
- package/src/pagelayout/doc.js +2 -2
- package/src/pagelayout/docs/devguide.md +9 -9
- package/src/pagelayout/docs/introduction.md +1 -1
- package/src/pagelayout/get.js +4 -4
- package/src/permission/add.js +4 -4
- package/src/permission/assign.js +3 -3
- package/src/permission/docs/devguide.md +20 -20
- package/src/permission/docs/introduction.md +18 -18
- package/src/permission/get.js +1 -1
- package/src/permission/remove.js +4 -4
- package/src/plugin/delete.js +2 -2
- package/src/plugin/doc.js +2 -2
- package/src/plugin/docs/devguide.md +29 -29
- package/src/profile/create.js +5 -5
- package/src/profile/delete.js +2 -2
- package/src/profile/doc.js +2 -2
- package/src/profile/docs/devguide.md +8 -8
- package/src/profile/docs/introduction.md +12 -12
- package/src/profile/get.js +1 -1
- package/src/project/docs/devguide.md +19 -6
- package/src/recordType/create.js +1 -1
- package/src/recordType/delete.js +1 -1
- package/src/recordType/doc.js +2 -2
- package/src/recordType/docs/devguide.md +10 -10
- package/src/recordType/editInfo.js +1 -1
- package/src/recordType/editSave.js +1 -1
- package/src/recordType/getList.js +1 -1
- package/src/recordType/newInfo.js +1 -1
- package/src/recordType/validDelete.js +1 -1
- package/src/res.md +1 -1
- package/src/role/create.js +6 -6
- package/src/role/delete.js +2 -2
- package/src/role/doc.js +2 -2
- package/src/role/docs/devguide.md +9 -9
- package/src/role/docs/introduction.md +13 -13
- package/src/role/get.js +1 -1
- package/src/scheduleJob/doc.js +1 -1
- package/src/scheduleJob/docs/devguide.md +6 -6
- package/src/scheduleJob/docs/introduction.md +6 -6
- package/src/script/docs/devguide.md +18 -18
- package/src/singleSignOn/delete.js +3 -3
- package/src/singleSignOn/doc.js +2 -2
- package/src/singleSignOn/docs/devguide.md +5 -5
- package/src/singleSignOn/get.js +1 -1
- package/src/staticResource/count.js +1 -1
- package/src/staticResource/create.js +1 -1
- package/src/staticResource/delete.js +1 -1
- package/src/staticResource/detail.js +1 -1
- package/src/staticResource/docs/devguide.md +11 -11
- package/src/staticResource/get.js +1 -1
- package/src/timer/create.js +1 -1
- package/src/timer/delete.js +1 -1
- package/src/timer/detail.js +1 -1
- package/src/timer/doc.js +2 -2
- package/src/timer/docs/devguide.md +19 -19
- package/src/timer/get.js +1 -1
- package/src/timer/publish.js +1 -1
- package/src/timer/pull.js +1 -1
- package/src/timer/pullList.js +1 -1
- package/src/triggers/detail.js +1 -1
- package/src/triggers/doc.js +2 -2
- package/src/triggers/docs/devguide.md +23 -23
- package/src/triggers/get.js +1 -1
- package/src/triggers/pullList.js +1 -1
- package/src/user/create.js +2 -2
- package/src/user/delete.js +2 -2
- package/src/user/doc.js +2 -2
- package/src/user/docs/devguide.md +13 -13
- package/src/user/docs/introduction.md +12 -12
- package/src/user/get.js +1 -1
- package/src/user/update.js +3 -3
- package/src/user/view.js +2 -2
- package/src/validationRule/create.js +5 -5
- package/src/validationRule/delete.js +2 -2
- package/src/validationRule/doc.js +2 -2
- package/src/validationRule/docs/devguide.md +7 -7
- package/src/validationRule/docs/introduction.md +11 -11
- package/src/validationRule/get.js +1 -1
- package/src/version/actionHelp.js +3 -3
- package/src/version/doctor.js +1 -1
- package/src/version/get.js +0 -6
- package/src/version/help.js +15 -14
- package/src/version/initHelp.js +2 -2
- package/src/version/listModuleCommands.js +2 -2
- package/src/version/stats.js +1 -1
- package/test/application.cli.test.js +1 -1
- package/test/classes.cli.test.js +1 -1
- package/test/customSetting.cli.test.js +1 -1
- package/test/fields.cli.test.js +2 -2
- package/test/globalSelectList.cli.test.js +1 -1
- package/test/menu-script.cli.test.js +1 -1
- package/test/menu.cli.test.js +1 -1
- package/test/object.cli.test.js +1 -1
- package/test/plugin.cli.test.js +1 -1
- package/test/scheduleJob.cli.test.js +1 -1
- package/test/script.cli.test.js +1 -1
- package/test/staticResource.cli.test.js +1 -1
- package/test/timer.cli.test.js +1 -1
- package/test/trigger.cli.test.js +1 -1
- package/utils/checkVersion.js +9 -13
- package/utils/commandStats.js +7 -7
|
@@ -11,19 +11,19 @@
|
|
|
11
11
|
|
|
12
12
|
**允许的做法**:在 CLI 已生成的目录内用 IDE 编辑 `.vue`、子组件与 `utils/` 等源码;与云端列表、详情、拉取、删除、发布相关的操作一律走命令。
|
|
13
13
|
|
|
14
|
-
执行命令前请确认:已完成 `
|
|
14
|
+
执行命令前请确认:已完成 `cloudcc doc project devguide` 中的环境初始化,项目根目录配置可用且具备 `accessToken`(发布流程还会使用 `pluginToken` / 账号密钥等,以你项目配置为准)。
|
|
15
15
|
|
|
16
16
|
### 命令总览(以代码实现为准)
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
cloudcc create plugin <name>
|
|
20
|
+
cloudcc publish plugin <name>
|
|
21
|
+
cloudcc get plugin [projectPath]
|
|
22
|
+
cloudcc detail plugin <pluginName> [pluginId] [projectPath]
|
|
23
|
+
cloudcc detail plugin "" <pluginId> [projectPath]
|
|
24
|
+
cloudcc pull plugin <pluginNameOrId> [projectPath]
|
|
25
|
+
cloudcc delete plugin <pluginNameOrId> [projectPath]
|
|
26
|
+
cloudcc doc plugin <introduction|devguide>
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
参数约定:
|
|
@@ -31,7 +31,7 @@ cc doc plugin <introduction|devguide>
|
|
|
31
31
|
- `name` / `pluginName`:插件目录名,与 `plugins/<name>/` 一致。
|
|
32
32
|
- `projectPath`:项目根路径;不传则使用当前工作目录。`get` 的第一个可选参数即为 `projectPath`。
|
|
33
33
|
- `pluginNameOrId`:本地目录名,或云端组件 ID;若本地存在 `config.json` 且含 `id`,`pull` / `delete` 会优先使用该 `id`。
|
|
34
|
-
- `pluginId`:`detail` 仅查云端时,将 `pluginName` 置空:`
|
|
34
|
+
- `pluginId`:`detail` 仅查云端时,将 `pluginName` 置空:`cloudcc detail plugin "" <pluginId>`。
|
|
35
35
|
|
|
36
36
|
### 命令作用摘要
|
|
37
37
|
|
|
@@ -49,20 +49,20 @@ cc doc plugin <introduction|devguide>
|
|
|
49
49
|
|
|
50
50
|
```bash
|
|
51
51
|
# 1) 查看云端已有组件(可选)
|
|
52
|
-
|
|
52
|
+
cloudcc get plugin .
|
|
53
53
|
|
|
54
54
|
# 2) 仅通过 create 生成目录与模板
|
|
55
|
-
|
|
55
|
+
cloudcc create plugin my_plugin
|
|
56
56
|
|
|
57
57
|
# 3) 本地调试后发布(勿跳过 CLI 发布流程)
|
|
58
|
-
|
|
58
|
+
cloudcc publish plugin my_plugin
|
|
59
59
|
|
|
60
60
|
# 4) 与云端对齐或迁移机器时拉取
|
|
61
|
-
|
|
62
|
-
# 或已知云端 ID:
|
|
61
|
+
cloudcc pull plugin my_plugin
|
|
62
|
+
# 或已知云端 ID:cloudcc pull plugin <id> .
|
|
63
63
|
|
|
64
64
|
# 5) 不再使用时删除云端组件
|
|
65
|
-
|
|
65
|
+
cloudcc delete plugin my_plugin
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
---
|
|
@@ -162,7 +162,7 @@ npm run serve
|
|
|
162
162
|
|
|
163
163
|
### 1.2 创建组件
|
|
164
164
|
|
|
165
|
-
- **使用本 CLI 时**:在项目根执行 `
|
|
165
|
+
- **使用本 CLI 时**:在项目根执行 `cloudcc create plugin <name>`,会在 `plugins/<name>/` 生成标准模板(推荐)。
|
|
166
166
|
- 或在模板工程中手动新建入口文件,**组件名称必须满足 DOM 命名规则**,例如:`cc-com-demo.vue`
|
|
167
167
|
- 推荐遵循:以 `cc-` 开头,后续使用小写单词和 `-` 连接。
|
|
168
168
|
|
|
@@ -181,7 +181,7 @@ npm run serve
|
|
|
181
181
|
**推荐(与仓库、CI 一致)**:在项目根目录执行:
|
|
182
182
|
|
|
183
183
|
```bash
|
|
184
|
-
|
|
184
|
+
cloudcc publish plugin <与目录名一致的 name>
|
|
185
185
|
```
|
|
186
186
|
|
|
187
187
|
CLI 会编译 `plugins/<name>/<name>.vue` 并上传;首次成功且接口返回 `id` 时可能写回 `plugins/<name>/config.json`。
|
|
@@ -913,7 +913,7 @@ componentInfo: {
|
|
|
913
913
|
|
|
914
914
|
## 13. 自定义组件开发 Checklist
|
|
915
915
|
|
|
916
|
-
- [ ] 插件目录与云端同步仅通过 `
|
|
916
|
+
- [ ] 插件目录与云端同步仅通过 `cloudcc create` / `cloudcc publish` / `cloudcc pull` / `cloudcc delete` 等命令操作,不整包复制他人 `plugins/` 或手改 `config.json` 的 `id`
|
|
917
917
|
- [ ] 组件文件名与 `componentInfo.component` 命名符合规范(小写 + `-`
|
|
918
918
|
分隔,全局唯一)
|
|
919
919
|
- [ ] 样式默认使用 `lang="scss" scoped`,避免样式污染
|
|
@@ -934,7 +934,7 @@ componentInfo: {
|
|
|
934
934
|
### 14.1 create
|
|
935
935
|
|
|
936
936
|
```bash
|
|
937
|
-
|
|
937
|
+
cloudcc create plugin <name>
|
|
938
938
|
```
|
|
939
939
|
|
|
940
940
|
- 创建 `plugins/<name>/` 目录、入口 `<name>.vue`、`components/` 与 `config.json` 模板。
|
|
@@ -942,7 +942,7 @@ cc create plugin <name>
|
|
|
942
942
|
### 14.2 publish
|
|
943
943
|
|
|
944
944
|
```bash
|
|
945
|
-
|
|
945
|
+
cloudcc publish plugin <name>
|
|
946
946
|
```
|
|
947
947
|
|
|
948
948
|
- 以 `plugins/<name>/<name>.vue` 为入口编译(`vue-cli-service build --target lib`),再上传到云端。
|
|
@@ -951,7 +951,7 @@ cc publish plugin <name>
|
|
|
951
951
|
### 14.3 get
|
|
952
952
|
|
|
953
953
|
```bash
|
|
954
|
-
|
|
954
|
+
cloudcc get plugin [projectPath]
|
|
955
955
|
```
|
|
956
956
|
|
|
957
957
|
- 分页请求云端组件列表,标准输出为 JSON 数组。
|
|
@@ -960,18 +960,18 @@ cc get plugin [projectPath]
|
|
|
960
960
|
### 14.4 detail
|
|
961
961
|
|
|
962
962
|
```bash
|
|
963
|
-
|
|
964
|
-
|
|
963
|
+
cloudcc detail plugin <pluginName> [pluginId] [projectPath]
|
|
964
|
+
cloudcc detail plugin "" <pluginId> [projectPath]
|
|
965
965
|
```
|
|
966
966
|
|
|
967
967
|
- 提供 `pluginName`(且非空):读取本地 `plugins/<pluginName>/` 的 `config.json` 与入口 `.vue`。
|
|
968
968
|
- 将 `pluginName` 置为空并传 `pluginId`:仅从云端查询详情(`projectPath` 仍用于配置)。
|
|
969
|
-
- 需要指定项目根且保留「仅本地名」时,可用占位:`
|
|
969
|
+
- 需要指定项目根且保留「仅本地名」时,可用占位:`cloudcc detail plugin <pluginName> "" <projectPath>`(中间空串表示无 `pluginId`)。
|
|
970
970
|
|
|
971
971
|
### 14.5 pull
|
|
972
972
|
|
|
973
973
|
```bash
|
|
974
|
-
|
|
974
|
+
cloudcc pull plugin <pluginNameOrId> [projectPath]
|
|
975
975
|
```
|
|
976
976
|
|
|
977
977
|
- 若 `plugins/<输入>/config.json` 存在且含 `id`,按该 `id` 拉取。
|
|
@@ -980,7 +980,7 @@ cc pull plugin <pluginNameOrId> [projectPath]
|
|
|
980
980
|
### 14.6 delete
|
|
981
981
|
|
|
982
982
|
```bash
|
|
983
|
-
|
|
983
|
+
cloudcc delete plugin <pluginNameOrId> [projectPath]
|
|
984
984
|
```
|
|
985
985
|
|
|
986
986
|
- 若本地 `plugins/<name>/config.json` 存在且含 `id`,优先按该 `id` 调删除接口。
|
|
@@ -989,8 +989,8 @@ cc delete plugin <pluginNameOrId> [projectPath]
|
|
|
989
989
|
### 14.7 doc
|
|
990
990
|
|
|
991
991
|
```bash
|
|
992
|
-
|
|
993
|
-
|
|
992
|
+
cloudcc doc plugin introduction
|
|
993
|
+
cloudcc doc plugin devguide
|
|
994
994
|
```
|
|
995
995
|
|
|
996
996
|
- 仅支持 `introduction` 与 `devguide`;`devguide` 会在正文后拼接附录「CCDK SDK 速查」。
|
package/src/profile/create.js
CHANGED
|
@@ -4,7 +4,7 @@ const { getPackageJson } = require("../../utils/config");
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* 创建简档
|
|
7
|
-
* 用法:
|
|
7
|
+
* 用法:cloudcc create profile <path> <profileName> [description]
|
|
8
8
|
* 流程:1. 调用 /profile/copyProfile 获取现有简档列表
|
|
9
9
|
* 2. 选择第一个简档作为复制来源
|
|
10
10
|
* 3. 调用 /profile/newProfile 创建新简档
|
|
@@ -13,7 +13,7 @@ const { getPackageJson } = require("../../utils/config");
|
|
|
13
13
|
*/
|
|
14
14
|
async function create(argvs) {
|
|
15
15
|
try {
|
|
16
|
-
// 命令行参数格式:
|
|
16
|
+
// 命令行参数格式:cloudcc create profile <path> <profileName> [description]
|
|
17
17
|
const projectPath = argvs[2] || process.cwd();
|
|
18
18
|
const profileName = argvs[3];
|
|
19
19
|
const description = argvs[4] || '';
|
|
@@ -21,10 +21,10 @@ async function create(argvs) {
|
|
|
21
21
|
if (!profileName) {
|
|
22
22
|
console.error();
|
|
23
23
|
console.error(chalk.red('Error: 缺少简档名称'));
|
|
24
|
-
console.error('用法:
|
|
24
|
+
console.error('用法: cloudcc create profile <path> <profileName> [description]');
|
|
25
25
|
console.error('示例:');
|
|
26
|
-
console.error('
|
|
27
|
-
console.error('
|
|
26
|
+
console.error(' cloudcc create profile . "销售经理简档"');
|
|
27
|
+
console.error(' cloudcc create profile . "销售代表简档" "适用于销售团队的权限配置"');
|
|
28
28
|
console.error();
|
|
29
29
|
throw new Error('缺少必需参数: profileName');
|
|
30
30
|
}
|
package/src/profile/delete.js
CHANGED
|
@@ -4,7 +4,7 @@ const { getPackageJson } = require("../../utils/config");
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* 删除简档
|
|
7
|
-
* 用法:
|
|
7
|
+
* 用法:cloudcc delete profile <projectPath> <profileId>
|
|
8
8
|
*/
|
|
9
9
|
async function remove(argvs) {
|
|
10
10
|
try {
|
|
@@ -14,7 +14,7 @@ async function remove(argvs) {
|
|
|
14
14
|
if (!profileId) {
|
|
15
15
|
console.error();
|
|
16
16
|
console.error(chalk.red("Error: 缺少简档 ID"));
|
|
17
|
-
console.error(chalk.yellow("用法:
|
|
17
|
+
console.error(chalk.yellow("用法: cloudcc delete profile <projectPath> <profileId>"));
|
|
18
18
|
console.error();
|
|
19
19
|
throw new Error("缺少必需参数: profileId");
|
|
20
20
|
}
|
package/src/profile/doc.js
CHANGED
|
@@ -21,14 +21,14 @@ function getDevGuideDoc() {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* cloudcc doc profile <introduction|devguide>
|
|
25
25
|
* @param {string[]} argvs [doc, type, introduction|devguide, ...]
|
|
26
26
|
*/
|
|
27
27
|
function doc(argvs) {
|
|
28
28
|
const subType = argvs[2];
|
|
29
29
|
const key = String(subType || "").trim().toLowerCase();
|
|
30
30
|
if (!key) {
|
|
31
|
-
throw new Error("
|
|
31
|
+
throw new Error("cloudcc doc profile 需要子命令:introduction 或 devguide");
|
|
32
32
|
}
|
|
33
33
|
if (key === "introduction") {
|
|
34
34
|
const content = getIntroductionDoc();
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
### 创建简档
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
|
|
16
|
+
cloudcc create profile <path> <profileName> [description]
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
**参数说明:**
|
|
@@ -28,16 +28,16 @@ cc create profile <path> <profileName> [description]
|
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
30
|
# 创建简档
|
|
31
|
-
|
|
31
|
+
cloudcc create profile . "销售经理简档"
|
|
32
32
|
|
|
33
33
|
# 创建带描述的简档
|
|
34
|
-
|
|
34
|
+
cloudcc create profile . "销售代表简档" "适用于销售团队的权限配置"
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
### 查询简档列表
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
|
-
|
|
40
|
+
cloudcc get profile <projectPath> [encodedCondJson]
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
**参数说明:**
|
|
@@ -51,16 +51,16 @@ cc get profile <projectPath> [encodedCondJson]
|
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
53
|
# 获取所有简档
|
|
54
|
-
|
|
54
|
+
cloudcc get profile .
|
|
55
55
|
|
|
56
56
|
# 带查询条件
|
|
57
|
-
|
|
57
|
+
cloudcc get profile . '%7B%22type%22%3A%22custom%22%7D'
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
### 删除简档
|
|
61
61
|
|
|
62
62
|
```bash
|
|
63
|
-
|
|
63
|
+
cloudcc delete profile <projectPath> <profileId>
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
**参数说明:**
|
|
@@ -73,5 +73,5 @@ cc delete profile <projectPath> <profileId>
|
|
|
73
73
|
**示例:**
|
|
74
74
|
|
|
75
75
|
```bash
|
|
76
|
-
|
|
76
|
+
cloudcc delete profile . aaa202672F656B7VfEjL
|
|
77
77
|
```
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
创建一个新的自定义简档,基于现有简档进行克隆。
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
|
|
26
|
+
cloudcc create profile <path> <profileName> [description]
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
**参数说明:**
|
|
@@ -38,10 +38,10 @@ cc create profile <path> <profileName> [description]
|
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
40
|
# 创建简档
|
|
41
|
-
|
|
41
|
+
cloudcc create profile . "销售经理简档"
|
|
42
42
|
|
|
43
43
|
# 创建带描述的简档
|
|
44
|
-
|
|
44
|
+
cloudcc create profile . "销售代表简档" "适用于销售团队的权限配置"
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
---
|
|
@@ -51,7 +51,7 @@ cc create profile . "销售代表简档" "适用于销售团队的权限配置"
|
|
|
51
51
|
获取当前环境中的所有简档列表。
|
|
52
52
|
|
|
53
53
|
```bash
|
|
54
|
-
|
|
54
|
+
cloudcc get profile <projectPath> [encodedCondJson]
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
**参数说明:**
|
|
@@ -65,10 +65,10 @@ cc get profile <projectPath> [encodedCondJson]
|
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
67
|
# 获取所有简档
|
|
68
|
-
|
|
68
|
+
cloudcc get profile .
|
|
69
69
|
|
|
70
70
|
# 带查询条件
|
|
71
|
-
|
|
71
|
+
cloudcc get profile . '%7B%22type%22%3A%22custom%22%7D'
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
---
|
|
@@ -78,7 +78,7 @@ cc get profile . '%7B%22type%22%3A%22custom%22%7D'
|
|
|
78
78
|
删除指定的自定义简档。
|
|
79
79
|
|
|
80
80
|
```bash
|
|
81
|
-
|
|
81
|
+
cloudcc delete profile <projectPath> <profileId>
|
|
82
82
|
```
|
|
83
83
|
|
|
84
84
|
**参数说明:**
|
|
@@ -92,7 +92,7 @@ cc delete profile <projectPath> <profileId>
|
|
|
92
92
|
|
|
93
93
|
```bash
|
|
94
94
|
# 删除指定简档
|
|
95
|
-
|
|
95
|
+
cloudcc delete profile . a0I9D000000XXXXUAI
|
|
96
96
|
```
|
|
97
97
|
|
|
98
98
|
---
|
|
@@ -106,16 +106,16 @@ cc delete profile . a0I9D000000XXXXUAI
|
|
|
106
106
|
cat cloudcc-cli.config.js
|
|
107
107
|
|
|
108
108
|
# 2. 查询现有简档
|
|
109
|
-
|
|
109
|
+
cloudcc get profile .
|
|
110
110
|
|
|
111
111
|
# 3. 创建新的销售经理简档
|
|
112
|
-
|
|
112
|
+
cloudcc create profile . "销售经理简档" "销售团队经理级别的权限配置"
|
|
113
113
|
|
|
114
114
|
# 4. 验证简档创建成功
|
|
115
|
-
|
|
115
|
+
cloudcc get profile .
|
|
116
116
|
|
|
117
117
|
# 5. 如需删除
|
|
118
|
-
#
|
|
118
|
+
# cloudcc delete profile . <profileId>
|
|
119
119
|
```
|
|
120
120
|
|
|
121
121
|
---
|
package/src/profile/get.js
CHANGED
|
@@ -3,7 +3,7 @@ const { getPackageJson } = require("../../utils/config");
|
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* 查询简档列表
|
|
6
|
-
* 用法:
|
|
6
|
+
* 用法:cloudcc get profile <projectPath> [encodedCondJson]
|
|
7
7
|
*/
|
|
8
8
|
async function get(argvs, isMcp = false) {
|
|
9
9
|
const projectPath = argvs[2] || process.cwd();
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
1. 安装 Node 与 npm,并切换 npm 源
|
|
19
19
|
2. 安装 `cloudcc-cli` 全局依赖
|
|
20
20
|
3. 安装 VS Code 与 CloudCC 插件
|
|
21
|
-
4. 配置本地 MCP
|
|
21
|
+
4. 配置本地 MCP(**`cc-mcp`** 或 `node` 运行 `bin/mcp.js`)
|
|
22
22
|
5. 使用 CLI 创建模板项目并安装依赖
|
|
23
23
|
6. 通过 CRM 获取开发者密钥、安全标记并写入 `cloudcc-cli.config.js`
|
|
24
24
|
7. 视情况配置私有云与多环境参数
|
|
@@ -111,7 +111,19 @@ sudo npm ls -g --depth=0
|
|
|
111
111
|
|
|
112
112
|
## 5. 安装并配置本地 MCP
|
|
113
113
|
|
|
114
|
-
在支持 MCP 的开发工具中(如 Cursor
|
|
114
|
+
在支持 MCP 的开发工具中(如 Cursor),全局安装 `cloudcc-cli` 并保证 npm 全局 **bin 在 `PATH` 中** 后,可在 MCP 配置里直接使用 **`cc-mcp`**(与 `package.json` 的 `bin` 一致):
|
|
115
|
+
|
|
116
|
+
```json
|
|
117
|
+
{
|
|
118
|
+
"mcpServers": {
|
|
119
|
+
"cloudcc-cli": {
|
|
120
|
+
"command": "cc-mcp"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**备选**:使用 `node` 启动包内脚本(**将 `args` 中的路径换成本机全局安装后的绝对路径**):
|
|
115
127
|
|
|
116
128
|
```json
|
|
117
129
|
{
|
|
@@ -127,7 +139,8 @@ sudo npm ls -g --depth=0
|
|
|
127
139
|
说明:
|
|
128
140
|
|
|
129
141
|
- `cloudcc-cli`:MCP 服务器标识,用于在工具中调用 CloudCC 相关能力
|
|
130
|
-
-
|
|
142
|
+
- **`cc-mcp`**:全局安装后由 npm 写入 PATH 的命令名,对应包内 `bin/mcp.js`
|
|
143
|
+
- **`node` + `args`**:路径一般为 `$(npm root -g)/cloudcc-cli/bin/mcp.js`(请粘贴为绝对路径)
|
|
131
144
|
|
|
132
145
|
---
|
|
133
146
|
|
|
@@ -139,7 +152,7 @@ sudo npm ls -g --depth=0
|
|
|
139
152
|
|
|
140
153
|
```bash
|
|
141
154
|
cd ~/Documents
|
|
142
|
-
|
|
155
|
+
cloudcc create project demo1
|
|
143
156
|
```
|
|
144
157
|
|
|
145
158
|
`demo1` 为示例项目名,可按需替换。
|
|
@@ -352,8 +365,8 @@ module.exports = {
|
|
|
352
365
|
- [ ] npm 源已切换到 `https://registry.npmmirror.com`
|
|
353
366
|
- [ ] 已全局安装 `cloudcc-cli` 并验证
|
|
354
367
|
- [ ] 已安装 VS Code 与 CloudCC 插件(或已按官方指引配置 Cursor)
|
|
355
|
-
- [ ] MCP 已配置 `cloudcc-cli`(`node` + `bin/mcp.js`)
|
|
356
|
-
- [ ] 已通过 `
|
|
368
|
+
- [ ] MCP 已配置 `cloudcc-cli`(`cc-mcp` 或 `node` + `bin/mcp.js`)
|
|
369
|
+
- [ ] 已通过 `cloudcc create project` 创建模板项目并成功 `npm i` + `npm run serve`
|
|
357
370
|
- [ ] 已创建开发者账号并确认「代码管理」权限开启
|
|
358
371
|
- [ ] 已获取开发者密钥与安全标记并正确配置 `cloudcc-cli.config.js`
|
|
359
372
|
- [ ] 如为私有云,已配置 `version: "private"` 与正确的 `baseUrl`/网关前缀
|
package/src/recordType/create.js
CHANGED
package/src/recordType/delete.js
CHANGED
|
@@ -3,7 +3,7 @@ const { getPackageJson } = require("../../utils/config");
|
|
|
3
3
|
const { postClass } = require("../../utils/http");
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* cloudcc delete recordType <projectPath> <encodedBodyJson>
|
|
7
7
|
* 删除记录类型(删除前请先调用 validDelete 获取替换目标列表)
|
|
8
8
|
*
|
|
9
9
|
* encodedBodyJson(encodeURI 编码前)示例:
|
package/src/recordType/doc.js
CHANGED
|
@@ -11,14 +11,14 @@ function readDocFile(basename) {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* cloudcc doc recordType <introduction|devguide>
|
|
15
15
|
* @param {string[]} argvs [doc, type, introduction|devguide, ...]
|
|
16
16
|
*/
|
|
17
17
|
function doc(argvs) {
|
|
18
18
|
const subType = argvs[2];
|
|
19
19
|
const key = String(subType || "").trim().toLowerCase();
|
|
20
20
|
if (!key) {
|
|
21
|
-
throw new Error("
|
|
21
|
+
throw new Error("cloudcc doc recordType 需要子命令:introduction 或 devguide");
|
|
22
22
|
}
|
|
23
23
|
if (key === "introduction") {
|
|
24
24
|
const content = readDocFile("introduction");
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
18
|
# 获取指定对象的记录类型列表
|
|
19
|
-
|
|
19
|
+
cloudcc getList recordType . <objid>
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
---
|
|
@@ -26,7 +26,7 @@ cc getList recordType . <objid>
|
|
|
26
26
|
新建前需先获取简档列表、现有记录类型列表、页面布局列表:
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
|
-
|
|
29
|
+
cloudcc newInfo recordType . <objid>
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
返回结构:
|
|
@@ -46,7 +46,7 @@ cc newInfo recordType . <objid>
|
|
|
46
46
|
## 3. 新建记录类型
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
|
-
|
|
49
|
+
cloudcc create recordType . <encodedBodyJson>
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
原始 JSON(`encodeURI` 编码前):
|
|
@@ -74,7 +74,7 @@ cc create recordType . <encodedBodyJson>
|
|
|
74
74
|
**Step 1:获取回显数据**
|
|
75
75
|
|
|
76
76
|
```bash
|
|
77
|
-
|
|
77
|
+
cloudcc editInfo recordType . <encodedBodyJson>
|
|
78
78
|
# encodedBodyJson: { "id": "<recordTypeId>", "objid": "<objid>" }
|
|
79
79
|
```
|
|
80
80
|
|
|
@@ -88,7 +88,7 @@ cc editInfo recordType . <encodedBodyJson>
|
|
|
88
88
|
| 启用 | `isenable` |
|
|
89
89
|
|
|
90
90
|
```bash
|
|
91
|
-
|
|
91
|
+
cloudcc editSave recordType . <encodedBodyJson>
|
|
92
92
|
# encodedBodyJson: 将 editInfo 返回的 data 对象修改目标字段后提交
|
|
93
93
|
```
|
|
94
94
|
|
|
@@ -99,7 +99,7 @@ cc editSave recordType . <encodedBodyJson>
|
|
|
99
99
|
**Step 1:删除前校验**(检测启用状态 + 获取可替换记录类型列表)
|
|
100
100
|
|
|
101
101
|
```bash
|
|
102
|
-
|
|
102
|
+
cloudcc validDelete recordType . <encodedBodyJson>
|
|
103
103
|
# encodedBodyJson: { "id": "<recordTypeId>", "objid": "<objid>" }
|
|
104
104
|
```
|
|
105
105
|
|
|
@@ -107,7 +107,7 @@ cc validDelete recordType . <encodedBodyJson>
|
|
|
107
107
|
> - 若当前为**启用**状态,命令将报错并提示先执行禁用操作,不会继续执行删除校验
|
|
108
108
|
> - 若当前为**禁用**状态,则正常返回可替换记录类型列表
|
|
109
109
|
>
|
|
110
|
-
> 请先调用 `
|
|
110
|
+
> 请先调用 `cloudcc editSave` 将 `isenable` 设为 `"false"` 完成禁用,再重新执行此命令。
|
|
111
111
|
|
|
112
112
|
返回:
|
|
113
113
|
|
|
@@ -124,7 +124,7 @@ cc validDelete recordType . <encodedBodyJson>
|
|
|
124
124
|
**Step 2:执行删除**
|
|
125
125
|
|
|
126
126
|
```bash
|
|
127
|
-
|
|
127
|
+
cloudcc delete recordType . <encodedBodyJson>
|
|
128
128
|
# encodedBodyJson: { "id": "<recordTypeId>", "objid": "<objid>", "replaceId": "<replaceId>" }
|
|
129
129
|
```
|
|
130
130
|
|
|
@@ -141,8 +141,8 @@ cc delete recordType . <encodedBodyJson>
|
|
|
141
141
|
## 6. 查看文档
|
|
142
142
|
|
|
143
143
|
```bash
|
|
144
|
-
|
|
145
|
-
|
|
144
|
+
cloudcc doc recordType introduction # 能力与适用场景说明
|
|
145
|
+
cloudcc doc recordType devguide # 本操作指南
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
---
|
|
@@ -2,7 +2,7 @@ const { getPackageJson } = require("../../utils/config");
|
|
|
2
2
|
const { postClass } = require("../../utils/http");
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* cloudcc editInfo recordType <projectPath> <encodedBodyJson>
|
|
6
6
|
* 获取编辑记录类型的回显数据
|
|
7
7
|
*
|
|
8
8
|
* encodedBodyJson(encodeURI 编码前)示例:
|
|
@@ -3,7 +3,7 @@ const { getPackageJson } = require("../../utils/config");
|
|
|
3
3
|
const { postClass } = require("../../utils/http");
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* cloudcc editSave recordType <projectPath> <encodedBodyJson>
|
|
7
7
|
* 保存编辑后的记录类型(将 editInfo 返回的对象修改后提交)
|
|
8
8
|
*
|
|
9
9
|
* encodedBodyJson(encodeURI 编码前)为 editInfo 接口返回的 data 对象,
|
|
@@ -2,7 +2,7 @@ const { getPackageJson } = require("../../utils/config");
|
|
|
2
2
|
const { postClass } = require("../../utils/http");
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* cloudcc getList recordType <projectPath> <objid>
|
|
6
6
|
* 获取指定对象的记录类型列表
|
|
7
7
|
* @param {string} projectPath
|
|
8
8
|
* @param {string} objid 对象 ID
|
|
@@ -2,7 +2,7 @@ const { getPackageJson } = require("../../utils/config");
|
|
|
2
2
|
const { postClass } = require("../../utils/http");
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* cloudcc newInfo recordType <projectPath> <objid>
|
|
6
6
|
* 获取新建记录类型所需的表单初始信息(现有记录类型列表、简档列表、页面布局列表)
|
|
7
7
|
* @param {string} projectPath
|
|
8
8
|
* @param {string} objid 对象 ID
|
|
@@ -3,7 +3,7 @@ const { getPackageJson } = require("../../utils/config");
|
|
|
3
3
|
const { postClass } = require("../../utils/http");
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* cloudcc validDelete recordType <projectPath> <encodedBodyJson>
|
|
7
7
|
* 删除前校验:获取可替换的记录类型列表
|
|
8
8
|
*
|
|
9
9
|
* 执行逻辑:
|
package/src/res.md
CHANGED
package/src/role/create.js
CHANGED
|
@@ -6,7 +6,7 @@ const { id } = require('zod/locales');
|
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* 创建角色
|
|
9
|
-
* 用法:
|
|
9
|
+
* 用法:cloudcc create role <path> <roleName> [parentRoleName] [description]
|
|
10
10
|
* 流程:
|
|
11
11
|
* 1. 调用 role/addRole 获取直属上司列表
|
|
12
12
|
* 2. 交互式选择直属上司(未指定时)或自动匹配(指定时)
|
|
@@ -16,7 +16,7 @@ const { id } = require('zod/locales');
|
|
|
16
16
|
*/
|
|
17
17
|
async function create(argvs) {
|
|
18
18
|
try {
|
|
19
|
-
// 命令行参数格式:
|
|
19
|
+
// 命令行参数格式:cloudcc create role <path> <roleName> [parentRoleName] [description]
|
|
20
20
|
const projectPath = argvs[2] || process.cwd();
|
|
21
21
|
const roleName = argvs[3];
|
|
22
22
|
const parentRoleName = argvs[4] || '';
|
|
@@ -25,11 +25,11 @@ async function create(argvs) {
|
|
|
25
25
|
if (!roleName) {
|
|
26
26
|
console.error();
|
|
27
27
|
console.error(chalk.red('Error: 缺少角色名称'));
|
|
28
|
-
console.error('用法:
|
|
28
|
+
console.error('用法: cloudcc create role <path> <roleName> [parentRoleName] [description]');
|
|
29
29
|
console.error('示例:');
|
|
30
|
-
console.error('
|
|
31
|
-
console.error('
|
|
32
|
-
console.error('
|
|
30
|
+
console.error(' cloudcc create role . "销售经理" # 交互式选择直属上司');
|
|
31
|
+
console.error(' cloudcc create role . "销售经理" "CEO" # 指定直属上司为 CEO');
|
|
32
|
+
console.error(' cloudcc create role . "销售经理" "CEO" "负责销售团队管理"');
|
|
33
33
|
console.error();
|
|
34
34
|
throw new Error('缺少必需参数: roleName');
|
|
35
35
|
}
|