cloudcc-cli 2.3.2 → 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.
@@ -1,12 +1,6 @@
1
- # CloudCC 简档使用总结
1
+ # CloudCC 简档 CLI 命令说明
2
2
 
3
- 简档(Profile)用于定义 CloudCC 系统中用户的权限集合,控制用户可以访问的对象、字段和功能。
4
-
5
- ---
6
-
7
- ## 快速开始(CLI 命令)
8
-
9
- ### 支持的简档操作
3
+ ## 支持的命令
10
4
 
11
5
  | 操作 | 说明 |
12
6
  |------|------|
@@ -14,14 +8,10 @@
14
8
  | `get` | 查询简档列表 |
15
9
  | `delete` | 删除自定义简档 |
16
10
 
17
- ---
18
-
19
11
  ## CLI 命令详解
20
12
 
21
13
  ### 创建简档
22
14
 
23
- 创建一个新的自定义简档,基于现有简档复制权限配置。
24
-
25
15
  ```bash
26
16
  cc create profile <path> <profileName> [description]
27
17
  ```
@@ -32,7 +22,7 @@ cc create profile <path> <profileName> [description]
32
22
  |------|------|------|
33
23
  | `path` | 是 | 项目路径,`.` 表示当前目录 |
34
24
  | `profileName` | 是 | 简档名称 |
35
- | `description` | 否 | 简档描述(暂不支持保存到后端) |
25
+ | `description` | 否 | 简档描述 |
36
26
 
37
27
  **示例:**
38
28
 
@@ -44,12 +34,8 @@ cc create profile . "销售经理简档"
44
34
  cc create profile . "销售代表简档" "适用于销售团队的权限配置"
45
35
  ```
46
36
 
47
- ---
48
-
49
37
  ### 查询简档列表
50
38
 
51
- 获取当前环境中的所有简档列表。
52
-
53
39
  ```bash
54
40
  cc get profile <projectPath> [encodedCondJson]
55
41
  ```
@@ -71,12 +57,8 @@ cc get profile .
71
57
  cc get profile . '%7B%22type%22%3A%22custom%22%7D'
72
58
  ```
73
59
 
74
- ---
75
-
76
60
  ### 删除简档
77
61
 
78
- 删除指定的自定义简档。
79
-
80
62
  ```bash
81
63
  cc delete profile <projectPath> <profileId>
82
64
  ```
@@ -91,242 +73,5 @@ cc delete profile <projectPath> <profileId>
91
73
  **示例:**
92
74
 
93
75
  ```bash
94
- # 删除指定简档
95
76
  cc delete profile . aaa202672F656B7VfEjL
96
77
  ```
