cloudcc-cli 2.3.8 → 2.4.0
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 → dev-guide}/SKILL.md +5 -1
- package/README.md +82 -1
- package/bin/cc.js +2 -1
- package/bin/index.js +1 -0
- package/cloudcc-dev-skill/SKILL.md +31 -8
- package/cloudcc-dev-skill/cloudcc-dev-html.md +42 -0
- package/cloudcc-dev-skill/config.json +2 -2
- package/mcp/index.js +27 -3
- package/mcp/tools/JSP Migrator/handler.js +51 -866
- package/mcp/tools/Object Creator/handler.js +14 -4
- package/mcp/tools/Object Fields Creator/handler.js +149 -3
- package/package.json +1 -1
- package/src/classes/docs/devguide.md +758 -364
- package/src/classes/docs/introduction.md +279 -143
- package/src/fields/buildFieldData.js +692 -0
- package/src/fields/create.js +10 -170
- package/src/fields/detail.js +37 -0
- package/src/fields/docs/devguide.md +168 -44
- package/src/fields/docs/introduction.md +2 -0
- package/src/fields/fields/A.js +3 -2
- package/src/fields/fields/AD.js +4 -2
- package/src/fields/fields/B.js +8 -5
- package/src/fields/fields/C.js +13 -5
- package/src/fields/fields/D.js +4 -4
- package/src/fields/fields/E.js +10 -5
- package/src/fields/fields/ENC.js +27 -8
- package/src/fields/fields/ENCD.js +27 -8
- package/src/fields/fields/F.js +4 -4
- package/src/fields/fields/FL.js +8 -4
- package/src/fields/fields/H.js +4 -4
- package/src/fields/fields/IMG.js +23 -5
- package/src/fields/fields/J.js +21 -6
- package/src/fields/fields/L.js +32 -8
- package/src/fields/fields/LT.js +23 -6
- package/src/fields/fields/M.js +2 -2
- package/src/fields/fields/MR.js +2 -2
- package/src/fields/fields/N.js +31 -8
- package/src/fields/fields/P.js +13 -5
- package/src/fields/fields/Q.js +42 -12
- package/src/fields/fields/S.js +19 -7
- package/src/fields/fields/SCORE.js +9 -4
- package/src/fields/fields/T.js +4 -4
- package/src/fields/fields/U.js +18 -5
- package/src/fields/fields/X.js +20 -6
- package/src/fields/fields/Y.js +17 -4
- package/src/fields/index.js +2 -0
- package/src/fields/update.js +148 -0
- package/src/jsp/analyze.js +17 -0
- package/src/jsp/doc.js +18 -0
- package/src/jsp/docs/devguide.md +111 -0
- package/src/jsp/docs/introduction.md +50 -0
- package/src/jsp/docs.js +21 -0
- package/src/jsp/index.js +14 -0
- package/src/jsp/migration.js +871 -0
- package/src/jsp/split.js +17 -0
- package/src/object/create.js +36 -10
- package/src/object/docs/devguide.md +6 -3
- package/src/project/docs/devguide.md +1 -1
- package/src/timer/docs/devguide.md +849 -400
- package/src/timer/docs/introduction.md +343 -231
- package/src/triggers/docs/devguide.md +929 -352
- package/src/triggers/docs/introduction.md +640 -369
- package/src/version/listModuleCommands.js +6 -0
- package/test/fields.cli.test.js +3 -1
- package/test/jsp.cli.test.js +70 -0
- package/test/object.cli.test.js +9 -1
package/src/jsp/split.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const { splitJspToCloudcc, parseCliJsonArg } = require("./migration")
|
|
2
|
+
|
|
3
|
+
async function split(argvs) {
|
|
4
|
+
const params = parseCliJsonArg(
|
|
5
|
+
argvs[2],
|
|
6
|
+
"cloudcc split jsp <encodeURI(JSON.stringify(params))>"
|
|
7
|
+
)
|
|
8
|
+
const result = await splitJspToCloudcc(params)
|
|
9
|
+
if (!result.success) {
|
|
10
|
+
throw new Error(result.text)
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
console.log(result.text)
|
|
14
|
+
return result.text
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
module.exports = split
|
package/src/object/create.js
CHANGED
|
@@ -5,32 +5,58 @@ const { labelToSlug } = require("../../utils/utils");
|
|
|
5
5
|
const chalk = require('chalk')
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* 未显式传入备注时,根据对象标签生成默认业务功能说明(写入接口 remark)
|
|
9
|
+
* @param {string} label
|
|
10
10
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
function defaultObjectRemark(label) {
|
|
12
|
+
return `用于管理与「${label}」相关的业务数据`;
|
|
13
|
+
}
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
|
-
*
|
|
16
|
+
* 创建自定义对象(接口 obj.remark:默认业务说明 + 必填业务功能描述,拼在后面)
|
|
16
17
|
* @param {Array} argvs - 命令行参数数组
|
|
17
18
|
* @returns {Promise<Object>} 保存结果
|
|
18
19
|
*/
|
|
19
20
|
async function create(argvs) {
|
|
20
21
|
try {
|
|
21
22
|
let path = argvs[2];
|
|
22
|
-
// 兼容两种调用方式:
|
|
23
|
-
// 1) cloudcc object create <path> <nameLabel> <label>
|
|
24
|
-
// 2) cloudcc object create <path> <label> (此时自动生成 nameLabel)
|
|
25
23
|
let label = argvs[3];
|
|
26
24
|
let nameLabel = argvs[4];
|
|
25
|
+
let remarkSuffix = argvs[5];
|
|
26
|
+
|
|
27
|
+
if (remarkSuffix == null) {
|
|
28
|
+
remarkSuffix = nameLabel;
|
|
29
|
+
nameLabel = undefined;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (remarkSuffix == null || String(remarkSuffix).trim() === "") {
|
|
33
|
+
console.error();
|
|
34
|
+
console.error(chalk.red("Error: 缺少必需参数「业务功能描述」"));
|
|
35
|
+
console.error(
|
|
36
|
+
chalk.gray(
|
|
37
|
+
"用法: cloudcc create object <path> <label> <业务功能描述>"
|
|
38
|
+
)
|
|
39
|
+
);
|
|
40
|
+
console.error(
|
|
41
|
+
chalk.gray(
|
|
42
|
+
" cloudcc create object <path> <label> <nameLabel> <业务功能描述>"
|
|
43
|
+
)
|
|
44
|
+
);
|
|
45
|
+
console.error();
|
|
46
|
+
throw new Error("缺少业务功能描述");
|
|
47
|
+
}
|
|
48
|
+
|
|
27
49
|
if (nameLabel == undefined) {
|
|
28
50
|
const slug = labelToSlug(label);
|
|
29
51
|
nameLabel = `${slug}_custom_object`;
|
|
30
52
|
}
|
|
53
|
+
|
|
54
|
+
const base = defaultObjectRemark(label);
|
|
55
|
+
const remark = `${base} ${String(remarkSuffix).trim()}`;
|
|
56
|
+
|
|
31
57
|
let config = await getPackageJson(path);
|
|
32
58
|
|
|
33
|
-
// 从 brief/get 获取角色ID
|
|
59
|
+
// 从 brief/get 获取角色ID列表(path 位于 argvs[2])
|
|
34
60
|
// 注意:brief/get 的接口返回是 { success, data } 的格式
|
|
35
61
|
let briefData = await briefGet(argvs);
|
|
36
62
|
|
|
@@ -68,7 +94,7 @@ async function create(argvs) {
|
|
|
68
94
|
isquickcreated: "false",
|
|
69
95
|
islbs: "false",
|
|
70
96
|
isreportcreated: "false",
|
|
71
|
-
remark
|
|
97
|
+
remark
|
|
72
98
|
}
|
|
73
99
|
};
|
|
74
100
|
|
|
@@ -17,7 +17,8 @@ cloudcc doc object devguide
|
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
19
|
cloudcc get object <projectPath> [type]
|
|
20
|
-
cloudcc create object <projectPath> <label>
|
|
20
|
+
cloudcc create object <projectPath> <label> <业务功能描述>
|
|
21
|
+
cloudcc create object <projectPath> <label> <nameLabel> <业务功能描述>
|
|
21
22
|
cloudcc delete object <projectPath> <objid>
|
|
22
23
|
```
|
|
23
24
|
|
|
@@ -25,7 +26,8 @@ cloudcc delete object <projectPath> <objid>
|
|
|
25
26
|
|
|
26
27
|
- `projectPath`:本地项目路径,用于读取 `cloudcc-cli.config.js`
|
|
27
28
|
- `label`:对象中文名称或展示名称
|
|
28
|
-
- `nameLabel`:对象 API
|
|
29
|
+
- `nameLabel`:对象 API 名称;仅在上一种四参数形式中传入;不传(三参数形式)时基于 `label` 自动生成
|
|
30
|
+
- `业务功能描述`(**必填**,放在最后):拼接到默认 remark「用于管理与「label」相关的业务数据」之后,整体写入 `obj.remark`
|
|
29
31
|
- `objid`:对象 ID
|
|
30
32
|
|
|
31
33
|
---
|
|
@@ -59,7 +61,8 @@ cloudcc get object <projectPath> custom
|
|
|
59
61
|
### 4.1 基本命令
|
|
60
62
|
|
|
61
63
|
```bash
|
|
62
|
-
cloudcc create object <projectPath> <label>
|
|
64
|
+
cloudcc create object <projectPath> <label> "记录客户拜访与跟进计划"
|
|
65
|
+
cloudcc create object <projectPath> <label> <nameLabel> "主数据:客户主档"
|
|
63
66
|
```
|
|
64
67
|
|
|
65
68
|
|