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
package/src/object/create.js
CHANGED
|
@@ -20,8 +20,8 @@ async function create(argvs) {
|
|
|
20
20
|
try {
|
|
21
21
|
let path = argvs[2];
|
|
22
22
|
// 兼容两种调用方式:
|
|
23
|
-
// 1)
|
|
24
|
-
// 2)
|
|
23
|
+
// 1) cloudcc object create <path> <nameLabel> <label>
|
|
24
|
+
// 2) cloudcc object create <path> <label> (此时自动生成 nameLabel)
|
|
25
25
|
let label = argvs[3];
|
|
26
26
|
let nameLabel = argvs[4];
|
|
27
27
|
if (nameLabel == undefined) {
|
package/src/object/delete.js
CHANGED
|
@@ -4,7 +4,7 @@ const { getPackageJson } = require("../../utils/config");
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* 删除自定义对象
|
|
7
|
-
* 用法:
|
|
7
|
+
* 用法:cloudcc delete object <projectPath> <objid>
|
|
8
8
|
*/
|
|
9
9
|
async function remove(argvs) {
|
|
10
10
|
const projectPath = argvs[2] || process.cwd();
|
|
@@ -13,7 +13,7 @@ async function remove(argvs) {
|
|
|
13
13
|
if (!objid) {
|
|
14
14
|
console.error();
|
|
15
15
|
console.error(chalk.red("Error: objid is required"));
|
|
16
|
-
console.error(chalk.yellow("Usage:
|
|
16
|
+
console.error(chalk.yellow("Usage: cloudcc delete object <projectPath> <objid>"));
|
|
17
17
|
console.error();
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
可通过以下命令读取文档:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
cloudcc doc object introduction
|
|
11
|
+
cloudcc doc object devguide
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
---
|
|
@@ -16,9 +16,9 @@ cc doc object devguide
|
|
|
16
16
|
## 2. 当前支持的命令
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
cloudcc get object <projectPath> [type]
|
|
20
|
+
cloudcc create object <projectPath> <label> [nameLabel]
|
|
21
|
+
cloudcc delete object <projectPath> <objid>
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
说明:
|
|
@@ -35,7 +35,7 @@ cc delete object <projectPath> <objid>
|
|
|
35
35
|
### 3.1 查询全部对象
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
|
|
38
|
+
cloudcc get object <projectPath>
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
返回标准对象和自定义对象的合并列表。
|
|
@@ -43,8 +43,8 @@ cc get object <projectPath>
|
|
|
43
43
|
### 3.2 按类型查询
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
cloudcc get object <projectPath> standard
|
|
47
|
+
cloudcc get object <projectPath> custom
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
常见含义:
|
|
@@ -59,7 +59,7 @@ cc get object <projectPath> custom
|
|
|
59
59
|
### 4.1 基本命令
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
|
-
|
|
62
|
+
cloudcc create object <projectPath> <label>
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
|
|
@@ -79,7 +79,7 @@ cc create object <projectPath> <label>
|
|
|
79
79
|
### 5.1 基本命令
|
|
80
80
|
|
|
81
81
|
```bash
|
|
82
|
-
|
|
82
|
+
cloudcc delete object <projectPath> <objid>
|
|
83
83
|
```
|
|
84
84
|
|
|
85
85
|
删除前建议:
|
|
@@ -91,7 +91,7 @@ cc delete object <projectPath> <objid>
|
|
|
91
91
|
|
|
92
92
|
## 6. 开发前检查
|
|
93
93
|
|
|
94
|
-
- 已完成 `
|
|
94
|
+
- 已完成 `cloudcc doc project devguide` 中的环境准备
|
|
95
95
|
- 项目根目录存在可用的 `cloudcc-cli.config.js`
|
|
96
96
|
- 当前环境密钥配置正确
|
|
97
97
|
- 已确认对象名称、API 名称、角色权限需求
|
package/src/pagelayout/create.js
CHANGED
|
@@ -57,13 +57,13 @@ async function cloneLayout(config, objId, layoutName, sourceLayoutId, isCloneDyn
|
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
59
|
* 创建页面布局
|
|
60
|
-
* 用法:
|
|
60
|
+
* 用法:cloudcc create pagelayout <projectPath> <objId> <layoutName> [sourceLayoutId] [isCloneDynamic]
|
|
61
61
|
* @param {Array} argvs - 命令行参数数组
|
|
62
62
|
* @returns {Promise<Object>} 创建结果
|
|
63
63
|
*/
|
|
64
64
|
async function create(argvs) {
|
|
65
65
|
try {
|
|
66
|
-
// 命令行参数格式:
|
|
66
|
+
// 命令行参数格式:cloudcc create pagelayout <projectPath> <objId> <layoutName> [sourceLayoutId] [isCloneDynamic]
|
|
67
67
|
const projectPath = argvs[2] || process.cwd();
|
|
68
68
|
const objId = argvs[3];
|
|
69
69
|
const layoutName = argvs[4];
|
|
@@ -73,10 +73,10 @@ async function create(argvs) {
|
|
|
73
73
|
if (!objId) {
|
|
74
74
|
console.error();
|
|
75
75
|
console.error(chalk.red("Error: 缺少对象 ID"));
|
|
76
|
-
console.error("用法:
|
|
76
|
+
console.error("用法: cloudcc create pagelayout <projectPath> <objId> <layoutName> [sourceLayoutId] [isCloneDynamic]");
|
|
77
77
|
console.error("示例:");
|
|
78
|
-
console.error('
|
|
79
|
-
console.error("
|
|
78
|
+
console.error(' cloudcc create pagelayout . 20267D1465464C5OB6m5 "课程表2"');
|
|
79
|
+
console.error(" cloudcc create pagelayout . 20267D1465464C5OB6m5 \"课程表2\" add20261DA7347CZPAUz");
|
|
80
80
|
console.error();
|
|
81
81
|
throw new Error("缺少必需参数: objId");
|
|
82
82
|
}
|
|
@@ -84,7 +84,7 @@ async function create(argvs) {
|
|
|
84
84
|
if (!layoutName) {
|
|
85
85
|
console.error();
|
|
86
86
|
console.error(chalk.red("Error: 缺少页面布局名称"));
|
|
87
|
-
console.error("用法:
|
|
87
|
+
console.error("用法: cloudcc create pagelayout <projectPath> <objId> <layoutName> [sourceLayoutId] [isCloneDynamic]");
|
|
88
88
|
console.error();
|
|
89
89
|
throw new Error("缺少必需参数: layoutName");
|
|
90
90
|
}
|
package/src/pagelayout/delete.js
CHANGED
|
@@ -4,22 +4,22 @@ const chalk = require("chalk");
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* 删除页面布局
|
|
7
|
-
* 用法:
|
|
7
|
+
* 用法:cloudcc delete pagelayout <projectPath> <layoutId>
|
|
8
8
|
* @param {Array} argvs - 命令行参数数组
|
|
9
9
|
* @returns {Promise<Object>} 删除结果
|
|
10
10
|
*/
|
|
11
11
|
async function deleteLayout(argvs) {
|
|
12
12
|
try {
|
|
13
|
-
// 命令行参数格式:
|
|
13
|
+
// 命令行参数格式:cloudcc delete pagelayout <projectPath> <layoutId>
|
|
14
14
|
const projectPath = argvs[2] || process.cwd();
|
|
15
15
|
const layoutId = argvs[3];
|
|
16
16
|
|
|
17
17
|
if (!layoutId) {
|
|
18
18
|
console.error();
|
|
19
19
|
console.error(chalk.red("Error: 缺少页面布局 ID"));
|
|
20
|
-
console.error("用法:
|
|
20
|
+
console.error("用法: cloudcc delete pagelayout <projectPath> <layoutId>");
|
|
21
21
|
console.error("示例:");
|
|
22
|
-
console.error("
|
|
22
|
+
console.error(" cloudcc delete pagelayout . add202610BD89F09XyGT");
|
|
23
23
|
console.error();
|
|
24
24
|
throw new Error("缺少必需参数: layoutId");
|
|
25
25
|
}
|
package/src/pagelayout/doc.js
CHANGED
|
@@ -21,14 +21,14 @@ function getDevGuideDoc() {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* cloudcc doc pagelayout <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 pagelayout 需要子命令: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 get pagelayout <projectPath> <prefix>
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
**参数说明:**
|
|
@@ -27,16 +27,16 @@ cc get pagelayout <projectPath> <prefix>
|
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
29
|
# 查询对象 b25 的页面布局列表
|
|
30
|
-
|
|
30
|
+
cloudcc get pagelayout . b25
|
|
31
31
|
|
|
32
32
|
# 查询客户对象(001)的页面布局列表
|
|
33
|
-
|
|
33
|
+
cloudcc get pagelayout . 001
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
### 创建页面布局
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
|
-
|
|
39
|
+
cloudcc create pagelayout <projectPath> <objId> <layoutName> [sourceLayoutId] [isCloneDynamic]
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
**参数说明:**
|
|
@@ -53,19 +53,19 @@ cc create pagelayout <projectPath> <objId> <layoutName> [sourceLayoutId] [isClon
|
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
55
|
# 创建页面布局(自动使用默认布局作为模板)
|
|
56
|
-
|
|
56
|
+
cloudcc create pagelayout . 20267D1465464C5OB6m5 "课程表2"
|
|
57
57
|
|
|
58
58
|
# 指定源布局 ID 进行复制
|
|
59
|
-
|
|
59
|
+
cloudcc create pagelayout . 20267D1465464C5OB6m5 "课程表2" add20261DA7347CZPAUz
|
|
60
60
|
|
|
61
61
|
# 不复制动态布局规则
|
|
62
|
-
|
|
62
|
+
cloudcc create pagelayout . 20267D1465464C5OB6m5 "课程表2" add20261DA7347CZPAUz false
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
### 删除页面布局
|
|
66
66
|
|
|
67
67
|
```bash
|
|
68
|
-
|
|
68
|
+
cloudcc delete pagelayout <projectPath> <layoutId>
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
**参数说明:**
|
|
@@ -79,5 +79,5 @@ cc delete pagelayout <projectPath> <layoutId>
|
|
|
79
79
|
|
|
80
80
|
```bash
|
|
81
81
|
# 删除指定页面布局
|
|
82
|
-
|
|
82
|
+
cloudcc delete pagelayout . add202610BD89F09XyGT
|
|
83
83
|
```
|
package/src/pagelayout/get.js
CHANGED
|
@@ -4,7 +4,7 @@ const chalk = require("chalk");
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* 查询页面布局列表
|
|
7
|
-
* 用法:
|
|
7
|
+
* 用法:cloudcc get pagelayout <projectPath> <prefix>
|
|
8
8
|
*/
|
|
9
9
|
async function get(argvs, isMcp = false) {
|
|
10
10
|
const projectPath = argvs[2] || process.cwd();
|
|
@@ -13,10 +13,10 @@ async function get(argvs, isMcp = false) {
|
|
|
13
13
|
if (!prefix) {
|
|
14
14
|
console.error();
|
|
15
15
|
console.error(chalk.red("Error: 缺少对象前缀"));
|
|
16
|
-
console.error("用法:
|
|
16
|
+
console.error("用法: cloudcc get pagelayout <projectPath> <prefix>");
|
|
17
17
|
console.error("示例:");
|
|
18
|
-
console.error("
|
|
19
|
-
console.error("
|
|
18
|
+
console.error(" cloudcc get pagelayout . 001");
|
|
19
|
+
console.error(" cloudcc get pagelayout . b25");
|
|
20
20
|
console.error();
|
|
21
21
|
throw new Error("缺少必需参数: prefix");
|
|
22
22
|
}
|
package/src/permission/add.js
CHANGED
|
@@ -58,7 +58,7 @@ async function queryUserList(config, viewId, keyword = '') {
|
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
60
|
* 添加权限集分配用户
|
|
61
|
-
* 用法:
|
|
61
|
+
* 用法:cloudcc add permission <projectPath> <permsetId> [userIds...]
|
|
62
62
|
* 如果不指定 userIds,会进入交互式选择
|
|
63
63
|
* @param {Array} argvs - 命令行参数数组
|
|
64
64
|
* @param {boolean} isMcp - 是否为MCP模式
|
|
@@ -74,10 +74,10 @@ async function add(argvs, isMcp = false) {
|
|
|
74
74
|
if (!permsetId) {
|
|
75
75
|
console.error();
|
|
76
76
|
console.error(chalk.red('Error: 缺少权限集ID'));
|
|
77
|
-
console.error('用法:
|
|
77
|
+
console.error('用法: cloudcc add permission <path> <permsetId> [userId1] [userId2] ...');
|
|
78
78
|
console.error('示例:');
|
|
79
|
-
console.error('
|
|
80
|
-
console.error('
|
|
79
|
+
console.error(' cloudcc add permission . "cac20258F0E4ABBnTxwi" # 交互式选择用户');
|
|
80
|
+
console.error(' cloudcc add permission . "cac20258F0E4ABBnTxwi" "00520260C00C6FEfsMnT" # 直接指定用户ID');
|
|
81
81
|
console.error();
|
|
82
82
|
throw new Error('缺少必需参数: permsetId');
|
|
83
83
|
}
|
package/src/permission/assign.js
CHANGED
|
@@ -4,7 +4,7 @@ const { getPackageJson } = require("../../utils/config");
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* 获取权限集已分配的用户列表
|
|
7
|
-
* 用法:
|
|
7
|
+
* 用法:cloudcc assign permission <projectPath> <permsetId>
|
|
8
8
|
* @param {Array} argvs - 命令行参数数组
|
|
9
9
|
* @param {boolean} isMcp - 是否为MCP模式
|
|
10
10
|
* @returns {Promise<Object>} 包含用户列表和权限集信息的对象
|
|
@@ -17,9 +17,9 @@ async function assign(argvs, isMcp = false) {
|
|
|
17
17
|
if (!permsetId) {
|
|
18
18
|
console.error();
|
|
19
19
|
console.error(chalk.red('Error: 缺少权限集ID'));
|
|
20
|
-
console.error('用法:
|
|
20
|
+
console.error('用法: cloudcc assign permission <path> <permsetId>');
|
|
21
21
|
console.error('示例:');
|
|
22
|
-
console.error('
|
|
22
|
+
console.error(' cloudcc assign permission . "cac20258F0E4ABBnTxwi"');
|
|
23
23
|
console.error();
|
|
24
24
|
throw new Error('缺少必需参数: permsetId');
|
|
25
25
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CloudCC 权限集 CLI 命令说明
|
|
2
2
|
|
|
3
|
-
命令格式为 **`
|
|
3
|
+
命令格式为 **`cloudcc <动作> permission …`**(动作即下表「操作」列)。
|
|
4
4
|
|
|
5
5
|
## 支持的命令
|
|
6
6
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
### 查询权限集列表
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
|
|
19
|
+
cloudcc get permission <path> [viewId] [page] [pageSize] [searchKeyWord]
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
**参数说明:**
|
|
@@ -33,13 +33,13 @@ cc get permission <path> [viewId] [page] [pageSize] [searchKeyWord]
|
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
35
|
# 获取所有权限集列表
|
|
36
|
-
|
|
36
|
+
cloudcc get permission .
|
|
37
37
|
|
|
38
38
|
# 使用指定视图获取权限集
|
|
39
|
-
|
|
39
|
+
cloudcc get permission . "00000000000000000000"
|
|
40
40
|
|
|
41
41
|
# 搜索权限集
|
|
42
|
-
|
|
42
|
+
cloudcc get permission . "" 1 100 "测试"
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
**输出示例:**
|
|
@@ -59,7 +59,7 @@ cc get permission . "" 1 100 "测试"
|
|
|
59
59
|
### 查看已分配用户
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
|
-
|
|
62
|
+
cloudcc assign permission <path> <permsetId>
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
**参数说明:**
|
|
@@ -73,7 +73,7 @@ cc assign permission <path> <permsetId>
|
|
|
73
73
|
|
|
74
74
|
```bash
|
|
75
75
|
# 查看指定权限集的已分配用户
|
|
76
|
-
|
|
76
|
+
cloudcc assign permission . "cac20258F0E4ABBnTxwi"
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
**输出示例:**
|
|
@@ -94,7 +94,7 @@ ID: cac20258F0E4ABBnTxwi
|
|
|
94
94
|
### 添加分配用户
|
|
95
95
|
|
|
96
96
|
```bash
|
|
97
|
-
|
|
97
|
+
cloudcc add permission <path> <permsetId> [userIds...]
|
|
98
98
|
```
|
|
99
99
|
|
|
100
100
|
**参数说明:**
|
|
@@ -109,13 +109,13 @@ cc add permission <path> <permsetId> [userIds...]
|
|
|
109
109
|
|
|
110
110
|
```bash
|
|
111
111
|
# 交互式选择用户进行分配
|
|
112
|
-
|
|
112
|
+
cloudcc add permission . "cac20258F0E4ABBnTxwi"
|
|
113
113
|
|
|
114
114
|
# 直接指定单个用户ID进行分配
|
|
115
|
-
|
|
115
|
+
cloudcc add permission . "cac20258F0E4ABBnTxwi" "00520260C00C6FEfsMnT"
|
|
116
116
|
|
|
117
117
|
# 直接指定多个用户ID进行分配(用空格分隔)
|
|
118
|
-
|
|
118
|
+
cloudcc add permission . "cac20258F0E4ABBnTxwi" "00520260C00C6FEfsMnT" "0052026C0A60504jNcbV"
|
|
119
119
|
```
|
|
120
120
|
|
|
121
121
|
**交互式选择模式:**
|
|
@@ -139,7 +139,7 @@ cc add permission . "cac20258F0E4ABBnTxwi" "00520260C00C6FEfsMnT" "0052026C0A605
|
|
|
139
139
|
### 移除分配用户
|
|
140
140
|
|
|
141
141
|
```bash
|
|
142
|
-
|
|
142
|
+
cloudcc remove permission <path> <permsetId> [userIds...]
|
|
143
143
|
```
|
|
144
144
|
|
|
145
145
|
**参数说明:**
|
|
@@ -154,13 +154,13 @@ cc remove permission <path> <permsetId> [userIds...]
|
|
|
154
154
|
|
|
155
155
|
```bash
|
|
156
156
|
# 交互式选择用户进行移除
|
|
157
|
-
|
|
157
|
+
cloudcc remove permission . "cac20258F0E4ABBnTxwi"
|
|
158
158
|
|
|
159
159
|
# 直接指定单个用户ID进行移除
|
|
160
|
-
|
|
160
|
+
cloudcc remove permission . "cac20258F0E4ABBnTxwi" "00520260C00C6FEfsMnT"
|
|
161
161
|
|
|
162
162
|
# 直接指定多个用户ID进行移除(用空格分隔)
|
|
163
|
-
|
|
163
|
+
cloudcc remove permission . "cac20258F0E4ABBnTxwi" "00520260C00C6FEfsMnT" "0052026C0A60504jNcbV"
|
|
164
164
|
```
|
|
165
165
|
|
|
166
166
|
**交互式选择模式:**
|
|
@@ -186,19 +186,19 @@ cc remove permission . "cac20258F0E4ABBnTxwi" "00520260C00C6FEfsMnT" "0052026C0A
|
|
|
186
186
|
|
|
187
187
|
```bash
|
|
188
188
|
# 1. 查看所有权限集
|
|
189
|
-
|
|
189
|
+
cloudcc get permission .
|
|
190
190
|
|
|
191
191
|
# 2. 查看某个权限集的已分配用户
|
|
192
|
-
|
|
192
|
+
cloudcc assign permission . "cac20258F0E4ABBnTxwi"
|
|
193
193
|
|
|
194
194
|
# 3. 为权限集添加用户(交互式选择)
|
|
195
|
-
|
|
195
|
+
cloudcc add permission . "cac20258F0E4ABBnTxwi"
|
|
196
196
|
|
|
197
197
|
# 4. 再次查看已分配用户,确认添加成功
|
|
198
|
-
|
|
198
|
+
cloudcc assign permission . "cac20258F0E4ABBnTxwi"
|
|
199
199
|
|
|
200
200
|
# 5. 移除某些用户(交互式选择)
|
|
201
|
-
|
|
201
|
+
cloudcc remove permission . "cac20258F0E4ABBnTxwi"
|
|
202
202
|
```
|
|
203
203
|
|
|
204
204
|
## 数据字段说明
|
|
@@ -11,12 +11,12 @@ Permission 模块用于管理 CloudCC 权限集的分配功能,包括查看权
|
|
|
11
11
|
|
|
12
12
|
## 命令
|
|
13
13
|
|
|
14
|
-
命令统一为 **`
|
|
14
|
+
命令统一为 **`cloudcc <动作> <资源> …`**;本模块资源名为 **`permission`**。
|
|
15
15
|
|
|
16
16
|
### 获取权限集列表
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
|
-
|
|
19
|
+
cloudcc get permission <path> [viewId] [page] [pageSize] [searchKeyWord]
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
**参数说明:**
|
|
@@ -30,19 +30,19 @@ cc get permission <path> [viewId] [page] [pageSize] [searchKeyWord]
|
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
32
|
# 获取所有权限集列表
|
|
33
|
-
|
|
33
|
+
cloudcc get permission .
|
|
34
34
|
|
|
35
35
|
# 使用指定视图获取权限集
|
|
36
|
-
|
|
36
|
+
cloudcc get permission . "00000000000000000000"
|
|
37
37
|
|
|
38
38
|
# 搜索权限集
|
|
39
|
-
|
|
39
|
+
cloudcc get permission . "" 1 100 "测试"
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
### 查看已分配用户
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
|
-
|
|
45
|
+
cloudcc assign permission <path> <permsetId>
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
**参数说明:**
|
|
@@ -53,7 +53,7 @@ cc assign permission <path> <permsetId>
|
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
55
|
# 查看指定权限集的已分配用户
|
|
56
|
-
|
|
56
|
+
cloudcc assign permission . "cac20258F0E4ABBnTxwi"
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
**输出示例:**
|
|
@@ -74,7 +74,7 @@ ID: cac20258F0E4ABBnTxwi
|
|
|
74
74
|
### 添加分配用户
|
|
75
75
|
|
|
76
76
|
```bash
|
|
77
|
-
|
|
77
|
+
cloudcc add permission <path> <permsetId> [userIds...]
|
|
78
78
|
```
|
|
79
79
|
|
|
80
80
|
**参数说明:**
|
|
@@ -86,10 +86,10 @@ cc add permission <path> <permsetId> [userIds...]
|
|
|
86
86
|
|
|
87
87
|
```bash
|
|
88
88
|
# 交互式选择用户进行分配
|
|
89
|
-
|
|
89
|
+
cloudcc add permission . "cac20258F0E4ABBnTxwi"
|
|
90
90
|
|
|
91
91
|
# 直接指定用户ID进行分配(多个用户用空格分隔)
|
|
92
|
-
|
|
92
|
+
cloudcc add permission . "cac20258F0E4ABBnTxwi" "00520260C00C6FEfsMnT" "0052026C0A60504jNcbV"
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
**交互式选择模式:**
|
|
@@ -106,7 +106,7 @@ cc add permission . "cac20258F0E4ABBnTxwi" "00520260C00C6FEfsMnT" "0052026C0A605
|
|
|
106
106
|
### 删除分配用户
|
|
107
107
|
|
|
108
108
|
```bash
|
|
109
|
-
|
|
109
|
+
cloudcc remove permission <path> <permsetId> [userIds...]
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
**参数说明:**
|
|
@@ -118,10 +118,10 @@ cc remove permission <path> <permsetId> [userIds...]
|
|
|
118
118
|
|
|
119
119
|
```bash
|
|
120
120
|
# 交互式选择用户进行移除
|
|
121
|
-
|
|
121
|
+
cloudcc remove permission . "cac20258F0E4ABBnTxwi"
|
|
122
122
|
|
|
123
123
|
# 直接指定用户ID进行移除(多个用户用空格分隔)
|
|
124
|
-
|
|
124
|
+
cloudcc remove permission . "cac20258F0E4ABBnTxwi" "00520260C00C6FEfsMnT" "0052026C0A60504jNcbV"
|
|
125
125
|
```
|
|
126
126
|
|
|
127
127
|
**交互式选择模式:**
|
|
@@ -140,19 +140,19 @@ cc remove permission . "cac20258F0E4ABBnTxwi" "00520260C00C6FEfsMnT" "0052026C0A
|
|
|
140
140
|
|
|
141
141
|
```bash
|
|
142
142
|
# 1. 查看所有权限集
|
|
143
|
-
|
|
143
|
+
cloudcc get permission .
|
|
144
144
|
|
|
145
145
|
# 2. 查看某个权限集的已分配用户
|
|
146
|
-
|
|
146
|
+
cloudcc assign permission . "cac20258F0E4ABBnTxwi"
|
|
147
147
|
|
|
148
148
|
# 3. 为权限集添加用户(交互式选择)
|
|
149
|
-
|
|
149
|
+
cloudcc add permission . "cac20258F0E4ABBnTxwi"
|
|
150
150
|
|
|
151
151
|
# 4. 再次查看已分配用户,确认添加成功
|
|
152
|
-
|
|
152
|
+
cloudcc assign permission . "cac20258F0E4ABBnTxwi"
|
|
153
153
|
|
|
154
154
|
# 5. 移除某些用户(交互式选择)
|
|
155
|
-
|
|
155
|
+
cloudcc remove permission . "cac20258F0E4ABBnTxwi"
|
|
156
156
|
```
|
|
157
157
|
|
|
158
158
|
## 数据结构
|
package/src/permission/get.js
CHANGED
|
@@ -30,7 +30,7 @@ async function getPermsetViewId(config) {
|
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* 获取权限集列表
|
|
33
|
-
* 用法:
|
|
33
|
+
* 用法:cloudcc get permission <projectPath> [viewId] [page] [pageSize] [searchKeyWord]
|
|
34
34
|
* @param {Array} argvs - 命令行参数数组
|
|
35
35
|
* @param {boolean} isMcp - 是否为MCP模式
|
|
36
36
|
* @returns {Promise<Array>} 权限集列表
|
package/src/permission/remove.js
CHANGED
|
@@ -25,7 +25,7 @@ async function getAssignedUsers(config, permsetId) {
|
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* 删除权限集分配用户
|
|
28
|
-
* 用法:
|
|
28
|
+
* 用法:cloudcc remove permission <projectPath> <permsetId> [userIds...]
|
|
29
29
|
* 如果不指定 userIds,会进入交互式选择
|
|
30
30
|
* @param {Array} argvs - 命令行参数数组
|
|
31
31
|
* @param {boolean} isMcp - 是否为MCP模式
|
|
@@ -41,10 +41,10 @@ async function remove(argvs, isMcp = false) {
|
|
|
41
41
|
if (!permsetId) {
|
|
42
42
|
console.error();
|
|
43
43
|
console.error(chalk.red('Error: 缺少权限集ID'));
|
|
44
|
-
console.error('用法:
|
|
44
|
+
console.error('用法: cloudcc remove permission <path> <permsetId> [userId1] [userId2] ...');
|
|
45
45
|
console.error('示例:');
|
|
46
|
-
console.error('
|
|
47
|
-
console.error('
|
|
46
|
+
console.error(' cloudcc remove permission . "cac20258F0E4ABBnTxwi" # 交互式选择用户');
|
|
47
|
+
console.error(' cloudcc remove permission . "cac20258F0E4ABBnTxwi" "00520260C00C6FEfsMnT" # 直接指定用户ID');
|
|
48
48
|
console.error();
|
|
49
49
|
throw new Error('缺少必需参数: permsetId');
|
|
50
50
|
}
|
package/src/plugin/delete.js
CHANGED
|
@@ -11,7 +11,7 @@ const BaseUrl = "https://developer.apis.cloudcc.cn";
|
|
|
11
11
|
* - 传组件名时:从本地 plugins/<name>/config.json 读取 id 后删除
|
|
12
12
|
* - 传 ID 时:直接通过 ID 删除
|
|
13
13
|
*
|
|
14
|
-
* 用法:
|
|
14
|
+
* 用法:cloudcc delete plugin <pluginNameOrId> [projectPath]
|
|
15
15
|
*/
|
|
16
16
|
async function deletePlugin(argvs) {
|
|
17
17
|
const input = argvs[2];
|
|
@@ -20,7 +20,7 @@ async function deletePlugin(argvs) {
|
|
|
20
20
|
if (!input) {
|
|
21
21
|
console.error();
|
|
22
22
|
console.error(chalk.red('Error: Plugin name or ID is required'));
|
|
23
|
-
console.error(chalk.yellow('Usage:
|
|
23
|
+
console.error(chalk.yellow('Usage: cloudcc delete plugin <pluginNameOrId> [projectPath]'));
|
|
24
24
|
console.error();
|
|
25
25
|
return;
|
|
26
26
|
}
|
package/src/plugin/doc.js
CHANGED
|
@@ -32,14 +32,14 @@ function getDevGuideDoc() {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* cloudcc doc plugin <introduction|devguide>
|
|
36
36
|
* @param {string[]} argvs [doc, type, introduction|devguide, ...]
|
|
37
37
|
*/
|
|
38
38
|
function doc(argvs) {
|
|
39
39
|
const subType = argvs[2];
|
|
40
40
|
const key = String(subType || "").trim().toLowerCase();
|
|
41
41
|
if (!key) {
|
|
42
|
-
throw new Error("
|
|
42
|
+
throw new Error("cloudcc doc plugin 需要子命令:introduction 或 devguide");
|
|
43
43
|
}
|
|
44
44
|
if (key === "introduction") {
|
|
45
45
|
const content = getIntroductionDoc();
|