97
-
98
- ---
99
-
100
- ## 完整工作流示例
101
-
102
- ### 场景:为销售团队创建新的权限简档
103
-
104
- ```bash
105
- # 1. 确认项目已初始化(有 cloudcc-cli.config.js)
106
- cat cloudcc-cli.config.js
107
-
108
- # 2. 查询现有简档
109
- cc get profile .
110
-
111
- # 3. 创建新的销售经理简档(自动复制第一个现有简档的权限)
112
- cc create profile . "销售经理简档" "销售团队经理级别的权限配置"
113
-
114
- # 4. 验证简档创建成功
115
- cc get profile .
116
-
117
- # 5. 如需删除
118
- # cc delete profile . <profileId>
119
- ```
120
-
121
- ---
122
-
123
- ## API 接口详情
124
-
125
- ### 什么是简档?
126
-
127
- **简档(Profile)** 是 CloudCC 系统的权限配置单元,定义了用户对系统中各种资源的访问权限。
128
-
129
- ### 核心属性
130
-
131
- | 属性 | 说明 | 示例 |
132
- |------|------|------|
133
- | **名称(name)** | 简档显示名称 | "销售经理简档" |
134
- | **描述(description)** | 简档功能描述 | "适用于销售团队经理" |
135
- | **类型(type)** | 系统简档或自定义 | `system` / `custom` |
136
- | **创建时间** | 简档创建时间戳 | 1757993089000 |
137
-
138
- ---
139
-
140
- ## 简档类型
141
-
142
- CloudCC 支持两种简档类型:
143
-
144
- | 类型 | 说明 | 适用场景 |
145
- |------|------|----------|
146
- | **系统简档** | 系统预设的简档 | 标准用户、管理员等 |
147
- | **自定义简档** | 用户自定义创建的简档 | 特定业务角色 |
148
-
149
- ---
150
-
151
- ## 一、查询简档
152
-
153
- ### 1.1 查询简档列表
154
-
155
- **接口**: `POST /api/profile/listAll`
156
-
157
- **请求参数**:
158
-
159
- | 参数名 | 类型 | 必填 | 说明 |
160
- |--------|------|------|------|
161
- | keyword | string | 否 | 搜索关键词 |
162
- | type | string | 否 | 类型过滤:system/custom |
163
-
164
- **返回数据**:
165
-
166
- ```javascript
167
- {
168
- "result": true,
169
- "data": {
170
- "list": [
171
- {
172
- "id": "aaa202672F656B7VfEjL",
173
- "name": "系统管理员",
174
- "description": "系统管理员简档",
175
- "type": "system"
176
- }
177
- ]
178
- }
179
- }
180
- ```
181
-
182
- ---
183
-
184
- ## 二、创建简档
185
-
186
- ### 2.1 获取可复制的简档列表
187
-
188
- **接口**: `POST /api/profile/copyProfile`
189
-
190
- **请求参数**:无
191
-
192
- **返回数据**:
193
-
194
- ```javascript
195
- {
196
- "result": true,
197
- "data": {
198
- "profileList": [
199
- {
200
- "id": "aaa000001",
201
- "name": "系统管理员",
202
- "description": "系统管理员简档"
203
- }
204
- ]
205
- }
206
- }
207
- ```
208
-
209
- ### 2.2 创建新简档
210
-
211
- **接口**: `POST /api/profile/newProfile`
212
-
213
- **请求参数**:
214
-
215
- | 参数名 | 类型 | 必填 | 说明 |
216
- |--------|------|------|------|
217
- | newProfileName | string | 是 | 新简档名称 |
218
- | type | string | 否 | 简档类型(传空字符串) |
219
- | copyFromId | string | 是 | 复制来源简档 ID(来自 copyProfile 接口) |
220
-
221
- **请求示例**:
222
-
223
- ```json
224
- {
225
- "newProfileName": "系统管理员_test",
226
- "type": "",
227
- "copyFromId": "aaa000001"
228
- }
229
- ```
230
-
231
- ---
232
-
233
- ## 三、删除简档
234
-
235
- ### 3.1 删除前检查
236
-
237
- - [ ] 是否有用户正在使用该简档
238
- - [ ] 是否是系统预设简档(系统简档不可删除)
239
- - [ ] 级联影响确认
240
-
241
- ### 3.2 删除流程
242
-
243
- **接口**: `POST /api/profile/delProfile`
244
-
245
- **请求参数**:
246
-
247
- | 参数名 | 类型 | 必填 | 说明 |
248
- |--------|------|------|------|
249
- | id | string | 是 | 简档 ID |
250
-
251
- **请求示例**:
252
-
253
- ```json
254
- {
255
- "id": "aaa202672F656B7VfEjL"
256
- }
257
- ```
258
-
259
- ---
260
-
261
- ## 四、简档数据结构
262
-
263
- ```javascript
264
- // 查询接口返回的简档数据
265
- {
266
- id: "aaa202672F656B7VfEjL",
267
- name: "销售经理简档",
268
- description: "销售团队经理级别的权限配置",
269
- type: "custom"
270
- }
271
-
272
- // copyProfile 接口返回的简档数据
273
- {
274
- id: "aaa000001",
275
- name: "系统管理员",
276
- description: "系统管理员简档"
277
- }
278
- ```
279
-
280
- ---
281
-
282
- ## 五、最佳实践
283
-
284
- ### 命名规范
285
-
286
- | 项目 | 规范 | 示例 |
287
- |------|------|------|
288
- | 简档名称 | 角色 + 简档 | `销售经理简档`、`客服代表简档` |
289
- | 描述 | 说明适用场景 | `适用于销售团队经理级别` |
290
-
291
- ### 权限设计
292
-
293
- - **按需分配**:只为需要的角色分配权限
294
- - **最小权限原则**:用户只拥有完成工作所需的最小权限
295
- - **定期审查**:定期检查简档权限分配是否合理
296
-
297
- ### 创建简档注意事项
298
-
299
- - 创建简档时会自动复制第一个可用简档的权限配置
300
- - 如需特定权限配置,创建后需在 CloudCC 控制台手动调整
301
- - 建议基于权限最接近的简档进行复制
302
-
303
- ---
304
-
305
- ## 六、常见问题
306
-
307
- **Q: 简档创建后为什么不生效?**
308
-
309
- A: 检查以下几点:
310
- 1. 简档是否已分配给相关用户
311
- 2. 用户是否已重新登录
312
- 3. 缓存是否已刷新
313
-
314
- **Q: 可以修改系统简档吗?**
315
-
316
- A: 系统简档不可修改,建议克隆系统简档创建自定义简档进行修改。
317
-
318
- **Q: 删除简档会影响用户吗?**
319
-
320
- A: 会。删除简档前需要确保没有用户正在使用该简档,否则这些用户将失去权限配置。
321
-
322
- **Q: 如何查看简档的完整配置信息?**
323
-
324
- A: 目前 CLI 只支持列表查询,详细配置需在 CloudCC 控制台查看。
325
-
326
- **Q: 创建简档时如何选择复制来源?**
327
-
328
- A: 当前实现自动选择第一个可用简档作为复制来源。如需特定来源,建议先调用 `cc get profile .` 查看列表顺序。
329
-
330
- ---
331
-
332
- *文档版本:1.1 | 最后更新:2026-03-26*
@@ -1,12 +1,6 @@
1
- # CloudCC 角色使用总结
1
+ # CloudCC 角色 CLI 命令说明
2
2
 
