cloudcc-cli 2.3.1 → 2.3.2

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.
Files changed (232) hide show
  1. package/.claude/settings.json +15 -0
  2. package/.cloudcc-cache.json +21 -4
  3. package/.cursor/skills/cloudcc-cli-dev.zip +0 -0
  4. package/.cursor/skills/cloudcc-cli-usage/SKILL.md +67 -0
  5. package/README.md +11 -0
  6. package/bin/cc.js +13 -8
  7. package/bin/index.js +9 -2
  8. package/bin/mcp.js +1 -1
  9. package/build/component-CCPlugin1774500425584.common.js +831 -0
  10. package/build/component-CCPlugin1774500425584.common.js.map +1 -0
  11. package/build/component-CCPlugin1774500425584.css +1 -0
  12. package/build/component-CCPlugin1774500425584.umd.js +874 -0
  13. package/build/component-CCPlugin1774500425584.umd.js.map +1 -0
  14. package/build/component-CCPlugin1774500425584.umd.min.js +8 -0
  15. package/build/component-CCPlugin1774500425584.umd.min.js.map +1 -0
  16. package/build/demo.html +1 -0
  17. package/{src/mcp → mcp}/tools/Class Editor Guide/handler.js +12 -4
  18. package/{src/mcp → mcp}/tools/Component Editor Guide/handler.js +15 -14
  19. package/{src/mcp → mcp}/tools/Trigger Editor Guide/handler.js +8 -2
  20. package/package.json +2 -2
  21. package/src/application/doc.js +46 -0
  22. package/src/application/docs/devguide.md +173 -0
  23. package/src/application/docs/introduction.md +81 -0
  24. package/src/application/index.js +1 -0
  25. package/src/brief/get.js +1 -1
  26. package/src/classes/create.js +6 -1
  27. package/src/classes/delete.js +7 -1
  28. package/src/classes/detail.js +8 -1
  29. package/src/classes/doc.js +49 -472
  30. package/src/classes/docs/devguide.md +451 -0
  31. package/src/classes/get.js +9 -2
  32. package/src/classes/index.js +2 -1
  33. package/src/classes/publish.js +6 -1
  34. package/src/classes/pull.js +6 -1
  35. package/src/classes/pullList.js +6 -3
  36. package/src/config/doc.js +31 -0
  37. package/src/config/docs/devguide.md +100 -0
  38. package/src/config/index.js +5 -0
  39. package/src/customPage/create.js +52 -19
  40. package/src/customPage/doc.js +46 -0
  41. package/src/customPage/docs/devguide.md +200 -0
  42. 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
  43. package/src/customPage/index.js +1 -0
  44. package/src/customSetting/create.js +9 -0
  45. package/src/customSetting/delete.js +10 -1
  46. package/src/customSetting/deleteCustomSettingField.js +43 -0
  47. package/src/customSetting/detail.js +10 -1
  48. package/src/customSetting/doc.js +22 -179
  49. package/src/customSetting/docs/devguide.md +181 -0
  50. package/src/customSetting/docs/introduction.md +3 -0
  51. package/src/customSetting/editCustomSettingField.js +34 -0
  52. package/src/customSetting/get.js +9 -0
  53. package/src/customSetting/index.js +6 -1
  54. package/src/customSetting/modify.js +30 -0
  55. package/src/customSetting/saveCustomSettingField.js +46 -0
  56. package/src/fields/doc.js +45 -0
  57. package/src/fields/docs/devguide.md +224 -0
  58. package/src/fields/docs/introduction.md +217 -0
  59. package/src/fields/index.js +1 -0
  60. package/src/globalSelectList/create.js +51 -0
  61. package/src/globalSelectList/delete.js +56 -0
  62. package/src/globalSelectList/detail.js +45 -0
  63. package/src/globalSelectList/doc.js +52 -0
  64. package/src/globalSelectList/docs/devguide.md +212 -0
  65. package/src/globalSelectList/docs/introduction.md +82 -0
  66. package/src/globalSelectList/get.js +31 -0
  67. package/src/globalSelectList/index.js +16 -0
  68. package/src/menu/create-page.js +43 -6
  69. package/src/menu/create-script.js +67 -19
  70. package/src/menu/doc.js +57 -0
  71. package/src/menu/docs/devguide.md +203 -0
  72. package/src/menu/docs/introduction.md +99 -0
  73. package/src/menu/index.js +1 -0
  74. package/src/menu/validator.js +80 -0
  75. package/src/object/doc.js +45 -0
  76. package/src/object/docs/devguide.md +112 -0
  77. package/src/object/docs/introduction.md +187 -0
  78. package/src/object/get.js +1 -23
  79. package/src/object/index.js +1 -0
  80. package/src/pagelayout/create.js +123 -0
  81. package/src/pagelayout/doc.js +46 -0
  82. package/src/pagelayout/docs/devguide.md +295 -0
  83. package/src/pagelayout/docs/introduction.md +44 -0
  84. package/src/pagelayout/get.js +46 -0
  85. package/src/pagelayout/index.js +9 -0
  86. package/src/plugin/doc.js +43 -863
  87. package/src/plugin/docs/devguide.md +923 -0
  88. package/src/profile/create.js +108 -0
  89. package/src/profile/delete.js +59 -0
  90. package/src/profile/doc.js +46 -0
  91. package/src/profile/docs/devguide.md +332 -0
  92. package/src/profile/docs/introduction.md +123 -0
  93. package/src/profile/get.js +55 -0
  94. package/src/profile/index.js +14 -0
  95. package/src/project/doc.js +39 -372
  96. package/src/project/docs/devguide.md +359 -0
  97. package/src/project/docs/introduction.md +3 -0
  98. package/src/recordType/create.js +77 -0
  99. package/src/recordType/delete.js +52 -0
  100. package/src/recordType/doc.js +36 -0
  101. package/src/recordType/docs/devguide.md +160 -0
  102. package/src/recordType/docs/introduction.md +53 -0
  103. package/src/recordType/editInfo.js +39 -0
  104. package/src/recordType/editSave.js +47 -0
  105. package/src/recordType/getList.js +31 -0
  106. package/src/recordType/index.js +16 -3
  107. package/src/recordType/newInfo.js +39 -0
  108. package/src/recordType/validDelete.js +91 -0
  109. package/src/res.md +66 -0
  110. package/src/role/create.js +153 -0
  111. package/src/role/delete.js +59 -0
  112. package/src/role/doc.js +46 -0
  113. package/src/role/docs/devguide.md +387 -0
  114. package/src/role/docs/introduction.md +124 -0
  115. package/src/role/get.js +57 -0
  116. package/src/role/index.js +10 -0
  117. package/src/scheduleJob/doc.js +49 -0
  118. package/src/scheduleJob/docs/devguide.md +79 -0
  119. package/src/scheduleJob/docs/introduction.md +101 -0
  120. package/src/scheduleJob/index.js +5 -0
  121. package/src/script/delete.js +112 -0
  122. package/src/script/doc.js +31 -245
  123. package/src/script/docs/devguide.md +290 -0
  124. package/src/script/docs/introduction.md +48 -0
  125. package/src/script/index.js +1 -0
  126. package/src/staticResource/count.js +31 -10
  127. package/src/staticResource/create.js +97 -0
  128. package/src/staticResource/delete.js +30 -8
  129. package/src/staticResource/detail.js +32 -10
  130. package/src/staticResource/doc.js +21 -88
  131. package/src/staticResource/docs/devguide.md +157 -0
  132. package/src/staticResource/docs/introduction.md +3 -0
  133. package/src/staticResource/get.js +31 -8
  134. package/src/staticResource/index.js +2 -1
  135. package/src/timer/create.js +6 -1
  136. package/src/timer/delete.js +7 -1
  137. package/src/timer/detail.js +5 -5
  138. package/src/timer/doc.js +57 -0
  139. package/src/timer/get.js +7 -1
  140. package/src/timer/index.js +3 -1
  141. package/src/timer/publish.js +6 -1
  142. package/src/timer/pull.js +6 -1
  143. package/src/timer/pullList.js +5 -3
  144. package/src/triggers/detail.js +5 -5
  145. package/src/triggers/doc.js +49 -364
  146. package/src/triggers/docs/devguide.md +334 -0
  147. package/src/triggers/get.js +7 -3
  148. package/src/triggers/index.js +1 -4
  149. package/src/triggers/pullList.js +7 -7
  150. package/src/user/create.js +50 -0
  151. package/src/user/delete.js +59 -0
  152. package/src/user/doc.js +46 -0
  153. package/src/user/docs/devguide.md +634 -0
  154. package/src/user/docs/introduction.md +124 -0
  155. package/src/user/get.js +112 -0
  156. package/src/user/index.js +12 -0
  157. package/src/user/update.js +96 -0
  158. package/src/user/view.js +60 -0
  159. package/test/classes.cli.test.js +7 -4
  160. package/test/customPage.cli.test.js +96 -0
  161. package/test/globalSelectList.cli.test.js +94 -0
  162. package/test/menu-script.cli.test.js +147 -0
  163. package/test/menu.cli.test.js +8 -1
  164. package/test/plugin.cli.test.js +5 -3
  165. package/test/timer.cli.test.js +15 -8
  166. package/test/trigger.cli.test.js +5 -3
  167. package/tmp_customsetting_detail.json +1 -0
  168. package/.cursor/skills/cloudcc-cli-dev/BACKEND_CLASS.md +0 -111
  169. package/.cursor/skills/cloudcc-cli-dev/BACKEND_SCHEDULE.md +0 -152
  170. package/.cursor/skills/cloudcc-cli-dev/BACKEND_TRIGGER.md +0 -150
  171. package/.cursor/skills/cloudcc-cli-dev/CLI_CHEATSHEET.md +0 -372
  172. package/.cursor/skills/cloudcc-cli-dev/CUSTOM-SETTING-API.md +0 -62
  173. package/.cursor/skills/cloudcc-cli-dev/INSTALL_AND_BOOTSTRAP.md +0 -62
  174. package/.cursor/skills/cloudcc-cli-dev/OBJECTS_AND_FIELDS.md +0 -214
  175. package/.cursor/skills/cloudcc-cli-dev/REQUIREMENTS_BREAKDOWN.md +0 -113
  176. package/.cursor/skills/cloudcc-cli-dev/SKILL.md +0 -66
  177. package/.cursor/skills/cloudcc-cli-dev/STATIC-RESOURCE-API.md +0 -60
  178. package/.cursor/skills/cloudcc-cli-dev/VUE_CUSTOM_COMPONENT.md +0 -151
  179. package/.cursor/skills/cloudcc-cli-dev/VUE_CUSTOM_PAGE.md +0 -216
  180. package/src/approval/approve.js +0 -105
  181. package/src/approval/get.js +0 -245
  182. package/src/approval/index.js +0 -11
  183. package/src/approval/reject.js +0 -105
  184. package/src/plugin/readme.md +0 -7
  185. /package/{src/mcp → mcp}/cliRunner.js +0 -0
  186. /package/{src/mcp → mcp}/index.js +0 -0
  187. /package/{src/mcp → mcp}/readme.md +0 -0
  188. /package/{src/mcp → mcp}/tools/Application Creator/handler.js +0 -0
  189. /package/{src/mcp → mcp}/tools/Approval/handler.js +0 -0
  190. /package/{src/mcp → mcp}/tools/Class Creator/handler.js +0 -0
  191. /package/{src/mcp → mcp}/tools/Class Detail Retriever/handler.js +0 -0
  192. /package/{src/mcp → mcp}/tools/Class List Retriever/handler.js +0 -0
  193. /package/{src/mcp → mcp}/tools/Class Publisher/handler.js +0 -0
  194. /package/{src/mcp → mcp}/tools/Class Puller/handler.js +0 -0
  195. /package/{src/mcp → mcp}/tools/Client Script Detail Retriever/handler.js +0 -0
  196. /package/{src/mcp → mcp}/tools/Client Script Editor Guide/handler.js +0 -0
  197. /package/{src/mcp → mcp}/tools/Client Script List Retriever/handler.js +0 -0
  198. /package/{src/mcp → mcp}/tools/Client Script Publisher/handler.js +0 -0
  199. /package/{src/mcp → mcp}/tools/Client Script Puller/handler.js +0 -0
  200. /package/{src/mcp → mcp}/tools/CloudCC Development Overview/handler.js +0 -0
  201. /package/{src/mcp → mcp}/tools/Component Creator/handler.js +0 -0
  202. /package/{src/mcp → mcp}/tools/Component Detail Retriever/handler.js +0 -0
  203. /package/{src/mcp → mcp}/tools/Component List Retriever/handler.js +0 -0
  204. /package/{src/mcp → mcp}/tools/Component Publisher/handler.js +0 -0
  205. /package/{src/mcp → mcp}/tools/Component Puller/handler.js +0 -0
  206. /package/{src/mcp → mcp}/tools/Dev Environment Creator/fetcher.js +0 -0
  207. /package/{src/mcp → mcp}/tools/Dev Environment Creator/handler.js +0 -0
  208. /package/{src/mcp → mcp}/tools/Dev Environment Validator/handler.js +0 -0
  209. /package/{src/mcp → mcp}/tools/Developer Key Setup Guide/fetcher.js +0 -0
  210. /package/{src/mcp → mcp}/tools/Developer Key Setup Guide/handler.js +0 -0
  211. /package/{src/mcp → mcp}/tools/JSP Migrator/handler.js +0 -0
  212. /package/{src/mcp → mcp}/tools/Menu Creator/handler.js +0 -0
  213. /package/{src/mcp → mcp}/tools/Object Creator/handler.js +0 -0
  214. /package/{src/mcp → mcp}/tools/Object Fields Creator/handler.js +0 -0
  215. /package/{src/mcp → mcp}/tools/Object Fields Retriever/handler.js +0 -0
  216. /package/{src/mcp → mcp}/tools/Object List Retriever/handler.js +0 -0
  217. /package/{src/mcp → mcp}/tools/Scheduled Class Creator/handler.js +0 -0
  218. /package/{src/mcp → mcp}/tools/Scheduled Class Detail Retriever/handler.js +0 -0
  219. /package/{src/mcp → mcp}/tools/Scheduled Class List Retriever/handler.js +0 -0
  220. /package/{src/mcp → mcp}/tools/Scheduled Class Publisher/handler.js +0 -0
  221. /package/{src/mcp → mcp}/tools/Scheduled Class Puller/handler.js +0 -0
  222. /package/{src/mcp → mcp}/tools/Trigger Creator/handler.js +0 -0
  223. /package/{src/mcp → mcp}/tools/Trigger Detail Retriever/handler.js +0 -0
  224. /package/{src/mcp → mcp}/tools/Trigger List Retriever/handler.js +0 -0
  225. /package/{src/mcp → mcp}/tools/Trigger Publisher/handler.js +0 -0
  226. /package/{src/mcp → mcp}/tools/Trigger Puller/handler.js +0 -0
  227. /package/{src/mcp → mcp}/tools/index.js +0 -0
  228. /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
  229. /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
  230. /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} +0 -0
  231. /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
  232. /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,634 @@
