@gientech/modual 2.0.5 → 2.0.6

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 (413) hide show
  1. package/README.md +118 -0
  2. package/{dist/chat.js → chat.js} +98 -98
  3. package/package.json +41 -103
  4. package/.editorconfig +0 -38
  5. package/.prettierignore +0 -16
  6. package/.prettierrc +0 -17
  7. package/USAGE.md +0 -247
  8. package/bash.exe.stackdump +0 -40
  9. package/components.json +0 -21
  10. package/dist/README.md +0 -643
  11. package/dist/package.json +0 -68
  12. package/doc_assets/2.png +0 -0
  13. package/doc_assets/demo.md +0 -27
  14. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +0 -2
  15. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +0 -23699
  16. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +0 -1
  17. package/doc_assets/demos/dist-app/index.html +0 -14
  18. package/doc_assets/demos/dist-app/vite.svg +0 -1
  19. package/doc_assets/images/1.png +0 -0
  20. package/doc_assets/images/3.png +0 -0
  21. package/doc_assets/images/component-screenshot.png +0 -1
  22. package/doc_assets/install.md +0 -5
  23. package/doc_assets//346/226/271/346/241/210//344/274/230/345/214/226/346/226/271/346/241/210-/345/244/232/344/274/232/350/257/235SSE/350/277/236/346/216/245/347/256/241/347/220/206.md +0 -504
  24. package/eslint.config.js +0 -92
  25. package/index.html +0 -13
  26. package/package.json.demo-backup +0 -109
  27. package/postcss.config.cjs +0 -19
  28. package/public/icons/answerAwartar.png +0 -0
  29. package/public/icons/docx-file.png +0 -0
  30. package/public/icons/folder.png +0 -0
  31. package/public/icons/html.png +0 -0
  32. package/public/icons/image.png +0 -0
  33. package/public/icons/jpg-file.png +0 -0
  34. package/public/icons/json.png +0 -0
  35. package/public/icons/md.png +0 -0
  36. package/public/icons/pdf.png +0 -0
  37. package/public/icons/pptx.png +0 -0
  38. package/public/icons/questionAwartar.png +0 -0
  39. package/public/icons/sheets.png +0 -0
  40. package/public/icons/txt.png +0 -0
  41. package/public/icons/xlsx.png +0 -0
  42. package/public/vite.svg +0 -1
  43. package/public/worker/pdf.worker.min.js +0 -22
  44. package/scripts/README.md +0 -133
  45. package/scripts/build-demo.js +0 -88
  46. package/scripts/decrypt-api-key.js +0 -95
  47. package/scripts/demo-selector.js +0 -216
  48. package/scripts/dev-demo.js +0 -76
  49. package/scripts/preview-demo.js +0 -130
  50. package/scripts/run-demo.bat +0 -34
  51. package/src/assets/img/close.png +0 -0
  52. package/src/assets/img/database.png +0 -0
  53. package/src/assets/img/downArrow.png +0 -0
  54. package/src/assets/img/downLoad.png +0 -0
  55. package/src/assets/img/excel.png +0 -0
  56. package/src/assets/img/graphIcon.png +0 -0
  57. package/src/assets/img/img.png +0 -0
  58. package/src/assets/img/pdf.png +0 -0
  59. package/src/assets/img/ppt.png +0 -0
  60. package/src/assets/img/singleQa.png +0 -0
  61. package/src/assets/img/txt.png +0 -0
  62. package/src/assets/img/webSearch.png +0 -0
  63. package/src/assets/img/word.png +0 -0
  64. package/src/assets/login/homeBg.png +0 -0
  65. package/src/assets/login/left.jpg +0 -0
  66. package/src/assets/login/logoImg.png +0 -0
  67. package/src/examples/ConversationAssistantPage/index.tsx +0 -41
  68. package/src/examples/Demo/index.tsx +0 -12
  69. package/src/examples/LoginPage/index.tsx +0 -18
  70. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -78
  71. package/src/examples/chat/index.tsx +0 -154
  72. package/src/examples/chat/logo03.png +0 -0
  73. package/src/examples/gientechStreamFilesReader/index.tsx +0 -951
  74. package/src/examples/headlessChat/index.tsx +0 -234
  75. package/src/examples/ragDatabaseDataPage/index.tsx +0 -40
  76. package/src/examples/ragDatabaseIdPage/index.tsx +0 -47
  77. package/src/examples/ragDatabasePage/index.tsx +0 -36
  78. package/src/examples/ragModelManagePage/index.tsx +0 -38
  79. package/src/examples/ragSearchPage/index.tsx +0 -0
  80. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -32
  81. package/src/examples/streamFiles/index.tsx +0 -417
  82. package/src/lib_enter.ts +0 -43
  83. package/src/main.tsx +0 -5
  84. package/src/main.tsx.backup +0 -5
  85. package/src/modules/CHAT_UNIFICATION_PLAN.md +0 -324
  86. package/src/modules/assistantConfig/assets/databse.svg +0 -6
  87. package/src/modules/assistantConfig/assets/empty.png +0 -0
  88. package/src/modules/assistantConfig/assets/graph.svg +0 -4
  89. package/src/modules/assistantConfig/assets/knowledge.svg +0 -4
  90. package/src/modules/assistantConfig/assets/sensitive.svg +0 -5
  91. package/src/modules/assistantConfig/components/Database.tsx +0 -171
  92. package/src/modules/assistantConfig/components/Graph.tsx +0 -177
  93. package/src/modules/assistantConfig/components/Knowledge.tsx +0 -276
  94. package/src/modules/assistantConfig/components/NotFoundContent.tsx +0 -21
  95. package/src/modules/assistantConfig/components/Paragraph.tsx +0 -51
  96. package/src/modules/assistantConfig/components/ParamsItem.tsx +0 -39
  97. package/src/modules/assistantConfig/components/ResourceBinderItem.tsx +0 -133
  98. package/src/modules/assistantConfig/components/SearchableSelector.tsx +0 -500
  99. package/src/modules/assistantConfig/components/Sensitive.tsx +0 -221
  100. package/src/modules/assistantConfig/components/SliderInput.tsx +0 -65
  101. package/src/modules/assistantConfig/constants.tsx +0 -75
  102. package/src/modules/assistantConfig/index.tsx +0 -710
  103. package/src/modules/assistantConfig/server.ts +0 -262
  104. package/src/modules/chat/Conversations/Item.tsx +0 -167
  105. package/src/modules/chat/Conversations/List.tsx +0 -210
  106. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  107. package/src/modules/chat/Conversations/index.tsx +0 -252
  108. package/src/modules/chat/ReferenceBar.tsx +0 -622
  109. package/src/modules/chat/constants.tsx +0 -52
  110. package/src/modules/chat/data.txt +0 -82
  111. package/src/modules/chat/index.tsx +0 -2054
  112. package/src/modules/chat/referenceCom/DeleteModal.tsx +0 -75
  113. package/src/modules/chat/referenceCom/DrawerContent.tsx +0 -136
  114. package/src/modules/chat/referenceCom/DrawerDatabase.tsx +0 -102
  115. package/src/modules/chat/referenceCom/DrawerGraphPreview.tsx +0 -86
  116. package/src/modules/chat/referenceCom/DrawerPreview.tsx +0 -73
  117. package/src/modules/chat/referenceCom/DrawerTitle.tsx +0 -26
  118. package/src/modules/chat/referenceCom/RenameModal.tsx +0 -86
  119. package/src/modules/chat/referenceCom/TagCom.tsx +0 -30
  120. package/src/modules/chat/style.less +0 -3
  121. package/src/modules/chat/types.ts +0 -17
  122. package/src/modules/chat/utils/index.ts +0 -348
  123. package/src/modules/database/CreateModal.tsx +0 -403
  124. package/src/modules/database/assets/Doris.png +0 -0
  125. package/src/modules/database/assets/PostgreSQL.png +0 -0
  126. package/src/modules/database/assets/SQLServer.png +0 -0
  127. package/src/modules/database/assets/database.svg +0 -11
  128. package/src/modules/database/assets/database_add.svg +0 -53
  129. package/src/modules/database/assets/database_connect.svg +0 -66
  130. package/src/modules/database/assets/database_upload.svg +0 -29
  131. package/src/modules/database/assets/empty.png +0 -0
  132. package/src/modules/database/assets/mysql.svg +0 -14
  133. package/src/modules/database/index.tsx +0 -477
  134. package/src/modules/database/server.ts +0 -196
  135. package/src/modules/databaseId/CustomCom.tsx +0 -156
  136. package/src/modules/databaseId/EditConfig.tsx +0 -280
  137. package/src/modules/databaseId/UploadDrawer.tsx +0 -535
  138. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  139. package/src/modules/databaseId/assets/empty.png +0 -0
  140. package/src/modules/databaseId/assets/template.svg +0 -6
  141. package/src/modules/databaseId/assets/upload.svg +0 -9
  142. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  143. package/src/modules/databaseId/index.tsx +0 -769
  144. package/src/modules/databaseId/server.ts +0 -286
  145. package/src/modules/databaseId/style.css +0 -5
  146. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -124
  147. package/src/modules/databaseTable/index.tsx +0 -359
  148. package/src/modules/databaseTable/server.ts +0 -180
  149. package/src/modules/headlessChat/ReferenceBar.tsx +0 -783
  150. package/src/modules/headlessChat/constants.tsx +0 -54
  151. package/src/modules/headlessChat/index.tsx +0 -1706
  152. package/src/modules/headlessChat/referenceCom/DeleteModal.tsx +0 -75
  153. package/src/modules/headlessChat/referenceCom/DrawerContent.tsx +0 -136
  154. package/src/modules/headlessChat/referenceCom/DrawerDatabase.tsx +0 -102
  155. package/src/modules/headlessChat/referenceCom/DrawerGraphPreview.tsx +0 -86
  156. package/src/modules/headlessChat/referenceCom/DrawerPreview.tsx +0 -73
  157. package/src/modules/headlessChat/referenceCom/DrawerTitle.tsx +0 -26
  158. package/src/modules/headlessChat/referenceCom/RenameModal.tsx +0 -86
  159. package/src/modules/headlessChat/referenceCom/TagCom.tsx +0 -30
  160. package/src/modules/headlessChat/style.less +0 -3
  161. package/src/modules/headlessChat/types.ts +0 -23
  162. package/src/modules/headlessChat/utils/index.ts +0 -348
  163. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -102
  164. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -180
  165. package/src/modules/login/components/Login/index.tsx +0 -100
  166. package/src/modules/login/index.tsx +0 -106
  167. package/src/modules/login/style.css +0 -3
  168. package/src/modules/login/useServices.ts +0 -53
  169. package/src/modules/login/utils.ts +0 -42
  170. package/src/modules/modelManage/ConfigDrawer.tsx +0 -249
  171. package/src/modules/modelManage/ReplaceModal.tsx +0 -124
  172. package/src/modules/modelManage/assets/empty.png +0 -0
  173. package/src/modules/modelManage/const.ts +0 -51
  174. package/src/modules/modelManage/index.tsx +0 -606
  175. package/src/modules/modelManage/server.ts +0 -223
  176. package/src/modules/nodegraph/index.tsx +0 -1
  177. package/src/modules/search/assets/Icon-history.svg +0 -8
  178. package/src/modules/search/assets/answerAwartar.png +0 -0
  179. package/src/modules/search/assets/doc.png +0 -0
  180. package/src/modules/search/assets/genera.gif +0 -0
  181. package/src/modules/search/assets/icon-robot.svg +0 -9
  182. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  183. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  184. package/src/modules/search/assets/icon-title.svg +0 -9
  185. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  186. package/src/modules/search/assets/iconAi.svg +0 -9
  187. package/src/modules/search/assets/pdf.png +0 -0
  188. package/src/modules/search/assets/ppt.png +0 -0
  189. package/src/modules/search/assets/search.svg +0 -3
  190. package/src/modules/search/assets/selected.svg +0 -4
  191. package/src/modules/search/assets/txt.png +0 -0
  192. package/src/modules/search/assets/xls.png +0 -0
  193. package/src/modules/search/components/AssisSelect.tsx +0 -137
  194. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  195. package/src/modules/search/components/Editor/aichat.css +0 -1
  196. package/src/modules/search/components/Editor/constant.ts +0 -13
  197. package/src/modules/search/components/Editor/index.tsx +0 -113
  198. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  199. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  200. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  201. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  202. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  203. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  204. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  205. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  206. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  207. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  208. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  209. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  210. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  211. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  212. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  213. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  214. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  215. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  216. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  217. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  218. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  219. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  220. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  221. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  222. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  223. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  224. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  225. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  226. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  227. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  228. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  229. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  230. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  231. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  232. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  233. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  234. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  235. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  236. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  237. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  238. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  239. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  240. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  241. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  242. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  243. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  244. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  245. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  246. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  247. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  248. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  249. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  250. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  251. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  252. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  253. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  254. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  255. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  256. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  257. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  258. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  259. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  260. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  261. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  262. package/src/modules/search/components/Editor/ui/style.less +0 -12
  263. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  264. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  265. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  266. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  267. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  268. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  269. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  270. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  271. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  272. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  273. package/src/modules/search/components/FileList.tsx +0 -287
  274. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  275. package/src/modules/search/components/ResultContent.tsx +0 -232
  276. package/src/modules/search/components/SearchInput.tsx +0 -232
  277. package/src/modules/search/components/SearchLanding.tsx +0 -74
  278. package/src/modules/search/components/SearchView.tsx +0 -563
  279. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  280. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  281. package/src/modules/search/index.tsx +0 -10
  282. package/src/modules/search/reademe.md +0 -1
  283. package/src/modules/search/servers/apis.tsx +0 -19
  284. package/src/modules/search/servers/index.ts +0 -184
  285. package/src/modules/search/style.less +0 -503
  286. package/src/modules/search/type.ts +0 -22
  287. package/src/modules/search/utils.ts +0 -34
  288. package/src/modules/sensitive/index.tsx +0 -313
  289. package/src/modules/sensitive/server.ts +0 -122
  290. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1625
  291. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  292. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  293. package/src/modules/streamFilesReader/index.tsx +0 -3
  294. package/src/style.css +0 -6
  295. package/src/type.d.ts +0 -0
  296. package/src/utils/commonFn.tsx +0 -111
  297. package/src/utils/decryptApiKey.ts +0 -40
  298. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  299. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  300. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  301. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  302. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  303. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -319
  304. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  305. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -400
  306. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  307. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -581
  308. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -359
  309. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  310. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  311. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  312. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  313. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  314. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  315. package/src/utils/gientechCommon/components/style.less +0 -11
  316. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  317. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  318. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  319. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -417
  320. package/src/utils/gientechCommon/hooks/useFileDisplayTools.tsx +0 -204
  321. package/src/utils/gientechCommon/hooks/useFileManager.ts +0 -193
  322. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  323. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  324. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  325. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  326. package/src/utils/gientechCommon/utils/fileUtils.ts +0 -86
  327. package/src/utils/gientechCommon/utils/request.ts +0 -37
  328. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  329. package/src/utils/index.tsx +0 -142
  330. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  331. package/src/utils/testconfigs/index.ts +0 -59
  332. package/src/vite-env.d.ts +0 -42
  333. package/stats.html +0 -4949
  334. package/tailwind.config.js +0 -170
  335. package/tsconfig.app.json +0 -30
  336. package/tsconfig.app.tsbuildinfo +0 -11
  337. package/tsconfig.json +0 -13
  338. package/tsconfig.node.json +0 -22
  339. package/tsconfig.node.tsbuildinfo +0 -1
  340. package/vite.config.app.ts +0 -93
  341. package/vite.config.ts +0 -232
  342. package/workflows/release.yml +0 -60
  343. package//346/215/242/350/241/214/346/240/274/345/274/217/344/277/235/346/214/201/344/274/230/345/214/226/346/226/271/346/241/210.md +0 -359
  344. /package/{dist/assets → assets}/Doris.png +0 -0
  345. /package/{dist/assets → assets}/GientechStreamReader-DUCq-O5X.js +0 -0
  346. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  347. /package/{dist/assets → assets}/SQLServer.png +0 -0
  348. /package/{dist/assets → assets}/database.svg +0 -0
  349. /package/{dist/assets → assets}/database_add.svg +0 -0
  350. /package/{dist/assets → assets}/database_connect.svg +0 -0
  351. /package/{dist/assets → assets}/database_upload.svg +0 -0
  352. /package/{dist/assets → assets}/databse.svg +0 -0
  353. /package/{dist/assets → assets}/defaultWeLogo.svg +0 -0
  354. /package/{dist/assets → assets}/empty.png +0 -0
  355. /package/{dist/assets → assets}/graph.svg +0 -0
  356. /package/{dist/assets → assets}/homeBg.png +0 -0
  357. /package/{dist/assets → assets}/index-B2yNvzjy.js +0 -0
  358. /package/{dist/assets → assets}/index-BKe5FgcC.js +0 -0
  359. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  360. /package/{dist/assets → assets}/index-D72cKELw.js +0 -0
  361. /package/{dist/assets → assets}/index-DdVFXD_y.js +0 -0
  362. /package/{dist/assets → assets}/index-DrkSoKz6.js +0 -0
  363. /package/{dist/assets → assets}/index-KCfkkJKb.js +0 -0
  364. /package/{dist/assets → assets}/index-QI9biQrR.js +0 -0
  365. /package/{dist/assets → assets}/index-ZopkeZtI.js +0 -0
  366. /package/{dist/assets → assets}/index-g-SUxfJH.js +0 -0
  367. /package/{dist/assets → assets}/index-j0kQJd0a.js +0 -0
  368. /package/{dist/assets → assets}/knowledge.svg +0 -0
  369. /package/{dist/assets → assets}/left.jpg +0 -0
  370. /package/{dist/assets → assets}/logoImg.png +0 -0
  371. /package/{dist/assets → assets}/mysql.svg +0 -0
  372. /package/{dist/assets → assets}/plus-V9zUoSq6.js +0 -0
  373. /package/{dist/assets → assets}/sensitive.svg +0 -0
  374. /package/{dist/assets → assets}/style-CGmZ5osp.js +0 -0
  375. /package/{dist/assets → assets}/style.css +0 -0
  376. /package/{dist/assets → assets}/style2.css +0 -0
  377. /package/{dist/assets → assets}/style3.css +0 -0
  378. /package/{dist/assets → assets}/style4.css +0 -0
  379. /package/{dist/assets → assets}/worker-BbpylX7l.js +0 -0
  380. /package/{dist/assets → assets}/x-CnaaLGJF.js +0 -0
  381. /package/{dist/assistantConfig.d.ts → assistantConfig.d.ts} +0 -0
  382. /package/{dist/assistantConfig.js → assistantConfig.js} +0 -0
  383. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  384. /package/{dist/database.d.ts → database.d.ts} +0 -0
  385. /package/{dist/database.js → database.js} +0 -0
  386. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  387. /package/{dist/databaseId.js → databaseId.js} +0 -0
  388. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  389. /package/{dist/databaseTable.js → databaseTable.js} +0 -0
  390. /package/{dist/icons → icons}/answerAwartar.png +0 -0
  391. /package/{dist/icons → icons}/docx-file.png +0 -0
  392. /package/{dist/icons → icons}/folder.png +0 -0
  393. /package/{dist/icons → icons}/html.png +0 -0
  394. /package/{dist/icons → icons}/image.png +0 -0
  395. /package/{dist/icons → icons}/jpg-file.png +0 -0
  396. /package/{dist/icons → icons}/json.png +0 -0
  397. /package/{dist/icons → icons}/md.png +0 -0
  398. /package/{dist/icons → icons}/pdf.png +0 -0
  399. /package/{dist/icons → icons}/pptx.png +0 -0
  400. /package/{dist/icons → icons}/questionAwartar.png +0 -0
  401. /package/{dist/icons → icons}/sheets.png +0 -0
  402. /package/{dist/icons → icons}/txt.png +0 -0
  403. /package/{dist/icons → icons}/xlsx.png +0 -0
  404. /package/{dist/index.d.ts → index.d.ts} +0 -0
  405. /package/{dist/index.js → index.js} +0 -0
  406. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  407. /package/{dist/modelManage.js → modelManage.js} +0 -0
  408. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  409. /package/{dist/sensitive.js → sensitive.js} +0 -0
  410. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  411. /package/{dist/streamFilesReader.js → streamFilesReader.js} +0 -0
  412. /package/{dist/vite.svg → vite.svg} +0 -0
  413. /package/{dist/worker → worker}/pdf.worker.min.js +0 -0