3
- 角色(Role)是 CloudCC 系统中用于定义职能分工和业务角色的重要概念。通过角色可以对用户进行分组管理,实现权限的精细化控制。
4
-
5
- ---
6
-
7
- ## 快速开始(CLI 命令)
8
-
9
- ### 支持的角色操作
3
+ ## 支持的命令
10
4
 
11
5
  | 操作 | 说明 |
12
6
  |------|------|
@@ -14,14 +8,10 @@
14
8
  | `get` | 查询角色列表 |
15
9
  | `delete` | 删除角色 |
16
10
 
17
- ---
18
-
19
11
  ## CLI 命令详解
20
12
 
21
13
  ### 创建角色
22
14
 
23
- 创建一个新的 CloudCC 角色。
24
-
25
15
  ```bash
26
16
  cc create role <path> <roleName> [parentRoleName] [description]
27
17
  ```
@@ -32,8 +22,8 @@ cc create role <path> <roleName> [parentRoleName] [description]
32
22
  |------|------|------|
33
23
  | `path` | 是 | 项目路径,`.` 表示当前目录 |
34
24
  | `roleName` | 是 | 角色名称 |
35
- | `parentRoleName` | 否 | 直属上司角色名称(不传则交互式选择) |
36
- | `description` | 否 | 角色描述(暂不支持保存到后端) |
25
+ | `parentRoleName` | 否 | 直属上司角色名称(不传则交互式选择)|
26
+ | `description` | 否 | 角色描述 |
37
27
 
38
28
  **示例:**
39
29
 
@@ -41,24 +31,15 @@ cc create role <path> <roleName> [parentRoleName] [description]
41
31
  # 交互式选择直属上司
42
32
  cc create role . "销售经理"
43
33
 
44
- # 指定直属上司为 CEO(非交互式)
34
+ # 指定直属上司(非交互式)
45
35
  cc create role . "销售经理" "CEO"
46
36
 
47
37
  # 指定直属上司并添加描述
48
38
  cc create role . "市场专员" "销售总监" "负责市场推广工作"
49
39
  ```
50
40
 
51
- **创建流程说明:**
52
- 1. 调用 `role/addRole` 获取可用直属上司列表
53
- 2. 如果指定了 `parentRoleName`,自动匹配对应角色;否则进入交互式选择
54
- 3. 调用 `role/saveRole` 创建新角色
55
-
56
- ---
57
-
58
41
  ### 查询角色列表
59
42
 
60
- 获取当前环境中的所有角色列表。
61
-
62
43
  ```bash
63
44
  cc get role <projectPath> [encodedCondJson]
64
45
  ```
@@ -80,12 +61,8 @@ cc get role .
80
61
  cc get role . '%7B%22name%22%3A%22%E9%94%80%E5%94%AE%22%7D'
81
62
  ```
82
63
 
83
- ---
84
-
85
64
  ### 删除角色
86
65
 
87
- 删除指定的角色。
88
-
89
66
  ```bash
90
67
  cc delete role <projectPath> <roleId>
91
68
  ```
@@ -100,288 +77,5 @@ cc delete role <projectPath> <roleId>
100
77
  **示例:**
101
78
 
102
79
  ```bash
103
- # 删除指定角色
104
80
  cc delete role . a0I9D000000XXXXUAI
105
81
  ```