1
+ # CloudCC 用户使用总结
2
+
3
+ 用户(User)是 CloudCC 系统的登录账号,用于访问系统资源和执行业务操作。
4
+
5
+ ---
6
+
7
+ ## 快速开始(CLI 命令)
8
+
9
+ ### 支持的用户操作
10
+
11
+ | 操作 | 说明 |
12
+ |------|------|
13
+ | `create` | 创建新用户 |
14
+ | `get` | 查询用户列表 |
15
+ | `view` | 查看单个用户详情 |
16
+ | `update` | 编辑/禁用用户 |
17
+ | `delete` | 删除用户 |
18
+
19
+ ---
20
+
21
+ ## CLI 命令详解
22
+
23
+ ### 创建用户
24
+
25
+ 创建一个新的 CloudCC 用户。
26
+
27
+ ```bash
28
+ cc create user <path> <userName> <profileId> [email]
29
+ ```
30
+
31
+ **参数说明:**
32
+
33
+ | 参数 | 必填 | 说明 |
34
+ |------|------|------|
35
+ | `path` | 是 | 项目路径,`.` 表示当前目录 |
36
+ | `userName` | 是 | 用户名称 |
37
+ | `profileId` | 是 | 关联简档 ID |
38
+ | `email` | 否 | 用户邮箱 |
39
+
40
+ **示例:**
41
+
42
+ ```bash
43
+ # 创建用户
44
+ cc create user . "张三" a0I9D000000XXXXUAI
45
+
46
+ # 创建带邮箱的用户
47
+ cc create user . "李四" a0I9D000000XXXXUAI "lisi@example.com"
48
+ ```
49
+
50
+ ---
51
+
52
+ ### 查询用户列表
53
+
54
+ 获取当前环境中的所有用户列表。
55
+
56
+ ```bash
57
+ cc get user <projectPath> [encodedCondJson]
58
+ ```
59
+
60
+ **参数说明:**
61
+
62
+ | 参数 | 必填 | 说明 |
63
+ |------|------|------|
64
+ | `projectPath` | 否 | 项目路径,默认当前目录 |
65
+ | `encodedCondJson` | 否 | URI 编码后的查询条件 JSON |
66
+
67
+ **查询条件参数:**
68
+
69
+ | 参数名 | 类型 | 必填 | 说明 |
70
+ |--------|------|------|------|
71
+ | `start` | number | 否 | 起始位置,默认 0 |
72
+ | `limit` | number | 否 | 每页条数,默认 30 |
73
+ | `viewId` | string | 否 | 视图 ID,不传则自动获取"全部"视图 |
74
+ | `keyword` | string | 否 | 搜索关键词 |
75
+
76
+ **自动获取视图逻辑:**
77
+
78
+ 1. 调用 `view/list/getViewList` 接口查询用户对象的所有视图
79
+ 2. 优先查找名为"全部"(或"All")的视图
80
+ 3. 如果不存在"全部"视图,使用第一条视图数据
81
+ 4. 使用获取到的视图 ID 查询用户列表
82
+
83
+ **示例:**
84
+
85
+ ```bash
86
+ # 获取所有用户
87
+ cc get user .
88
+
89
+ # 带查询条件(搜索关键词)
90
+ cc get user . '%7B%22keyword%22%3A%22张三%22%2C%22limit%22%3A50%7D'
91
+
92
+ # 分页查询
93
+ cc get user . '%7B%22start%22%3A0%2C%22limit%22%3A30%7D'
94
+ ```
95
+
96
+ ---
97
+
98
+ ### 查看单个用户详情
99
+
100
+ 获取指定用户的详细信息。
101
+
102
+ ```bash
103
+ cc view user <projectPath> <userId>
104
+ ```
105
+
106
+ **参数说明:**
107
+
108
+ | 参数 | 必填 | 说明 |
109
+ |------|------|------|
110
+ | `projectPath` | 否 | 项目路径,默认当前目录 |
111
+ | `userId` | 是 | 用户 ID |
112
+
113
+ **示例:**
114
+
115
+ ```bash
116
+ # 查看用户详情
117
+ cc view user . 00520260C00C6FEfsMnT
118
+ ```
119
+
120
+ ---
121
+
122
+ ### 编辑/禁用用户
123
+
124
+ 编辑用户信息或禁用/启用用户。
125
+
126
+ ```bash
127
+ cc update user <projectPath> <userDataJson>
128
+ ```
129
+
130
+ **参数说明:**
131
+
132
+ | 参数 | 必填 | 说明 |
133
+ |------|------|------|
134
+ | `projectPath` | 否 | 项目路径,默认当前目录 |
135
+ | `userDataJson` | 是 | 用户数据 JSON 字符串(需 URI 编码)|
136
+
137
+ **userDataJson 关键字段说明:**
138
+
139
+ | 字段名 | 类型 | 必填 | 说明 |
140
+ |--------|------|------|------|
141
+ | `id` | string | 是 | 用户 ID |
142
+ | `loginName` | string | 是 | 登录名(邮箱)|
143
+ | `lastName` | string | 否 | 姓 |
144
+ | `alias` | string | 否 | 别名 |
145
+ | `email` | string | 否 | 邮箱 |
146
+ | `mobile` | string | 否 | 手机 |
147
+ | `phone` | string | 否 | 电话 |
148
+ | `title` | string | 否 | 职务 |
149
+ | `department` | string | 否 | 部门 |
150
+ | `company` | string | 否 | 公司 |
151
+ | `profileId` | string | 否 | 简档 ID |
152
+ | `role` | string | 否 | 角色 ID |
153
+ | `manager` | string | 否 | 上级 ID |
154
+ | `isusing` | string | 否 | 是否启用:`true`/`false` |
155
+ | `userlicence` | string | 否 | 用户许可证 |
156
+ | `usertimezone` | string | 否 | 时区,如 `G20` |
157
+ | `currency` | string | 否 | 货币,如 `USD` |
158
+ | `languageLocaleKey` | string | 否 | 语言,如 `zh` |
159
+
160
+ **示例:**
161
+
162
+ ```bash
163
+ # 禁用用户(将 isusing 设为 false)
164
+ cc update user . '%7B%22id%22%3A%2200520260C00C6FEfsMnT%22%2C%22loginName%22%3A%22test%40cloudcc.com%22%2C%22isusing%22%3A%22false%22%7D'
165
+
166
+ # 启用用户(将 isusing 设为 true)
167
+ cc update user . '%7B%22id%22%3A%2200520260C00C6FEfsMnT%22%2C%22loginName%22%3A%22test%40cloudcc.com%22%2C%22isusing%22%3A%22true%22%7D'
168
+
169
+ # 修改用户信息
170
+ cc update user . '%7B%22id%22%3A%2200520260C00C6FEfsMnT%22%2C%22loginName%22%3A%22test%40cloudcc.com%22%2C%22lastName%22%3A%22%E5%BC%A0%E4%B8%89%22%2C%22mobile%22%3A%2213800138000%22%7D'
171
+ ```
172
+
173
+ ---
174
+
175
+ ### 删除用户
176
+
177
+ 删除指定的用户。
178
+
179
+ ```bash
180
+ cc delete user <projectPath> <userId>
181
+ ```
182
+
183
+ **参数说明:**
184
+
185
+ | 参数 | 必填 | 说明 |
186
+ |------|------|------|
187
+ | `projectPath` | 否 | 项目路径,默认当前目录 |
188
+ | `userId` | 是 | 用户 ID |
189
+
190
+ **示例:**
191
+
192
+ ```bash
193
+ # 删除指定用户
194
+ cc delete user . 00520260C00C6FEfsMnT
195
+ ```
196
+
197
+ ---
198
+
199
+ ## 完整工作流示例
200
+
201
+ ### 场景:为新员工创建 CloudCC 账号
202
+
203
+ ```bash
204
+ # 1. 确认项目已初始化(有 cloudcc-cli.config.js)
205
+ cat cloudcc-cli.config.js
206
+
207
+ # 2. 查询可用简档,确定要分配的权限
208
+ cc get profile .
209
+
210
+ # 3. 创建新用户
211
+ cc create user . "王五" a0I9D000000XXXXUAI "wangwu@example.com"
212
+
213
+ # 4. 验证用户创建成功
214
+ cc get user .
215
+
216
+ # 5. 查看用户详情
217
+ cc view user . <userId>
218
+
219
+ # 6. 如需禁用用户
220
+ cc update user . '%7B%22id%22%3A%22<userId>%22%2C%22loginName%22%3A%22wangwu%40example.com%22%2C%22isusing%22%3A%22false%22%7D'
221
+
222
+ # 7. 如需删除
223
+ cc delete user . <userId>
224
+ ```
225
+
226
+ ### 场景:批量查询和禁用用户
227
+
228
+ ```bash
229
+ # 1. 查询用户列表(带关键词搜索)
230
+ cc get user . '%7B%22keyword%22%3A%22test%22%7D'
231
+
232
+ # 2. 查看特定用户详情
233
+ cc view user . 00520260C00C6FEfsMnT
234
+
235
+ # 3. 禁用该用户
236
+ cc update user . '%7B%22id%22%3A%2200520260C00C6FEfsMnT%22%2C%22loginName%22%3A%22test%40cloudcc.com%22%2C%22isusing%22%3A%22false%22%7D'
237
+ ```
238
+
239
+ ---
240
+
241
+ ## API 接口详情
242
+
243
+ ### 什么是用户?
244
+
245
+ **用户(User)** 是 CloudCC 系统的登录账号,每个用户必须关联一个简档以确定其权限范围。
246
+
247
+ ### 核心属性
248
+
249
+ | 属性 | 说明 | 示例 |
250
+ |------|------|------|
251
+ | **ID(id)** | 用户唯一标识 | `00520260C00C6FEfsMnT` |
252
+ | **登录名(loginName)** | 用户登录邮箱 | `zhangsan@example.com` |
253
+ | **姓名(lastName)** | 用户显示名称 | `张三` |
254
+ | **简档(profileId)** | 关联的简档 ID | `aaa2025EA1EC76ARe61f` |
255
+ | **角色(role)** | 关联的角色 ID | `2025183834EA349bLUaB` |
256
+ | **状态(isusing)** | 是否启用 | `true` / `false` |
257
+ | **创建时间** | 用户创建时间戳 | `1757993089000` |
258
+
259
+ ---
260
+
261
+ ## 一、查询用户列表
262
+
263
+ ### 1.1 接口说明
264
+
265
+ 查询用户列表采用两步流程:
266
+
267
+ 1. **获取视图列表**:调用 `view/list/getViewList` 获取用户对象的视图列表
268
+ 2. **查询用户数据**:使用获取到的视图 ID 调用 `usermange/queryUserList`
269
+
270
+ ### 1.2 获取视图列表
271
+
272
+ **接口**: `POST /api/view/list/getViewList`
273
+
274
+ **请求参数**:
275
+
276
+ | 参数名 | 类型 | 必填 | 说明 |
277
+ |--------|------|------|------|
278
+ | `objId` | string | 是 | 对象 ID,用户对象固定为 `"user"` |
279
+
280
+ **返回数据**:
281
+
282
+ 视图列表数组,每条记录包含:
283
+
284
+ | 字段 | 类型 | 说明 |
285
+ |------|------|------|
286
+ | `id` / `viewId` | string | 视图唯一标识 |
287
+ | `name` / `viewName` | string | 视图名称 |
288
+ | `label` | string | 视图显示标签 |
289
+
290
+ **视图选择逻辑**:
291
+
292
+ - 优先选择名称为 `"全部"` 或 `"All"` 的视图
293
+ - 如不存在,使用列表中的第一条视图
294
+
295
+ ### 1.3 查询用户数据
296
+
297
+ **接口**: `POST /api/usermange/queryUserList`
298
+
299
+ **请求参数**:
300
+
301
+ | 参数名 | 类型 | 必填 | 说明 |
302
+ |--------|------|------|------|
303
+ | `start` | number | 否 | 起始位置,默认 0 |
304
+ | `limit` | number | 否 | 每页条数,默认 30 |
305
+ | `viewId` | string | 是 | 视图 ID |
306
+ | `keyword` | string | 否 | 搜索关键词 |
307
+
308
+ **返回数据**:
309
+
310
+ ```javascript
311
+ {
312
+ "result": true,
313
+ "returnInfo": "操作成功",
314
+ "data": {
315
+ "list": [
316
+ {
317
+ "id": "00520260C00C6FEfsMnT",
318
+ "loginName": "zhangsan@example.com",
319
+ "lastName": "张三",
320
+ "email": "zhangsan@example.com",
321
+ "isusing": "true",
322
+ "profileId": "aaa2025EA1EC76ARe61f",
323
+ "role": "2025183834EA349bLUaB",
324
+ "createdate": 1757993089000
325
+ }
326
+ ],
327
+ "total": 100
328
+ }
329
+ }
330
+ ```
331
+
332
+ ---
333
+
334
+ ## 二、查询单个用户详情
335
+
336
+ ### 2.1 接口说明
337
+
338
+ **接口**: `POST /api/usermange/viewUser`
339
+
340
+ **请求参数**:
341
+
342
+ | 参数名 | 类型 | 必填 | 说明 |
343
+ |--------|------|------|------|
344
+ | `userId` | string | 是 | 用户 ID |
345
+
346
+ **返回字段说明**:
347
+
348
+ | 字段 | 类型 | 说明 |
349
+ |------|------|------|
350
+ | `id` | string | 用户唯一标识 |
351
+ | `loginName` | string | 登录名(邮箱)|
352
+ | `lastName` | string | 姓 |
353
+ | `alias` | string | 别名 |
354
+ | `email` | string | 邮箱 |
355
+ | `mobile` | string | 手机 |
356
+ | `phone` | string | 电话 |
357
+ | `title` | string | 职务 |
358
+ | `department` | string | 部门 |
359
+ | `company` | string | 公司 |
360
+ | `profileId` | string | 关联简档 ID |
361
+ | `role` | string | 角色 ID |
362
+ | `manager` | string | 上级用户 ID |
363
+ | `isusing` | string | 是否启用:`true`/`false` |
364
+ | `userlicence` | string | 用户许可证 |
365
+ | `usertimezone` | string | 时区 |
366
+ | `currency` | string | 货币 |
367
+ | `languageLocaleKey` | string | 语言 |
368
+ | `createdate` | number | 创建时间(时间戳)|
369
+ | `lastmodifydate` | number | 最后修改时间(时间戳)|
370
+
371
+ **返回示例**:
372
+
373
+ ```javascript
374
+ {
375
+ "result": true,
376
+ "returnInfo": "操作成功",
377
+ "data": {
378
+ "id": "00520260C00C6FEfsMnT",
379
+ "loginName": "zhangsan@example.com",
380
+ "lastName": "张三",
381
+ "alias": "",
382
+ "email": "zhangsan@example.com",
383
+ "mobile": "13800138000",
384
+ "phone": "",
385
+ "title": "经理",
386
+ "department": "技术部",
387
+ "company": "CloudCC",
388
+ "profileId": "aaa2025EA1EC76ARe61f",
389
+ "role": "2025183834EA349bLUaB",
390
+ "manager": "0052026F0E7C7A9kKjCz",
391
+ "isusing": "true",
392
+ "userlicence": "Cloudcc 许可",
393
+ "usertimezone": "G20",
394
+ "currency": "USD",
395
+ "languageLocaleKey": "zh",
396
+ "createdate": 1757993089000,
397
+ "lastmodifydate": 1757993089000
398
+ }
399
+ }
400
+ ```
401
+
402
+ ---
403
+
404
+ ## 三、编辑/禁用用户
405
+
406
+ ### 3.1 接口说明
407
+
408
+ **接口**: `POST /api/usermange/editandsave`
409
+
410
+ **请求参数**:
411
+
412
+ | 参数名 | 类型 | 必填 | 说明 |
413
+ |--------|------|------|------|
414
+ | `dataJson` | string | 是 | 用户数据 JSON 字符串 |
415
+
416
+ **dataJson 字段说明**(必填字段必须包含):
417
+
418
+ | 字段 | 类型 | 必填 | 说明 |
419
+ |------|------|------|------|
420
+ | `id` | string | 是 | 用户 ID |
421
+ | `loginName` | string | 是 | 登录名 |
422
+ | `isusing` | string | 否 | 是否启用:`true`/`false` |
423
+ | `lastName` | string | 否 | 姓 |
424
+ | `alias` | string | 否 | 别名 |
425
+ | `email` | string | 否 | 邮箱 |
426
+ | `mobile` | string | 否 | 手机 |
427
+ | `phone` | string | 否 | 电话 |
428
+ | `title` | string | 否 | 职务 |
429
+ | `department` | string | 否 | 部门 |
430
+ | `company` | string | 否 | 公司 |
431
+ | `profileId` | string | 否 | 简档 ID |
432
+ | `role` | string | 否 | 角色 ID |
433
+ | `manager` | string | 否 | 上级 ID |
434
+ | `userlicence` | string | 否 | 用户许可证 |
435
+ | `usertimezone` | string | 否 | 时区 |
436
+ | `currency` | string | 否 | 货币 |
437
+ | `languageLocaleKey` | string | 否 | 语言 |
438
+ | `isKnowledgeUser` | string | 否 | 是否知识库用户 |
439
+ | `isteam` | string | 否 | 是否是团队 |
440
+ | `isforecast` | string | 否 | 是否预测用户 |
441
+ | `partneruser` | string | 否 | 是否合作伙伴用户 |
442
+ | `wxzhbdzt` | string | 否 | 微信账号绑定状态 |
443
+
444
+ **请求示例**:
445
+
446
+ ```javascript
447
+ {
448
+ "dataJson": "{\"loginName\":\"testdemo@cloudcc.com\",\"isusing\":\"false\",\"lastName\":\"测试\",\"email\":\"testdemo@cloudcc.com\",\"id\":\"00520260C00C6FEfsMnT\"}"
449
+ }
450
+ ```
451
+
452
+ **返回示例**:
453
+
454
+ ```javascript
455
+ {
456
+ "result": true,
457
+ "returnInfo": "操作成功"
458
+ }
459
+ ```
460
+
461
+ ### 3.2 禁用用户流程
462
+
463
+ 1. 先通过 `viewUser` 接口获取用户完整信息
464
+ 2. 将 `isusing` 字段改为 `"false"`
465
+ 3. 调用 `editandsave` 接口提交修改
466
+
467
+ ### 3.3 启用用户流程
468
+
469
+ 1. 先通过 `viewUser` 接口获取用户完整信息
470
+ 2. 将 `isusing` 字段改为 `"true"`
471
+ 3. 调用 `editandsave` 接口提交修改
472
+
473
+ ---
474
+
475
+ ## 四、创建用户
476
+
477
+ ### 4.1 接口说明
478
+
479
+ **接口**: `POST /api/user/createUser`
480
+
481
+ **请求参数**:
482
+
483
+ | 参数名 | 类型 | 必填 | 说明 |
484
+ |--------|------|------|------|
485
+ | `name` | string | 是 | 用户名称 |
486
+ | `email` | string | 否 | 用户邮箱 |
487
+ | `profileId` | string | 是 | 关联简档 ID |
488
+
489
+ ---
490
+
491
+ ## 五、删除用户
492
+
493
+ ### 5.1 删除前检查
494
+
495
+ - [ ] 是否有未完成的重要业务数据
496
+ - [ ] 是否是系统管理员(建议先转移管理员权限)
497
+ - [ ] 级联影响确认
498
+
499
+ ### 5.2 删除流程
500
+
501
+ **接口**: `POST /api/user/deleteUser`
502
+
503
+ **请求参数**:
504
+
505
+ | 参数名 | 类型 | 必填 | 说明 |
506
+ |--------|------|------|------|
507
+ | `id` | string | 是 | 用户 ID |
508
+
509
+ ---
510
+
511
+ ## 六、用户数据结构
512
+
513
+ ### 6.1 列表数据格式
514
+
515
+ ```javascript
516
+ {
517
+ id: "00520260C00C6FEfsMnT",
518
+ loginName: "zhangsan@example.com",
519
+ lastName: "张三",
520
+ email: "zhangsan@example.com",
521
+ isusing: "true",
522
+ profileId: "aaa2025EA1EC76ARe61f",
523
+ role: "2025183834EA349bLUaB",
524
+ createdate: 1757993089000
525
+ }
526
+ ```
527
+
528
+ ### 6.2 完整数据格式
529
+
530
+ ```javascript
531
+ {
532
+ id: "00520260C00C6FEfsMnT",
533
+ loginName: "zhangsan@example.com",
534
+ lastName: "张三",
535
+ alias: "",
536
+ email: "zhangsan@example.com",
537
+ mobile: "13800138000",
538
+ phone: "",
539
+ fax: "",
540
+ title: "经理",
541
+ department: "技术部",
542
+ company: "CloudCC",
543
+ profileId: "aaa2025EA1EC76ARe61f",
544
+ role: "2025183834EA349bLUaB",
545
+ manager: "0052026F0E7C7A9kKjCz",
546
+ isusing: "true",
547
+ userlicence: "Cloudcc 许可",
548
+ usertimezone: "G20",
549
+ currency: "USD",
550
+ languageLocaleKey: "zh",
551
+ isKnowledgeUser: "false",
552
+ isteam: "false",
553
+ isforecast: "false",
554
+ partneruser: "false",
555
+ wxzhbdzt: "false",
556
+ createdate: 1757993089000,
557
+ lastmodifydate: 1757993089000
558
+ }
559
+ ```
560
+
561
+ ---
562
+
563
+ ## 七、最佳实践
564
+
565
+ ### 命名规范
566
+
567
+ | 项目 | 规范 | 示例 |
568
+ |------|------|------|
569
+ | 用户名 | 使用真实姓名 | `张三`、`李四` |
570
+ | 邮箱 | 使用企业邮箱 | `zhangsan@company.com` |
571
+ | 登录名 | 使用邮箱格式 | `zhangsan@company.com` |
572
+
573
+ ### 权限分配
574
+
575
+ - **按需分配**:根据用户角色分配合适的简档
576
+ - **定期审查**:定期检查用户权限是否合理
577
+ - **离职处理**:及时禁用或删除离职员工账号
578
+
579
+ ### 用户状态管理
580
+
581
+ - **启用**(`isusing: "true"`):用户可以正常登录和使用系统
582
+ - **禁用**(`isusing: "false"`):用户无法登录,但数据保留
583
+ - **删除**:永久删除用户记录
584
+
585
+ ### 推荐操作流程
586
+
587
+ 1. 新员工入职:创建用户 → 分配简档和角色 → 启用
588
+ 2. 员工离职:禁用用户 → 转移数据所有权 → 删除用户
589
+ 3. 权限变更:查看用户详情 → 修改简档/角色 → 更新用户
590
+
591
+ ---
592
+
593
+ ## 八、常见问题
594
+
595
+ **Q: 用户创建后无法登录?**
596
+
597
+ A: 检查以下几点:
598
+ 1. 用户状态 `isusing` 是否为 `"true"`
599
+ 2. 关联的简档是否有登录权限
600
+ 3. 邮箱格式是否正确
601
+
602
+ **Q: 如何禁用用户?**
603
+
604
+ A: 调用 `cc update user` 命令,传入 `isusing: "false"` 参数:
605
+ ```bash
606
+ cc update user . '%7B%22id%22%3A%22<userId>%22%2C%22loginName%22%3A%22<email>%22%2C%22isusing%22%3A%22false%22%7D'
607
+ ```
608
+
609
+ **Q: 如何启用已禁用的用户?**
610
+
611
+ A: 调用 `cc update user` 命令,传入 `isusing: "true"` 参数:
612
+ ```bash
613
+ cc update user . '%7B%22id%22%3A%22<userId>%22%2C%22loginName%22%3A%22<email>%22%2C%22isusing%22%3A%22true%22%7D'
614
+ ```
615
+
616
+ **Q: 可以修改用户的简档吗?**
617
+
618
+ A: 可以,调用 `cc update user` 命令修改 `profileId` 字段。
619
+
620
+ **Q: 删除用户会影响数据吗?**
621
+
622
+ A: 删除用户通常不会删除其创建的业务数据,但建议先确认数据归属问题。
623
+
624
+ **Q: 如何查看用户的完整信息?**
625
+
626
+ A: 调用 `cc view user` 命令,传入 `userId` 参数获取详情。
627
+
628
+ **Q: 如何查看用户列表?**
629
+
630
+ A: 调用 `cc get user` 命令,支持关键词搜索和分页。
631
+
632
+ ---
633
+
634
+ *文档版本:1.1 | 最后更新:2026-03-26*