@@ -1,324 +0,0 @@
1
- # Chat 和 HeadlessChat 统一方案分析
2
-
3
- ## 一、现状分析
4
-
5
- ### 1.1 共同部分(可统一)
6
-
7
- #### 1.1.1 文件管理核心逻辑
8
- - ✅ `normalizeFileItem` - 文件结构标准化函数
9
- - ✅ `mergeFiles` - 文件合并去重函数
10
- - ✅ `pollFileStatus` - 文件解析状态轮询逻辑
11
- - ✅ `fileManagerData` 状态管理(uploadedFiles)
12
- - ✅ `fileStatuses` 状态管理(上传/解析状态)
13
- - ✅ `uploaded_file:removeFromTemp` 事件处理逻辑
14
- - ✅ 文件上传、解析、删除的完整流程(handleSenderSend 中的文件处理部分)
15
-
16
- #### 1.1.2 消息处理逻辑
17
- - ✅ `handleSenderSend` - 核心消息发送逻辑(文件上传 + AI请求)
18
- - ✅ `handleReSenderSend` - 消息重发逻辑
19
- - ✅ `setFeed` - 反馈处理(赞/踩)
20
- - ✅ `fetchRecommendQuestions` - 推荐问题获取
21
- - ✅ `addEmptyMessage` - 添加空消息
22
- - ✅ `setLastEmptyMessage` - 设置最后一条空消息
23
-
24
- #### 1.1.3 事件处理
25
- - ✅ `chatbox:copy` - 复制消息
26
- - ✅ `chatbox:like/dislike` - 点赞/踩
27
- - ✅ `chatbox:repeat` - 重发消息
28
- - ✅ `chatbox:follow_up_question_click` - 追问点击
29
- - ✅ `sender:stop` - 停止发送
30
- - ✅ `sender:clear` - 清空输入
31
- - ✅ `sender:configChange` - 配置变化
32
- - ✅ `references:click` - 引用点击
33
-
34
- #### 1.1.4 组件配置
35
- - ✅ `businessCustomComponents.AiChatBox` - AI消息渲染逻辑
36
- - ✅ `businessCustomComponents.UserChatBox` - 用户消息渲染逻辑
37
- - ✅ `businessCustomComponents.DisplayLoading/DisplayError` - 加载/错误组件
38
- - ✅ `businessCustomComponents.AppLoading/AppError` - 应用级加载/错误组件
39
-
40
- #### 1.1.5 工具函数
41
- - ✅ `utils/index.ts` - 完全相同的工具函数集合
42
-
43
- ### 1.2 差异部分(需要定制)
44
-
45
- #### 1.2.1 初始化逻辑
46
- - **chat**:
47
- - 拉取助手列表(`/qa/search/config/helper/list`)
48
- - 拉取会话列表第一页(`/qa/dialogue/list`)
49
- - 支持会话列表分页
50
- - **headlessChat**:
51
- - 不需要助手列表(使用传入的 configId)
52
- - 不需要会话列表(只创建新会话)
53
- - 自动创建临时会话(`sysType: 'TEMPORARY'`)
54
-
55
- #### 1.2.2 会话管理
56
- - **chat**:
57
- - 完整的会话列表管理(Conversations组件)
58
- - 支持会话重命名、删除
59
- - 支持会话分页加载
60
- - 支持助手切换
61
- - **headlessChat**:
62
- - 无会话列表UI
63
- - 无会话管理功能
64
- - 固定使用传入的 configId
65
-
66
- #### 1.2.3 文件上传方式
67
- - **chat**:
68
- - 使用隐藏的 `<input type="file">`
69
- - 通过 `sender:action_upload` 事件触发
70
- - 文件直接上传到发送器
71
- - **headlessChat**:
72
- - 使用独立的 `FileManager` 组件
73
- - 通过 `sender:action_history` 打开文件管理器
74
- - 文件先添加到 `pendingFiles`,再统一上传
75
-
76
- #### 1.2.4 UI组件差异
77
- - **chat**:
78
- - 有侧边栏(sidebar)显示会话历史
79
- - 有文件展示工具(FileDisplayTools)在 chatHeader
80
- - 使用 RenameModal、DeleteModal
81
- - **headlessChat**:
82
- - 无侧边栏(sidebar = undefined)
83
- - 使用独立的 FileManager Drawer
84
- - 使用 DrawerPreview、DrawerContent 等预览组件
85
-
86
- #### 1.2.5 配置参数
87
- - **chat**:
88
- - 支持 `senderConfig` 深度合并
89
- - 支持 `CustomComponents` 完整覆盖
90
- - 支持 `appLoadingConfig`
91
- - 支持 `SidebarTabConfig`
92
- - **headlessChat**:
93
- - 简单的 `configId`、`welcomeContent`
94
- - 简单的 `CustomComponents` 合并
95
- - 无侧边栏配置
96
-
97
- #### 1.2.6 ReferenceBar 差异
98
- - **chat**:
99
- - 通过 `eventsEmit` 透传事件到父组件
100
- - 部分事件处理在父组件
101
- - **headlessChat**:
102
- - 内部处理所有事件
103
- - 有独立的 `eventsEmit` 函数
104
-
105
- ## 二、统一方案设计
106
-
107
- ### 2.1 架构设计
108
-
109
- ```
110
- gientech/src/modules/
111
- ├── chat/
112
- │ ├── index.tsx (主入口,使用 shared hooks)
113
- │ ├── Conversations/ (会话列表组件,chat 独有)
114
- │ └── ...
115
- ├── headlessChat/
116
- │ ├── index.tsx (主入口,使用 shared hooks)
117
- │ └── ...
118
- └── shared/ (新增)
119
- ├── hooks/
120
- │ ├── useFileManager.ts (文件管理逻辑)
121
- │ ├── useMessageHandler.ts (消息处理逻辑)
122
- │ └── useChatEvents.ts (事件处理逻辑)
123
- ├── utils/
124
- │ ├── fileUtils.ts (文件工具函数)
125
- │ └── messageUtils.ts (消息工具函数)
126
- └── types.ts (共享类型定义)
127
- ```
128
-
129
- ### 2.2 核心 Hook 设计
130
-
131
- #### 2.2.1 `useFileManager` - 文件管理 Hook
132
-
133
- ```typescript
134
- interface UseFileManagerOptions {
135
- url: string;
136
- token: string;
137
- CSRFToken?: string;
138
- activeSessionId?: string;
139
- currentChatData: any;
140
- onError?: (error: any) => void;
141
- }
142
-
143
- interface UseFileManagerReturn {
144
- fileManagerData: { uploadedFiles: any[] };
145
- fileStatuses: any[];
146
- setFileManagerData: (data: { uploadedFiles: any[] }) => void;
147
- setFileStatuses: (statuses: any[]) => void;
148
- pollFileStatus: (uids: string[], callbacks: PollCallbacks) => void;
149
- handleRemoveFromTemp: (uid: string, queryId?: string) => Promise<void>;
150
- normalizeFileItem: (f: any) => any;
151
- mergeFiles: (oldFiles: any[], newFiles: any[]) => any[];
152
- // ... 其他文件相关方法
153
- }
154
- ```
155
-
156
- **职责**:
157
- - 文件状态管理(uploadedFiles、fileStatuses)
158
- - 文件上传、解析、删除逻辑
159
- - 文件结构标准化和合并
160
- - 文件轮询状态检查
161
-
162
- #### 2.2.2 `useMessageHandler` - 消息处理 Hook
163
-
164
- ```typescript
165
- interface UseMessageHandlerOptions {
166
- url: string;
167
- token: string;
168
- CSRFToken?: string;
169
- activeSessionId?: string;
170
- currentChatData: any;
171
- conversationList: any[];
172
- setChatData: (updater: any) => void;
173
- setConversationList: (updater: any) => void;
174
- setAppStatus: (updater: any) => void;
175
- api_startChat_re: (params: any, callback?: any) => void;
176
- addEmptyMessage: (data: any) => void;
177
- setLastEmptyMessage: (data: any) => void;
178
- fileManager: UseFileManagerReturn;
179
- senderSwitchValues: { [key: string]: boolean };
180
- configId?: string;
181
- sysType?: 'INT_SESSION' | 'TEMPORARY';
182
- }
183
-
184
- interface UseMessageHandlerReturn {
185
- handleSenderSend: (data: any, clearFn: () => void) => Promise<void>;
186
- handleReSenderSend: (data: any) => void;
187
- setFeed: (queryId: string, result: number | null) => void;
188
- fetchRecommendQuestions: (queryId: string) => Promise<void>;
189
- }
190
- ```
191
-
192
- **职责**:
193
- - 消息发送逻辑(包含文件上传流程)
194
- - 消息重发逻辑
195
- - 反馈处理
196
- - 推荐问题获取
197
-
198
- #### 2.2.3 `useChatEvents` - 事件处理 Hook
199
-
200
- ```typescript
201
- interface UseChatEventsOptions {
202
- // 各种处理函数的引用
203
- handleSenderSend: (data: any, clearFn: () => void) => Promise<void>;
204
- handleReSenderSend: (data: any) => void;
205
- handleThumbsup: (data: any) => void;
206
- handleItemClick?: (data: any) => void;
207
- handleConversationCreate?: (data: any) => void;
208
- fileManager: UseFileManagerReturn;
209
- // ... 其他依赖
210
- }
211
-
212
- interface UseChatEventsReturn {
213
- mergedEventsEmit: (eventName: string, data: any) => void;
214
- }
215
- ```
216
-
217
- **职责**:
218
- - 统一事件分发
219
- - 事件处理逻辑聚合
220
- - 支持扩展自定义事件处理
221
-
222
- ### 2.3 文件结构标准化
223
-
224
- #### 2.3.1 共享工具函数提取
225
-
226
- 将以下函数提取到 `shared/utils/fileUtils.ts`:
227
- - `normalizeFileItem`
228
- - `mergeFiles`
229
- - `pollFileStatus` (提取为独立函数,接受配置参数)
230
-
231
- #### 2.3.2 共享类型定义
232
-
233
- 在 `shared/types.ts` 中定义:
234
- - `FileManagerData`
235
- - `FileStatus`
236
- - `MessageHandlerOptions`
237
- - `ChatEventsOptions`
238
- - 等共享类型
239
-
240
- ### 2.4 实施步骤
241
-
242
- #### 阶段一:提取文件管理逻辑
243
- 1. ✅ 创建 `shared/hooks/useFileManager.ts`
244
- 2. ✅ 提取 `normalizeFileItem`、`mergeFiles` 到 `shared/utils/fileUtils.ts`
245
- 3. ✅ 提取 `pollFileStatus` 逻辑到 hook
246
- 4. ✅ 提取 `uploaded_file:removeFromTemp` 处理逻辑
247
- 5. ✅ 在 chat 和 headlessChat 中替换为使用 hook
248
-
249
- #### 阶段二:提取消息处理逻辑
250
- 1. ✅ 创建 `shared/hooks/useMessageHandler.ts`
251
- 2. ✅ 提取 `handleSenderSend` 核心逻辑(文件上传部分)
252
- 3. ✅ 提取 `handleReSenderSend` 逻辑
253
- 4. ✅ 提取 `setFeed`、`fetchRecommendQuestions` 逻辑
254
- 5. ✅ 在 chat 和 headlessChat 中替换为使用 hook
255
-
256
- #### 阶段三:提取事件处理逻辑
257
- 1. ✅ 创建 `shared/hooks/useChatEvents.ts`
258
- 2. ✅ 提取通用事件处理逻辑
259
- 3. ✅ 支持自定义事件处理器注入
260
- 4. ✅ 在 chat 和 headlessChat 中替换为使用 hook
261
-
262
- #### 阶段四:统一 ReferenceBar
263
- 1. ✅ 分析两个 ReferenceBar 的差异
264
- 2. ✅ 提取共同逻辑到共享组件
265
- 3. ✅ 通过 props 控制差异行为
266
- 4. ✅ 统一两个模块使用同一个 ReferenceBar
267
-
268
- #### 阶段五:测试和优化
269
- 1. ✅ 确保 chat 功能正常
270
- 2. ✅ 确保 headlessChat 功能正常
271
- 3. ✅ 确保文件管理逻辑一致
272
- 4. ✅ 性能优化和代码清理
273
-
274
- ## 三、关键注意事项
275
-
276
- ### 3.1 保持向后兼容
277
- - 两个模块的对外接口(props)保持不变
278
- - 只重构内部实现,不改变外部 API
279
-
280
- ### 3.2 差异化处理
281
- - 通过 hook 的 options 参数传递差异配置
282
- - 通过条件判断处理不同场景
283
- - 保持代码清晰,避免过度抽象
284
-
285
- ### 3.3 文件管理器逻辑统一
286
- - **重点**: chat 已经更新了 filemanager 逻辑,需要确保 headlessChat 使用相同的逻辑
287
- - 统一 `uploaded_file:removeFromTemp` 事件处理
288
- - 统一文件状态同步逻辑(从 reference 字段同步到 fileManagerData)
289
- - 统一文件上传、解析、删除流程
290
-
291
- ### 3.4 测试重点
292
- - 文件上传流程
293
- - 文件解析状态轮询
294
- - 文件删除(removeFromTemp)
295
- - 文件状态同步(从 AI 消息的 reference 字段)
296
- - 消息发送(有文件/无文件)
297
- - 消息重发
298
-
299
- ## 四、预期收益
300
-
301
- 1. **代码复用**: 减少 ~40% 的重复代码
302
- 2. **维护性**: 文件管理逻辑统一维护,一处修改两处生效
303
- 3. **一致性**: 确保两个模块的文件管理行为完全一致
304
- 4. **可扩展性**: 新增功能只需在 shared hooks 中添加,自动应用到两个模块
305
- 5. **可测试性**: 共享逻辑可以独立测试
306
-
307
- ## 五、风险评估
308
-
309
- 1. **重构风险**: 大规模重构可能引入 bug
310
- - **缓解**: 分阶段实施,每个阶段充分测试
311
-
312
- 2. **性能影响**: Hook 抽象可能带来性能开销
313
- - **缓解**: 使用 useMemo、useCallback 优化
314
-
315
- 3. **复杂度增加**: 抽象层可能增加理解成本
316
- - **缓解**: 完善的文档和注释
317
-
318
- ## 六、下一步行动
319
-
320
- 1. 创建 shared 目录结构
321
- 2. 开始阶段一:提取文件管理逻辑
322
- 3. 同步更新 chat 和 headlessChat 使用新的 hook
323
- 4. 测试验证功能正常
324
- 5. 继续后续阶段
@@ -1,6 +0,0 @@
1
- <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <rect width="24" height="24" rx="3.55556" fill="#925BFF"/>
3
- <path d="M11.9971 11.265C15.249 11.265 17.8891 10.443 17.8891 9.423V7.95288C17.8891 6.93291 15.2492 6.11084 11.9971 6.11084C8.74513 6.11084 6.10504 6.93276 6.10504 7.95288V9.42285C6.10504 10.437 8.73898 11.265 11.9971 11.265Z" fill="white"/>
4
- <path d="M11.9971 14.577C15.249 14.577 17.8891 13.7551 17.8891 12.7349V10.527C17.8891 11.5469 15.2492 12.369 11.9971 12.369C8.74513 12.369 6.10504 11.5471 6.10504 10.527V12.7349C6.10504 13.749 8.73898 14.577 11.9971 14.577Z" fill="white"/>
5
- <path d="M11.9971 15.681C8.7451 15.681 6.11102 14.859 6.11102 13.839V16.0469C6.11102 17.0609 8.74496 17.889 12.0031 17.889C15.255 17.889 17.8951 17.0671 17.8951 16.0469V13.8391C17.889 14.859 15.249 15.681 11.9971 15.681Z" fill="white"/>
6
- </svg>
@@ -1,4 +0,0 @@
1
- <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <rect width="24" height="24" rx="3.55556" fill="#00C1B8"/>
3
- <path d="M17.9887 12.582C18.1207 13.6621 17.2267 14.5801 16.1526 14.4901C15.3306 14.4181 14.6645 13.7521 14.6045 12.924C14.5745 12.558 14.6645 12.21 14.8445 11.9159C14.9285 11.7779 14.9045 11.6039 14.8025 11.4899L14.3885 11.0339C14.2805 10.9139 14.1005 10.8839 13.9565 10.9559C13.6144 11.1239 13.2304 11.2199 12.8224 11.2199C12.6244 11.2199 12.4324 11.1959 12.2464 11.1539C12.0963 11.1179 11.9463 11.1779 11.8563 11.3039L11.2803 12.1259C11.1783 12.276 11.1963 12.474 11.3223 12.606C11.8983 13.188 12.2464 13.9921 12.2284 14.8741C12.1924 16.4702 10.9203 17.7963 9.32417 17.9043C7.45804 18.0243 5.90994 16.4942 6.00595 14.6281C6.08995 13.038 7.38604 11.7599 8.97614 11.6879C9.42017 11.6699 9.8402 11.7419 10.2302 11.8919C10.3922 11.9519 10.5722 11.8979 10.6743 11.7599L11.1663 11.0579C11.2743 10.9019 11.2503 10.6919 11.1123 10.5658C10.5302 10.0498 10.1882 9.26976 10.2662 8.4177C10.3742 7.18162 11.3823 6.18556 12.6244 6.09555C14.1245 5.98154 15.3846 7.17562 15.3846 8.65172C15.3846 9.20376 15.2106 9.70779 14.9105 10.1278C14.8085 10.2658 14.8205 10.4578 14.9345 10.5898L15.3786 11.0819C15.4746 11.1899 15.6306 11.2259 15.7626 11.1779C16.0086 11.0939 16.2786 11.0639 16.5606 11.1119C17.3047 11.2259 17.8987 11.8319 17.9887 12.582Z" fill="white"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <rect width="20" height="20" rx="2.22222" fill="#00B2F9"/>
3
- <path d="M5.3125 13.9672V13.975C5.32812 14.6938 5.89922 15.2734 6.61875 15.2734H13.9062C14.3375 15.2734 14.6875 14.9289 14.6875 14.4977V5.50703C14.6875 5.40447 14.6673 5.30292 14.628 5.20818C14.5887 5.11344 14.5312 5.02736 14.4586 4.95488C14.3861 4.8824 14.2999 4.82492 14.2052 4.78575C14.1104 4.74657 14.0088 4.72646 13.9062 4.72656H6.875C6.01172 4.72656 5.3125 5.42031 5.3125 6.28359V13.9672ZM7.5 9.24531V6.25C7.5 6.07813 7.64062 5.9375 7.8125 5.9375H9.6875C9.86016 5.9375 10 6.07813 10 6.25V9.24531C10 9.30716 9.98175 9.36762 9.94741 9.41906C9.91308 9.47049 9.86425 9.51058 9.80712 9.53426C9.74999 9.55793 9.68712 9.56412 9.62647 9.55204C9.56581 9.53996 9.51011 9.51016 9.46641 9.46641L8.97109 8.97109C8.94207 8.94204 8.90761 8.91899 8.86967 8.90326C8.83173 8.88754 8.79107 8.87944 8.75 8.87944C8.70893 8.87944 8.66827 8.88754 8.63033 8.90326C8.59239 8.91899 8.55793 8.94204 8.52891 8.97109L8.03359 9.46641C7.98989 9.51016 7.93418 9.53996 7.87353 9.55204C7.81288 9.56412 7.75001 9.55793 7.69288 9.53426C7.63575 9.51058 7.58692 9.47049 7.55259 9.41906C7.51825 9.36762 7.49995 9.30716 7.5 9.24531ZM6.54375 14.2063C6.45208 14.1156 6.40625 14.0052 6.40625 13.875C6.40625 13.7458 6.45208 13.6354 6.54375 13.5438C6.6349 13.4521 6.74531 13.4062 6.875 13.4062H13.5938V14.3438H6.875C6.74531 14.3438 6.6349 14.2979 6.54375 14.2063Z" fill="white"/>
4
- </svg>
@@ -1,5 +0,0 @@
1
- <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <rect width="20" height="20" rx="2.22222" fill="#FFCC3C"/>
3
- <path d="M13.3263 12.7917H7.53763C7.33426 12.8116 7.17923 12.9825 7.17923 13.1867C7.17923 13.3909 7.33426 13.5618 7.53763 13.5817H13.3277C13.3828 13.5871 13.4384 13.5809 13.4909 13.5634C13.5435 13.546 13.5918 13.5178 13.6328 13.4806C13.6738 13.4434 13.7066 13.3981 13.729 13.3474C13.7514 13.2968 13.763 13.2421 13.763 13.1867C13.763 13.1313 13.7514 13.0766 13.729 13.026C13.7066 12.9753 13.6738 12.93 13.6328 12.8928C13.5918 12.8556 13.5435 12.8274 13.4909 12.8099C13.4384 12.7925 13.3828 12.7863 13.3277 12.7917H13.3263ZM9.19742 7.60418L8.84232 8.55193H9.57339L9.19742 7.60418Z" fill="white"/>
4
- <path d="M15.3211 14.7707V6.9692H14.4704V14.3543H6.70511C6.06668 14.3392 5.55704 13.8173 5.55704 13.1788C5.55704 12.5402 6.06668 12.0184 6.70511 12.0033H13.352C13.4644 12.0075 13.5735 11.9648 13.653 11.8852C13.6923 11.8459 13.7231 11.7988 13.7434 11.747C13.7638 11.6952 13.7731 11.6398 13.771 11.5842V5.20102C13.7736 5.14526 13.7646 5.08958 13.7445 5.03752C13.7244 4.98546 13.6936 4.93816 13.6542 4.89865C13.6148 4.85915 13.5675 4.82832 13.5155 4.80812C13.4634 4.78792 13.4077 4.7788 13.352 4.78134H6.70511C5.60281 4.80136 4.71609 5.69369 4.70291 6.79599V13.1759C4.71609 14.283 5.61038 15.1773 6.71756 15.1905H14.8893C15.0042 15.1994 15.1173 15.1585 15.1999 15.0782C15.2407 15.0385 15.2727 14.9905 15.2936 14.9375C15.3145 14.8845 15.3239 14.8276 15.3211 14.7707ZM8.98782 6.78585H9.44888L10.7213 9.92562H10.2475L9.9075 9.06759H8.51871L8.19742 9.92562H7.72354L8.98782 6.78585Z" fill="white"/>
5
- </svg>
@@ -1,171 +0,0 @@
1
- import { useState, useEffect, useRef } from 'react';
2
- import ResourceBinderItem from './ResourceBinderItem';
3
- import SearchableSelector, { type SearchableSelectorRef } from './SearchableSelector';
4
- import { Button, Modal } from 'antd';
5
- import { Plus } from 'lucide-react';
6
- import Icon from '../assets/databse.svg';
7
- import AxiosInstance from '../server';
8
-
9
- const maxCount = 10;
10
-
11
- const DatabaseSection = ({ url, token, role, eventsEmit, sectionData, disabled }: any) => {
12
- const [options, setOptions]: any = useState([]);
13
- const [data, setData]: any = useState([]);
14
- const [isModalShow, setIsModalShow] = useState(false);
15
- const selectorRef = useRef<SearchableSelectorRef>(null);
16
-
17
- const { fetchDatabases } = AxiosInstance({
18
- url,
19
- token,
20
- role,
21
- eventsEmit,
22
- });
23
-
24
- useEffect(() => {
25
- getList();
26
- }, []);
27
-
28
- useEffect(() => {
29
- if (sectionData) {
30
- let _data = [] as any;
31
- (sectionData || []).map((db: any) => {
32
- const _targetDb = (options || []).find((i: any) => i.key === db.key);
33
- if (_targetDb) {
34
- const { key, label } = _targetDb;
35
- _data.push({
36
- key,
37
- label,
38
- });
39
- }
40
- });
41
- setData(_data);
42
- }
43
- }, [sectionData, options]);
44
-
45
- const getList = async () => {
46
- try {
47
- const res = await fetchDatabases();
48
- if (res) {
49
- const options = (res || []).map((item: any) => {
50
- return {
51
- key: item.primitiveName,
52
- label: item.name,
53
- };
54
- });
55
- setOptions(options);
56
- }
57
- } catch (e) {
58
- console.error(e);
59
- }
60
- };
61
-
62
- const handleEventsEmit = (name: string, eventsData?: any) => {
63
- switch (name) {
64
- case 'removeItem':
65
- const _data = data.filter((p: any) => p.key !== eventsData.key);
66
- setData([..._data]);
67
- eventsEmit && eventsEmit('database_selected', _data);
68
- break;
69
- }
70
- };
71
-
72
- const handleOk = () => {
73
- // 通过 ref 获取选中的项
74
- const selectedItems = selectorRef.current?.getSelectedItems() || [];
75
- setData(selectedItems);
76
- setIsModalShow(false);
77
- eventsEmit && eventsEmit('database_selected', selectedItems);
78
- };
79
-
80
- return (
81
- <div style={{ borderBottom: '1px solid #E5E6EB', padding: '12px 0 ' }}>
82
- <div className="flex items-center justify-between">
83
- <div className="flex items-center">
84
- <img src={Icon} />
85
- <span
86
- className="font-medium "
87
- style={{
88
- marginLeft: '10px',
89
- }}
90
- >
91
- 数据库
92
- </span>
93
- </div>
94
-
95
- <div className="flex items-center gap-2">
96
- <Button
97
- color="primary"
98
- variant="outlined"
99
- size="small"
100
- icon={<Plus size={14} />}
101
- onClick={() => setIsModalShow(true)}
102
- disabled={data.length >= maxCount || disabled}
103
- >
104
- 添加
105
- </Button>
106
- </div>
107
- </div>
108
- {data?.length > 0 && (
109
- <ResourceBinderItem
110
- countText={data?.length > 0 ? `已选:${data?.length}个数据库` : undefined}
111
- eventsEmit={handleEventsEmit}
112
- data={data}
113
- />
114
- )}
115
-
116
- <Modal
117
- width={740}
118
- title="选择数据库"
119
- className="assistant-config-resource-bind-modal"
120
- okText="确定"
121
- cancelText="取消"
122
- open={isModalShow}
123
- onOk={handleOk}
124
- onCancel={() => setIsModalShow(false)}
125
- destroyOnHidden
126
- >
127
- <SearchableSelector
128
- ref={selectorRef}
129
- dataSource={options}
130
- value={data}
131
- searchPlaceholder="搜索名称..."
132
- width="700px"
133
- height="500px"
134
- title="数据库"
135
- maxCount={maxCount}
136
- renderItem={item => {
137
- return (
138
- <div className="flex ">
139
- <img src={Icon} alt="add" />
140
- <span
141
- style={{
142
- marginLeft: 8,
143
- marginRight: 8,
144
- overflow: 'hidden',
145
- textOverflow: 'ellipsis',
146
- whiteSpace: 'nowrap',
147
- }}
148
- title={item.label}
149
- >
150
- {item.label}
151
- </span>
152
- </div>
153
- );
154
- }}
155
- renderSelectedItem={(item, updateItemData) => {
156
- return (
157
- <div className="flex items-center">
158
- <img src={Icon} alt="add" />
159
- <div style={{ marginLeft: '12px' }}>
160
- <div style={{ fontWeight: 500 }}>{item.label}</div>
161
- </div>
162
- </div>
163
- );
164
- }}
165
- />
166
- </Modal>
167
- </div>
168
- );
169
- };
170
-
171
- export default DatabaseSection;