106
-
107
- ---
108
-
109
- ## 完整工作流示例
110
-
111
- ### 场景:为新部门创建 CloudCC 角色
112
-
113
- ```bash
114
- # 1. 确认项目已初始化(有 cloudcc-cli.config.js)
115
- cat cloudcc-cli.config.js
116
-
117
- # 2. 查询现有角色
118
- cc get role .
119
-
120
- # 3. 创建新角色(交互式选择直属上司)
121
- cc create role . "销售经理"
122
- cc create role . "销售代表" "初级销售人员"
123
-
124
- # 4. 验证角色创建成功
125
- cc get role .
126
-
127
- # 5. 如需删除
128
- # cc delete role . <roleId>
129
- ```
130
-
131
- ### 创建角色流程说明
132
-
133
- 创建角色的完整流程包含以下步骤:
134
-
135
- 1. **获取直属上司列表** - 调用 `role/addRole` 接口获取可选的上级角色
136
- 2. **选择直属上司** - 通过交互式选择确定新角色的上级
137
- 3. **保存角色** - 调用 `role/saveRole` 接口创建角色
138
-
139
- ---
140
-
141
- ## API 接口详情
142
-
143
- ### 什么是角色?
144
-
145
- **角色(Role)** 是 CloudCC 系统中用于定义职能分工的概念。角色与简档(Profile)结合使用,共同控制用户的系统访问权限。
146
-
147
- ### 核心属性
148
-
149
- | 属性 | 说明 | 示例 |
150
- |------|------|------|
151
- | **名称(rolename)** | 角色显示名称 | "销售经理" |
152
- | **描述(description)** | 角色描述 | "负责销售团队管理" |
153
- | **父角色(parentroleId)** | 上级角色 ID | "2025238BCF0D98D52xUF" |
154
- | **角色ID(roleid)** | 角色唯一标识 | "202608C20F87C90KRqZr" |
155
- | **创建时间** | 角色创建时间戳 | 1757993089000 |
156
-
157
- ---
158
-
159
- ## 一、查询角色
160
-
161
- ### 1.1 查询角色列表
162
-
163
- **接口**: `POST /api/role/queryRole`
164
-
165
- **请求参数**:
166
-
167
- | 参数名 | 类型 | 必填 | 说明 |
168
- |--------|------|------|------|
169
- | display | string | 否 | 显示模式,传 `"list"` 返回列表数据 |
170
-
171
- **请求示例**:
172
-
173
- ```json
174
- {
175
- "display": "list"
176
- }
177
- ```
178
-
179
- **返回数据**:
180
-
181
- ```javascript
182
- {
183
- "result": true,
184
- "data": {
185
- "list": [
186
- {
187
- "id": "202608C20F87C90KRqZr",
188
- "rolename": "销售经理",
189
- "parentroleId": "2025238BCF0D98D52xUF"
190
- }
191
- ]
192
- }
193
- }
194
- ```
195
-
196
- ---
197
-
198
- ## 二、创建角色
199
-
200
- ### 2.1 获取直属上司列表
201
-
202
- **接口**: `POST /api/role/addRole`
203
-
204
- **说明**:创建角色前需要调用此接口获取可选的直属上司(上级角色)列表。
205
-
206
- **请求参数**:
207
-
208
- | 参数名 | 类型 | 必填 | 说明 |
209
- |--------|------|------|------|
210
- | id | string | 是 | 固定值 `"bab2025F8B20EE4d4005"` |
211
-
212
- **请求示例**:
213
-
214
- ```json
215
- {
216
- "id": "bab2025F8B20EE4d4005"
217
- }
218
- ```
219
-
220
- **返回数据**:
221
-
222
- ```javascript
223
- {
224
- "result": true,
225
- "data": {
226
- "flist": [
227
- {
228
- "id": "2025238BCF0D98D52xUF",
229
- "name": "总经理"
230
- },
231
- {
232
- "id": "2025238BCF0D98D52xUG",
233
- "name": "销售总监"
234
- }
235
- ]
236
- }
237
- }
238
- ```
239
-
240
- ### 2.2 保存新角色
241
-
242
- **接口**: `POST /api/role/saveRole`
243
-
244
- **说明**:选择直属上司后,调用此接口创建新角色。
245
-
246
- **请求参数**:
247
-
248
- | 参数名 | 类型 | 必填 | 说明 |
249
- |--------|------|------|------|
250
- | dataJson | string | 是 | JSON 字符串,包含 rolename 和 parentroleId |
251
-
252
- **dataJson 结构**:
253
-
254
- | 字段 | 类型 | 必填 | 说明 |
255
- |------|------|------|------|
256
- | rolename | string | 是 | 新角色名称 |
257
- | parentroleId | string | 是 | 直属上司角色 ID |
258
-
259
- **请求示例**:
260
-
261
- ```json
262
- {
263
- "dataJson": "{\"rolename\":\"新角色\",\"parentroleId\":\"2025238BCF0D98D52xUF\"}"
264
- }
265
- ```
266
-
267
- **返回数据**:
268
-
269
- ```javascript
270
- {
271
- "result": true,
272
- "data": "202608C20F87C90KRqZr" // 新创建的角色 ID
273
- }
274
- ```
275
-
276
- ### 2.3 创建流程总结
277
-
278
- ```
279
- ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
280
- │ 1. 调用 addRole │────▶│ 2. 选择直属上司 │────▶│ 3. 调用 saveRole│
281
- │ 获取上司列表 │ │ (交互式选择) │ │ 创建新角色 │
282
- └─────────────────┘ └─────────────────┘ └─────────────────┘
283
- ```
284
-
285
- ---
286
-
287
- ## 三、删除角色
288
-
289
- ### 3.1 删除前检查
290
-
291
- - [ ] 是否有用户关联此角色
292
- - [ ] 是否有下级角色依赖此角色
293
- - [ ] 级联影响确认
294
-
295
- ### 3.2 删除流程
296
-
297
- **接口**: `POST /api/role/deleteRole`
298
-
299
- **请求参数**:
300
-
301
- | 参数名 | 类型 | 必填 | 说明 |
302
- |--------|------|------|------|
303
- | roleid | string | 是 | 角色 ID(注意是小写) |
304
-
305
- **请求示例**:
306
-
307
- ```json
308
- {
309
- "roleid": "202608C20F87C90KRqZr"
310
- }
311
- ```
312
-
313
- ---
314
-
315
- ## 四、角色数据结构
316
-
317
- ### 4.1 查询接口返回的角色数据
318
-
319
- ```javascript
320
- {
321
- id: "202608C20F87C90KRqZr",
322
- rolename: "销售经理",
323
- parentroleId: "2025238BCF0D98D52xUF"
324
- }
325
- ```
326
-
327
- ### 4.2 addRole 接口返回的上司数据
328
-
329
- ```javascript
330
- {
331
- id: "2025238BCF0D98D52xUF",
332
- name: "总经理"
333
- }
334
- ```
335
-
336
- ---
337
-
338
- ## 五、最佳实践
339
-
340
- ### 命名规范
341
-
342
- | 项目 | 规范 | 示例 |
343
- |------|------|------|
344
- | 角色名 | 使用职能名称 | `销售经理`、`市场专员` |
345
- | 描述 | 简洁说明职责 | `负责华东区销售管理` |
346
-
347
- ### 角色层级设计
348
-
349
- - **合理分层**:根据组织架构设计角色层级
350
- - **避免循环**:确保角色层级无循环依赖
351
- - **权限继承**:上级角色自动继承下级角色的权限
352
-
353
- ### 创建角色注意事项
354
-
355
- - 创建角色时必须选择一个直属上司
356
- - 直属上司决定了角色在组织架构中的位置
357
- - 建议先规划好组织架构再批量创建角色
358
-
359
- ---
360
-
361
- ## 六、常见问题
362
-
363
- **Q: 角色和简档的区别?**
364
-
365
- A:
366
- - **简档(Profile)**:控制用户的系统功能访问权限,决定用户能做什么
367
- - **角色(Role)**:定义用户的组织架构位置,用于数据共享和审批流程
368
-
369
- **Q: 创建角色时如何选择直属上司?**
370
-
371
- A: 当前实现会自动调用 `addRole` 接口获取可用的直属上司列表,并通过交互式命令行让用户选择。如需特定来源,建议先调用 `cc get role .` 查看现有角色。
372
-
373
- **Q: 删除角色会影响用户吗?**
374
-
375
- A: 如果角色已被用户关联,删除前需要先解除关联或转移用户到其他角色。
376
-
377
- **Q: 可以修改角色的父级吗?**
378
-
379
- A: 可以,调用角色更新接口修改 `parentroleId` 字段,注意检查循环依赖。
380
-
381
- **Q: addRole 接口中的 id 参数是什么?**
382
-
383
- A: 这是固定值 `"bab2025F8B20EE4d4005"`,用于获取直属上司列表的上下文标识。
384
-
385
- ---
386
-
387
- *文档版本:1.1 | 最后更新:2026-03-26*