cx-chat 0.0.2 → 0.0.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.
Files changed (406) hide show
  1. package/dist/cx-chat.css +1 -0
  2. package/dist/cx-chat.es.js +68257 -0
  3. package/dist/cx-chat.umd.js +492 -0
  4. package/package.json +27 -3
  5. package/.cursor/rules/i18n-cn-gloss-comments.mdc +0 -31
  6. package/.cursor/rules/list-page-view-pageconfig.mdc +0 -32
  7. package/.cursor/rules/no-over-defensive-programming.mdc +0 -90
  8. package/.cursor/rules/requirement-description-for-agent.mdc +0 -33
  9. package/.cursor/rules/use-showToast-not-antd-message.mdc +0 -28
  10. package/.docker/Dockerfile +0 -7
  11. package/.env +0 -9
  12. package/.env.development +0 -7
  13. package/.env.production +0 -7
  14. package/.gitlab-ci/docker-build.yaml +0 -28
  15. package/.gitlab-ci/k8s-deploy-dev-master.yaml +0 -42
  16. package/.gitlab-ci/npm-build.yaml +0 -17
  17. package/.gitlab-ci.yml +0 -8
  18. package/.k8s/0-namespace.yaml +0 -6
  19. package/.k8s/1-configmap-web.yaml +0 -7
  20. package/.k8s/1-nginx-conf-dev.yaml +0 -110
  21. package/.k8s/2-deployment.yaml +0 -27
  22. package/.k8s/3-service.yaml +0 -16
  23. package/.k8s/4-ingress-dev.yaml +0 -30
  24. package/.lingma/rules/use-showToast-not-antd-message.md +0 -34
  25. package/.nginx/nginx.conf +0 -52
  26. package/.prettierrc +0 -9
  27. package/eslint.config.js +0 -32
  28. package/index.html +0 -13
  29. package/postcss.config.js +0 -6
  30. package/src/App.tsx +0 -96
  31. package/src/_doc/0.docs-overview.md +0 -28
  32. package/src/_doc/cx-ui/0.docs-overview.md +0 -30
  33. package/src/_doc/cx-ui/comp.1.cx-ui-overview.md +0 -82
  34. package/src/_doc/cx-ui/comp.2.cx-modal.md +0 -82
  35. package/src/_doc/cx-ui/comp.3.cx-button.md +0 -89
  36. package/src/_doc/cx-ui/comp.4.cx-form.md +0 -72
  37. package/src/_doc/cx-ui/comp.5.cx-fields.md +0 -76
  38. package/src/_doc/cx-ui/comp.6.cx-tag.md +0 -57
  39. package/src/_doc/cx-ui/comp.7.cx-empty-state.md +0 -29
  40. package/src/_doc/meta/0.docs-overview.md +0 -24
  41. package/src/_doc/meta/comp.1.enum-runtime.md +0 -33
  42. package/src/_doc/meta/comp.2.dict-runtime.md +0 -39
  43. package/src/_doc/router/0.docs-overview.md +0 -14
  44. package/src/_doc/router/guide.1.menu-component-config.md +0 -181
  45. package/src/_doc/router/guide.2.router-auto-registration.md +0 -114
  46. package/src/_doc/table-view/0.docs-overview.md +0 -30
  47. package/src/_doc/table-view/comp.1.table-view.md +0 -542
  48. package/src/_doc/table-view/props.1.create-table-view-config.md +0 -193
  49. package/src/_doc/table-view/props.2.table-view-search-fields.md +0 -106
  50. package/src/api/_mock/README.md +0 -340
  51. package/src/api/_mock/api.ts +0 -1642
  52. package/src/api/_mock/bundle-shim.ts +0 -16
  53. package/src/api/_mock/handler-shim.ts +0 -6
  54. package/src/api/_mock/handler.ts +0 -458
  55. package/src/api/_mock/index.ts +0 -711
  56. package/src/api/_mock/interceptor.ts +0 -15
  57. package/src/api/_mock/mod.ts +0 -12
  58. package/src/api/_mock/utils.ts +0 -65
  59. package/src/api/base/memory.js +0 -24
  60. package/src/api/chat.js +0 -210
  61. package/src/api/common/auth.js +0 -70
  62. package/src/api/menus/business-rules.js +0 -76
  63. package/src/api/menus/feedback.js +0 -102
  64. package/src/api/menus/knowledge.js +0 -159
  65. package/src/api/menus/model-metadata/manage.js +0 -70
  66. package/src/api/menus/model-metadata/role.js +0 -50
  67. package/src/api/menus/model-metadata/training-detail-mock-data.js +0 -569
  68. package/src/api/menus/model-metadata/training.js +0 -28
  69. package/src/api/menus/skill.js +0 -40
  70. package/src/api/system/agent-config.js +0 -16
  71. package/src/api/system/department.js +0 -94
  72. package/src/api/system/dict.js +0 -86
  73. package/src/api/system/menu.js +0 -37
  74. package/src/api/system/permission.js +0 -26
  75. package/src/api/system/role.js +0 -34
  76. package/src/api/system/sys-config.js +0 -16
  77. package/src/api/system/sys-log.js +0 -17
  78. package/src/api/system/user.js +0 -75
  79. package/src/api/upload.js +0 -39
  80. package/src/assets/react.svg +0 -1
  81. package/src/components/auth/current-user-avatar.tsx +0 -77
  82. package/src/components/common/code-view.tsx +0 -149
  83. package/src/components/common/detail-link.tsx +0 -67
  84. package/src/components/common/error-boundary.tsx +0 -98
  85. package/src/components/common/language-switcher.tsx +0 -91
  86. package/src/components/common/lite-table/index.tsx +0 -135
  87. package/src/components/common/md-editor.tsx +0 -126
  88. package/src/components/common/modal/confirm-dialog.tsx +0 -113
  89. package/src/components/common/modal/dep-user-select-multi.tsx +0 -324
  90. package/src/components/common/modal/dep-user-select.tsx +0 -249
  91. package/src/components/common/modal/user-select-multi.tsx +0 -266
  92. package/src/components/common/pagination.tsx +0 -472
  93. package/src/components/common/path.tsx +0 -175
  94. package/src/components/common/system-logo-mark.tsx +0 -48
  95. package/src/components/cx-ui/button/index.less +0 -208
  96. package/src/components/cx-ui/button/index.tsx +0 -611
  97. package/src/components/cx-ui/checkbox/index.tsx +0 -78
  98. package/src/components/cx-ui/date-picker/index.less +0 -17
  99. package/src/components/cx-ui/date-picker/index.tsx +0 -193
  100. package/src/components/cx-ui/drawer/index.tsx +0 -47
  101. package/src/components/cx-ui/empty-state/index.tsx +0 -20
  102. package/src/components/cx-ui/floating-shell/CxFloatingShell.tsx +0 -89
  103. package/src/components/cx-ui/floating-shell/cx-floating-shell.less +0 -283
  104. package/src/components/cx-ui/floating-shell/has-floating-value.ts +0 -41
  105. package/src/components/cx-ui/form/CxForm.tsx +0 -15
  106. package/src/components/cx-ui/form/index.tsx +0 -20
  107. package/src/components/cx-ui/form-item/index.less +0 -26
  108. package/src/components/cx-ui/form-item/index.tsx +0 -36
  109. package/src/components/cx-ui/index.ts +0 -70
  110. package/src/components/cx-ui/input/auto-complete.tsx +0 -134
  111. package/src/components/cx-ui/input/index.tsx +0 -259
  112. package/src/components/cx-ui/input-number/index.jsx +0 -66
  113. package/src/components/cx-ui/modal/index.jsx +0 -212
  114. package/src/components/cx-ui/modal/index.less +0 -144
  115. package/src/components/cx-ui/modal/useCxModal.ts +0 -125
  116. package/src/components/cx-ui/multi-select/index.jsx +0 -74
  117. package/src/components/cx-ui/multi-select/index.less +0 -40
  118. package/src/components/cx-ui/multi-select/index2.tsx +0 -361
  119. package/src/components/cx-ui/radio/index.tsx +0 -33
  120. package/src/components/cx-ui/range-picker/index.less +0 -65
  121. package/src/components/cx-ui/range-picker/index.tsx +0 -219
  122. package/src/components/cx-ui/select/index.less +0 -34
  123. package/src/components/cx-ui/select/index.tsx +0 -196
  124. package/src/components/cx-ui/skeleton/index.tsx +0 -12
  125. package/src/components/cx-ui/steps/index.tsx +0 -14
  126. package/src/components/cx-ui/styles/_tokens.less +0 -79
  127. package/src/components/cx-ui/styles/index.less +0 -246
  128. package/src/components/cx-ui/switch/index.less +0 -106
  129. package/src/components/cx-ui/switch/index.tsx +0 -120
  130. package/src/components/cx-ui/table/index.less +0 -160
  131. package/src/components/cx-ui/table/index.tsx +0 -152
  132. package/src/components/cx-ui/tabs/index.less +0 -15
  133. package/src/components/cx-ui/tabs/index.tsx +0 -34
  134. package/src/components/cx-ui/tag/index.less +0 -51
  135. package/src/components/cx-ui/tag/index.tsx +0 -140
  136. package/src/components/cx-ui/timeline/index.tsx +0 -14
  137. package/src/components/cx-ui/tooltip/index.tsx +0 -67
  138. package/src/components/cx-ui/tree/index.tsx +0 -193
  139. package/src/components/cx-ui/tree-select/index.jsx +0 -91
  140. package/src/components/cx-ui/tree-select/index.less +0 -27
  141. package/src/components/cx-ui/upload-file/index.less +0 -223
  142. package/src/components/cx-ui/upload-file/index.tsx +0 -640
  143. package/src/components/cx-ui/upload-img/index.tsx +0 -291
  144. package/src/components/layout/components/Header.tsx +0 -216
  145. package/src/components/layout/components/Sidebar.tsx +0 -717
  146. package/src/components/layout/index.tsx +0 -95
  147. package/src/components/table-view/components/search-area.tsx +0 -411
  148. package/src/components/table-view/components/table-view-config.tsx +0 -528
  149. package/src/components/table-view/components/table-view.types.ts +0 -478
  150. package/src/components/table-view/components/tree-api-normalize.ts +0 -38
  151. package/src/components/table-view/components/tree-data-annotate.ts +0 -31
  152. package/src/components/table-view/components/tree-sidebar.tsx +0 -74
  153. package/src/components/table-view/index.tsx +0 -61
  154. package/src/components/table-view/list-page-view.tsx +0 -1049
  155. package/src/components/table-view/select-table-view.tsx +0 -1094
  156. package/src/components/table-view/styles/select-table-view.less +0 -51
  157. package/src/config/default-system-name.ts +0 -9
  158. package/src/config/system.ts +0 -165
  159. package/src/constants/countryCodes.ts +0 -3
  160. package/src/contexts/AuthContext.tsx +0 -256
  161. package/src/contexts/ChatContext.tsx +0 -839
  162. package/src/contexts/MenuContext.tsx +0 -62
  163. package/src/contexts/ToastContext.tsx +0 -181
  164. package/src/hooks/useCopyToClipboard.ts +0 -47
  165. package/src/hooks/useModalSubmit.ts +0 -104
  166. package/src/hooks/useRouter.ts +0 -240
  167. package/src/hooks/useStepForm.ts +0 -46
  168. package/src/hooks/useStickyHeader.ts +0 -42
  169. package/src/hooks/useThreadActions.ts +0 -105
  170. package/src/hooks/useUserPreferences.ts +0 -101
  171. package/src/http/axios.js +0 -372
  172. package/src/http/mock.interceptor.ts +0 -9
  173. package/src/http/obfuscationKey.ts +0 -41
  174. package/src/i18n.ts +0 -60
  175. package/src/index.js +0 -1
  176. package/src/index.less +0 -169
  177. package/src/locales/en/auth.ts +0 -70
  178. package/src/locales/en/base/memory.ts +0 -28
  179. package/src/locales/en/base/settings.ts +0 -41
  180. package/src/locales/en/chat.ts +0 -40
  181. package/src/locales/en/common.ts +0 -173
  182. package/src/locales/en/enum.ts +0 -27
  183. package/src/locales/en/menus/business-rules.ts +0 -48
  184. package/src/locales/en/menus/feedback.ts +0 -62
  185. package/src/locales/en/menus/knowledge.ts +0 -120
  186. package/src/locales/en/menus/model-metadata/index.ts +0 -10
  187. package/src/locales/en/menus/model-metadata/manage.ts +0 -151
  188. package/src/locales/en/menus/model-metadata/role.ts +0 -48
  189. package/src/locales/en/menus/model-metadata/training.ts +0 -65
  190. package/src/locales/en/menus/skill.ts +0 -34
  191. package/src/locales/en/system/agent-config.ts +0 -34
  192. package/src/locales/en/system/department.ts +0 -68
  193. package/src/locales/en/system/dict.ts +0 -44
  194. package/src/locales/en/system/menu.ts +0 -45
  195. package/src/locales/en/system/permission.ts +0 -89
  196. package/src/locales/en/system/role.ts +0 -25
  197. package/src/locales/en/system/sys-config.ts +0 -33
  198. package/src/locales/en/system/sys-log.ts +0 -38
  199. package/src/locales/en/system/user.ts +0 -113
  200. package/src/locales/en.ts +0 -68
  201. package/src/locales/zh/auth.ts +0 -70
  202. package/src/locales/zh/base/memory.ts +0 -29
  203. package/src/locales/zh/base/settings.ts +0 -41
  204. package/src/locales/zh/chat.ts +0 -47
  205. package/src/locales/zh/common.ts +0 -178
  206. package/src/locales/zh/enum.ts +0 -28
  207. package/src/locales/zh/menus/business-rules.ts +0 -47
  208. package/src/locales/zh/menus/feedback.ts +0 -62
  209. package/src/locales/zh/menus/knowledge.ts +0 -117
  210. package/src/locales/zh/menus/model-metadata/index.ts +0 -10
  211. package/src/locales/zh/menus/model-metadata/manage.ts +0 -151
  212. package/src/locales/zh/menus/model-metadata/role.ts +0 -47
  213. package/src/locales/zh/menus/model-metadata/training.ts +0 -64
  214. package/src/locales/zh/menus/skill.ts +0 -34
  215. package/src/locales/zh/system/agent-config.ts +0 -33
  216. package/src/locales/zh/system/department.ts +0 -69
  217. package/src/locales/zh/system/dict.ts +0 -44
  218. package/src/locales/zh/system/menu.ts +0 -47
  219. package/src/locales/zh/system/permission.ts +0 -94
  220. package/src/locales/zh/system/role.ts +0 -25
  221. package/src/locales/zh/system/sys-config.ts +0 -32
  222. package/src/locales/zh/system/sys-log.ts +0 -38
  223. package/src/locales/zh/system/user.ts +0 -114
  224. package/src/locales/zh.ts +0 -67
  225. package/src/main.tsx +0 -50
  226. package/src/meta/const/index.ts +0 -40
  227. package/src/meta/index-dict.ts +0 -56
  228. package/src/meta/index-enum.ts +0 -95
  229. package/src/meta/index.ts +0 -14
  230. package/src/meta/module/dict-data/runtime.ts +0 -199
  231. package/src/meta/module/dict-data/types.ts +0 -17
  232. package/src/meta/module/enum-data/runtime.ts +0 -75
  233. package/src/meta/module/enum-data/types.ts +0 -18
  234. package/src/router/index.tsx +0 -312
  235. package/src/styles/AntdThemeProvider.tsx +0 -40
  236. package/src/styles/antd-theme.ts +0 -20
  237. package/src/styles/global.less +0 -107
  238. package/src/styles/variable.less +0 -103
  239. package/src/types/feedback.ts +0 -43
  240. package/src/types/index.ts +0 -85
  241. package/src/types/menu.ts +0 -43
  242. package/src/utils/aesUtil.ts +0 -123
  243. package/src/utils/chatUtils.ts +0 -524
  244. package/src/utils/cn.ts +0 -6
  245. package/src/utils/crypto.ts +0 -164
  246. package/src/utils/date.ts +0 -72
  247. package/src/utils/file-icons.tsx +0 -79
  248. package/src/utils/index.ts +0 -168
  249. package/src/utils/markdown-math-plugins.ts +0 -21
  250. package/src/utils/menuI18n.ts +0 -305
  251. package/src/utils/menuRouteRegistry.ts +0 -78
  252. package/src/utils/permission-crud.ts +0 -147
  253. package/src/utils/routeConfig.ts +0 -350
  254. package/src/utils/storage.ts +0 -135
  255. package/src/utils/toastBridge.ts +0 -26
  256. package/src/utils/url.ts +0 -38
  257. package/src/utils/validation.ts +0 -16
  258. package/src/views/auth/auth-code/index.less +0 -169
  259. package/src/views/auth/auth-code/index.module.less +0 -174
  260. package/src/views/auth/auth-code/index.tsx +0 -233
  261. package/src/views/auth/login.tsx +0 -498
  262. package/src/views/auth/register.tsx +0 -388
  263. package/src/views/base/memory/index.tsx +0 -136
  264. package/src/views/base/memory/modal/detail-modal.tsx +0 -89
  265. package/src/views/base/memory/modal/submit-modal.tsx +0 -134
  266. package/src/views/base/settings/index.tsx +0 -657
  267. package/src/views/chat/chat.less +0 -323
  268. package/src/views/chat/components/chat-input.tsx +0 -298
  269. package/src/views/chat/components/header-thread-title.tsx +0 -210
  270. package/src/views/chat/components/message-list/content-answer.tsx +0 -100
  271. package/src/views/chat/components/message-list/content-question.tsx +0 -18
  272. package/src/views/chat/components/message-list/index.tsx +0 -520
  273. package/src/views/chat/components/message-list/message-item.tsx +0 -199
  274. package/src/views/chat/components/message-list/preparation-demo-items.ts +0 -147
  275. package/src/views/chat/components/message-list/preparation-steps.tsx +0 -506
  276. package/src/views/chat/components/message-list/suggestion-list.tsx +0 -36
  277. package/src/views/chat/components/message-list/thinking-process.tsx +0 -49
  278. package/src/views/chat/components/message-list/toolbar.tsx +0 -224
  279. package/src/views/chat/components/message-list/use-message-list-scroll.ts +0 -214
  280. package/src/views/chat/components/references-knowledge/context.tsx +0 -57
  281. package/src/views/chat/components/references-knowledge/index.ts +0 -9
  282. package/src/views/chat/components/references-knowledge/modal/knowledge-detail-drawer.tsx +0 -556
  283. package/src/views/chat/components/references-knowledge/modal/knowledge-doc-detail-drawer.tsx +0 -529
  284. package/src/views/chat/components/references-knowledge/panel.tsx +0 -115
  285. package/src/views/chat/hooks/use-chat-common.ts +0 -19
  286. package/src/views/chat/index-session.tsx +0 -647
  287. package/src/views/chat/index.tsx +0 -127
  288. package/src/views/page-error/401.tsx +0 -56
  289. package/src/views/page-error/404.tsx +0 -56
  290. package/src/views/page-menus/business-rules/index.tsx +0 -376
  291. package/src/views/page-menus/business-rules/modal/detail-modal.tsx +0 -186
  292. package/src/views/page-menus/business-rules/modal/scope-modal.tsx +0 -272
  293. package/src/views/page-menus/business-rules/modal/submit-modal.tsx +0 -142
  294. package/src/views/page-menus/feedback/components/feedback-dataset-list.tsx +0 -471
  295. package/src/views/page-menus/feedback/index.tsx +0 -166
  296. package/src/views/page-menus/feedback/modal/export-feedback-modal.tsx +0 -367
  297. package/src/views/page-menus/knowledge/components/doc-editor-by-type.tsx +0 -32
  298. package/src/views/page-menus/knowledge/components/doc-editor-type-file.tsx +0 -330
  299. package/src/views/page-menus/knowledge/detail.tsx +0 -600
  300. package/src/views/page-menus/knowledge/index.tsx +0 -337
  301. package/src/views/page-menus/knowledge/modal/detail-modal.tsx +0 -618
  302. package/src/views/page-menus/knowledge/modal/doc-detail-modal.tsx +0 -550
  303. package/src/views/page-menus/knowledge/modal/doc-parse.ts +0 -99
  304. package/src/views/page-menus/knowledge/modal/doc-submit-modal.tsx +0 -349
  305. package/src/views/page-menus/knowledge/modal/doc-type-picker-modal.tsx +0 -88
  306. package/src/views/page-menus/knowledge/modal/knowledge-user-select-modal.tsx +0 -283
  307. package/src/views/page-menus/knowledge/modal/submit-modal.tsx +0 -179
  308. package/src/views/page-menus/model-metadata/manage/components/metadata-detail-schema-tab.tsx +0 -114
  309. package/src/views/page-menus/model-metadata/manage/components/step1-basic-info.tsx +0 -232
  310. package/src/views/page-menus/model-metadata/manage/components/step2-schema.tsx +0 -316
  311. package/src/views/page-menus/model-metadata/manage/components/step3-permissions.tsx +0 -134
  312. package/src/views/page-menus/model-metadata/manage/components/step4-documents.tsx +0 -134
  313. package/src/views/page-menus/model-metadata/manage/components/step5-example-sql.tsx +0 -101
  314. package/src/views/page-menus/model-metadata/manage/components/submit-add.tsx +0 -338
  315. package/src/views/page-menus/model-metadata/manage/components/submit-edit.tsx +0 -276
  316. package/src/views/page-menus/model-metadata/manage/detail.tsx +0 -298
  317. package/src/views/page-menus/model-metadata/manage/hooks/model-metadata-submit-shared.ts +0 -113
  318. package/src/views/page-menus/model-metadata/manage/hooks/use-model-metadata-item-state.ts +0 -20
  319. package/src/views/page-menus/model-metadata/manage/index.tsx +0 -304
  320. package/src/views/page-menus/model-metadata/manage/modal/components/table-schema.ts +0 -374
  321. package/src/views/page-menus/model-metadata/manage/modal/components/use-table-detail-tabs.tsx +0 -151
  322. package/src/views/page-menus/model-metadata/manage/modal/components/use-table-submit-tabs.tsx +0 -423
  323. package/src/views/page-menus/model-metadata/manage/modal/detail-modal.tsx +0 -218
  324. package/src/views/page-menus/model-metadata/manage/modal/submit-modal.tsx +0 -261
  325. package/src/views/page-menus/model-metadata/manage/modal/table-detail-modal.tsx +0 -196
  326. package/src/views/page-menus/model-metadata/manage/modal/table-submit-modal.tsx +0 -229
  327. package/src/views/page-menus/model-metadata/manage/submit.tsx +0 -31
  328. package/src/views/page-menus/model-metadata/role/index.tsx +0 -207
  329. package/src/views/page-menus/model-metadata/role/modal/detail-modal.tsx +0 -97
  330. package/src/views/page-menus/model-metadata/role/modal/role-assign-users-modal.tsx +0 -254
  331. package/src/views/page-menus/model-metadata/role/modal/role-assign-users-panel.tsx +0 -393
  332. package/src/views/page-menus/model-metadata/role/modal/role-assign-users-utils.ts +0 -120
  333. package/src/views/page-menus/model-metadata/role/modal/role-permission-assign-panel.tsx +0 -698
  334. package/src/views/page-menus/model-metadata/role/modal/role-permission-modal.tsx +0 -237
  335. package/src/views/page-menus/model-metadata/role/modal/submit-modal.tsx +0 -135
  336. package/src/views/page-menus/model-metadata/training/components/detail-records/index.ts +0 -4
  337. package/src/views/page-menus/model-metadata/training/components/detail-records/node-card.tsx +0 -72
  338. package/src/views/page-menus/model-metadata/training/components/detail-records/summary-lines.ts +0 -196
  339. package/src/views/page-menus/model-metadata/training/components/detail-records/summary-list.tsx +0 -153
  340. package/src/views/page-menus/model-metadata/training/components/detail-records/timeline.tsx +0 -103
  341. package/src/views/page-menus/model-metadata/training/components/detail-records/types.ts +0 -82
  342. package/src/views/page-menus/model-metadata/training/detail.tsx +0 -159
  343. package/src/views/page-menus/model-metadata/training/index.tsx +0 -236
  344. package/src/views/page-menus/model-metadata/training/modal/update-detail-modal.tsx +0 -154
  345. package/src/views/page-menus/skill/index.tsx +0 -201
  346. package/src/views/page-menus/skill/modal/detail-modal.tsx +0 -156
  347. package/src/views/page-menus/skill/modal/submit-modal.tsx +0 -214
  348. package/src/views/page-system/agent-config/index.tsx +0 -370
  349. package/src/views/page-system/department/departmentFormShared.ts +0 -36
  350. package/src/views/page-system/department/index.tsx +0 -541
  351. package/src/views/page-system/department/modal/detail-modal.tsx +0 -94
  352. package/src/views/page-system/department/modal/member-role-modal.tsx +0 -128
  353. package/src/views/page-system/department/modal/submit-modal.tsx +0 -265
  354. package/src/views/page-system/dict/index.tsx +0 -440
  355. package/src/views/page-system/dict/modal/cate-submit-modal.tsx +0 -315
  356. package/src/views/page-system/dict/modal/submit-modal.tsx +0 -184
  357. package/src/views/page-system/logs/components/index.ts +0 -3
  358. package/src/views/page-system/logs/components/log-message-demo.tsx +0 -30
  359. package/src/views/page-system/logs/components/log-message-stream.ts +0 -184
  360. package/src/views/page-system/logs/components/message-list/content-answer.tsx +0 -100
  361. package/src/views/page-system/logs/components/message-list/content-question.tsx +0 -18
  362. package/src/views/page-system/logs/components/message-list/index.tsx +0 -515
  363. package/src/views/page-system/logs/components/message-list/message-item.tsx +0 -193
  364. package/src/views/page-system/logs/components/message-list/preparation-demo-items.ts +0 -147
  365. package/src/views/page-system/logs/components/message-list/preparation-steps.tsx +0 -506
  366. package/src/views/page-system/logs/components/message-list/suggestion-list.tsx +0 -36
  367. package/src/views/page-system/logs/components/message-list/thinking-process.tsx +0 -49
  368. package/src/views/page-system/logs/components/message-list/toolbar.tsx +0 -134
  369. package/src/views/page-system/logs/components/message-list/use-message-list-scroll.ts +0 -214
  370. package/src/views/page-system/logs/components/message-modal.tsx +0 -239
  371. package/src/views/page-system/logs/index.tsx +0 -132
  372. package/src/views/page-system/logs/modal/detail-modal.tsx +0 -157
  373. package/src/views/page-system/menu/components/menuFormShared.ts +0 -283
  374. package/src/views/page-system/menu/index.less +0 -12
  375. package/src/views/page-system/menu/index.tsx +0 -410
  376. package/src/views/page-system/menu/modal/icon-modal.less +0 -51
  377. package/src/views/page-system/menu/modal/icon-modal.tsx +0 -87
  378. package/src/views/page-system/menu/modal/submit-modal.tsx +0 -263
  379. package/src/views/page-system/permission/index.tsx +0 -562
  380. package/src/views/page-system/permission/modal/detail-modal.tsx +0 -179
  381. package/src/views/page-system/permission/modal/submit-modal.less +0 -146
  382. package/src/views/page-system/permission/modal/submit-modal.tsx +0 -650
  383. package/src/views/page-system/role/index.tsx +0 -163
  384. package/src/views/page-system/role/modal/detail-modal.tsx +0 -127
  385. package/src/views/page-system/role/modal/permission-assign-group-rules.ts +0 -86
  386. package/src/views/page-system/role/modal/permission-modal.tsx +0 -111
  387. package/src/views/page-system/role/modal/role-modal-shell-styles.ts +0 -21
  388. package/src/views/page-system/role/modal/role-permission-assign-panel.tsx +0 -916
  389. package/src/views/page-system/role/modal/role-permission-assign-shared.ts +0 -1047
  390. package/src/views/page-system/role/modal/submit-modal.tsx +0 -193
  391. package/src/views/page-system/sys-config/index.tsx +0 -294
  392. package/src/views/page-system/user/components/user-role-column.tsx +0 -87
  393. package/src/views/page-system/user/index.tsx +0 -439
  394. package/src/views/page-system/user/modal/assign-roles-modal.tsx +0 -389
  395. package/src/views/page-system/user/modal/detail-modal.tsx +0 -72
  396. package/src/views/page-system/user/modal/modal-style/submit-modal.less +0 -40
  397. package/src/views/page-system/user/modal/submit-modal.less +0 -40
  398. package/src/views/page-system/user/modal/submit-modal.tsx +0 -287
  399. package/src/views/page-system/user/userFormShared.ts +0 -51
  400. package/tailwind.config.js +0 -17
  401. package/tsconfig.app.json +0 -48
  402. package/tsconfig.json +0 -11
  403. package/tsconfig.node.json +0 -26
  404. package/vite.config.ts +0 -272
  405. /package/{public → dist}/favicon.ico +0 -0
  406. /package/{public → dist}/vite.svg +0 -0
