cloudcc-cli 2.2.3 → 2.2.4
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/.vscode/settings.json +3 -0
- package/README.md +35 -0
- package/bin/cc.js +11 -36
- package/bin/index.js +33 -0
- package/bin/mcp-svc.js +13 -0
- package/java/com/cloudcc/core/TriggerInvoker.java +17 -1
- package/package.json +3 -2
- package/pom.xml +1 -0
- package/prompt/DevelopmentEnvironmentConstruction.ts +133 -0
- package/prompt/ccdk.ts +1190 -0
- package/prompt/ccprompt.ts +8 -0
- package/prompt/cloudccdev.ts +109 -0
- package/prompt/index.ts +52 -0
- package/prompt/objectInfo.ts +94 -0
- package/prompt/objectList.ts +25 -0
- package/prompt/openapi.ts +310 -0
- package/prompt/system.ts +14 -0
- package/prompt/vscodeExtension.ts +27 -0
- package/src/approval/approve.js +105 -0
- package/src/approval/get.js +245 -0
- package/src/approval/index.js +11 -0
- package/src/approval/reject.js +105 -0
- package/src/brief/get.js +51 -0
- package/src/brief/index.js +7 -0
- package/src/config/get.js +1 -1
- package/src/fields/create.js +204 -0
- package/src/fields/fields/A.js +23 -0
- package/src/fields/fields/AD.js +25 -0
- package/src/fields/fields/B.js +28 -0
- package/src/fields/fields/C.js +28 -0
- package/src/fields/fields/D.js +27 -0
- package/src/fields/fields/E.js +28 -0
- package/src/fields/fields/ENC.js +28 -0
- package/src/fields/fields/ENCD.js +28 -0
- package/src/fields/fields/F.js +27 -0
- package/src/fields/fields/FL.js +25 -0
- package/src/fields/fields/H.js +27 -0
- package/src/fields/fields/IMG.js +27 -0
- package/src/fields/fields/J.js +26 -0
- package/src/fields/fields/L.js +32 -0
- package/src/fields/fields/LT.js +28 -0
- package/src/fields/fields/M.js +29 -0
- package/src/fields/fields/MR.js +24 -0
- package/src/fields/fields/N.js +30 -0
- package/src/fields/fields/P.js +28 -0
- package/src/fields/fields/Q.js +35 -0
- package/src/fields/fields/S.js +30 -0
- package/src/fields/fields/SCORE.js +24 -0
- package/src/fields/fields/T.js +27 -0
- package/src/fields/fields/U.js +28 -0
- package/src/fields/fields/X.js +28 -0
- package/src/fields/fields/Y.js +33 -0
- package/src/fields/get.js +36 -0
- package/src/fields/index.js +9 -0
- package/src/mcp/MCP/345/234/272/346/231/257/346/250/241/346/213/237.md +8 -0
- package/src/mcp/index-sse-svc.js +126 -0
- package/src/mcp/index-streamable-svc.js +180 -0
- package/src/mcp/index.js +519 -115
- package/src/mcp/readme.md +75 -70
- package/src/mcp/tools/Approval/handler.js +349 -0
- package/src/mcp/tools/Class Creator/handler.js +37 -0
- package/src/mcp/tools/Class Detail Retriever/handler.js +33 -0
- package/src/mcp/tools/Class Detail Retriever/prompt.js +37 -0
- package/src/mcp/tools/Class Editor Guide/handler.js +72 -0
- package/src/mcp/tools/Class Editor Guide/prompt.js +468 -0
- package/src/mcp/tools/Class List Retriever/handler.js +36 -0
- package/src/mcp/tools/Class Publisher/handler.js +29 -0
- package/src/mcp/tools/Class Publisher/prompt.js +40 -0
- package/src/mcp/tools/Class Puller/handler.js +86 -0
- package/src/mcp/tools/Class Puller/prompt.js +49 -0
- package/src/mcp/tools/Client Script Creator/handler.js +179 -0
- package/src/mcp/tools/Client Script Detail Retriever/handler.js +53 -0
- package/src/mcp/tools/Client Script Editor Guide/handler.js +633 -0
- package/src/mcp/tools/Client Script List Retriever/handler.js +68 -0
- package/src/mcp/tools/Client Script Publisher/handler.js +54 -0
- package/src/mcp/tools/Client Script Puller/handler.js +73 -0
- package/src/mcp/tools/CloudCC Development Overview/handler.js +48 -0
- package/src/mcp/tools/CloudCC Development Overview/prompt.js +870 -0
- package/src/mcp/tools/Component Creator/handler.js +44 -0
- package/src/mcp/tools/Component Detail Retriever/handler.js +38 -0
- package/src/mcp/tools/Component Editor Guide/handler.js +76 -0
- package/src/mcp/tools/Component Editor Guide/prompt.js +519 -0
- package/src/mcp/tools/Component List Retriever/handler.js +43 -0
- package/src/mcp/tools/Component Publisher/handler.js +18 -0
- package/src/mcp/tools/Component Puller/handler.js +63 -0
- package/src/mcp/tools/{dev-env/fetcher.js → Dev Environment Creator/fetcher.js } +8 -8
- package/src/mcp/tools/{dev-env/prompt.js → Dev Environment Creator/prompt.js } +19 -2
- package/src/mcp/tools/Dev Environment Validator/handler.js +88 -0
- package/src/mcp/tools/Dev Environment Validator/prompt.js +193 -0
- package/src/mcp/tools/{key-guide/fetcher.js → Developer Key Setup Guide/fetcher.js } +7 -7
- package/src/mcp/tools/{key-guide/prompt.js → Developer Key Setup Guide/prompt.js } +3 -3
- package/src/mcp/tools/Object Creator/handler.js +34 -0
- package/src/mcp/tools/Object Fields Creator/handler.js +64 -0
- package/src/mcp/tools/Object Fields Retriever/handler.js +37 -0
- package/src/mcp/tools/Object Fields Retriever/prompt.js +10 -0
- package/src/mcp/tools/Object List Retriever/handler.js +43 -0
- package/src/mcp/tools/Object List Retriever/prompt.js +10 -0
- package/src/mcp/tools/Scheduled Class Creator/handler.js +37 -0
- package/src/mcp/tools/Scheduled Class Detail Retriever/handler.js +34 -0
- package/src/mcp/tools/Scheduled Class List Retriever/handler.js +52 -0
- package/src/mcp/tools/Scheduled Class Publisher/handler.js +30 -0
- package/src/mcp/tools/Scheduled Class Puller/handler.js +92 -0
- package/src/mcp/tools/Trigger Creator/handler.js +53 -0
- package/src/mcp/tools/Trigger Detail Retriever/handler.js +33 -0
- package/src/mcp/tools/Trigger Editor Guide/handler.js +58 -0
- package/src/mcp/tools/Trigger List Retriever/handler.js +49 -0
- package/src/mcp/tools/Trigger Publisher/handler.js +34 -0
- package/src/mcp/tools/Trigger Puller/handler.js +40 -0
- package/src/mcp/tools/ccdk/fetcher.js +3 -3
- package/src/mcp/tools/ccdk/prompt.js +2 -2
- package/src/mcp/tools/index.js +23 -0
- package/src/object/create.js +105 -0
- package/src/object/get.js +43 -4
- package/src/object/index.js +2 -1
- package/src/plugin/create1.js +8 -7
- package/src/plugin/detail.js +91 -0
- package/src/plugin/get.js +79 -0
- package/src/plugin/index.js +4 -1
- package/src/plugin/publish.js +13 -13
- package/src/plugin/publish1.js +30 -22
- package/src/plugin/pull.js +173 -0
- package/src/project/create.js +9 -9
- package/src/project/create1.js +31 -17
- package/src/recordType/get.js +4 -2
- package/src/script/create.js +7 -7
- package/src/script/detail.js +95 -0
- package/src/script/get.js +4 -2
- package/src/script/index.js +1 -0
- package/src/script/publish.js +14 -14
- package/src/script/pull.js +12 -12
- package/src/script/pullList.js +5 -3
- package/src/timer/create.js +7 -7
- package/src/timer/detail.js +84 -0
- package/src/timer/get.js +6 -3
- package/src/timer/publish.js +7 -7
- package/src/timer/pull.js +8 -8
- package/src/timer/pullList.js +5 -3
- package/src/token/get.js +1 -1
- package/src/triggers/create.js +7 -7
- package/src/triggers/detail.js +90 -0
- package/src/triggers/get.js +4 -2
- package/src/triggers/index.js +1 -0
- package/src/triggers/publish.js +7 -7
- package/src/triggers/pull.js +8 -8
- package/src/triggers/pullList.js +5 -3
- package/src/version/get.js +3 -3
- package/target/ccopenapi-0.0.3-classes.jar +0 -0
- package/target/ccopenapi-0.0.3.jar +0 -0
- package/target/maven-archiver/pom.properties +3 -0
- package/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +18 -0
- package/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +19 -0
- package/template/Appvue +2 -2
- package/template/index.js +30 -19
- package/tool/branch/index.js +1 -1
- package/tool/checkLange/checkLang.js +6 -6
- package/tool/checkLange/clearLang.js +1 -1
- package/utils/accessClass.js +23 -0
- package/utils/checkVersion.js +22 -20
- package/utils/config.js +18 -3
- package/utils/http.js +10 -10
- package/utils/utils.js +97 -32
- package/java/com/cloudcc/core/CCTriggerDemo.java +0 -25
- package/src/classes/create.js +0 -66
- package/src/classes/get.js +0 -22
- package/src/classes/index.js +0 -11
- package/src/classes/publish.js +0 -51
- package/src/classes/pull.js +0 -55
- package/src/classes/pullList.js +0 -44
- package/src/mcp/tools/classes/handler.js +0 -358
- package/src/mcp/tools/classes/prompt.js +0 -1261
- package/src/mcp/tools/plugin/handler.js +0 -92
- /package/src/mcp/tools/{plugin → Component Publisher}/prompt.js +0 -0
- /package/src/mcp/tools/{dev-env → Dev Environment Creator}/handler.js +0 -0
- /package/src/mcp/tools/{key-guide → Developer Key Setup Guide}/handler.js +0 -0
|
@@ -0,0 +1,870 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CloudCC 开发平台概要信息
|
|
3
|
+
*
|
|
4
|
+
* 这是 CloudCC 开发平台的完整概要文档,包括平台介绍、项目结构、开发资源和工具导航
|
|
5
|
+
* 专为 AI 助手设计,帮助理解 CloudCC 开发体系并提供准确的开发指导
|
|
6
|
+
*
|
|
7
|
+
* 本文件为纯文本版本,所有内容直接展开,不包含函数和数据对象
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
const overviewContent = `# CloudCC 开发平台概要
|
|
11
|
+
|
|
12
|
+
**版本**: 2.0.0
|
|
13
|
+
**平台**: CloudCC CRM
|
|
14
|
+
**类型**: 低代码开发平台
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# 一、CloudCC 平台介绍
|
|
19
|
+
|
|
20
|
+
## 1.1 平台概述
|
|
21
|
+
|
|
22
|
+
**CloudCC CRM** - 企业级 CRM 低代码开发平台
|
|
23
|
+
|
|
24
|
+
CloudCC 是一个基于云端的客户关系管理(CRM)平台,提供低代码开发能力,支持企业快速构建和定制业务应用
|
|
25
|
+
|
|
26
|
+
### 核心能力:
|
|
27
|
+
- 标准 CRM 功能(销售云、服务云、营销云等)
|
|
28
|
+
- 低代码定制能力(自定义对象、字段、页面布局等)
|
|
29
|
+
- 后端开发(自定义类、触发器、定时类)
|
|
30
|
+
- 前端开发(自定义组件、客户端脚本)
|
|
31
|
+
- 流程自动化(工作流、批准流程)
|
|
32
|
+
- 权限控制(角色、简档、权限集)
|
|
33
|
+
- 多租户架构
|
|
34
|
+
|
|
35
|
+
## 1.2 数据模型
|
|
36
|
+
|
|
37
|
+
### 标准对象
|
|
38
|
+
|
|
39
|
+
CloudCC 预置的标准业务对象
|
|
40
|
+
|
|
41
|
+
#### 1. 潜在客户 (Lead)
|
|
42
|
+
- **用途**: 管理潜在商机和客户线索
|
|
43
|
+
- **核心功能**: 客户信息跟踪、线索转换、市场活动关联
|
|
44
|
+
|
|
45
|
+
#### 2. 客户 (Account)
|
|
46
|
+
- **用途**: 管理企业客户基本信息
|
|
47
|
+
- **核心功能**: 客户档案、联系人管理、层次结构
|
|
48
|
+
|
|
49
|
+
#### 3. 联系人 (Contact)
|
|
50
|
+
- **用途**: 管理客户联系人信息
|
|
51
|
+
- **核心功能**: 个人信息、关联客户、活动记录
|
|
52
|
+
|
|
53
|
+
#### 4. 业务机会 (Opportunity)
|
|
54
|
+
- **用途**: 管理销售商机和交易
|
|
55
|
+
- **核心功能**: 销售阶段、金额预测、产品关联、销售漏斗
|
|
56
|
+
- **重要字段**:
|
|
57
|
+
- **金额**: 商机预算金额
|
|
58
|
+
- **预期收入**: 金额 × 可能性,自动计算
|
|
59
|
+
- **转换自潜在客户**: 记录商机来源
|
|
60
|
+
|
|
61
|
+
#### 5. 市场活动 (Campaign)
|
|
62
|
+
- **用途**: 管理营销活动和效果跟踪
|
|
63
|
+
- **核心功能**: 活动管理、成员管理、ROI 分析
|
|
64
|
+
- **重要字段**:
|
|
65
|
+
- **赢得客户业务机会数**: 状态为'合同签订'的机会数量
|
|
66
|
+
- **业务机会总数**: 该活动派生的机会总数
|
|
67
|
+
- **层次结构中的业务机会总值**: 该活动及子级活动的机会总价值
|
|
68
|
+
- **发送数**: 成员状态为'已发送'的数量
|
|
69
|
+
- **响应总计**: 实际响应数量
|
|
70
|
+
|
|
71
|
+
### 自定义对象
|
|
72
|
+
|
|
73
|
+
用户自定义创建的业务对象,相当于数据库表
|
|
74
|
+
|
|
75
|
+
**用途**: 扩展标准功能或构建新业务模块
|
|
76
|
+
|
|
77
|
+
**属性说明**:
|
|
78
|
+
- **label**: 对象的显示名称
|
|
79
|
+
- **objectName**: 对象唯一标识(必须以字母开头,只能包含字母、数字、下划线,长度2-30,不能是数据库关键字)
|
|
80
|
+
- **recordName**: 对象的第一个字段名称
|
|
81
|
+
|
|
82
|
+
**功能特性**:
|
|
83
|
+
- 启用快速创建
|
|
84
|
+
- 启用定位服务
|
|
85
|
+
- 允许报表
|
|
86
|
+
- 对象权限设置(只读、新建、编辑、删除、查看全部、修改全部)
|
|
87
|
+
|
|
88
|
+
💡 **注意**: 系统提供标准的:列表页(视图页),详情页,编辑页,新建页等页面布局。自定义对象可维护、可删除,删除后进入回收站可恢复或彻底删除
|
|
89
|
+
|
|
90
|
+
## 1.3 字段类型(共 26 种)
|
|
91
|
+
|
|
92
|
+
CloudCC CloudCC 支持 26 种字段类型,涵盖文本、数字、日期、关系、媒体等各种数据类型
|
|
93
|
+
|
|
94
|
+
### 基础类型
|
|
95
|
+
基本的文本和逻辑类型
|
|
96
|
+
|
|
97
|
+
#### 文本 (S)
|
|
98
|
+
允许用户输入任何字母和数字组合
|
|
99
|
+
|
|
100
|
+
**特性**: 可设置唯一性、可设置区分大小写、可设置占位符、可设置默认值
|
|
101
|
+
|
|
102
|
+
#### 文本区 (X)
|
|
103
|
+
允许用户输入多行文本
|
|
104
|
+
|
|
105
|
+
💡 适用于短篇幅的多行文本
|
|
106
|
+
|
|
107
|
+
#### 文本区(长) (J)
|
|
108
|
+
允许用户输入多行文本,最多可输入 32000 个字符
|
|
109
|
+
|
|
110
|
+
💡 默认新建时长度是 2000,可自行修改
|
|
111
|
+
|
|
112
|
+
#### 文本区(富文本) (A)
|
|
113
|
+
允许用户输入格式化文本、添加图片和链接
|
|
114
|
+
|
|
115
|
+
**特性**: 文本格式化、插入图片、插入链接、HTML 编辑
|
|
116
|
+
|
|
117
|
+
#### 复选框 (B)
|
|
118
|
+
允许用户选择'真'(选取)或'假'(不选取)值
|
|
119
|
+
|
|
120
|
+
💡 适用于是/否类型的字段
|
|
121
|
+
|
|
122
|
+
### 数值类型
|
|
123
|
+
数字、货币和百分比
|
|
124
|
+
|
|
125
|
+
#### 数字 (N)
|
|
126
|
+
允许用户输入任何数字,将删除前置零
|
|
127
|
+
|
|
128
|
+
**特性**: 数字格式验证、可设置小数位数、可设置整数位数、可设置千分位显示、可设置唯一性
|
|
129
|
+
|
|
130
|
+
#### 币种 (C)
|
|
131
|
+
启用币种管理后,该类型字段保存后自动加钱标识,可以做币种换算
|
|
132
|
+
|
|
133
|
+
**特性**: 自动添加货币符号、支持多币种、币种转换、小数位数设置(默认2位)
|
|
134
|
+
|
|
135
|
+
#### 百分比 (P)
|
|
136
|
+
允许用户输入百分比数字(例如,'10'),并自动向数字添加百分号
|
|
137
|
+
|
|
138
|
+
**特性**: 自动添加 % 符号、小数位数设置(默认2位)
|
|
139
|
+
|
|
140
|
+
### 日期时间类型
|
|
141
|
+
日期和时间相关类型
|
|
142
|
+
|
|
143
|
+
#### 日期 (D)
|
|
144
|
+
允许用户输入日期或从弹出式日历中选择日期
|
|
145
|
+
|
|
146
|
+
**特性**: 弹出式日历选择、可设置默认值
|
|
147
|
+
|
|
148
|
+
#### 日期/时间 (F)
|
|
149
|
+
允许用户输入日期和时间,或从弹出式日历中选择日期
|
|
150
|
+
|
|
151
|
+
**特性**: 弹出式日历选择、默认值可写 Today(),新建记录时默认当前系统时间
|
|
152
|
+
|
|
153
|
+
#### 时间 (T)
|
|
154
|
+
允许用户输入时间
|
|
155
|
+
|
|
156
|
+
💡 仅时间,不包含日期
|
|
157
|
+
|
|
158
|
+
### 格式化类型
|
|
159
|
+
特定格式的文本类型
|
|
160
|
+
|
|
161
|
+
#### 电子邮件 (E)
|
|
162
|
+
允许用户输入电子邮件地址,对其进行验证以确保格式正确
|
|
163
|
+
|
|
164
|
+
**特性**: 邮箱格式验证、可点击发送邮件、可设置唯一性
|
|
165
|
+
|
|
166
|
+
#### 电话 (H)
|
|
167
|
+
允许用户输入任何电话号码,自动将其转换为电话号码格式
|
|
168
|
+
|
|
169
|
+
**特性**: 电话格式化、可点击拨打电话
|
|
170
|
+
|
|
171
|
+
#### URL (U)
|
|
172
|
+
允许用户输入任何有效的网址
|
|
173
|
+
|
|
174
|
+
**特性**: URL 格式验证、点击可在新窗口或当前窗口中打开
|
|
175
|
+
|
|
176
|
+
💡 系统默认在浏览器的新窗口中打开该 URL
|
|
177
|
+
|
|
178
|
+
### 选择类型
|
|
179
|
+
下拉选择和评分
|
|
180
|
+
|
|
181
|
+
#### 选项列表 (L)
|
|
182
|
+
允许用户从定义的列表中选择值,一个选项占据一行
|
|
183
|
+
|
|
184
|
+
**特性**: 单选、可设置依赖字段(联动)、可使用全局选项列表、可设置默认值
|
|
185
|
+
|
|
186
|
+
#### 选项列表(多选) (Q)
|
|
187
|
+
允许用户从定义的列表中选择多个值
|
|
188
|
+
|
|
189
|
+
**特性**: 多选、可设置依赖字段(联动)、可使用全局选项列表、可设置显示行数
|
|
190
|
+
|
|
191
|
+
#### 评分 (SCORE)
|
|
192
|
+
为用户提供评价和评分操作
|
|
193
|
+
|
|
194
|
+
💡 导出数据时该字段类型导出为数字
|
|
195
|
+
|
|
196
|
+
### 关系类型
|
|
197
|
+
对象间的关联关系
|
|
198
|
+
|
|
199
|
+
#### 查找关系 (Y)
|
|
200
|
+
创建一个将此对象链接到另一对象的关系(一对多)
|
|
201
|
+
|
|
202
|
+
**特性**: 通过查找图标从弹出列表中选择值、允许本对象查找本对象、建立主外键关系、可设置子关系名称、可设置查找对象的默认字段
|
|
203
|
+
|
|
204
|
+
💡 另一对象是列表中值的源
|
|
205
|
+
|
|
206
|
+
#### 主详信息关系 (M)
|
|
207
|
+
创建一个此对象(子级或'详细信息')与另一对象(父级或'主')之间的特殊父子关系类型
|
|
208
|
+
|
|
209
|
+
**特性**: 主详关系字段必填、子记录的所有权限和共享设置由主对象确定、在共享设置处看不到子对象、主记录删除将删除所有子记录(级联删除)、在主对象上可以创建累计汇总字段、一个子对象只能有一个父对象
|
|
210
|
+
|
|
211
|
+
💡 比查找关系更严格的父子关系
|
|
212
|
+
|
|
213
|
+
#### 查找多选 (MR)
|
|
214
|
+
创建一个将此对象链接到另一对象的关系,可选择多个关联记录
|
|
215
|
+
|
|
216
|
+
**特性**: 可选择多个值、通过查找图标选择
|
|
217
|
+
|
|
218
|
+
💡 另一对象是列表中值的源
|
|
219
|
+
|
|
220
|
+
### 媒体类型
|
|
221
|
+
图片和文件
|
|
222
|
+
|
|
223
|
+
#### 图片 (IMG)
|
|
224
|
+
允许用户上传图片
|
|
225
|
+
|
|
226
|
+
**特性**: 支持水印、可设置水印字段
|
|
227
|
+
|
|
228
|
+
#### 文件 (FL)
|
|
229
|
+
允许用户上传文件附件
|
|
230
|
+
|
|
231
|
+
**特性**: 支持多文件上传、可设置文件数量限制、可设置唯一性
|
|
232
|
+
|
|
233
|
+
💡 适用于附件、文档等文件上传
|
|
234
|
+
|
|
235
|
+
### 复合类型
|
|
236
|
+
组合多个字段的复杂类型
|
|
237
|
+
|
|
238
|
+
#### 地址 (AD)
|
|
239
|
+
复合字段,用于存储完整的地址信息
|
|
240
|
+
|
|
241
|
+
💡 地址字段实际上是多个子字段的组合
|
|
242
|
+
|
|
243
|
+
### 位置类型
|
|
244
|
+
地理位置相关
|
|
245
|
+
|
|
246
|
+
#### 地理定位 (LT)
|
|
247
|
+
存储地理位置的经纬度信息
|
|
248
|
+
|
|
249
|
+
**特性**: 地图显示、位置计算、距离计算
|
|
250
|
+
|
|
251
|
+
💡 用于定位服务和地图展示
|
|
252
|
+
|
|
253
|
+
### 安全类型
|
|
254
|
+
加密和敏感信息
|
|
255
|
+
|
|
256
|
+
#### 加密文本(存储加密) (ENC)
|
|
257
|
+
在数据库中加密存储的文本字段
|
|
258
|
+
|
|
259
|
+
**特性**: 数据库加密存储、可设置掩码类型、可设置掩码字符(默认 *)、可设置加密显示格式、可按简档控制是否显示明文
|
|
260
|
+
|
|
261
|
+
💡 适用于敏感信息,如身份证号、银行卡号等
|
|
262
|
+
|
|
263
|
+
#### 加密文本(显示加密) (ENCD)
|
|
264
|
+
在页面显示时加密的文本字段
|
|
265
|
+
|
|
266
|
+
**特性**: 页面显示加密、数据库明文存储、可设置掩码类型、可设置掩码字符(默认 *)、可设置加密显示格式、可按简档控制是否显示明文
|
|
267
|
+
|
|
268
|
+
💡 适用于需要在界面上隐藏但数据库不加密的场景
|
|
269
|
+
|
|
270
|
+
### 计算类型
|
|
271
|
+
自动计算和生成的字段
|
|
272
|
+
|
|
273
|
+
#### 公式 (公式)
|
|
274
|
+
根据您定义的公式表达式派生其值的只读字段
|
|
275
|
+
|
|
276
|
+
**特性**: 只读字段、来源字段变化时自动更新、可引用相关对象的值、可写 SQL 表达式、详情页显示,编辑页不显示
|
|
277
|
+
|
|
278
|
+
💡 用于自动计算和显示派生值
|
|
279
|
+
|
|
280
|
+
#### 自动编号 (自动编号)
|
|
281
|
+
系统使用您定义的显示格式生成的序列编号
|
|
282
|
+
|
|
283
|
+
**特性**: 只读字段、每条新记录自动递增、可自定义编号格式、可设置初始编号、详情页显示,编辑页不显示
|
|
284
|
+
|
|
285
|
+
💡 适用于订单号、工单号等需要自动编号的场景
|
|
286
|
+
|
|
287
|
+
#### 累计汇总 (累计汇总)
|
|
288
|
+
在主详关系的主对象上创建,显示子记录的汇总信息
|
|
289
|
+
|
|
290
|
+
**特性**: 只读字段、在相关列表中显示汇总值、最小值或最大值、可统计记录数、子记录变化时自动更新
|
|
291
|
+
|
|
292
|
+
💡 用于统计和汇总子记录数据
|
|
293
|
+
|
|
294
|
+
### 标准字段
|
|
295
|
+
|
|
296
|
+
所有对象都具有的标准字段
|
|
297
|
+
|
|
298
|
+
- **对象记录名**: 记录的名称标识 (可编辑)
|
|
299
|
+
- **创建时间**: 记录创建时间(年月日时分秒) (不可编辑)
|
|
300
|
+
- **创建人**: 记录创建用户 (不可编辑)
|
|
301
|
+
- **最后修改时间**: 最后修改时间(年月日时分秒) (不可编辑)
|
|
302
|
+
- **最后修改人**: 最后修改用户 (不可编辑)
|
|
303
|
+
- **所有人**: 记录所有者,控制记录的访问权限 (可编辑)
|
|
304
|
+
|
|
305
|
+
💡 标准字段不可删除,但部分标准字段可编辑
|
|
306
|
+
|
|
307
|
+
## 1.4 对象功能特性
|
|
308
|
+
|
|
309
|
+
### 字段管理
|
|
310
|
+
对象的属性,描述对象的特征
|
|
311
|
+
|
|
312
|
+
**类型**: 标准字段(不可删除)、自定义字段(可创建、编辑、删除)
|
|
313
|
+
|
|
314
|
+
### 主从录入
|
|
315
|
+
在新建记录时同时录入相关列表记录
|
|
316
|
+
|
|
317
|
+
**示例**: 新建费用报销时同时录入费用报销明细项
|
|
318
|
+
|
|
319
|
+
### 字段依赖性
|
|
320
|
+
定义字段间的依赖关系,如联动选项列表
|
|
321
|
+
|
|
322
|
+
**示例**: 国家-省-市三级联动
|
|
323
|
+
|
|
324
|
+
### 历史跟踪
|
|
325
|
+
跟踪字段值的变化历史
|
|
326
|
+
|
|
327
|
+
### 验证规则
|
|
328
|
+
定义数据验证规则,保证数据质量
|
|
329
|
+
|
|
330
|
+
### 页面布局
|
|
331
|
+
控制对象数据的显示方式
|
|
332
|
+
|
|
333
|
+
**类型**: 标准页面布局:详情页和编辑页显示、行式布局:主从录入和批量新增时显示、悬停页面布局:悬停窗口显示、移动端页面布局:微信小程序和手机版显示
|
|
334
|
+
|
|
335
|
+
### 关键信息布局
|
|
336
|
+
在详情页展示记录的关键字段
|
|
337
|
+
|
|
338
|
+
### 搜索布局
|
|
339
|
+
配置搜索功能中显示的字段
|
|
340
|
+
|
|
341
|
+
**类型**: 搜索结果:搜索结果显示的字段、查找对话框:查找字段弹出对话框的字段、菜单:菜单下显示的字段、列表视图:列表视图中显示的按钮、搜索筛选器字段:搜索相关列表的筛选字段、快速新建布局:查找对话框新建时的字段、查重合并:查重合并显示的字段
|
|
342
|
+
|
|
343
|
+
### 记录类型
|
|
344
|
+
根据不同记录类型显示不同的页面布局和选项列表值
|
|
345
|
+
|
|
346
|
+
**示例**: 个案可分为'投诉'和'咨询'两种类型,填写不同的信息
|
|
347
|
+
|
|
348
|
+
### 按钮与链接
|
|
349
|
+
自定义按钮和链接,集成外部系统
|
|
350
|
+
|
|
351
|
+
### 触发器
|
|
352
|
+
在记录操作前后自动执行的 Java 代码
|
|
353
|
+
|
|
354
|
+
**触发时机**: beforeInsert、beforeUpdate、beforeUpsert、beforeDelete、afterInsert、afterUpdate、afterUpsert、afterDelete、afterInsertCommit、afterUpdateCommit、afterUpsertCommit、afterDeleteCommit、approval、beforeBatch、afterBatch、commitBatch
|
|
355
|
+
|
|
356
|
+
### 数据归档
|
|
357
|
+
自动归档历史数据
|
|
358
|
+
|
|
359
|
+
💡 归档后原始数据(包括主记录、字段跟踪历史、审批历史、任务及事件)会被彻底删除且无法恢复,删除操作绕过触发器
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
# 二、开发资源概念和使用场景
|
|
364
|
+
|
|
365
|
+
## 自定义对象 (Custom Object)
|
|
366
|
+
|
|
367
|
+
**定义**: 相当于数据库表,用于存储业务数据
|
|
368
|
+
|
|
369
|
+
**用途**: 创建业务实体、扩展标准对象等
|
|
370
|
+
|
|
371
|
+
📝 **命名规则**: 自定义对象命名规则:xxx_custom_object(例如:order_custom_object、product_custom_object)
|
|
372
|
+
|
|
373
|
+
### 使用场景
|
|
374
|
+
|
|
375
|
+
- 系统现有的标准对象不能满足业务需求时
|
|
376
|
+
- 需要创建新的业务模块时
|
|
377
|
+
- 需要扩展 CloudCC 功能时
|
|
378
|
+
|
|
379
|
+
**关联**: 触发器、客户端脚本、自定义类
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## 自定义类 (Custom Class)
|
|
384
|
+
|
|
385
|
+
**定义**: 通过编写 Java 代码片段实现业务功能,发布到 CRM 系统后台编译
|
|
386
|
+
|
|
387
|
+
**基类**: CCService
|
|
388
|
+
**语言**: Java
|
|
389
|
+
|
|
390
|
+
**用途**: 实现复杂业务逻辑,提供 API 接口
|
|
391
|
+
|
|
392
|
+
📝 **命名规则**: 采用驼峰命名(PascalCase):首字母大写的驼峰命名(例如:OrderService、ProductManager、DataSyncHandler)
|
|
393
|
+
|
|
394
|
+
### 使用场景
|
|
395
|
+
|
|
396
|
+
- 实现复杂的数据处理逻辑
|
|
397
|
+
- 对接第三方系统 OpenAPI
|
|
398
|
+
- 封装可复用的业务规则
|
|
399
|
+
|
|
400
|
+
### 功能特性
|
|
401
|
+
|
|
402
|
+
- 继承 CCService 基类
|
|
403
|
+
- 可以操作 CloudCC 数据(增删改查)
|
|
404
|
+
- 可以调用外部 API
|
|
405
|
+
- 可以在触发器、定时器中调用
|
|
406
|
+
|
|
407
|
+
**暴露方式**: 通常以接口的形式暴露出来,在自定义组件中调用,或在客户端脚本中调用,或在定时器中使用
|
|
408
|
+
|
|
409
|
+
**关联**: 定时类、触发器
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
## 定时类 (Scheduled Class)
|
|
414
|
+
|
|
415
|
+
**定义**: 在新建定时作业时指定的 Java 代码片段,按照配置的时间规则自动执行
|
|
416
|
+
|
|
417
|
+
**基类**: CCSchedule
|
|
418
|
+
**语言**: Java
|
|
419
|
+
|
|
420
|
+
**用途**: 实现定时自动化任务
|
|
421
|
+
|
|
422
|
+
📝 **命名规则**: 采用驼峰命名(PascalCase):首字母大写的驼峰命名(例如:DailyDataSync、MonthlyReportGenerator、DataCleanupTask)
|
|
423
|
+
|
|
424
|
+
### 使用场景
|
|
425
|
+
|
|
426
|
+
- 定时数据同步(从第三方系统同步数据)
|
|
427
|
+
- 定时报表生成
|
|
428
|
+
- 定时数据清理和归档
|
|
429
|
+
- 定时数据校验和修复
|
|
430
|
+
- 定时发送通知和提醒
|
|
431
|
+
- 定时统计和汇总
|
|
432
|
+
|
|
433
|
+
### 功能特性
|
|
434
|
+
|
|
435
|
+
- 继承 CCSchedule 基类
|
|
436
|
+
- 可以调用自定义类
|
|
437
|
+
- 可以操作 CloudCC 数据
|
|
438
|
+
- 可以调用外部 API
|
|
439
|
+
|
|
440
|
+
**执行方式**: 根据定时作业配置的时间规则(Cron 表达式)自动执行
|
|
441
|
+
|
|
442
|
+
**关联**: 自定义类
|
|
443
|
+
|
|
444
|
+
---
|
|
445
|
+
|
|
446
|
+
## 触发器 (Trigger)
|
|
447
|
+
|
|
448
|
+
**定义**: 在特定数据操作事件发生之前或之后执行的 Java 代码
|
|
449
|
+
|
|
450
|
+
**基类**: CCTrigger
|
|
451
|
+
**语言**: Java
|
|
452
|
+
|
|
453
|
+
**用途**: 在数据操作时自动执行业务逻辑
|
|
454
|
+
|
|
455
|
+
📝 **命名规则**: 采用驼峰命名(PascalCase):首字母大写的驼峰命名(例如:OrderBeforeSave、AccountAfterUpdate、ContactValidationTrigger)
|
|
456
|
+
|
|
457
|
+
### 使用场景
|
|
458
|
+
|
|
459
|
+
- 数据验证(保存前验证数据合法性)
|
|
460
|
+
- 字段自动填充(根据规则自动计算字段值)
|
|
461
|
+
- 关联数据更新(更新主记录时自动更新子记录)
|
|
462
|
+
- 业务规则执行(强制执行业务约束)
|
|
463
|
+
- 数据同步(保存后同步到其他系统)
|
|
464
|
+
- 审计日志记录
|
|
465
|
+
|
|
466
|
+
### 功能特性
|
|
467
|
+
|
|
468
|
+
- 继承 CCTrigger 基类
|
|
469
|
+
- 必须关联到特定对象
|
|
470
|
+
- 支持多种触发时机
|
|
471
|
+
- 可以访问操作前后的数据
|
|
472
|
+
- 可以阻止保存操作
|
|
473
|
+
|
|
474
|
+
### 触发时机
|
|
475
|
+
|
|
476
|
+
**Before 事件**:
|
|
477
|
+
- beforeInsert - 插入前
|
|
478
|
+
- beforeUpdate - 更新前
|
|
479
|
+
- beforeUpsert - 插入或更新前
|
|
480
|
+
- beforeDelete - 删除前
|
|
481
|
+
- beforeBatch - 批量操作前
|
|
482
|
+
|
|
483
|
+
**After 事件**:
|
|
484
|
+
- afterInsert - 插入后
|
|
485
|
+
- afterUpdate - 更新后
|
|
486
|
+
- afterUpsert - 插入或更新后
|
|
487
|
+
- afterDelete - 删除后
|
|
488
|
+
- afterInsertCommit - 插入提交后
|
|
489
|
+
- afterUpdateCommit - 更新提交后
|
|
490
|
+
- afterUpsertCommit - 插入或更新提交后
|
|
491
|
+
- afterDeleteCommit - 删除提交后
|
|
492
|
+
- afterBatch - 批量操作后
|
|
493
|
+
- commitBatch - 批量提交后
|
|
494
|
+
|
|
495
|
+
**特殊事件**:
|
|
496
|
+
- approval - 审批时
|
|
497
|
+
|
|
498
|
+
**API 访问**: 与自定义类共享相同的 CCService API
|
|
499
|
+
|
|
500
|
+
**关联**: 自定义对象、自定义类
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
## 自定义组件 (Custom Component)
|
|
505
|
+
|
|
506
|
+
**定义**: 使用 Vue 开发的 DOM 组件,主要用于自定义页面布局编辑器,支持页面的可视化搭建
|
|
507
|
+
|
|
508
|
+
**框架**: Vue 2.x
|
|
509
|
+
**语言**: JavaScript/Vue
|
|
510
|
+
|
|
511
|
+
**用途**: 创建自定义页面和可视化组件
|
|
512
|
+
|
|
513
|
+
📝 **命名规则**: 采用 DOM 元素命名(kebab-case):小写字母,单词之间用连字符分隔(例如:order-list、product-detail、data-chart)
|
|
514
|
+
|
|
515
|
+
### 使用场景
|
|
516
|
+
|
|
517
|
+
- 创建自定义业务页面
|
|
518
|
+
- 实现复杂的数据展示
|
|
519
|
+
- 开发可视化报表和图表
|
|
520
|
+
- 实现自定义的表单和输入控件
|
|
521
|
+
- 创建移动端自定义页面
|
|
522
|
+
- 开发个性化的用户界面
|
|
523
|
+
|
|
524
|
+
### 功能特性
|
|
525
|
+
|
|
526
|
+
- 基于 Vue 2.x 开发单页面组件
|
|
527
|
+
- 组件名称必须遵循 cc-xxx 格式命名(例如:cc-user-list),禁止使用驼峰命名法(CamelCase)。
|
|
528
|
+
- 可以使用第三方 UI 组件库:Element UI 2、ECharts
|
|
529
|
+
- 可以使用 CCDK API
|
|
530
|
+
- 通过 $CCDK.CCCommon.post() 访问 自定义类接口
|
|
531
|
+
- 使用cloudcc-cli 工具发布组件
|
|
532
|
+
|
|
533
|
+
**应用方式**: 嵌入到自定义页面、嵌入到标准页面中
|
|
534
|
+
|
|
535
|
+
**开发方式**: 本地开发调试,编译后发布到服务器
|
|
536
|
+
|
|
537
|
+
**关联**: 客户端脚本、CCDK
|
|
538
|
+
|
|
539
|
+
---
|
|
540
|
+
|
|
541
|
+
## 自定义页面 (Custom Page)
|
|
542
|
+
|
|
543
|
+
**定义**: 使用自定义组件和平台提供的标准组件灵活搭建的页面
|
|
544
|
+
|
|
545
|
+
**用途**: 创建个性化的业务页面
|
|
546
|
+
|
|
547
|
+
**应用方式**: 通过系统的自定义菜单打开、通过自定义按钮打开
|
|
548
|
+
|
|
549
|
+
💡 **说明**: 使用页面布局编辑器进行可视化搭建
|
|
550
|
+
|
|
551
|
+
---
|
|
552
|
+
|
|
553
|
+
## 客户端脚本 (Client Script)
|
|
554
|
+
|
|
555
|
+
**定义**: 使用 JavaScript 编写的代码片段,在系统运行的特定时机执行
|
|
556
|
+
|
|
557
|
+
**语言**: JavaScript
|
|
558
|
+
|
|
559
|
+
📝 **命名规则**: 采用驼峰命名(PascalCase):首字母大写的驼峰命名(例如:OrderPageInit、AccountFieldChange、ContactValidation)
|
|
560
|
+
|
|
561
|
+
### 使用场景
|
|
562
|
+
|
|
563
|
+
- 不能在自定义页面中使用
|
|
564
|
+
- 系统标准页面加载时初始化数据
|
|
565
|
+
- 系统标准页面字段值变化时联动其他字段
|
|
566
|
+
- 系统标准页面保存前进行客户端验证
|
|
567
|
+
- 系统标准页面根据用户简档动态显示/隐藏字段或区域
|
|
568
|
+
- 系统标准页面调用自定义类的 API 接口,使用$CCDK.CCCommon.post()方法
|
|
569
|
+
|
|
570
|
+
### 功能特性
|
|
571
|
+
|
|
572
|
+
- 必须关联到系统标准页面的页面类型
|
|
573
|
+
- 通过 $CCDK 对象访问平台功能
|
|
574
|
+
- 可以操作页面元素
|
|
575
|
+
- 可以调用后端 API
|
|
576
|
+
- 可以监听页面事件
|
|
577
|
+
|
|
578
|
+
### 执行时机
|
|
579
|
+
|
|
580
|
+
- 打开新建页时
|
|
581
|
+
- 打开编辑页时
|
|
582
|
+
- 打开详情页时
|
|
583
|
+
- 字段值变化时
|
|
584
|
+
- 保存前/保存后
|
|
585
|
+
|
|
586
|
+
### 事件类型
|
|
587
|
+
|
|
588
|
+
- onLoad - 页面加载时
|
|
589
|
+
- onCreated - 页面创建后
|
|
590
|
+
- onDestroy - 页面销毁时
|
|
591
|
+
- beforeSave - 保存前
|
|
592
|
+
- afterSave - 保存后
|
|
593
|
+
- onFieldChange - 字段变化时
|
|
594
|
+
|
|
595
|
+
**API 访问**: 必须通过 $CCDK 对象访问 CloudCC API,这是脚本开发的核心
|
|
596
|
+
|
|
597
|
+
**关联**: 自定义对象、自定义组件、CCDK
|
|
598
|
+
|
|
599
|
+
---
|
|
600
|
+
|
|
601
|
+
## CCDK (CloudCC Development Kit)
|
|
602
|
+
|
|
603
|
+
**定义**: CloudCC 提供的全局 JavaScript API 对象,用于客户端开发
|
|
604
|
+
|
|
605
|
+
**框架**: CCDK
|
|
606
|
+
**语言**: JavaScript
|
|
607
|
+
|
|
608
|
+
**用途**: 在客户端脚本和自定义组件中访问 CloudCC 平台功能
|
|
609
|
+
|
|
610
|
+
⚠️ **重要性**: 客户端开发的核心 API,提供了丰富的平台功能访问能力
|
|
611
|
+
|
|
612
|
+
### 主要模块
|
|
613
|
+
|
|
614
|
+
#### CCUser
|
|
615
|
+
用户信息
|
|
616
|
+
**能力**: 获取当前用户信息、获取用户权限、获取用户简档
|
|
617
|
+
|
|
618
|
+
#### CCPage
|
|
619
|
+
页面操作
|
|
620
|
+
**能力**: 页面跳转、打开弹窗、关闭页面、刷新页面
|
|
621
|
+
|
|
622
|
+
#### CCDetail
|
|
623
|
+
详情页操作
|
|
624
|
+
**能力**: 获取记录数据、更新记录、操作相关列表
|
|
625
|
+
|
|
626
|
+
#### CCUtils
|
|
627
|
+
工具函数
|
|
628
|
+
**能力**: 日期处理、字符串处理、数据格式化
|
|
629
|
+
|
|
630
|
+
#### CCMessage
|
|
631
|
+
消息提示
|
|
632
|
+
**能力**: 显示成功/错误/警告消息、显示加载提示
|
|
633
|
+
|
|
634
|
+
#### CCBus
|
|
635
|
+
事件总线
|
|
636
|
+
**能力**: 组件间通信、事件监听、事件触发
|
|
637
|
+
|
|
638
|
+
#### CCCommon
|
|
639
|
+
自定义接口交互
|
|
640
|
+
**能力**: 调用自定义类接口、HTTP 请求
|
|
641
|
+
|
|
642
|
+
#### CCApplication
|
|
643
|
+
应用信息
|
|
644
|
+
**能力**: 获取应用配置、获取系统设置
|
|
645
|
+
|
|
646
|
+
#### CCCall
|
|
647
|
+
拨打电话
|
|
648
|
+
**能力**: 调起电话拨号
|
|
649
|
+
|
|
650
|
+
**文档获取**:
|
|
651
|
+
- 使用 get_client_script_editor_guide 获取客户端脚本中的完整 CCDK API 文档
|
|
652
|
+
- 使用 get_component_editor_guide 获取自定义组件中的 CCDK API 使用指南
|
|
653
|
+
|
|
654
|
+
**关联**: 客户端脚本、自定义组件
|
|
655
|
+
|
|
656
|
+
# 三、项目目录结构
|
|
657
|
+
|
|
658
|
+
CloudCC 开发项目的标准目录结构
|
|
659
|
+
|
|
660
|
+
⚠️ **重要提示**: 开发工具必须直接打开项目目录,不能嵌套多层文件夹,否则无法正常使用 cloudcc-cli 工具
|
|
661
|
+
|
|
662
|
+
## 3.1 目录树结构
|
|
663
|
+
|
|
664
|
+
\`\`\`
|
|
665
|
+
项目根目录/
|
|
666
|
+
├── classes/ # 自定义类
|
|
667
|
+
│ └── [ClassName]/
|
|
668
|
+
│ ├── [ClassName].java # 业务代码
|
|
669
|
+
│ ├── [ClassName]Test.java # 测试代码
|
|
670
|
+
│ └── config.json # 配置
|
|
671
|
+
├── lib/ # 依赖 jar 包
|
|
672
|
+
│ ├── ccopenapi-0.0.3.jar
|
|
673
|
+
│ ├── fastjson-1.2.83.jar
|
|
674
|
+
│ └── reflections-0.9.12.jar
|
|
675
|
+
├── plugins/ # 自定义组件
|
|
676
|
+
│ └── [component-name]/
|
|
677
|
+
│ ├── [component-name].vue # 组件入口
|
|
678
|
+
│ ├── config.json
|
|
679
|
+
│ └── components/ # 子组件
|
|
680
|
+
│ └── HelloWorld.vue
|
|
681
|
+
├── schedule/ # 定时器类
|
|
682
|
+
│ └── [ScheduleName]/
|
|
683
|
+
│ ├── [ScheduleName].java
|
|
684
|
+
│ └── config.json
|
|
685
|
+
├── script/ # 客户端脚本
|
|
686
|
+
│ └── [对象名称]/
|
|
687
|
+
│ └── [ScriptName]/
|
|
688
|
+
│ ├── [ScriptName].js
|
|
689
|
+
│ └── config.json
|
|
690
|
+
├── src/ # 组件调试入口
|
|
691
|
+
│ ├── App.vue
|
|
692
|
+
│ └── main.js
|
|
693
|
+
├── triggers/ # 触发器
|
|
694
|
+
│ └── [objectName]/
|
|
695
|
+
│ └── [TriggerName]/
|
|
696
|
+
│ ├── [TriggerName].java
|
|
697
|
+
│ └── config.json
|
|
698
|
+
├── .cloudcc-cache.json # 密钥缓存(2小时)
|
|
699
|
+
├── .gitignore
|
|
700
|
+
├── babel.config.js
|
|
701
|
+
├── cloudcc-cli.config.js # 开发者密钥配置 ⚠️
|
|
702
|
+
├── package.json
|
|
703
|
+
└── vue.config.js
|
|
704
|
+
\`\`\`
|
|
705
|
+
|
|
706
|
+
## 3.2 目录详细说明
|
|
707
|
+
|
|
708
|
+
### classes/ - 自定义类
|
|
709
|
+
自定义类管理文件夹
|
|
710
|
+
|
|
711
|
+
**文件结构**:
|
|
712
|
+
- **[ClassName].java**: 业务代码开发文件 (主要的业务逻辑在这里实现)
|
|
713
|
+
- **[ClassName]Test.java**: 单元测试类 (用于测试业务代码)
|
|
714
|
+
- **config.json**: 配置元信息 (一般不需要手动修改)
|
|
715
|
+
|
|
716
|
+
### lib/ - 依赖库
|
|
717
|
+
依赖 jar 包存储文件夹
|
|
718
|
+
|
|
719
|
+
- **ccopenapi-0.0.3.jar**: CloudCC 封装的 Java SDK - 用于与系统功能交互
|
|
720
|
+
- **fastjson-1.2.83.jar**: JSON 序列化工具
|
|
721
|
+
- **reflections-0.9.12.jar**: 反射工具
|
|
722
|
+
|
|
723
|
+
### plugins/ - 自定义组件
|
|
724
|
+
自定义组件管理文件夹
|
|
725
|
+
|
|
726
|
+
**文件结构**:
|
|
727
|
+
- **[component-name].vue**: 组件入口文件 (发布时必须右键点击这个文件)
|
|
728
|
+
- **config.json**: 配置元信息
|
|
729
|
+
- **components/**: 子组件目录
|
|
730
|
+
|
|
731
|
+
### schedule/ - 定时类
|
|
732
|
+
定时器类管理文件夹
|
|
733
|
+
|
|
734
|
+
### script/ - 客户端脚本
|
|
735
|
+
客户端脚本管理文件夹
|
|
736
|
+
|
|
737
|
+
**目录层级**: \`[对象名称]/[ScriptName]/\`
|
|
738
|
+
|
|
739
|
+
### triggers/ - 触发器
|
|
740
|
+
触发器管理文件夹
|
|
741
|
+
|
|
742
|
+
**目录层级**: \`[objectName]/[TriggerName]/\`
|
|
743
|
+
|
|
744
|
+
### src/ - 组件调试入口
|
|
745
|
+
自定义组件调试入口文件夹
|
|
746
|
+
|
|
747
|
+
- **App.vue**: 组件调试入口文件 (需要将调试的组件 import 到这个文件中)
|
|
748
|
+
- **main.js**: 配置文件 (一般不需要调整)
|
|
749
|
+
|
|
750
|
+
## 3.3 配置文件说明
|
|
751
|
+
|
|
752
|
+
### .cloudcc-cache.json
|
|
753
|
+
开发者密钥缓存文件
|
|
754
|
+
💡 有效期 2 小时,临时更换密钥时需删除此文件
|
|
755
|
+
|
|
756
|
+
### .gitignore
|
|
757
|
+
Git 仓库忽略配置文件
|
|
758
|
+
|
|
759
|
+
### babel.config.js
|
|
760
|
+
Babel 配置文件
|
|
761
|
+
💡 用于配置 Vue 编译时的兼容问题
|
|
762
|
+
|
|
763
|
+
### cloudcc-cli.config.js
|
|
764
|
+
开发者密钥配置文件
|
|
765
|
+
💡 重要:配置 safetyMark 和 CloudCCDev
|
|
766
|
+
|
|
767
|
+
### package.json
|
|
768
|
+
自定义组件依赖文件
|
|
769
|
+
💡 开发组件时的 npm 依赖管理
|
|
770
|
+
|
|
771
|
+
### vue.config.js
|
|
772
|
+
Vue 编译配置文件
|
|
773
|
+
|
|
774
|
+
---
|
|
775
|
+
|
|
776
|
+
# 四、开发流程
|
|
777
|
+
|
|
778
|
+
## 项目初始化
|
|
779
|
+
|
|
780
|
+
1. 使用 get_dev_environment_validator 检查环境
|
|
781
|
+
2. 使用 get_dev_environment_creator 创建项目
|
|
782
|
+
3. 使用 get_developer_key_setup_guide 配置密钥
|
|
783
|
+
|
|
784
|
+
## 数据模型设计
|
|
785
|
+
1. 使用 get_object_list 查看对象列表
|
|
786
|
+
2. 使用 get_object_fields 查看对象字段列表
|
|
787
|
+
3. 使用 create_custom_object 创建对象
|
|
788
|
+
4. 使用 create_object_field 创建字段
|
|
789
|
+
|
|
790
|
+
## 后端开发
|
|
791
|
+
|
|
792
|
+
1. 根据需求选择工具:create_class / create_trigger / create_schedule
|
|
793
|
+
2. 使用对应的 *_editor_guide 获取开发指南
|
|
794
|
+
3. 编写代码(遵循指南中的规范和最佳实践)
|
|
795
|
+
4. 使用 publish_* 推送到服务器
|
|
796
|
+
|
|
797
|
+
## 前端开发
|
|
798
|
+
|
|
799
|
+
1. 使用 create_custom_component 创建组件(如需要)
|
|
800
|
+
2. 使用 get_component_editor_guide 获取开发指南
|
|
801
|
+
3. 编写组件代码,使用CCDK API进行开发,特别是$CCDK.CCCommon.post方法用于调用自定义类
|
|
802
|
+
4. 使用 publish_custom_component 编译并推送
|
|
803
|
+
|
|
804
|
+
## 通用开发流程
|
|
805
|
+
|
|
806
|
+
1. **环境准备**: 检查和配置开发环境
|
|
807
|
+
2. **规划设计**: 确定需要创建哪些对象、类、组件等
|
|
808
|
+
3. **创建资源**: 使用对应的 create_* 工具创建资源
|
|
809
|
+
4. **编写代码**: 使用对应的 *_editor_guide 工具获取开发指南,然后编写代码
|
|
810
|
+
5. **本地测试**: 在本地测试代码功能
|
|
811
|
+
6. **部署发布**: 使用对应的 publish_* 工具推送到服务器
|
|
812
|
+
7. **维护更新**: 使用 pull_* 工具同步服务器代码,使用 *_detail 工具查看详情
|
|
813
|
+
|
|
814
|
+
---
|
|
815
|
+
|
|
816
|
+
# 五、快速开始指南
|
|
817
|
+
|
|
818
|
+
## 场景 1: 开始新项目
|
|
819
|
+
|
|
820
|
+
**工具使用顺序**:
|
|
821
|
+
1. \`get_dev_environment_validator\` - 检查开发环境
|
|
822
|
+
2. \`get_dev_environment_creator\` - 创建项目模板
|
|
823
|
+
3. \`get_developer_key_setup_guide\` - 配置开发者密钥
|
|
824
|
+
|
|
825
|
+
## 场景 2: 开发数据模型
|
|
826
|
+
|
|
827
|
+
1. \`create_custom_object\` - 创建自定义对象
|
|
828
|
+
2. \`get_object_fields\` - 查看和管理字段
|
|
829
|
+
|
|
830
|
+
## 场景 3: 开发后端功能
|
|
831
|
+
|
|
832
|
+
**根据需求选择**:
|
|
833
|
+
- **定时任务** → \`create_schedule\`
|
|
834
|
+
- **数据触发** → \`create_trigger\`
|
|
835
|
+
- **业务逻辑** → \`create_class\`
|
|
836
|
+
|
|
837
|
+
⚠️ **重要**: 编辑任何后端代码前,必须先使用 \`*_editor_guide\` 工具获取开发指南!
|
|
838
|
+
|
|
839
|
+
## 场景 4: 开发前端功能
|
|
840
|
+
|
|
841
|
+
**根据需求选择**:
|
|
842
|
+
- **自定义页面** → \`create_custom_component\` + \`get_component_editor_guide\`
|
|
843
|
+
- **标准页面交互** → \`get_client_script_list\` + \`get_client_script_editor_guide\`
|
|
844
|
+
|
|
845
|
+
💡 **提示**: CCDK 是前端开发的核心 API,通过 \`$CCDK\` 访问平台功能
|
|
846
|
+
|
|
847
|
+
---
|
|
848
|
+
|
|
849
|
+
# 总结
|
|
850
|
+
|
|
851
|
+
CloudCC 是一个功能强大的低代码 CRM 平台,提供:
|
|
852
|
+
|
|
853
|
+
✅ **完善的数据模型** - 26 种字段类型,支持复杂业务场景
|
|
854
|
+
✅ **灵活的后端开发** - 自定义类、触发器、定时任务
|
|
855
|
+
✅ **丰富的前端能力** - Vue 组件、客户端脚本、CCDK API
|
|
856
|
+
✅ **标准化的开发流程** - 从环境搭建到部署发布的完整工具链
|
|
857
|
+
✅ **强大的 MCP 工具** - AI 辅助开发,提升开发效率
|
|
858
|
+
|
|
859
|
+
**开发原则**:
|
|
860
|
+
1. 编辑任何代码前,先使用 \`*_editor_guide\` 获取开发指南
|
|
861
|
+
2. 遵循平台规范和最佳实践
|
|
862
|
+
3. 合理使用 CCDK API 访问平台功能
|
|
863
|
+
4. 注重代码质量和可维护性
|
|
864
|
+
`;
|
|
865
|
+
|
|
866
|
+
module.exports = {
|
|
867
|
+
prompts: {
|
|
868
|
+
overviewContent
|
|
869
|
+
}
|
|
870
|
+
};
|