cloudcc-cli 2.3.1 → 2.3.3
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/.claude/settings.json +25 -0
- package/.cloudcc-cache.json +21 -4
- package/.cursor/skills/cloudcc-cli-dev.zip +0 -0
- package/.cursor/skills/cloudcc-cli-usage/SKILL.md +68 -0
- package/README.md +22 -0
- package/bin/cc.js +13 -8
- package/bin/index.js +9 -2
- package/bin/mcp.js +1 -1
- package/build/component-CCPlugin1774500425584.common.js +831 -0
- package/build/component-CCPlugin1774500425584.common.js.map +1 -0
- package/build/component-CCPlugin1774500425584.css +1 -0
- package/build/component-CCPlugin1774500425584.umd.js +874 -0
- package/build/component-CCPlugin1774500425584.umd.js.map +1 -0
- package/build/component-CCPlugin1774500425584.umd.min.js +8 -0
- package/build/component-CCPlugin1774500425584.umd.min.js.map +1 -0
- package/build/demo.html +1 -0
- package/{src/mcp → mcp}/tools/Class Editor Guide/handler.js +12 -4
- package/{src/mcp → mcp}/tools/Component Editor Guide/handler.js +15 -14
- package/{src/mcp → mcp}/tools/Trigger Editor Guide/handler.js +8 -2
- package/package.json +3 -2
- package/src/application/doc.js +46 -0
- package/src/application/docs/devguide.md +173 -0
- package/src/application/docs/introduction.md +81 -0
- package/src/application/index.js +1 -0
- package/src/brief/get.js +1 -1
- package/src/classes/create.js +6 -1
- package/src/classes/delete.js +7 -1
- package/src/classes/detail.js +8 -1
- package/src/classes/doc.js +49 -472
- package/src/classes/docs/devguide.md +541 -0
- package/src/classes/get.js +9 -2
- package/src/classes/index.js +2 -1
- package/src/classes/publish.js +6 -1
- package/src/classes/pull.js +6 -1
- package/src/classes/pullList.js +6 -3
- package/src/config/doc.js +31 -0
- package/src/config/docs/devguide.md +100 -0
- package/src/config/index.js +5 -0
- package/src/customPage/create.js +52 -19
- package/src/customPage/doc.js +46 -0
- package/src/customPage/docs/devguide.md +200 -0
- package/{.cursor/skills/cloudcc-cli-dev/docs//350/207/252/345/256/232/344/271/211/351/241/265/351/235/242.md → src/customPage/docs/introduction.md} +1 -5
- package/src/customPage/index.js +1 -0
- package/src/customSetting/create.js +9 -0
- package/src/customSetting/delete.js +10 -1
- package/src/customSetting/deleteCustomSettingField.js +43 -0
- package/src/customSetting/detail.js +10 -1
- package/src/customSetting/doc.js +22 -179
- package/src/customSetting/docs/devguide.md +181 -0
- package/src/customSetting/docs/introduction.md +3 -0
- package/src/customSetting/editCustomSettingField.js +34 -0
- package/src/customSetting/get.js +9 -0
- package/src/customSetting/index.js +6 -1
- package/src/customSetting/modify.js +30 -0
- package/src/customSetting/saveCustomSettingField.js +46 -0
- package/src/fields/doc.js +45 -0
- package/src/fields/docs/devguide.md +224 -0
- package/src/fields/docs/introduction.md +217 -0
- package/src/fields/index.js +1 -0
- package/src/globalSelectList/create.js +51 -0
- package/src/globalSelectList/delete.js +56 -0
- package/src/globalSelectList/detail.js +45 -0
- package/src/globalSelectList/doc.js +52 -0
- package/src/globalSelectList/docs/devguide.md +153 -0
- package/src/globalSelectList/docs/introduction.md +82 -0
- package/src/globalSelectList/get.js +31 -0
- package/src/globalSelectList/index.js +16 -0
- package/src/menu/create-page.js +43 -6
- package/src/menu/create-script.js +67 -19
- package/src/menu/doc.js +57 -0
- package/src/menu/docs/devguide.md +129 -0
- package/src/menu/docs/introduction.md +99 -0
- package/src/menu/index.js +1 -0
- package/src/menu/validator.js +80 -0
- package/src/object/doc.js +45 -0
- package/src/object/docs/devguide.md +112 -0
- package/src/object/docs/introduction.md +187 -0
- package/src/object/get.js +1 -23
- package/src/object/index.js +1 -0
- package/src/pagelayout/create.js +123 -0
- package/src/pagelayout/delete.js +57 -0
- package/src/pagelayout/doc.js +46 -0
- package/src/pagelayout/docs/devguide.md +83 -0
- package/src/pagelayout/docs/introduction.md +44 -0
- package/src/pagelayout/get.js +46 -0
- package/src/pagelayout/index.js +10 -0
- package/src/plugin/doc.js +43 -863
- package/src/plugin/docs/devguide.md +996 -0
- package/src/profile/create.js +108 -0
- package/src/profile/delete.js +59 -0
- package/src/profile/doc.js +46 -0
- package/src/profile/docs/devguide.md +77 -0
- package/src/profile/docs/introduction.md +123 -0
- package/src/profile/get.js +55 -0
- package/src/profile/index.js +14 -0
- package/src/project/doc.js +39 -372
- package/src/project/docs/devguide.md +359 -0
- package/src/project/docs/introduction.md +3 -0
- package/src/recordType/create.js +77 -0
- package/src/recordType/delete.js +52 -0
- package/src/recordType/doc.js +36 -0
- package/src/recordType/docs/devguide.md +160 -0
- package/src/recordType/docs/introduction.md +53 -0
- package/src/recordType/editInfo.js +39 -0
- package/src/recordType/editSave.js +47 -0
- package/src/recordType/getList.js +31 -0
- package/src/recordType/index.js +16 -3
- package/src/recordType/newInfo.js +39 -0
- package/src/recordType/validDelete.js +91 -0
- package/src/res.md +66 -0
- package/src/role/create.js +153 -0
- package/src/role/delete.js +59 -0
- package/src/role/doc.js +46 -0
- package/src/role/docs/devguide.md +81 -0
- package/src/role/docs/introduction.md +124 -0
- package/src/role/get.js +57 -0
- package/src/role/index.js +10 -0
- package/src/scheduleJob/doc.js +49 -0
- package/src/scheduleJob/docs/devguide.md +79 -0
- package/src/scheduleJob/docs/introduction.md +101 -0
- package/src/scheduleJob/index.js +5 -0
- package/src/script/delete.js +112 -0
- package/src/script/doc.js +31 -245
- package/src/script/docs/devguide.md +290 -0
- package/src/script/docs/introduction.md +48 -0
- package/src/script/index.js +1 -0
- package/src/staticResource/count.js +31 -10
- package/src/staticResource/create.js +97 -0
- package/src/staticResource/delete.js +30 -8
- package/src/staticResource/detail.js +32 -10
- package/src/staticResource/doc.js +21 -88
- package/src/staticResource/docs/devguide.md +157 -0
- package/src/staticResource/docs/introduction.md +3 -0
- package/src/staticResource/get.js +31 -8
- package/src/staticResource/index.js +2 -1
- package/src/timer/create.js +6 -1
- package/src/timer/delete.js +7 -1
- package/src/timer/detail.js +5 -5
- package/src/timer/doc.js +57 -0
- package/{.cursor/skills/cloudcc-cli-dev/docs/cloudcc/345/256/232/346/227/266/344/275/234/344/270/232.md → src/timer/docs/devguide.md} +83 -1
- package/src/timer/get.js +7 -1
- package/src/timer/index.js +3 -1
- package/src/timer/publish.js +6 -1
- package/src/timer/pull.js +6 -1
- package/src/timer/pullList.js +5 -3
- package/src/triggers/detail.js +5 -5
- package/src/triggers/doc.js +49 -364
- package/src/triggers/docs/devguide.md +442 -0
- package/src/triggers/get.js +7 -3
- package/src/triggers/index.js +1 -4
- package/src/triggers/pullList.js +7 -7
- package/src/user/create.js +50 -0
- package/src/user/delete.js +59 -0
- package/src/user/doc.js +46 -0
- package/src/user/docs/devguide.md +122 -0
- package/src/user/docs/introduction.md +124 -0
- package/src/user/get.js +112 -0
- package/src/user/index.js +12 -0
- package/src/user/update.js +96 -0
- package/src/user/view.js +60 -0
- package/test/classes.cli.test.js +7 -4
- package/test/customPage.cli.test.js +96 -0
- package/test/globalSelectList.cli.test.js +94 -0
- package/test/menu-script.cli.test.js +147 -0
- package/test/menu.cli.test.js +8 -1
- package/test/plugin.cli.test.js +5 -3
- package/test/timer.cli.test.js +15 -8
- package/test/trigger.cli.test.js +5 -3
- package/.cursor/skills/cloudcc-cli-dev/BACKEND_CLASS.md +0 -111
- package/.cursor/skills/cloudcc-cli-dev/BACKEND_SCHEDULE.md +0 -152
- package/.cursor/skills/cloudcc-cli-dev/BACKEND_TRIGGER.md +0 -150
- package/.cursor/skills/cloudcc-cli-dev/CLI_CHEATSHEET.md +0 -372
- package/.cursor/skills/cloudcc-cli-dev/CUSTOM-SETTING-API.md +0 -62
- package/.cursor/skills/cloudcc-cli-dev/INSTALL_AND_BOOTSTRAP.md +0 -62
- package/.cursor/skills/cloudcc-cli-dev/OBJECTS_AND_FIELDS.md +0 -214
- package/.cursor/skills/cloudcc-cli-dev/REQUIREMENTS_BREAKDOWN.md +0 -113
- package/.cursor/skills/cloudcc-cli-dev/SKILL.md +0 -66
- package/.cursor/skills/cloudcc-cli-dev/STATIC-RESOURCE-API.md +0 -60
- package/.cursor/skills/cloudcc-cli-dev/VUE_CUSTOM_COMPONENT.md +0 -151
- package/.cursor/skills/cloudcc-cli-dev/VUE_CUSTOM_PAGE.md +0 -216
- package/src/approval/approve.js +0 -105
- package/src/approval/get.js +0 -245
- package/src/approval/index.js +0 -11
- package/src/approval/reject.js +0 -105
- package/src/plugin/readme.md +0 -7
- /package/{src/mcp → mcp}/cliRunner.js +0 -0
- /package/{src/mcp → mcp}/index.js +0 -0
- /package/{src/mcp → mcp}/readme.md +0 -0
- /package/{src/mcp → mcp}/tools/Application Creator/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Approval/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Class Creator/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Class Detail Retriever/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Class List Retriever/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Class Publisher/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Class Puller/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Client Script Detail Retriever/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Client Script Editor Guide/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Client Script List Retriever/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Client Script Publisher/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Client Script Puller/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/CloudCC Development Overview/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Component Creator/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Component Detail Retriever/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Component List Retriever/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Component Publisher/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Component Puller/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Dev Environment Creator/fetcher.js +0 -0
- /package/{src/mcp → mcp}/tools/Dev Environment Creator/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Dev Environment Validator/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Developer Key Setup Guide/fetcher.js +0 -0
- /package/{src/mcp → mcp}/tools/Developer Key Setup Guide/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/JSP Migrator/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Menu Creator/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Object Creator/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Object Fields Creator/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Object Fields Retriever/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Object List Retriever/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Scheduled Class Creator/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Scheduled Class Detail Retriever/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Scheduled Class List Retriever/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Scheduled Class Publisher/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Scheduled Class Puller/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Trigger Creator/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Trigger Detail Retriever/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Trigger List Retriever/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Trigger Publisher/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/Trigger Puller/handler.js +0 -0
- /package/{src/mcp → mcp}/tools/index.js +0 -0
- /package/{.cursor/skills/cloudcc-cli-dev/docs//350/207/252/345/256/232/344/271/211/347/261/273.md" → src/classes/docs/introduction.md} +0 -0
- /package/{.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" → src/plugin/docs/introduction.md} +0 -0
- /package/{.cursor/skills/cloudcc-cli-dev/docs/cloudcc/345/256/232/346/227/266/347/261/273.md" → src/timer/docs/introduction.md} +0 -0
- /package/{.cursor/skills/cloudcc-cli-dev/docs//350/247/246/345/217/221/345/231/250/347/261/273.md" → src/triggers/docs/introduction.md} +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
const { postClass } = require("../../utils/http");
|
|
2
|
+
const { getPackageJson } = require("../../utils/config");
|
|
3
|
+
const chalk = require("chalk");
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 删除页面布局
|
|
7
|
+
* 用法:cc delete pagelayout <projectPath> <layoutId>
|
|
8
|
+
* @param {Array} argvs - 命令行参数数组
|
|
9
|
+
* @returns {Promise<Object>} 删除结果
|
|
10
|
+
*/
|
|
11
|
+
async function deleteLayout(argvs) {
|
|
12
|
+
try {
|
|
13
|
+
// 命令行参数格式:cc delete pagelayout <projectPath> <layoutId>
|
|
14
|
+
const projectPath = argvs[2] || process.cwd();
|
|
15
|
+
const layoutId = argvs[3];
|
|
16
|
+
|
|
17
|
+
if (!layoutId) {
|
|
18
|
+
console.error();
|
|
19
|
+
console.error(chalk.red("Error: 缺少页面布局 ID"));
|
|
20
|
+
console.error("用法: cc delete pagelayout <projectPath> <layoutId>");
|
|
21
|
+
console.error("示例:");
|
|
22
|
+
console.error(" cc delete pagelayout . add202610BD89F09XyGT");
|
|
23
|
+
console.error();
|
|
24
|
+
throw new Error("缺少必需参数: layoutId");
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const config = await getPackageJson(projectPath);
|
|
28
|
+
|
|
29
|
+
console.error();
|
|
30
|
+
console.error(chalk.green(`Deleting page layout "${layoutId}"...`));
|
|
31
|
+
console.error();
|
|
32
|
+
|
|
33
|
+
const res = await postClass(
|
|
34
|
+
config.setupSvc + "/api/layout/deleteButton",
|
|
35
|
+
{
|
|
36
|
+
id: layoutId
|
|
37
|
+
},
|
|
38
|
+
config.accessToken
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
if (res && res.result) {
|
|
42
|
+
console.error(chalk.green("页面布局删除成功!"));
|
|
43
|
+
console.log(JSON.stringify(res.data || res));
|
|
44
|
+
return res.data || res;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const msg = res && (res.returnInfo || res.message) ? (res.returnInfo || res.message) : "Unknown error";
|
|
48
|
+
throw new Error("Delete PageLayout Failed: " + msg);
|
|
49
|
+
|
|
50
|
+
} catch (error) {
|
|
51
|
+
console.error();
|
|
52
|
+
console.error(chalk.red("页面布局删除失败:"), error.message || error);
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
module.exports = deleteLayout;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pagelayout 文档入口:正文均在 `docs/` 目录。
|
|
3
|
+
*/
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
|
|
7
|
+
const DOCS_DIR = path.join(__dirname, "docs");
|
|
8
|
+
|
|
9
|
+
function readDocFile(basename) {
|
|
10
|
+
return fs.readFileSync(path.join(DOCS_DIR, `${basename}.md`), "utf8");
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/** 介绍文档:页面布局能力、类型与入口 */
|
|
14
|
+
function getIntroductionDoc() {
|
|
15
|
+
return readDocFile("introduction");
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** 开发指导:CLI 查询/创建等 */
|
|
19
|
+
function getDevGuideDoc() {
|
|
20
|
+
return readDocFile("devguide");
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* cc doc pagelayout <introduction|devguide>
|
|
25
|
+
* @param {string[]} argvs [doc, type, introduction|devguide, ...]
|
|
26
|
+
*/
|
|
27
|
+
function doc(argvs) {
|
|
28
|
+
const subType = argvs[2];
|
|
29
|
+
const key = String(subType || "").trim().toLowerCase();
|
|
30
|
+
if (!key) {
|
|
31
|
+
throw new Error("cc doc pagelayout 需要子命令:introduction 或 devguide");
|
|
32
|
+
}
|
|
33
|
+
if (key === "introduction") {
|
|
34
|
+
const content = getIntroductionDoc();
|
|
35
|
+
console.log(content);
|
|
36
|
+
return content;
|
|
37
|
+
}
|
|
38
|
+
if (key === "devguide") {
|
|
39
|
+
const content = getDevGuideDoc();
|
|
40
|
+
console.log(content);
|
|
41
|
+
return content;
|
|
42
|
+
}
|
|
43
|
+
throw new Error(`doc 不支持的子命令: ${subType},请使用 introduction 或 devguide`);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
module.exports = doc;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# CloudCC 页面布局 CLI 命令说明
|
|
2
|
+
|
|
3
|
+
## 支持的命令
|
|
4
|
+
|
|
5
|
+
| 操作 | 说明 |
|
|
6
|
+
|------|------|
|
|
7
|
+
| `get` | 查询页面布局列表 |
|
|
8
|
+
| `create` | 创建/复制页面布局 |
|
|
9
|
+
| `delete` | 删除页面布局 |
|
|
10
|
+
|
|
11
|
+
## CLI 命令详解
|
|
12
|
+
|
|
13
|
+
### 查询页面布局列表
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
cc get pagelayout <projectPath> <prefix>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**参数说明:**
|
|
20
|
+
|
|
21
|
+
| 参数 | 必填 | 说明 |
|
|
22
|
+
|------|------|------|
|
|
23
|
+
| `projectPath` | 否 | 项目路径,`.` 表示当前目录 |
|
|
24
|
+
| `prefix` | 是 | 对象前缀(如 001, b25) |
|
|
25
|
+
|
|
26
|
+
**示例:**
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# 查询对象 b25 的页面布局列表
|
|
30
|
+
cc get pagelayout . b25
|
|
31
|
+
|
|
32
|
+
# 查询客户对象(001)的页面布局列表
|
|
33
|
+
cc get pagelayout . 001
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 创建页面布局
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
cc create pagelayout <projectPath> <objId> <layoutName> [sourceLayoutId] [isCloneDynamic]
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**参数说明:**
|
|
43
|
+
|
|
44
|
+
| 参数 | 必填 | 说明 |
|
|
45
|
+
|------|------|------|
|
|
46
|
+
| `projectPath` | 否 | 项目路径,`.` 表示当前目录 |
|
|
47
|
+
| `objId` | 是 | 对象 ID |
|
|
48
|
+
| `layoutName` | 是 | 新页面布局名称 |
|
|
49
|
+
| `sourceLayoutId` | 否 | 要复制的源布局 ID,不传则使用默认第一个 |
|
|
50
|
+
| `isCloneDynamic` | 否 | 是否复制动态布局规则,默认 `true` |
|
|
51
|
+
|
|
52
|
+
**示例:**
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# 创建页面布局(自动使用默认布局作为模板)
|
|
56
|
+
cc create pagelayout . 20267D1465464C5OB6m5 "课程表2"
|
|
57
|
+
|
|
58
|
+
# 指定源布局 ID 进行复制
|
|
59
|
+
cc create pagelayout . 20267D1465464C5OB6m5 "课程表2" add20261DA7347CZPAUz
|
|
60
|
+
|
|
61
|
+
# 不复制动态布局规则
|
|
62
|
+
cc create pagelayout . 20267D1465464C5OB6m5 "课程表2" add20261DA7347CZPAUz false
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 删除页面布局
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
cc delete pagelayout <projectPath> <layoutId>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**参数说明:**
|
|
72
|
+
|
|
73
|
+
| 参数 | 必填 | 说明 |
|
|
74
|
+
|------|------|------|
|
|
75
|
+
| `projectPath` | 否 | 项目路径,`.` 表示当前目录 |
|
|
76
|
+
| `layoutId` | 是 | 要删除的页面布局 ID |
|
|
77
|
+
|
|
78
|
+
**示例:**
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# 删除指定页面布局
|
|
82
|
+
cc delete pagelayout . add202610BD89F09XyGT
|
|
83
|
+
```
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# 页面布局(Page Layout)介绍
|
|
2
|
+
|
|
3
|
+
页面布局是 CloudCC 中用于定义对象详情页展示方式的重要配置。
|
|
4
|
+
|
|
5
|
+
## 什么是页面布局?
|
|
6
|
+
|
|
7
|
+
页面布局决定了:
|
|
8
|
+
- 字段在详情页如何排列和分组
|
|
9
|
+
- 哪些字段显示、哪些隐藏
|
|
10
|
+
- 操作按钮的位置和顺序
|
|
11
|
+
- 相关列表的展示方式
|
|
12
|
+
- 动态布局规则(根据条件显示/隐藏字段)
|
|
13
|
+
|
|
14
|
+
## 适用对象
|
|
15
|
+
|
|
16
|
+
页面布局可以应用于:
|
|
17
|
+
- **标准对象**:如 Account(客户)、Contact(联系人)等系统内置对象
|
|
18
|
+
- **自定义对象**:用户根据业务需求创建的对象
|
|
19
|
+
|
|
20
|
+
## 前置条件
|
|
21
|
+
|
|
22
|
+
操作页面布局前,必须先**选中对象**(自定义对象或标准对象)。
|
|
23
|
+
|
|
24
|
+
## 核心能力
|
|
25
|
+
|
|
26
|
+
| 能力 | 说明 |
|
|
27
|
+
|------|------|
|
|
28
|
+
| 查询布局列表 | 查看对象下的所有页面布局 |
|
|
29
|
+
| 创建布局 | 基于现有布局复制创建新布局 |
|
|
30
|
+
| 复制动态规则 | 可选择是否复制源布局的动态布局规则 |
|
|
31
|
+
|
|
32
|
+
## 使用场景
|
|
33
|
+
|
|
34
|
+
1. **多终端适配**:为 PC 端和移动端创建不同的布局
|
|
35
|
+
2. **多角色视图**:为不同角色创建差异化的详情页展示
|
|
36
|
+
3. **业务场景适配**:针对特定业务流程定制字段展示
|
|
37
|
+
|
|
38
|
+
## 下一步
|
|
39
|
+
|
|
40
|
+
查看开发指南了解具体 CLI 命令:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
cc doc pagelayout devguide
|
|
44
|
+
```
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const { postClass } = require("../../utils/http");
|
|
2
|
+
const { getPackageJson } = require("../../utils/config");
|
|
3
|
+
const chalk = require("chalk");
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 查询页面布局列表
|
|
7
|
+
* 用法:cc get pagelayout <projectPath> <prefix>
|
|
8
|
+
*/
|
|
9
|
+
async function get(argvs, isMcp = false) {
|
|
10
|
+
const projectPath = argvs[2] || process.cwd();
|
|
11
|
+
const prefix = argvs[3];
|
|
12
|
+
|
|
13
|
+
if (!prefix) {
|
|
14
|
+
console.error();
|
|
15
|
+
console.error(chalk.red("Error: 缺少对象前缀"));
|
|
16
|
+
console.error("用法: cc get pagelayout <projectPath> <prefix>");
|
|
17
|
+
console.error("示例:");
|
|
18
|
+
console.error(" cc get pagelayout . 001");
|
|
19
|
+
console.error(" cc get pagelayout . b25");
|
|
20
|
+
console.error();
|
|
21
|
+
throw new Error("缺少必需参数: prefix");
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const config = await getPackageJson(projectPath);
|
|
25
|
+
|
|
26
|
+
const res = await postClass(
|
|
27
|
+
config.setupSvc + "/api/layout/queryPageLayout",
|
|
28
|
+
{
|
|
29
|
+
prefix: prefix
|
|
30
|
+
},
|
|
31
|
+
config.accessToken
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
if (res && res.result) {
|
|
35
|
+
const layouts = res.data?.layouts || [];
|
|
36
|
+
if (!isMcp) {
|
|
37
|
+
console.log(JSON.stringify(layouts));
|
|
38
|
+
}
|
|
39
|
+
return layouts;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const msg = res && (res.returnInfo || res.message) ? (res.returnInfo || res.message) : "Unknown error";
|
|
43
|
+
throw new Error("Get PageLayout Failed: " + msg);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
module.exports = get;
|