@@ -1,562 +0,0 @@
1
- import { getMenuTreeAPI } from '@/api/system/menu'
2
- import {
3
- deletePermissionAPI,
4
- disablePermissionAPI,
5
- enablePermissionAPI,
6
- getPermissionPageAPI,
7
- } from '@/api/system/permission'
8
- import { DetailLink } from '@/components/common/detail-link'
9
- import { PathTags } from '@/components/common/path'
10
- import { useAuth } from '@/contexts/AuthContext'
11
- import { ALIGN, ENUM_DATA, FIXED } from '@/meta'
12
- import type { MenuTreeItem } from '@/types/menu'
13
- import {
14
- buildMenuIdToLevelMap,
15
- buildMenuIdToPathLabelMap,
16
- } from '@/utils/menuI18n'
17
- import type { PermissionCrudCopyVariant } from '@/utils/permission-crud'
18
- import ListPageView, { createListPageConfig } from '@components/table-view'
19
- import { CxButton, CxTag, CxTooltip } from '@cx-ui'
20
- import type { MenuProps } from 'antd'
21
- import { Dropdown } from 'antd'
22
- import { Copy } from 'lucide-react'
23
- import { useCallback, useMemo, useRef, useState } from 'react'
24
- import { useTranslation } from 'react-i18next'
25
- import DetailModal from './modal/detail-modal'
26
- import SubmitModal from './modal/submit-modal'
27
-
28
- const useListPageConfig = createListPageConfig({
29
- tableAPI: getPermissionPageAPI,
30
- deleteAPI: deletePermissionAPI,
31
- updateStatusAPI: ({id, status}) =>
32
- Number(status) === 1
33
- ? enablePermissionAPI(id)
34
- : disablePermissionAPI(id),
35
- treeAPI: getMenuTreeAPI,
36
- submitAction: {
37
- permission: 'permission:add',
38
- submitType: 'modal',
39
- labelKey: 'system.permission.add',
40
- addDisabledNoSelectionTooltipKey:
41
- 'system.permission.add_disabled_no_selection',
42
- addDisabledMenuTooDeepTooltipKey:
43
- 'system.permission.add_disabled_menu_too_deep',
44
- },
45
- listQuery: {
46
- sort: 'sortOrder',
47
- order: 'asc',
48
- },
49
- detailAction: {
50
- detailType: 'modal',
51
- labelKey: 'system.permission.view_detail',
52
- },
53
- pageInfo: {
54
- title: 'system.permission.page_title',
55
- subTitle: 'system.permission.page_subtitle',
56
- },
57
- tree: {
58
- title: 'system.permission.tree_list',
59
- fieldNames: {
60
- id: 'id',
61
- label: 'name',
62
- children: 'children',
63
- },
64
- searchField: 'menuId',
65
- autoSearch: true,
66
- /** 无选中时查全部权限;再次点击已选节点取消选中 */
67
- sameNodeReselect: 'deselect',
68
- defaultSelectRoot: false,
69
- fetchTableOnMount: true,
70
- },
71
- searchFields: [
72
- {
73
- prop: 'keyword',
74
- label: 'system.permission.search_keyword',
75
- placeholder: 'system.permission.ph_search_keyword',
76
- width: '200px',
77
- },
78
- {
79
- prop: 'status',
80
- label: 'common.status',
81
- type: 'select',
82
- placeholder: 'common.status',
83
- options: ENUM_DATA.commonStatus.option.map(({ label, value }) => ({
84
- label,
85
- value,
86
- })),
87
- width: '120px',
88
- },
89
- {
90
- prop: 'httpMethod',
91
- label: 'system.permission.http_method',
92
- type: 'select',
93
- placeholder: 'system.permission.ph_search_http_method',
94
- options: ENUM_DATA.httpMethod.option.map(({ label, value }) => ({
95
- label,
96
- value,
97
- })),
98
- width: '130px',
99
- },
100
- {
101
- prop: 'noLoginStatus',
102
- label: 'system.permission.no_login_status',
103
- type: 'select',
104
- placeholder: 'system.permission.ph_search_no_login',
105
- /** 值仍为 noLoginStatus:0=需要认证,1=不需要;文案按「需要认证」是/否 */
106
- options: [
107
- { label: 'common.yes', value: 0 },
108
- { label: 'common.no', value: 1 },
109
- ],
110
- width: '120px',
111
- },
112
- {
113
- prop: 'logStatus',
114
- label: 'system.permission.log_status',
115
- type: 'select',
116
- placeholder: 'system.permission.ph_search_log',
117
- options: ENUM_DATA.commonYesNo.option.map(({ label, value }) => ({
118
- label,
119
- value,
120
- })),
121
- width: '120px',
122
- },
123
- {
124
- prop: 'apiType',
125
- label: 'system.permission.api_type',
126
- type: 'select',
127
- placeholder: 'system.permission.ph_search_api_type',
128
- options: ENUM_DATA.permissionApiType.option.map(({ label, value }) => ({
129
- label,
130
- value,
131
- })),
132
- width: '120px',
133
- },
134
- ],
135
- statusToggle: {
136
- dangerOnDisable: true,
137
- disableConfirm: {
138
- cancelText: 'common.cancel',
139
- content: 'system.permission.disable_confirm_content',
140
- contentFields: ['code'],
141
- okText: 'common.confirm',
142
- title: 'system.permission.disable_confirm_title',
143
- },
144
- enableConfirm: {
145
- cancelText: 'common.cancel',
146
- content: 'system.permission.enable_confirm_content',
147
- contentFields: ['code'],
148
- okText: 'common.confirm',
149
- title: 'system.permission.enable_confirm_title',
150
- },
151
- },
152
- table: {
153
- operationWidth: 330,
154
- },
155
- })
156
-
157
- function IndexView() {
158
- const {t} = useTranslation()
159
- const {hasPermission} = useAuth()
160
- const pageConfig = useListPageConfig()
161
- const modalRef = useRef<any>(null)
162
- const [treeReloadSignal, setTreeReloadSignal] = useState(0)
163
- const [selectedNode, setSelectedNode] = useState<MenuTreeItem | null>(null)
164
- const [menuIdToNameMap, setMenuIdToNameMap] = useState<Record<string, string>>(
165
- {},
166
- )
167
- const [menuIdLevelMap, setMenuIdLevelMap] = useState<Record<string, number>>({})
168
-
169
- const handlePermissionEdit = useCallback(
170
- (payload: { data?: any; config?: any; type?: string }) => {
171
- const record = payload?.data
172
- modalRef.current?.open({
173
- opeType: 'edit',
174
- opeId: record?.id,
175
- data: { record, menuId: String(record?.menuId ?? selectedNode?.id ?? '') },
176
- })
177
- },
178
- [selectedNode],
179
- )
180
-
181
- const finalPageConfig = useMemo(
182
- () => ({
183
- ...pageConfig,
184
- treeReloadSignal,
185
- onEdit: handlePermissionEdit,
186
- getDetailModalOpenExtra: () => ({menuIdToNameMap}),
187
- tree: {
188
- ...pageConfig.tree,
189
- /** 一级菜单(`level===1`)仅展开,标题不可点选 */
190
- disableNode: (node: any, _ctx: { depthFromRoot: number }) =>
191
- Number(node?.level) === 1,
192
- onSelect: (node: MenuTreeItem | null) => {
193
- setSelectedNode(node)
194
- },
195
- onTreeDataChange: (nodes: MenuTreeItem[]) => {
196
- setMenuIdToNameMap(
197
- buildMenuIdToPathLabelMap(nodes, {
198
- idKey: 'id',
199
- childrenKey: 'children',
200
- }),
201
- )
202
- setMenuIdLevelMap(
203
- buildMenuIdToLevelMap(nodes, {
204
- idKey: 'id',
205
- childrenKey: 'children',
206
- }),
207
- )
208
- },
209
- },
210
- }),
211
- [pageConfig, treeReloadSignal, handlePermissionEdit, menuIdToNameMap],
212
- )
213
-
214
- /** 后台菜单 level:0=顶级,1=一级,2=二级… */
215
- const selectedMenuLevel = selectedNode
216
- ? menuIdLevelMap[String(selectedNode.id)]
217
- : undefined
218
- const canCreatePermission =
219
- !!selectedNode &&
220
- (selectedMenuLevel === 0 || selectedMenuLevel === 2)
221
-
222
- const addDisabledTooltipKey = useMemo(() => {
223
- if (canCreatePermission) return undefined
224
- const sa = pageConfig.submitAction
225
- if (!sa) return undefined
226
- if (!selectedNode) return sa.addDisabledNoSelectionTooltipKey
227
- if (selectedMenuLevel == null) return undefined
228
- if (selectedMenuLevel !== 0 && selectedMenuLevel !== 2) {
229
- return sa.addDisabledMenuTooDeepTooltipKey
230
- }
231
- return undefined
232
- }, [
233
- canCreatePermission,
234
- selectedNode,
235
- selectedMenuLevel,
236
- pageConfig.submitAction,
237
- ])
238
-
239
- /** 悬停展开:复制为新增/修改/删除/查看;点击图标为「原样复制到新增」 */
240
- const permissionCopyDropdownItems = useMemo((): MenuProps['items'] => {
241
- const canClone = hasPermission('permission:add')
242
- const permTip = t('system.permission.copy_menu_clone_requires_perm')
243
- return [
244
- {
245
- key: 'add',
246
- label: t('system.permission.copy_menu_clone_add'),
247
- disabled: !canClone,
248
- title: !canClone ? permTip : undefined,
249
- },
250
- {
251
- key: 'edit',
252
- label: t('system.permission.copy_menu_clone_edit'),
253
- disabled: !canClone,
254
- title: !canClone ? permTip : undefined,
255
- },
256
- {
257
- key: 'delete',
258
- label: t('system.permission.copy_menu_clone_delete'),
259
- disabled: !canClone,
260
- title: !canClone ? permTip : undefined,
261
- },
262
- {
263
- key: 'detail',
264
- label: t('system.permission.copy_menu_clone_detail'),
265
- disabled: !canClone,
266
- title: !canClone ? permTip : undefined,
267
- },
268
- ]
269
- }, [hasPermission, t])
270
-
271
- const handlePermissionRowCopy = useCallback(
272
- (key: string, record: any) => {
273
- if (key === 'only') {
274
- if (!hasPermission('permission:add')) return
275
- modalRef.current?.open({
276
- opeType: 'add',
277
- copyOpen: { data: record },
278
- })
279
- return
280
- }
281
- const variants: PermissionCrudCopyVariant[] = [
282
- 'add',
283
- 'edit',
284
- 'delete',
285
- 'detail',
286
- ]
287
- if (!variants.includes(key as PermissionCrudCopyVariant)) return
288
- if (!hasPermission('permission:add')) return
289
- modalRef.current?.open({
290
- opeType: 'add',
291
- copyOpen: { data: record, variant: key as PermissionCrudCopyVariant },
292
- })
293
- },
294
- [hasPermission, t],
295
- )
296
-
297
- const columns = useMemo(
298
- () => [
299
- {
300
- title: 'system.permission.table_columns_title.name_and_code',
301
- key: 'code',
302
- align: ALIGN.LEFT,
303
- render: (_: unknown, data: any) => {
304
- return (
305
- <div className="flex items-center gap-3 leading-5 min-w-0">
306
- <div className="min-w-0 flex-1">
307
- <p className="text-[14px] text-sm font-medium text-gray-900 dark:text-gray-100 truncate">
308
- <DetailLink
309
- text={data.title}
310
- onClick={() => {
311
- finalPageConfig.onDetail?.({
312
- type: 'detail',
313
- data,
314
- config: finalPageConfig.detailAction,
315
- })
316
- }}
317
- />
318
- </p>
319
- <p className="text-[14px] text-[#6b7280] dark:text-gray-400 truncate">
320
- {data?.code ?? '-'}
321
- </p>
322
- </div>
323
- </div>
324
- )
325
- },
326
- },
327
- {
328
- title: 'system.permission.path',
329
- key: 'path',
330
- align: ALIGN.LEFT,
331
- render: (_: unknown, data: any) => {
332
- const methodRaw = data?.httpMethod ?? data?.method
333
- const methodKey = methodRaw == null ? '' : `${methodRaw}`.toUpperCase()
334
- const hex =
335
- ENUM_DATA.httpMethod.tagColorMap[methodKey] ?? '#64748b'
336
- return (
337
- <PathTags
338
- path={data?.path ?? data?.apiPath}
339
- color={hex}
340
- />
341
- )
342
- },
343
- },
344
- {
345
- title: 'system.permission.http_method',
346
- key: 'httpMethod',
347
- align: ALIGN.CENTER,
348
- width: 80,
349
- render: (_: unknown, data: any) => {
350
- const raw = data?.httpMethod ?? data?.method ?? ''
351
- const text = raw != null && String(raw) !== '' ? String(raw) : '-'
352
- if (text === '-') return '-'
353
- const hex =
354
- ENUM_DATA.httpMethod.tagColorMap[
355
- String(text).toUpperCase()
356
- ] ?? '#64748b'
357
- return (
358
- <div className="flex justify-center">
359
- <CxTag color={hex} className="font-antd">
360
- {text}
361
- </CxTag>
362
- </div>
363
- )
364
- },
365
- },
366
- {
367
- title: 'system.permission.api_type',
368
- key: 'apiType',
369
- width: 100,
370
- align: ALIGN.CENTER,
371
- render: (value: unknown, data: any) => {
372
- const raw = value ?? data?.apiType
373
- const n = Number(raw)
374
- const hex = ENUM_DATA.permissionApiType.tagColorMap[String(n)] ?? '#64748b'
375
- return (
376
- <div className="flex justify-center">
377
- <CxTag.Enum value={raw} enumKey="permissionApiType" color={hex} />
378
- </div>
379
- )
380
- },
381
- },
382
- {
383
- title: 'system.permission.no_login_status',
384
- key: 'noLoginStatus',
385
- width: 80,
386
- align: ALIGN.CENTER,
387
- render: (noLoginStatus: unknown) => (
388
- <div className="flex justify-center">
389
- <CxTag.YesNo value={noLoginStatus} color={Number(noLoginStatus) === 1 ? 'error' : 'success'} reverse />
390
- </div>
391
- ),
392
- },
393
- {
394
- title: 'system.permission.log_status',
395
- key: 'logStatus',
396
- width: 80,
397
- align: ALIGN.CENTER,
398
- render: (logStatus: unknown) => (
399
- <div className="flex justify-center">
400
- <CxTag.YesNo value={logStatus} />
401
- </div>
402
- ),
403
- },
404
- {
405
- title: 'common.status',
406
- key: 'status',
407
- width: 80,
408
- align: ALIGN.CENTER,
409
- render: (status: unknown) => (
410
- <div className="flex justify-center">
411
- <CxTag.Enabled value={status} />
412
- </div>
413
- ),
414
- },
415
- {
416
- title: 'common.actions',
417
- key: 'action',
418
- align: ALIGN.LEFT,
419
- width: 200,
420
- fixed: FIXED.RIGHT,
421
- render: (_: any, data: any) => {
422
- const isEnabled = Number(data?.status) === 1
423
- const canEditWhenDisabled =
424
- hasPermission('permission:edit') && !isEnabled
425
- const canDeleteWhenDisabled =
426
- hasPermission('permission:delete') && !isEnabled
427
- return (
428
- <div className="flex justify-start gap-2">
429
- <CxButton.IconView
430
- onClick={() =>
431
- finalPageConfig.onDetail?.({
432
- type: 'detail',
433
- data,
434
- config: finalPageConfig.detailAction,
435
- })
436
- }
437
- />
438
- <Dropdown
439
- trigger={['hover']}
440
- mouseEnterDelay={0.12}
441
- mouseLeaveDelay={0.2}
442
- menu={{
443
- items: permissionCopyDropdownItems,
444
- onClick: ({key, domEvent}) => {
445
- domEvent.stopPropagation()
446
- handlePermissionRowCopy(String(key), data)
447
- },
448
- }}>
449
- <span className="inline-flex" onKeyDown={(e) => e.stopPropagation()}>
450
- <CxButton.Icon
451
- type="primary"
452
- icon={<Copy size={16} />}
453
- tooltipTitle={
454
- <>
455
- {t('system.permission.copy_tooltip_line1')}
456
- <br />
457
- {t('system.permission.copy_tooltip_line2')}
458
- </>
459
- }
460
- onClick={(e) => {
461
- e.stopPropagation()
462
- handlePermissionRowCopy('only', data)
463
- }}
464
- />
465
- </span>
466
- </Dropdown>
467
- {hasPermission('permission:enable') && !isEnabled && (
468
- <CxButton.IconEnable
469
- onClick={() =>
470
- finalPageConfig.onStatusToggle?.({
471
- nextStatus: 1,
472
- data,
473
- })
474
- }
475
- />
476
- )}
477
- {hasPermission('permission:disable') && isEnabled && (
478
- <CxButton.IconDisable
479
- onClick={() =>
480
- finalPageConfig.onStatusToggle?.({
481
- nextStatus: 0,
482
- data,
483
- })
484
- }
485
- />
486
- )}
487
- {canEditWhenDisabled && (
488
- <CxButton.IconEdit
489
- onClick={() =>
490
- finalPageConfig.onEdit?.({
491
- type: 'edit',
492
- data,
493
- config: finalPageConfig.submitAction,
494
- })
495
- }
496
- />
497
- )}
498
- {canDeleteWhenDisabled && (
499
- <CxButton.IconDelete
500
- onClick={() => finalPageConfig.onDelete?.(data)}
501
- />
502
- )}
503
- </div>
504
- )
505
- },
506
- },
507
- ],
508
- [t, hasPermission, permissionCopyDropdownItems, handlePermissionRowCopy, finalPageConfig],
509
- )
510
-
511
- const permissionHeaderAdd = useMemo(() => {
512
- const addBtn = (
513
- <CxButton.Add
514
- disabled={!canCreatePermission}
515
- onClick={() => {
516
- if (!selectedNode || !canCreatePermission) return
517
- modalRef.current?.open({
518
- opeType: 'add',
519
- data: { menuId: String(selectedNode.id) },
520
- })
521
- }}>
522
- {t('system.permission.add')}
523
- </CxButton.Add>
524
- )
525
- if (!canCreatePermission && addDisabledTooltipKey) {
526
- return (
527
- <CxTooltip title={t(addDisabledTooltipKey)}>
528
- <span className="inline-flex">{addBtn}</span>
529
- </CxTooltip>
530
- )
531
- }
532
- return addBtn
533
- }, [
534
- canCreatePermission,
535
- addDisabledTooltipKey,
536
- selectedNode,
537
- t,
538
- ])
539
-
540
- return (
541
- <>
542
- <ListPageView
543
- columns={columns}
544
- pageConfig={finalPageConfig}
545
- detailModalComponent={DetailModal as any}
546
- headerActions={permissionHeaderAdd}
547
- />
548
- <SubmitModal
549
- ref={modalRef}
550
- onOk={async () => {
551
- await finalPageConfig.fetchTableData?.()
552
- setTreeReloadSignal((n) => n + 1)
553
- }}
554
- onCancel={() => {
555
- // 取消时的清理逻辑(可选)
556
- }}
557
- />
558
- </>
559
- )
560
- }
561
-
562
- export default IndexView