@gientech/modual 2.2.3-fix.5 → 2.2.3-fix.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 (523) hide show
  1. package/.editorconfig +38 -0
  2. package/.prettierignore +16 -0
  3. package/.prettierrc +17 -0
  4. package/CHANGELOG.md +162 -0
  5. package/Dockerfile +15 -0
  6. package/README.md +761 -761
  7. package/USAGE.md +247 -0
  8. package/bash.exe.stackdump +40 -0
  9. package/components.json +21 -0
  10. package/default.conf +19 -0
  11. package/dist/README.md +761 -0
  12. package/{assets/GientechStreamReader-r5ZTSZk2.js → dist/assets/GientechStreamReader-Bae2-4f7.js} +1 -1
  13. package/{assets/LeftOutlined-DZMeGbKk.js → dist/assets/LeftOutlined-COk0w5nY.js} +1 -1
  14. package/{assets/circle-plus-B73z_SUN.js → dist/assets/circle-plus-DOKqXUMk.js} +1 -1
  15. package/{assets → dist/assets}/database.svg +11 -11
  16. package/{assets → dist/assets}/database_add.svg +53 -53
  17. package/{assets → dist/assets}/database_connect.svg +66 -66
  18. package/{assets → dist/assets}/database_upload.svg +29 -29
  19. package/{assets → dist/assets}/databse.svg +6 -6
  20. package/{assets → dist/assets}/defaultWeLogo.svg +14 -14
  21. package/{assets → dist/assets}/graph.svg +4 -4
  22. package/{assets → dist/assets}/iconAi.svg +9 -9
  23. package/dist/assets/index-1PwCuRjv.js +1061 -0
  24. package/dist/assets/index-7QvYA6eT.js +1 -0
  25. package/{assets/index-97Oe7YBe.js → dist/assets/index-BKbpfN9S.js} +1 -1
  26. package/{assets/index-B4k3tK0f.js → dist/assets/index-BXdyn2W3.js} +1 -1
  27. package/dist/assets/index-BhUNGJOe.js +27 -0
  28. package/{assets/index-BDc2zBbG.js → dist/assets/index-Bin0NZwF.js} +3 -7
  29. package/{assets/index-DHK_n74G.js → dist/assets/index-CpSzj-Sx.js} +73 -58
  30. package/{assets/index-usBlUHOb.js → dist/assets/index-Ct_k24Ar.js} +1 -1
  31. package/dist/assets/index-DT3qkjJ3.js +750 -0
  32. package/dist/assets/index-lFBFf_0k.js +1890 -0
  33. package/{assets/index-iOuQJ8vu.js → dist/assets/index-vfI1_Qg0.js} +1 -1
  34. package/{assets → dist/assets}/knowledge.svg +4 -4
  35. package/{assets → dist/assets}/mysql.svg +14 -14
  36. package/{assets → dist/assets}/sensitive.svg +5 -5
  37. package/{assets/style-6bvhg-jh.js → dist/assets/style-CfNUqKAA.js} +7 -7
  38. package/dist/assets/style2.css +1 -0
  39. package/dist/assets/style5.css +1 -0
  40. package/{assets/triangle-alert-C4Z1AkGW.js → dist/assets/triangle-alert-CaJaaCaZ.js} +1 -1
  41. package/{assets/x-DWGzNb9c.js → dist/assets/x-B65AntWN.js} +1 -1
  42. package/{assistantConfig.js → dist/assistantConfig.js} +9 -14
  43. package/dist/chat.js +1 -0
  44. package/dist/chatCompare.js +1 -0
  45. package/dist/database.js +20 -0
  46. package/{databaseId.js → dist/databaseId.js} +1 -1
  47. package/{databaseTable.js → dist/databaseTable.js} +1 -1
  48. package/dist/index.js +1 -0
  49. package/dist/modelManage.js +1 -0
  50. package/dist/package.json +73 -0
  51. package/{sensitive.js → dist/sensitive.js} +6 -6
  52. package/dist/streamFilesReader.js +1 -0
  53. package/{worker → dist/worker}/pdf.worker.min.js +21 -21
  54. package/doc_assets/images/1.png +0 -0
  55. package/doc_assets/images/3.png +0 -0
  56. package/doc_assets/images/component-screenshot.png +1 -0
  57. package/doc_assets//346/226/271/346/241/210/v2.0.7/345/217/230/346/233/264/346/200/273/347/273/223.md +115 -0
  58. 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 +504 -0
  59. package/doc_assets//346/226/271/346/241/210//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 +359 -0
  60. package/eslint.config.js +92 -0
  61. package/index.html +13 -0
  62. package/package.json +125 -44
  63. package/package.json.demo-backup +109 -0
  64. package/postcss.config.cjs +19 -0
  65. package/public/icons/answerAwartar.png +0 -0
  66. package/public/icons/docx-file.png +0 -0
  67. package/public/icons/folder.png +0 -0
  68. package/public/icons/html.png +0 -0
  69. package/public/icons/image.png +0 -0
  70. package/public/icons/jpg-file.png +0 -0
  71. package/public/icons/json.png +0 -0
  72. package/public/icons/md.png +0 -0
  73. package/public/icons/pdf.png +0 -0
  74. package/public/icons/pptx.png +0 -0
  75. package/public/icons/questionAwartar.png +0 -0
  76. package/public/icons/sheets.png +0 -0
  77. package/public/icons/txt.png +0 -0
  78. package/public/icons/xlsx.png +0 -0
  79. package/public/vite.svg +1 -0
  80. package/public/worker/pdf.worker.min.js +22 -0
  81. package/rag/assets/index.Bd0tNzw0.js +2797 -0
  82. package/rag/assets/index.D6t67hlu.css +1 -0
  83. package/rag/assets/left.KBHV5h7q.jpg +0 -0
  84. package/rag/assets/worker-BbpylX7l.DptbXke_.js +13 -0
  85. package/release-it.json +21 -0
  86. package/scripts/README.md +133 -0
  87. package/scripts/build-demo.js +88 -0
  88. package/scripts/check-changelog.cjs +124 -0
  89. package/scripts/check-version.cjs +49 -0
  90. package/scripts/decrypt-api-key.js +95 -0
  91. package/scripts/demo-selector.js +216 -0
  92. package/scripts/dev-demo.js +85 -0
  93. package/scripts/open-file.cjs +61 -0
  94. package/scripts/preview-demo.js +130 -0
  95. package/scripts/run-demo.bat +34 -0
  96. package/src/assets/img/close.png +0 -0
  97. package/src/assets/img/database.png +0 -0
  98. package/src/assets/img/downArrow.png +0 -0
  99. package/src/assets/img/downLoad.png +0 -0
  100. package/src/assets/img/excel.png +0 -0
  101. package/src/assets/img/graphIcon.png +0 -0
  102. package/src/assets/img/iconAi.svg +9 -0
  103. package/src/assets/img/img.png +0 -0
  104. package/src/assets/img/pdf.png +0 -0
  105. package/src/assets/img/ppt.png +0 -0
  106. package/src/assets/img/search.svg +3 -0
  107. package/src/assets/img/selected.svg +4 -0
  108. package/src/assets/img/singleQa.png +0 -0
  109. package/src/assets/img/txt.png +0 -0
  110. package/src/assets/img/webSearch.png +0 -0
  111. package/src/assets/img/word.png +0 -0
  112. package/src/assets/login/homeBg.png +0 -0
  113. package/src/assets/login/left.jpg +0 -0
  114. package/src/assets/login/logoImg.png +0 -0
  115. package/src/examples/ConversationAssistantPage/index.tsx +42 -0
  116. package/src/examples/LoginPage/index.tsx +20 -0
  117. package/src/examples/chat/components/DrawerGraphPreview.tsx +78 -0
  118. package/src/examples/chat/index.tsx +171 -0
  119. package/src/examples/chat/logo03.png +0 -0
  120. package/src/examples/chatCompare/icons/rag_think.svg +8 -0
  121. package/src/examples/chatCompare/icons/wenda_lianwangsousuo.svg +9 -0
  122. package/src/examples/chatCompare/index.tsx +154 -0
  123. package/src/examples/gientechStreamFilesReader/index.tsx +979 -0
  124. package/src/examples/headlessChat/assets/mind.svg +6 -0
  125. package/src/examples/headlessChat/assets/net.svg +7 -0
  126. package/src/examples/headlessChat/index.tsx +298 -0
  127. package/src/examples/knowledgebaseDetails/index.tsx +119 -0
  128. package/src/examples/ragDatabaseDataPage/index.tsx +40 -0
  129. package/src/examples/ragDatabaseIdPage/index.tsx +126 -0
  130. package/src/examples/ragDatabasePage/index.tsx +36 -0
  131. package/src/examples/ragModelManagePage/index.tsx +107 -0
  132. package/src/examples/ragModelManagePage/style.css +7 -0
  133. package/src/examples/ragSearchPage/index.tsx +0 -0
  134. package/src/examples/ragSensitiveWordsPage/index.tsx +117 -0
  135. package/src/examples/ragSensitiveWordsPage/style.css +16 -0
  136. package/src/examples/sensitiveId/index.tsx +41 -0
  137. package/src/examples/streamFiles/index.tsx +417 -0
  138. package/src/examples/utils/demo_setting_pannel.ts +0 -0
  139. package/src/lib_enter.ts +44 -0
  140. package/src/main.tsx +5 -0
  141. package/src/main.tsx.backup +5 -0
  142. package/src/modules/CHAT_UNIFICATION_PLAN.md +324 -0
  143. package/src/modules/assistantConfig/assets/databse.svg +6 -0
  144. package/src/modules/assistantConfig/assets/empty.png +0 -0
  145. package/src/modules/assistantConfig/assets/graph.svg +4 -0
  146. package/src/modules/assistantConfig/assets/knowledge.svg +4 -0
  147. package/src/modules/assistantConfig/assets/sensitive.svg +5 -0
  148. package/src/modules/assistantConfig/components/Database.tsx +171 -0
  149. package/src/modules/assistantConfig/components/Graph.tsx +177 -0
  150. package/src/modules/assistantConfig/components/Knowledge.tsx +276 -0
  151. package/src/modules/assistantConfig/components/NotFoundContent.tsx +21 -0
  152. package/src/modules/assistantConfig/components/Paragraph.tsx +51 -0
  153. package/src/modules/assistantConfig/components/ParamsItem.tsx +40 -0
  154. package/src/modules/assistantConfig/components/ResourceBinderItem.tsx +133 -0
  155. package/src/modules/assistantConfig/components/SearchableSelector.tsx +500 -0
  156. package/src/modules/assistantConfig/components/Sensitive.tsx +221 -0
  157. package/src/modules/assistantConfig/components/SliderInput.tsx +66 -0
  158. package/src/modules/assistantConfig/constants.tsx +75 -0
  159. package/src/modules/assistantConfig/index.tsx +785 -0
  160. package/src/modules/assistantConfig/server.ts +262 -0
  161. package/src/modules/chat/AllFiles.tsx +158 -0
  162. package/src/modules/chat/Conversations/Item.tsx +169 -0
  163. package/src/modules/chat/Conversations/List.tsx +210 -0
  164. package/src/modules/chat/Conversations/groupByTime.ts +39 -0
  165. package/src/modules/chat/Conversations/index.tsx +255 -0
  166. package/src/modules/chat/ReferenceBar.tsx +659 -0
  167. package/src/modules/chat/constants.tsx +66 -0
  168. package/src/modules/chat/i18n.ts +151 -0
  169. package/src/modules/chat/i18n.tsx +151 -0
  170. package/src/modules/chat/icons/rag_think.svg +8 -0
  171. package/src/modules/chat/icons/wenda_lianwangsousuo.svg +9 -0
  172. package/src/modules/chat/index.tsx +2400 -0
  173. package/src/modules/chat/referenceCom/DeleteModal.tsx +75 -0
  174. package/src/modules/chat/referenceCom/DrawerContent.tsx +136 -0
  175. package/src/modules/chat/referenceCom/DrawerDatabase.tsx +102 -0
  176. package/src/modules/chat/referenceCom/DrawerGraphPreview.tsx +86 -0
  177. package/src/modules/chat/referenceCom/DrawerPreview.tsx +73 -0
  178. package/src/modules/chat/referenceCom/DrawerTitle.tsx +26 -0
  179. package/src/modules/chat/referenceCom/RenameModal.tsx +86 -0
  180. package/src/modules/chat/referenceCom/TagCom.tsx +30 -0
  181. package/src/modules/chat/style.css +6 -0
  182. package/src/modules/chat/style.less +7 -0
  183. package/src/modules/chat/types.ts +17 -0
  184. package/src/modules/chat/utils/index.ts +348 -0
  185. package/src/modules/chatCompare/UseChatCompareHooks.ts +103 -0
  186. package/src/modules/chatCompare/components/AichatCompareUseController.tsx +754 -0
  187. package/src/modules/chatCompare/components/AssistantSelector.tsx +127 -0
  188. package/src/modules/chatCompare/components/ChatInputer.tsx +67 -0
  189. package/src/modules/chatCompare/components/ChatInstance.tsx +426 -0
  190. package/src/modules/chatCompare/components/ChatItem.tsx +556 -0
  191. package/src/modules/chatCompare/components/Sender/FileCardCommon.tsx +97 -0
  192. package/src/modules/chatCompare/components/Sender/FileUpload.tsx +89 -0
  193. package/src/modules/chatCompare/components/Sender/FilesDisplay.tsx +309 -0
  194. package/src/modules/chatCompare/components/Sender/VoiceInput.tsx +80 -0
  195. package/src/modules/chatCompare/components/Sender/contexts/BadgeContext.tsx +36 -0
  196. package/src/modules/chatCompare/components/Sender/fileIcon.tsx +100 -0
  197. package/src/modules/chatCompare/components/Sender/index.tsx +850 -0
  198. package/src/modules/chatCompare/components/UseChatInstanceHooks.ts +406 -0
  199. package/src/modules/chatCompare/components/UseScrollHooks.ts +36 -0
  200. package/src/modules/chatCompare/components/components/AllFiles.tsx +156 -0
  201. package/src/modules/chatCompare/components/components/DeleteModal.tsx +75 -0
  202. package/src/modules/chatCompare/components/components/DrawerContent.tsx +138 -0
  203. package/src/modules/chatCompare/components/components/DrawerDatabase.tsx +110 -0
  204. package/src/modules/chatCompare/components/components/DrawerGraphPreview.tsx +95 -0
  205. package/src/modules/chatCompare/components/components/DrawerPreview.tsx +75 -0
  206. package/src/modules/chatCompare/components/components/DrawerTitle.tsx +26 -0
  207. package/src/modules/chatCompare/components/components/DrawerVideo.tsx +85 -0
  208. package/src/modules/chatCompare/components/components/ReferenceBar.tsx +659 -0
  209. package/src/modules/chatCompare/components/components/RenameModal.tsx +86 -0
  210. package/src/modules/chatCompare/components/components/TagCom.tsx +30 -0
  211. package/src/modules/chatCompare/components/defaultStyleSet.tsx +148 -0
  212. package/src/modules/chatCompare/components/server.ts +208 -0
  213. package/src/modules/chatCompare/components/serverFn.ts +172 -0
  214. package/src/modules/chatCompare/components/style.less +97 -0
  215. package/src/modules/chatCompare/components/useFileManager.ts +173 -0
  216. package/src/modules/chatCompare/components/utils.ts +31 -0
  217. package/src/modules/chatCompare/data.ts +842 -0
  218. package/src/modules/chatCompare/index.tsx +537 -0
  219. package/src/modules/chatCompare/utils/AiChat.types.tsx +110 -0
  220. package/src/modules/chatCompare/utils/constants.tsx +70 -0
  221. package/src/modules/chatCompare/utils/fileUploadValidator.ts +183 -0
  222. package/src/modules/chatCompare/utils/icons/rag_think.svg +8 -0
  223. package/src/modules/chatCompare/utils/icons/wenda_lianwangsousuo.svg +9 -0
  224. package/src/modules/chatCompare/utils/index.ts +46 -0
  225. package/src/modules/database/CreateModal.tsx +402 -0
  226. package/src/modules/database/assets/Doris.png +0 -0
  227. package/src/modules/database/assets/PostgreSQL.png +0 -0
  228. package/src/modules/database/assets/SQLServer.png +0 -0
  229. package/src/modules/database/assets/database.svg +11 -0
  230. package/src/modules/database/assets/database_add.svg +53 -0
  231. package/src/modules/database/assets/database_connect.svg +66 -0
  232. package/src/modules/database/assets/database_upload.svg +29 -0
  233. package/src/modules/database/assets/empty.png +0 -0
  234. package/src/modules/database/assets/mysql.svg +14 -0
  235. package/src/modules/database/index.tsx +477 -0
  236. package/src/modules/database/server.ts +196 -0
  237. package/src/modules/databaseId/CustomCom.tsx +156 -0
  238. package/src/modules/databaseId/EditConfig.tsx +280 -0
  239. package/src/modules/databaseId/UploadDrawer.tsx +535 -0
  240. package/src/modules/databaseId/assets/aiOptimize.svg +10 -0
  241. package/src/modules/databaseId/assets/empty.png +0 -0
  242. package/src/modules/databaseId/assets/template.svg +6 -0
  243. package/src/modules/databaseId/assets/upload.svg +9 -0
  244. package/src/modules/databaseId/assets/useTemp.svg +6 -0
  245. package/src/modules/databaseId/i18n.ts +360 -0
  246. package/src/modules/databaseId/index.tsx +855 -0
  247. package/src/modules/databaseId/server.ts +286 -0
  248. package/src/modules/databaseId/style.css +5 -0
  249. package/src/modules/databaseTable/EditRowDrawer.tsx +124 -0
  250. package/src/modules/databaseTable/index.tsx +359 -0
  251. package/src/modules/databaseTable/server.ts +180 -0
  252. package/src/modules/headlessChat/ReferenceBar.tsx +783 -0
  253. package/src/modules/headlessChat/constants.tsx +54 -0
  254. package/src/modules/headlessChat/index.tsx +1903 -0
  255. package/src/modules/headlessChat/referenceCom/DeleteModal.tsx +75 -0
  256. package/src/modules/headlessChat/referenceCom/DrawerContent.tsx +136 -0
  257. package/src/modules/headlessChat/referenceCom/DrawerDatabase.tsx +102 -0
  258. package/src/modules/headlessChat/referenceCom/DrawerGraphPreview.tsx +86 -0
  259. package/src/modules/headlessChat/referenceCom/DrawerPreview.tsx +73 -0
  260. package/src/modules/headlessChat/referenceCom/DrawerTitle.tsx +26 -0
  261. package/src/modules/headlessChat/referenceCom/RenameModal.tsx +86 -0
  262. package/src/modules/headlessChat/referenceCom/TagCom.tsx +30 -0
  263. package/src/modules/headlessChat/style.less +3 -0
  264. package/src/modules/headlessChat/types.ts +23 -0
  265. package/src/modules/headlessChat/utils/index.ts +348 -0
  266. package/src/modules/knowledgeBase/index.tsx +58 -0
  267. package/src/modules/knowledgeBase/server.ts +196 -0
  268. package/src/modules/knowledgebaseDetails/KnowledgeBaseDetails.tsx +169 -0
  269. package/src/modules/knowledgebaseDetails/components/KnowledgeBaseSummaryCard.tsx +193 -0
  270. package/src/modules/knowledgebaseDetails/components/fileManagementParts.tsx +534 -0
  271. package/src/modules/knowledgebaseDetails/components/index.ts +3 -0
  272. package/src/modules/knowledgebaseDetails/index.ts +3 -0
  273. package/src/modules/knowledgebaseDetails/modules/ConfigModule.tsx +49 -0
  274. package/src/modules/knowledgebaseDetails/modules/FaqModule.tsx +47 -0
  275. package/src/modules/knowledgebaseDetails/modules/KnowledgeParseModule.tsx +771 -0
  276. package/src/modules/knowledgebaseDetails/modules/RetrievalTestModule.tsx +49 -0
  277. package/src/modules/knowledgebaseDetails/modules/UploadManagementModule.tsx +49 -0
  278. package/src/modules/knowledgebaseDetails/modules/types.ts +44 -0
  279. package/src/modules/knowledgebaseDetails/modules-shim.d.ts +14 -0
  280. package/src/modules/knowledgebaseDetails/servers/analysis.ts +5 -0
  281. package/src/modules/knowledgebaseDetails/servers/index.ts +318 -0
  282. package/src/modules/login/components/Login/LoginBox/index.tsx +105 -0
  283. package/src/modules/login/components/Login/RegisterBox/index.tsx +181 -0
  284. package/src/modules/login/components/Login/index.tsx +100 -0
  285. package/src/modules/login/i18n.ts +217 -0
  286. package/src/modules/login/index.tsx +113 -0
  287. package/src/modules/login/style.css +3 -0
  288. package/src/modules/login/useServices.ts +53 -0
  289. package/src/modules/login/utils.ts +42 -0
  290. package/src/modules/modelManage/ConfigDrawer.tsx +267 -0
  291. package/src/modules/modelManage/ReplaceModal.tsx +113 -0
  292. package/src/modules/modelManage/assets/empty.png +0 -0
  293. package/src/modules/modelManage/const.ts +51 -0
  294. package/src/modules/modelManage/i18n.ts +407 -0
  295. package/src/modules/modelManage/index.tsx +668 -0
  296. package/src/modules/modelManage/server.ts +231 -0
  297. package/src/modules/nodegraph/index.tsx +1 -0
  298. package/src/modules/search/assets/Icon-history.svg +8 -0
  299. package/src/modules/search/assets/answerAwartar.png +0 -0
  300. package/src/modules/search/assets/doc.png +0 -0
  301. package/src/modules/search/assets/genera.gif +0 -0
  302. package/src/modules/search/assets/icon-robot.svg +9 -0
  303. package/src/modules/search/assets/icon-search-bar.svg +14 -0
  304. package/src/modules/search/assets/icon-sub-title.svg +3 -0
  305. package/src/modules/search/assets/icon-title.svg +9 -0
  306. package/src/modules/search/assets/icon-zoomOut.svg +9 -0
  307. package/src/modules/search/assets/iconAi.svg +9 -0
  308. package/src/modules/search/assets/pdf.png +0 -0
  309. package/src/modules/search/assets/ppt.png +0 -0
  310. package/src/modules/search/assets/search.svg +3 -0
  311. package/src/modules/search/assets/selected.svg +4 -0
  312. package/src/modules/search/assets/txt.png +0 -0
  313. package/src/modules/search/assets/xls.png +0 -0
  314. package/src/modules/search/components/AssisSelect.tsx +137 -0
  315. package/src/modules/search/components/Editor/ChatViewEditor.tsx +261 -0
  316. package/src/modules/search/components/Editor/aichat.css +1 -0
  317. package/src/modules/search/components/Editor/constant.ts +13 -0
  318. package/src/modules/search/components/Editor/index.tsx +113 -0
  319. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +332 -0
  320. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +20 -0
  321. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +38 -0
  322. package/src/modules/search/components/Editor/plugins/displayer.ts +298 -0
  323. package/src/modules/search/components/Editor/plugins/imageClick.tsx +32 -0
  324. package/src/modules/search/components/Editor/plugins/myplugin.tsx +98 -0
  325. package/src/modules/search/components/Editor/ui/avatar.tsx +19 -0
  326. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +21 -0
  327. package/src/modules/search/components/Editor/ui/button.tsx +58 -0
  328. package/src/modules/search/components/Editor/ui/calendar.tsx +68 -0
  329. package/src/modules/search/components/Editor/ui/caption.tsx +46 -0
  330. package/src/modules/search/components/Editor/ui/checkbox.tsx +27 -0
  331. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +188 -0
  332. package/src/modules/search/components/Editor/ui/code-block-element.css +434 -0
  333. package/src/modules/search/components/Editor/ui/code-block-element.tsx +39 -0
  334. package/src/modules/search/components/Editor/ui/code-leaf.tsx +24 -0
  335. package/src/modules/search/components/Editor/ui/code-line-element.tsx +10 -0
  336. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +21 -0
  337. package/src/modules/search/components/Editor/ui/column-element.tsx +30 -0
  338. package/src/modules/search/components/Editor/ui/column-group-element.tsx +94 -0
  339. package/src/modules/search/components/Editor/ui/command.tsx +75 -0
  340. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +22 -0
  341. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +37 -0
  342. package/src/modules/search/components/Editor/ui/comment-item.tsx +74 -0
  343. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +49 -0
  344. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +42 -0
  345. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +22 -0
  346. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +32 -0
  347. package/src/modules/search/components/Editor/ui/comment-value.tsx +34 -0
  348. package/src/modules/search/components/Editor/ui/comments-popover.tsx +63 -0
  349. package/src/modules/search/components/Editor/ui/date-element.tsx +83 -0
  350. package/src/modules/search/components/Editor/ui/dialog.tsx +63 -0
  351. package/src/modules/search/components/Editor/ui/draggable.tsx +177 -0
  352. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +180 -0
  353. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +85 -0
  354. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +28 -0
  355. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +76 -0
  356. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +8 -0
  357. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +51 -0
  358. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +77 -0
  359. package/src/modules/search/components/Editor/ui/heading-element.tsx +48 -0
  360. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +17 -0
  361. package/src/modules/search/components/Editor/ui/hr-element.tsx +30 -0
  362. package/src/modules/search/components/Editor/ui/icons.tsx +267 -0
  363. package/src/modules/search/components/Editor/ui/image-element.tsx +74 -0
  364. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +368 -0
  365. package/src/modules/search/components/Editor/ui/input.tsx +25 -0
  366. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +218 -0
  367. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +20 -0
  368. package/src/modules/search/components/Editor/ui/link-element.tsx +29 -0
  369. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +161 -0
  370. package/src/modules/search/components/Editor/ui/list-element.tsx +30 -0
  371. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +24 -0
  372. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +133 -0
  373. package/src/modules/search/components/Editor/ui/media-popover.tsx +97 -0
  374. package/src/modules/search/components/Editor/ui/mention-element.tsx +43 -0
  375. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +141 -0
  376. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +93 -0
  377. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +67 -0
  378. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +4 -0
  379. package/src/modules/search/components/Editor/ui/placeholder.tsx +52 -0
  380. package/src/modules/search/components/Editor/ui/popover.tsx +32 -0
  381. package/src/modules/search/components/Editor/ui/resizable.tsx +66 -0
  382. package/src/modules/search/components/Editor/ui/separator.tsx +25 -0
  383. package/src/modules/search/components/Editor/ui/style.less +12 -0
  384. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +143 -0
  385. package/src/modules/search/components/Editor/ui/table-element.tsx +243 -0
  386. package/src/modules/search/components/Editor/ui/table-row-element.tsx +22 -0
  387. package/src/modules/search/components/Editor/ui/tableValue.tsx +135 -0
  388. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +43 -0
  389. package/src/modules/search/components/Editor/ui/toggle-element.tsx +31 -0
  390. package/src/modules/search/components/Editor/ui/toolbar.tsx +157 -0
  391. package/src/modules/search/components/Editor/ui/tooltip.tsx +65 -0
  392. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +160 -0
  393. package/src/modules/search/components/Editor/ui/with-draggables.tsx +175 -0
  394. package/src/modules/search/components/FileList.tsx +287 -0
  395. package/src/modules/search/components/ImageGroupView/index.tsx +85 -0
  396. package/src/modules/search/components/ResultContent.tsx +232 -0
  397. package/src/modules/search/components/SearchInput.tsx +232 -0
  398. package/src/modules/search/components/SearchLanding.tsx +74 -0
  399. package/src/modules/search/components/SearchView.tsx +563 -0
  400. package/src/modules/search/components/SimpleEditor.tsx +158 -0
  401. package/src/modules/search/components/SimpleFileList.tsx +215 -0
  402. package/src/modules/search/index.tsx +10 -0
  403. package/src/modules/search/reademe.md +1 -0
  404. package/src/modules/search/servers/apis.tsx +19 -0
  405. package/src/modules/search/servers/index.ts +184 -0
  406. package/src/modules/search/style.less +503 -0
  407. package/src/modules/search/type.ts +22 -0
  408. package/src/modules/search/utils.ts +34 -0
  409. package/src/modules/sensitive/i18n.ts +391 -0
  410. package/src/modules/sensitive/index.tsx +604 -0
  411. package/src/modules/sensitive/sensitiveEditor.tsx +543 -0
  412. package/src/modules/sensitive/server.ts +197 -0
  413. package/src/modules/sensitiveId/AutoTag.tsx +311 -0
  414. package/src/modules/sensitiveId/UploadModal.tsx +181 -0
  415. package/src/modules/sensitiveId/VirtualWrap.tsx +125 -0
  416. package/src/modules/sensitiveId/index.tsx +253 -0
  417. package/src/modules/sensitiveId/server.ts +142 -0
  418. package/src/modules/streamFilesReader/GientechStreamReader.tsx +1658 -0
  419. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  420. package/src/modules/streamFilesReader/components/Header/index.tsx +297 -0
  421. package/src/modules/streamFilesReader/index.tsx +3 -0
  422. package/src/style.css +6 -0
  423. package/src/type.d.ts +0 -0
  424. package/src/utils/commonFn.tsx +153 -0
  425. package/src/utils/decryptApiKey.ts +40 -0
  426. package/src/utils/gientechCommon/components/AppError.tsx +32 -0
  427. package/src/utils/gientechCommon/components/AppLoading.tsx +75 -0
  428. package/src/utils/gientechCommon/components/DeleteModal.tsx +75 -0
  429. package/src/utils/gientechCommon/components/DisplayError.tsx +33 -0
  430. package/src/utils/gientechCommon/components/DisplayLoading.tsx +38 -0
  431. package/src/utils/gientechCommon/components/FeedBackModal.tsx +319 -0
  432. package/src/utils/gientechCommon/components/FileCardCommon.tsx +82 -0
  433. package/src/utils/gientechCommon/components/FileManager/index.tsx +418 -0
  434. package/src/utils/gientechCommon/components/FileManager/style.css +5 -0
  435. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +583 -0
  436. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +359 -0
  437. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +245 -0
  438. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +209 -0
  439. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  440. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +148 -0
  441. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +14 -0
  442. package/src/utils/gientechCommon/components/RenameModal.tsx +86 -0
  443. package/src/utils/gientechCommon/components/style.less +11 -0
  444. package/src/utils/gientechCommon/configs/commonConfig.ts +2 -0
  445. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  446. package/src/utils/gientechCommon/configs/stylesConfig.ts +142 -0
  447. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +761 -0
  448. package/src/utils/gientechCommon/hooks/style.less +8 -0
  449. package/src/utils/gientechCommon/hooks/useFileDisplayTools.tsx +352 -0
  450. package/src/utils/gientechCommon/hooks/useFileManager.ts +169 -0
  451. package/src/utils/gientechCommon/slate/converters/deserializers.ts +763 -0
  452. package/src/utils/gientechCommon/slate/converters/mockData.ts +232 -0
  453. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +258 -0
  454. package/src/utils/gientechCommon/slate/richElements/index.tsx +499 -0
  455. package/src/utils/gientechCommon/utils/fileUtils.ts +86 -0
  456. package/src/utils/gientechCommon/utils/index.ts +386 -0
  457. package/src/utils/gientechCommon/utils/request.ts +37 -0
  458. package/src/utils/gientechCommon/utils/serverFn.ts +172 -0
  459. package/src/utils/index.tsx +186 -0
  460. package/src/utils/testconfigs/demologin/index.tsx +32 -0
  461. package/src/utils/testconfigs/index.ts +66 -0
  462. package/src/vite-env.d.ts +49 -0
  463. package/stats.html +4949 -0
  464. package/tailwind.config.js +170 -0
  465. package/tsconfig.app.json +31 -0
  466. package/tsconfig.app.tsbuildinfo +11 -0
  467. package/tsconfig.json +17 -0
  468. package/tsconfig.node.json +23 -0
  469. package/tsconfig.node.tsbuildinfo +1 -0
  470. package/vite.config.app.ts +91 -0
  471. package/vite.config.ts +238 -0
  472. package/assets/index-BIEKgWu0.js +0 -27
  473. package/assets/index-C1tyXsqQ.js +0 -943
  474. package/assets/index-CzZQWA2P.js +0 -1
  475. package/assets/index-DPA1HCWQ.js +0 -1372
  476. package/assets/index-DPyRygOA.js +0 -745
  477. package/assets/plus-BICgMvz9.js +0 -6
  478. package/assets/search-CD5YKija.js +0 -6
  479. package/assets/style2.css +0 -1
  480. package/assets/style5.css +0 -1
  481. package/chat.js +0 -1
  482. package/chatCompare.js +0 -1
  483. package/database.js +0 -20
  484. package/index.js +0 -1
  485. package/modelManage.js +0 -1
  486. package/streamFilesReader.js +0 -1
  487. /package/{assets → dist/assets}/Doris.png +0 -0
  488. /package/{assets → dist/assets}/PostgreSQL.png +0 -0
  489. /package/{assets → dist/assets}/SQLServer.png +0 -0
  490. /package/{assets → dist/assets}/empty.png +0 -0
  491. /package/{assets → dist/assets}/homeBg.png +0 -0
  492. /package/{assets → dist/assets}/index-CpW6Dhpp.js +0 -0
  493. /package/{assets → dist/assets}/left.jpg +0 -0
  494. /package/{assets → dist/assets}/logoImg.png +0 -0
  495. /package/{assets → dist/assets}/style.css +0 -0
  496. /package/{assets → dist/assets}/style3.css +0 -0
  497. /package/{assets → dist/assets}/style4.css +0 -0
  498. /package/{assets → dist/assets}/worker-BbpylX7l.js +0 -0
  499. /package/{assistantConfig.d.ts → dist/assistantConfig.d.ts} +0 -0
  500. /package/{chat.d.ts → dist/chat.d.ts} +0 -0
  501. /package/{chatCompare.d.ts → dist/chatCompare.d.ts} +0 -0
  502. /package/{database.d.ts → dist/database.d.ts} +0 -0
  503. /package/{databaseId.d.ts → dist/databaseId.d.ts} +0 -0
  504. /package/{databaseTable.d.ts → dist/databaseTable.d.ts} +0 -0
  505. /package/{icons → dist/icons}/answerAwartar.png +0 -0
  506. /package/{icons → dist/icons}/docx-file.png +0 -0
  507. /package/{icons → dist/icons}/folder.png +0 -0
  508. /package/{icons → dist/icons}/html.png +0 -0
  509. /package/{icons → dist/icons}/image.png +0 -0
  510. /package/{icons → dist/icons}/jpg-file.png +0 -0
  511. /package/{icons → dist/icons}/json.png +0 -0
  512. /package/{icons → dist/icons}/md.png +0 -0
  513. /package/{icons → dist/icons}/pdf.png +0 -0
  514. /package/{icons → dist/icons}/pptx.png +0 -0
  515. /package/{icons → dist/icons}/questionAwartar.png +0 -0
  516. /package/{icons → dist/icons}/sheets.png +0 -0
  517. /package/{icons → dist/icons}/txt.png +0 -0
  518. /package/{icons → dist/icons}/xlsx.png +0 -0
  519. /package/{index.d.ts → dist/index.d.ts} +0 -0
  520. /package/{modelManage.d.ts → dist/modelManage.d.ts} +0 -0
  521. /package/{sensitive.d.ts → dist/sensitive.d.ts} +0 -0
  522. /package/{streamFilesReader.d.ts → dist/streamFilesReader.d.ts} +0 -0
  523. /package/{vite.svg → dist/vite.svg} +0 -0
@@ -0,0 +1,979 @@
1
+ import React, { useState } from 'react';
2
+ import { GientechStreamReader, registerPDFWorker } from '../../modules/streamFilesReader';
3
+ import { AppTheme } from '@mxmweb/zui';
4
+ import type {
5
+ Annotation,
6
+ MDAnnotation,
7
+ TableAnnotation,
8
+ } from '../../../../apps/FViewer/dist/core/types';
9
+ import { rag_dev_server } from '../../utils/testconfigs';
10
+
11
+ // 演示入口处注册 PDF Worker,否则打开 PDF 会报「PDF Worker 未注册」
12
+ registerPDFWorker('/worker/pdf.worker.min.js');
13
+
14
+ // 自定义Loading组件示例
15
+ const CustomLoadingComponent: React.FC<{
16
+ status: string;
17
+ theme: AppTheme;
18
+ }> = ({ status, theme }) => {
19
+ return (
20
+ <div
21
+ style={{
22
+ display: 'flex',
23
+ flexDirection: 'column',
24
+ alignItems: 'center',
25
+ justifyContent: 'center',
26
+ height: '100%',
27
+ padding: '40px',
28
+ background: theme.colors.background,
29
+ }}
30
+ >
31
+ {/* 自定义加载动画 */}
32
+ <div
33
+ style={{
34
+ position: 'relative',
35
+ width: '100px',
36
+ height: '100px',
37
+ marginBottom: '24px',
38
+ }}
39
+ >
40
+ {/* 旋转的圆环 */}
41
+ <div
42
+ style={{
43
+ width: '100%',
44
+ height: '100%',
45
+ border: `4px solid ${theme.colors.border}`,
46
+ borderTop: `4px solid ${theme.colors.primary}`,
47
+ borderRadius: '50%',
48
+ animation: 'spin 1s linear infinite',
49
+ }}
50
+ />
51
+
52
+ {/* 中心图标 */}
53
+ <div
54
+ style={{
55
+ position: 'absolute',
56
+ top: '50%',
57
+ left: '50%',
58
+ transform: 'translate(-50%, -50%)',
59
+ fontSize: '24px',
60
+ color: theme.colors.primary,
61
+ }}
62
+ >
63
+ 📄
64
+ </div>
65
+ </div>
66
+
67
+ {/* 状态文本 */}
68
+ <div
69
+ style={{
70
+ fontSize: '18px',
71
+ fontWeight: '600',
72
+ color: theme.colors.text,
73
+ marginBottom: '12px',
74
+ textAlign: 'center',
75
+ }}
76
+ >
77
+ {status}
78
+ </div>
79
+
80
+ {/* 进度条 */}
81
+ <div
82
+ style={{
83
+ width: '300px',
84
+ height: '6px',
85
+ background: theme.colors.border,
86
+ borderRadius: '3px',
87
+ overflow: 'hidden',
88
+ position: 'relative',
89
+ }}
90
+ >
91
+ <div
92
+ style={{
93
+ width: '60%',
94
+ height: '100%',
95
+ background: `linear-gradient(90deg, ${theme.colors.primary}, ${theme.colors.info})`,
96
+ borderRadius: '3px',
97
+ animation: 'loading-progress 2s ease-in-out infinite',
98
+ }}
99
+ />
100
+ </div>
101
+
102
+ {/* 动画样式 */}
103
+ <style>{`
104
+ @keyframes spin {
105
+ 0% { transform: rotate(0deg); }
106
+ 100% { transform: rotate(360deg); }
107
+ }
108
+
109
+ @keyframes loading-progress {
110
+ 0% { transform: translateX(-100%); }
111
+ 50% { transform: translateX(0%); }
112
+ 100% { transform: translateX(100%); }
113
+ }
114
+ `}</style>
115
+ </div>
116
+ );
117
+ };
118
+
119
+ // 自定义Error组件示例
120
+ const CustomErrorComponent: React.FC<{
121
+ error: string;
122
+ theme: AppTheme;
123
+ }> = ({ error, theme }) => {
124
+ return (
125
+ <div
126
+ style={{
127
+ display: 'flex',
128
+ flexDirection: 'column',
129
+ alignItems: 'center',
130
+ justifyContent: 'center',
131
+ height: '100%',
132
+ padding: '40px',
133
+ background: theme.colors.background,
134
+ }}
135
+ >
136
+ {/* 错误图标 */}
137
+ <div
138
+ style={{
139
+ width: '80px',
140
+ height: '80px',
141
+ borderRadius: '50%',
142
+ background: theme.colors.error,
143
+ display: 'flex',
144
+ alignItems: 'center',
145
+ justifyContent: 'center',
146
+ marginBottom: '24px',
147
+ fontSize: '32px',
148
+ color: 'white',
149
+ }}
150
+ >
151
+ ⚠️
152
+ </div>
153
+
154
+ {/* 错误标题 */}
155
+ <div
156
+ style={{
157
+ fontSize: '20px',
158
+ fontWeight: '600',
159
+ color: theme.colors.error,
160
+ marginBottom: '12px',
161
+ textAlign: 'center',
162
+ }}
163
+ >
164
+ 加载失败
165
+ </div>
166
+
167
+ {/* 错误详情 */}
168
+ <div
169
+ style={{
170
+ fontSize: '14px',
171
+ color: theme.colors.text,
172
+ textAlign: 'center',
173
+ maxWidth: '400px',
174
+ lineHeight: '1.5',
175
+ }}
176
+ >
177
+ {error}
178
+ </div>
179
+
180
+ {/* 重试按钮 */}
181
+ <button
182
+ style={{
183
+ marginTop: '24px',
184
+ padding: '12px 24px',
185
+ background: theme.colors.primary,
186
+ color: 'white',
187
+ border: 'none',
188
+ borderRadius: '6px',
189
+ fontSize: '14px',
190
+ fontWeight: '500',
191
+ cursor: 'pointer',
192
+ transition: 'background-color 0.2s',
193
+ }}
194
+ onMouseEnter={e => {
195
+ e.currentTarget.style.background = theme.colors.info;
196
+ }}
197
+ onMouseLeave={e => {
198
+ e.currentTarget.style.background = theme.colors.primary;
199
+ }}
200
+ >
201
+ 重新加载
202
+ </button>
203
+ </div>
204
+ );
205
+ };
206
+
207
+ // 测试标注数据
208
+ export const streamAnnotations: Annotation[] = [
209
+ {
210
+ id: 'f4b6f9516e0',
211
+ pageNumber: 1,
212
+ x: 0.4047,
213
+ y: 0.481,
214
+ width: 0.1898,
215
+ height: 0.0172,
216
+ content: '',
217
+ color: '#C3F74F',
218
+ },
219
+ {
220
+ id: '4b6f9516e0d',
221
+ pageNumber: 1,
222
+ x: 0.1495,
223
+ y: 0.5243,
224
+ width: 0.7003,
225
+ height: 0.0534,
226
+ content: '',
227
+ color: '#C3F74F',
228
+ },
229
+ {
230
+ id: 'b6f9516e0d3',
231
+ pageNumber: 1,
232
+ x: 0.1495,
233
+ y: 0.6057,
234
+ width: 0.1763,
235
+ height: 0.016,
236
+ content: '',
237
+ color: '#4FC3F7',
238
+ },
239
+ {
240
+ id: '6f9516e0d32',
241
+ pageNumber: 3,
242
+ x: 0.1822,
243
+ y: 0.1473,
244
+ width: 0.4509,
245
+ height: 0.0374,
246
+ content: '',
247
+ color: '#C3F74F',
248
+ },
249
+ {
250
+ id: 'f9516e0d32b',
251
+ pageNumber: 3,
252
+ x: 0.2275,
253
+ y: 0.5825,
254
+ width: 0.3762,
255
+ height: 0.0214,
256
+ content: '',
257
+ color: '#4FC3F7',
258
+ },
259
+ {
260
+ id: '9516e0d32b4',
261
+ pageNumber: 4,
262
+ x: 0.6902,
263
+ y: 0.1467,
264
+ width: 0.0311,
265
+ height: 0.2179,
266
+ content: '',
267
+ color: '#4FC3F7',
268
+ },
269
+ {
270
+ id: '516e0d32b44',
271
+ pageNumber: 4,
272
+ x: 0.1478,
273
+ y: 0.7922,
274
+ width: 0.7019,
275
+ height: 0.0689,
276
+ content: '',
277
+ color: '#4FC3F7',
278
+ },
279
+ {
280
+ id: '16e0d32b442',
281
+ pageNumber: 5,
282
+ x: 0.1495,
283
+ y: 0.5137,
284
+ width: 0.7003,
285
+ height: 0.0695,
286
+ content: '',
287
+ color: '#4FC3F7',
288
+ },
289
+ {
290
+ id: '6e0d32b442a',
291
+ pageNumber: 6,
292
+ x: 0.1495,
293
+ y: 0.6805,
294
+ width: 0.6952,
295
+ height: 0.0315,
296
+ content: '',
297
+ color: '#4FC3F7',
298
+ },
299
+ {
300
+ id: 'e0d32b442a4',
301
+ pageNumber: 6,
302
+ x: 0.1478,
303
+ y: 0.7173,
304
+ width: 0.7019,
305
+ height: 0.0315,
306
+ content: '',
307
+ color: '#4FC3F7',
308
+ },
309
+ {
310
+ id: '0d32b442a43',
311
+ pageNumber: 6,
312
+ x: 0.1495,
313
+ y: 0.7548,
314
+ width: 0.7003,
315
+ height: 0.0315,
316
+ content: '',
317
+ color: '#4FC3F7',
318
+ },
319
+ {
320
+ id: 'd32b442a43b',
321
+ pageNumber: 6,
322
+ x: 0.1495,
323
+ y: 0.8165,
324
+ width: 0.7003,
325
+ height: 0.0315,
326
+ content: '',
327
+ color: '#4FC3F7',
328
+ },
329
+ {
330
+ id: '32b442a43b6',
331
+ pageNumber: 6,
332
+ x: 0.1495,
333
+ y: 0.8539,
334
+ width: 0.7003,
335
+ height: 0.0315,
336
+ content: '',
337
+ color: '#4FC3F7',
338
+ },
339
+ {
340
+ id: '2b442a43b6e',
341
+ pageNumber: 6,
342
+ x: 0.2301,
343
+ y: 0.8913,
344
+ width: 0.6062,
345
+ height: 0.0125,
346
+ content: '',
347
+ color: '#4FC3F7',
348
+ },
349
+ {
350
+ id: 'b442a43b6e3',
351
+ pageNumber: 7,
352
+ x: 0.1478,
353
+ y: 0.0879,
354
+ width: 0.2343,
355
+ height: 0.0119,
356
+ content: '',
357
+ color: '#4FC3F7',
358
+ },
359
+ {
360
+ id: '442a43b6e3f',
361
+ pageNumber: 7,
362
+ x: 0.1495,
363
+ y: 0.1069,
364
+ width: 0.6994,
365
+ height: 0.0303,
366
+ content: '',
367
+ color: '#4FC3F7',
368
+ },
369
+ ];
370
+
371
+ // 测试Markdown标注数据
372
+ export const streamMDAnnotations: MDAnnotation[] = [
373
+ {
374
+ id: 'md-anno-1',
375
+ start: 0,
376
+ end: 20, // 标注前20个字符
377
+ content: '这是第一个 Markdown 标注',
378
+ color: '#FFEB3B',
379
+ },
380
+ {
381
+ id: 'md-anno-2',
382
+ start: 50,
383
+ end: 70, // 标注第50-70个字符
384
+ content: '这是第二个 Markdown 标注',
385
+ color: '#A8E6CF',
386
+ },
387
+ ];
388
+
389
+ // 测试表格标注数据
390
+ export const streamTableAnnotations: TableAnnotation[] = [
391
+ {
392
+ id: '2bd1e2b0fed',
393
+ offsets: [
394
+ [0, 0],
395
+ [0, 1],
396
+ [0, 2],
397
+ [1, 0],
398
+ [1, 1],
399
+ [1, 2],
400
+ [2, 0],
401
+ [2, 1],
402
+ [2, 2],
403
+ [3, 0],
404
+ [3, 1],
405
+ [3, 2],
406
+ [4, 0],
407
+ [4, 1],
408
+ [4, 2],
409
+ ],
410
+ content: '这是表格标注',
411
+ color: '#FFEB3B',
412
+ },
413
+ ];
414
+
415
+ export default function StreamPreview() {
416
+ const [isVisible, setIsVisible] = useState(false);
417
+
418
+ // 可配置的参数
419
+ const [fileType, setFileType] = useState<
420
+ 'pdf' | 'pdf_slides' | 'markdown' | 'markdown_table' | 'image' | 'html' | 'text'
421
+ >('text');
422
+
423
+ // 统一的标注状态
424
+ const [annotations, setAnnotations] = useState<(Annotation | MDAnnotation | TableAnnotation)[]>([
425
+ ...streamAnnotations,
426
+ ...streamMDAnnotations,
427
+ ...streamTableAnnotations,
428
+ ]);
429
+
430
+ //http://10.15.12.13:9000/dev-rag-data/测试南自/电压和电池容量的关系.md/V0/电压和电池容量的关系.md
431
+ //http://10.15.12.13:9000/dev-rag-data/测试南自/中国电子规章制度汇编(2024版)-集团公司第二分册.pdf/V0/中国电子规章制度汇编(2024版)-集团公司第二分册.pdf
432
+ //http://10.15.12.13:9000/dev-rag-data/测试南自/服务发布专利具体步骤.md/V0/服务发布专利具体步骤.md
433
+ //http://10.15.12.13:9000/dev-rag-data/测试南自/测试文档.txt/V0/测试文档.txt
434
+ const [convertedFilePath, setConvertedFilePath] = useState(
435
+ 'http://10.15.12.11:9000/dev-rag-data/kb_12176/倚天屠龙记(1).txt/V0/倚天屠龙记(1).txt'
436
+ );
437
+ const [fileName, setFileName] = useState(
438
+ 'VR设备专题:Pancake迎来渗透加速,产业链受益硬件升级2023-02-02行业研报.pdf'
439
+ );
440
+ const [totalPages, setTotalPages] = useState(29); // 根据响应头更新为实际总页数
441
+ const [initialPage, setInitialPage] = useState(1);
442
+ const [pageO, setPageO] = useState(1);
443
+ const [initialZoom, setInitialZoom] = useState(1.5);
444
+ const [authorization, setAuthorization] = useState(rag_dev_server.token);
445
+ const [streamApiUrl, setStreamApiUrl] = useState('/proxy/index/knowledgeBase/file/stream');
446
+ const [pageSize, setPageSize] = useState(5); // 修改为5,与网络请求一致
447
+
448
+ const handleEventsEmit = (name: string, data?: any, innerFn?: any) => {
449
+ console.log('GientechStreamReader 事件:', name, data);
450
+
451
+ switch (name) {
452
+ case 'viewer:close':
453
+ setIsVisible(false);
454
+ break;
455
+ case 'pageChange':
456
+ console.log('页面变化事件:', data);
457
+ console.log('当前页面状态:', data.pageNumber, '总页数:', data.totalPages);
458
+ break;
459
+ case 'zoomChange':
460
+ console.log('缩放变化:', data);
461
+ break;
462
+ case 'markdown_scroll_to_top':
463
+ console.log('Markdown滚动到顶部');
464
+ break;
465
+ case 'markdown_scroll_to_bottom':
466
+ console.log('Markdown滚动到底部');
467
+ break;
468
+ case 'md_annotation_add':
469
+ console.log('添加Markdown标注:', data);
470
+ setAnnotations(prev => [...prev, data]);
471
+ break;
472
+ default:
473
+ console.log('其他事件:', name, data);
474
+ break;
475
+ }
476
+ };
477
+
478
+ if (!isVisible) {
479
+ return (
480
+ <div
481
+ className="preview-container"
482
+ style={{
483
+ display: 'flex',
484
+ flexDirection: 'column',
485
+ alignItems: 'center',
486
+ justifyContent: 'center',
487
+ height: '100vh',
488
+ padding: '20px',
489
+ backgroundColor: '#f5f5f5',
490
+ }}
491
+ >
492
+ <h1 style={{ marginBottom: '30px', color: '#333' }}>
493
+ GientechStreamReader 测试 -{' '}
494
+ {fileType === 'markdown'
495
+ ? 'Markdown'
496
+ : fileType === 'pdf_slides'
497
+ ? 'PDF幻灯片'
498
+ : fileType === 'markdown_table'
499
+ ? 'Markdown表格'
500
+ : fileType === 'html'
501
+ ? 'HTML'
502
+ : fileType === 'image'
503
+ ? '图片'
504
+ : fileType === 'text'
505
+ ? '文本'
506
+ : 'PDF'}{' '}
507
+ 模式
508
+ </h1>
509
+
510
+ <div
511
+ style={{
512
+ display: 'flex',
513
+ flexDirection: 'column',
514
+ gap: '15px',
515
+ width: '100%',
516
+ maxWidth: '600px',
517
+ backgroundColor: 'white',
518
+ padding: '20px',
519
+ borderRadius: '8px',
520
+ boxShadow: '0 2px 8px rgba(0,0,0,0.1)',
521
+ }}
522
+ >
523
+ <div>
524
+ <label style={{ display: 'block', marginBottom: '5px', fontWeight: 'bold' }}>
525
+ 文件类型 (fileType):
526
+ </label>
527
+ <select
528
+ value={fileType}
529
+ onChange={e => {
530
+ const newFileType = e.target.value as
531
+ | 'pdf'
532
+ | 'pdf_slides'
533
+ | 'markdown'
534
+ | 'markdown_table'
535
+ | 'image'
536
+ | 'html'
537
+ | 'text';
538
+ setFileType(newFileType);
539
+ }}
540
+ style={{
541
+ width: '100%',
542
+ padding: '8px',
543
+ border: '1px solid #ddd',
544
+ borderRadius: '4px',
545
+ }}
546
+ >
547
+ <option value="pdf_slides">PDF幻灯片</option>
548
+ <option value="pdf">PDF文件</option>
549
+ <option value="markdown">Markdown文件</option>
550
+ <option value="markdown_table">Markdown表格文件</option>
551
+ <option value="image">图片文件</option>
552
+ <option value="html">HTML文件</option>
553
+ <option value="text">文本文件</option>
554
+ </select>
555
+ </div>
556
+
557
+ <div>
558
+ <label style={{ display: 'block', marginBottom: '5px', fontWeight: 'bold' }}>
559
+ 文件路径 (convertedFilePath):
560
+ </label>
561
+ <input
562
+ type="text"
563
+ value={convertedFilePath}
564
+ onChange={e => setConvertedFilePath(e.target.value)}
565
+ style={{
566
+ width: '100%',
567
+ padding: '8px',
568
+ border: '1px solid #ddd',
569
+ borderRadius: '4px',
570
+ }}
571
+ placeholder="输入文件路径"
572
+ />
573
+ </div>
574
+
575
+ <div>
576
+ <label style={{ display: 'block', marginBottom: '5px', fontWeight: 'bold' }}>
577
+ 文件名 (fileName):
578
+ </label>
579
+ <input
580
+ type="text"
581
+ value={fileName}
582
+ onChange={e => setFileName(e.target.value)}
583
+ style={{
584
+ width: '100%',
585
+ padding: '8px',
586
+ border: '1px solid #ddd',
587
+ borderRadius: '4px',
588
+ }}
589
+ placeholder="输入文件名"
590
+ />
591
+ </div>
592
+
593
+ <div>
594
+ <label style={{ display: 'block', marginBottom: '5px', fontWeight: 'bold' }}>
595
+ {fileType === 'markdown' ||
596
+ fileType === 'markdown_table' ||
597
+ fileType === 'image' ||
598
+ fileType === 'html' ||
599
+ fileType === 'text'
600
+ ? '总块数 (totalPages) - 仅用于显示:'
601
+ : '总页数 (totalPages):'}
602
+ </label>
603
+ <input
604
+ type="number"
605
+ value={totalPages}
606
+ onChange={e => setTotalPages(Number(e.target.value))}
607
+ min="1"
608
+ style={{
609
+ width: '100%',
610
+ padding: '8px',
611
+ border: '1px solid #ddd',
612
+ borderRadius: '4px',
613
+ }}
614
+ placeholder={
615
+ fileType === 'markdown' ||
616
+ fileType === 'markdown_table' ||
617
+ fileType === 'image' ||
618
+ fileType === 'html' ||
619
+ fileType === 'text'
620
+ ? '仅用于显示'
621
+ : '输入总页数'
622
+ }
623
+ disabled={
624
+ fileType === 'markdown' ||
625
+ fileType === 'markdown_table' ||
626
+ fileType === 'image' ||
627
+ fileType === 'html' ||
628
+ fileType === 'text'
629
+ }
630
+ />
631
+ </div>
632
+
633
+ <div>
634
+ <label style={{ display: 'block', marginBottom: '5px', fontWeight: 'bold' }}>
635
+ {fileType === 'markdown' ||
636
+ fileType === 'markdown_table' ||
637
+ fileType === 'image' ||
638
+ fileType === 'html' ||
639
+ fileType === 'text'
640
+ ? '初始块 (initialPage) - 仅用于显示:'
641
+ : '初始页面 (initialPage):'}
642
+ </label>
643
+ <input
644
+ type="number"
645
+ value={initialPage}
646
+ onChange={e => setInitialPage(Number(e.target.value))}
647
+ min="1"
648
+ style={{
649
+ width: '100%',
650
+ padding: '8px',
651
+ border: '1px solid #ddd',
652
+ borderRadius: '4px',
653
+ }}
654
+ placeholder={
655
+ fileType === 'markdown' ||
656
+ fileType === 'markdown_table' ||
657
+ fileType === 'image' ||
658
+ fileType === 'html' ||
659
+ fileType === 'text'
660
+ ? '仅用于显示'
661
+ : '输入初始页面号'
662
+ }
663
+ disabled={
664
+ fileType === 'markdown' ||
665
+ fileType === 'markdown_table' ||
666
+ fileType === 'image' ||
667
+ fileType === 'html' ||
668
+ fileType === 'text'
669
+ }
670
+ />
671
+ </div>
672
+
673
+ <div>
674
+ <label style={{ display: 'block', marginBottom: '5px', fontWeight: 'bold' }}>
675
+ Authorization Token:
676
+ </label>
677
+ <input
678
+ type="text"
679
+ value={authorization}
680
+ onChange={e => setAuthorization(e.target.value)}
681
+ style={{
682
+ width: '100%',
683
+ padding: '8px',
684
+ border: '1px solid #ddd',
685
+ borderRadius: '4px',
686
+ }}
687
+ placeholder="输入Authorization token"
688
+ />
689
+ </div>
690
+
691
+ <div>
692
+ <label style={{ display: 'block', marginBottom: '5px', fontWeight: 'bold' }}>
693
+ Stream API URL:
694
+ </label>
695
+ <input
696
+ type="text"
697
+ value={streamApiUrl}
698
+ onChange={e => setStreamApiUrl(e.target.value)}
699
+ style={{
700
+ width: '100%',
701
+ padding: '8px',
702
+ border: '1px solid #ddd',
703
+ borderRadius: '4px',
704
+ }}
705
+ placeholder="输入Stream API URL"
706
+ />
707
+ </div>
708
+
709
+ <div>
710
+ <label style={{ display: 'block', marginBottom: '5px', fontWeight: 'bold' }}>
711
+ {fileType === 'markdown' ||
712
+ fileType === 'markdown_table' ||
713
+ fileType === 'image' ||
714
+ fileType === 'html' ||
715
+ fileType === 'text'
716
+ ? '页面大小 (pageSize) - 仅PDF使用:'
717
+ : '页面大小 (pageSize):'}
718
+ </label>
719
+ <input
720
+ type="number"
721
+ value={pageSize}
722
+ onChange={e => setPageSize(Number(e.target.value))}
723
+ min="1"
724
+ style={{
725
+ width: '100%',
726
+ padding: '8px',
727
+ border: '1px solid #ddd',
728
+ borderRadius: '4px',
729
+ }}
730
+ placeholder={
731
+ fileType === 'markdown' ||
732
+ fileType === 'markdown_table' ||
733
+ fileType === 'image' ||
734
+ fileType === 'html' ||
735
+ fileType === 'text'
736
+ ? '仅PDF使用'
737
+ : '输入页面大小'
738
+ }
739
+ disabled={
740
+ fileType === 'markdown' ||
741
+ fileType === 'markdown_table' ||
742
+ fileType === 'image' ||
743
+ fileType === 'html' ||
744
+ fileType === 'text'
745
+ }
746
+ />
747
+ </div>
748
+
749
+ <div style={{ marginBottom: '16px' }}>
750
+ <label style={{ display: 'block', marginBottom: '8px', fontWeight: 'bold' }}>
751
+ 初始缩放比例 (initialZoom):
752
+ </label>
753
+ <input
754
+ type="number"
755
+ value={initialZoom}
756
+ onChange={e => setInitialZoom(Number(e.target.value))}
757
+ min="0.1"
758
+ max="5"
759
+ step="0.1"
760
+ style={{
761
+ width: '100%',
762
+ padding: '8px',
763
+ border: '1px solid #ddd',
764
+ borderRadius: '4px',
765
+ }}
766
+ placeholder="输入初始缩放比例 (0.1-5.0)"
767
+ />
768
+ </div>
769
+
770
+ <button
771
+ onClick={() => setIsVisible(true)}
772
+ style={{
773
+ padding: '12px 24px',
774
+ backgroundColor: '#007bff',
775
+ color: 'white',
776
+ border: 'none',
777
+ borderRadius: '4px',
778
+ cursor: 'pointer',
779
+ fontSize: '16px',
780
+ fontWeight: 'bold',
781
+ }}
782
+ >
783
+ 开始测试{' '}
784
+ {fileType === 'markdown'
785
+ ? 'Markdown完整文件'
786
+ : fileType === 'markdown_table'
787
+ ? 'Markdown表格文件'
788
+ : fileType === 'html'
789
+ ? 'HTML文件'
790
+ : fileType === 'image'
791
+ ? '图片'
792
+ : 'PDF'}{' '}
793
+ Stream Reader
794
+ </button>
795
+ </div>
796
+
797
+ <div style={{ marginTop: '20px', textAlign: 'center', color: '#666' }}>
798
+ <p>
799
+ Stream模式:通过接口获取
800
+ {fileType === 'markdown' || fileType === 'markdown_table' || fileType === 'html'
801
+ ? '完整的文件内容'
802
+ : '分页的PDF数据'}
803
+ </p>
804
+ <p>
805
+ {fileType === 'markdown' || fileType === 'markdown_table' || fileType === 'html'
806
+ ? '支持完整文件渲染、缩放等功能'
807
+ : '支持页面导航、缩放等功能'}
808
+ </p>
809
+
810
+ {(fileType === 'markdown' || fileType === 'markdown_table' || fileType === 'html') && (
811
+ <div
812
+ style={{
813
+ marginTop: '10px',
814
+ padding: '10px',
815
+ backgroundColor: '#e3f2fd',
816
+ borderRadius: '4px',
817
+ }}
818
+ >
819
+ <p style={{ margin: '0', fontSize: '14px' }}>
820
+ <strong>
821
+ {fileType === 'markdown_table'
822
+ ? 'Markdown表格'
823
+ : fileType === 'html'
824
+ ? 'HTML'
825
+ : 'Markdown'}
826
+ 推荐配置:
827
+ </strong>
828
+ <br />
829
+ 文件路径:
830
+ {fileType === 'html'
831
+ ? 'http://10.15.12.13:9000/dev-rag-data/demo/示例.html/V0/示例.html'
832
+ : 'http://10.15.12.13:9000/dev-rag-data/测试南自/服务发布专利具体步骤.md/V0/服务发布专利具体步骤.md'}
833
+ <br />
834
+ 总块数: 10 (仅用于显示,实际获取完整文件)
835
+ <br />
836
+ 注意:{' '}
837
+ {fileType === 'markdown_table'
838
+ ? 'Markdown表格'
839
+ : fileType === 'html'
840
+ ? 'HTML'
841
+ : 'Markdown'}
842
+ 文件会获取完整内容,不支持分块加载
843
+ </p>
844
+ </div>
845
+ )}
846
+
847
+ {fileType === 'image' && (
848
+ <div
849
+ style={{
850
+ marginTop: '10px',
851
+ padding: '10px',
852
+ backgroundColor: '#fff3cd',
853
+ borderRadius: '4px',
854
+ }}
855
+ >
856
+ <p style={{ margin: '0', fontSize: '14px' }}>
857
+ <strong>图片推荐配置:</strong>
858
+ <br />
859
+ 文件路径: 例如
860
+ http://10.15.12.13:9000/dev-rag-data/demo/示例图片.png/V0/示例图片.png
861
+ <br />
862
+ 图片将以相同的接口请求方式获取(POST convertedFilePath),支持缩放与旋转
863
+ </p>
864
+ </div>
865
+ )}
866
+
867
+ {fileType === 'pdf' && (
868
+ <div
869
+ style={{
870
+ marginTop: '10px',
871
+ padding: '10px',
872
+ backgroundColor: '#f3e5f5',
873
+ borderRadius: '4px',
874
+ }}
875
+ >
876
+ <p style={{ margin: '0', fontSize: '14px' }}>
877
+ <strong>PDF推荐配置:</strong>
878
+ <br />
879
+ 文件路径:
880
+ http://10.15.12.13:9000/dev-rag-data/测试南自/中国电子规章制度汇编(2024版)-集团公司第二分册.pdf/V0/中国电子规章制度汇编(2024版)-集团公司第二分册.pdf
881
+ <br />
882
+ 总页数: 676, 页面大小: 5
883
+ </p>
884
+ </div>
885
+ )}
886
+
887
+ {fileType === 'text' && (
888
+ <div
889
+ style={{
890
+ marginTop: '10px',
891
+ padding: '10px',
892
+ backgroundColor: '#e8f5e8',
893
+ borderRadius: '4px',
894
+ }}
895
+ >
896
+ <p style={{ margin: '0', fontSize: '14px' }}>
897
+ <strong>文本文件推荐配置:</strong>
898
+ <br />
899
+ 文件路径: 例如
900
+ http://10.15.12.13:9000/dev-rag-data/测试南自/测试文档.txt/V0/测试文档.txt
901
+ <br />
902
+ 文本文件会获取完整内容,支持缩放,不支持分页
903
+ </p>
904
+ </div>
905
+ )}
906
+ </div>
907
+ </div>
908
+ );
909
+ }
910
+
911
+ return (
912
+ <div style={{ height: '80vh', width: '85vw' }}>
913
+ <GientechStreamReader
914
+ convertedFilePath={convertedFilePath}
915
+ fileName={fileName}
916
+ fileType={fileType}
917
+ initialPage={initialPage}
918
+ initialZoom={initialZoom} // 传递初始缩放比例
919
+ totalPages={totalPages} // 传递总页数/总块数
920
+ annotations={
921
+ fileType === 'markdown_table'
922
+ ? streamTableAnnotations
923
+ : fileType === 'markdown'
924
+ ? streamMDAnnotations
925
+ : fileType === 'html'
926
+ ? [] // HTML不需要标注
927
+ : streamAnnotations
928
+ }
929
+ authorization={authorization}
930
+ csrfToken={'csrfToken'}
931
+ streamApiUrl={streamApiUrl}
932
+ pageSize={fileType === 'pdf' ? pageSize : undefined} // 只有PDF模式才传递pageSize
933
+ eventsEmit={handleEventsEmit}
934
+ tools={{
935
+ close: true,
936
+ }}
937
+ customComponents={{
938
+ LoadingComponent: CustomLoadingComponent,
939
+ ErrorComponent: CustomErrorComponent,
940
+ }}
941
+ />
942
+ <input
943
+ type="number"
944
+ value={pageO}
945
+ onChange={e => setPageO(Number(e.target.value))}
946
+ min="1"
947
+ style={{
948
+ width: '100%',
949
+ padding: '8px',
950
+ border: '1px solid #ddd',
951
+ borderRadius: '4px',
952
+ }}
953
+ placeholder={
954
+ fileType === 'markdown' ||
955
+ fileType === 'markdown_table' ||
956
+ fileType === 'image' ||
957
+ fileType === 'html' ||
958
+ fileType === 'text'
959
+ ? '仅用于显示'
960
+ : '输入初始页面号'
961
+ }
962
+ disabled={
963
+ fileType === 'markdown' ||
964
+ fileType === 'markdown_table' ||
965
+ fileType === 'image' ||
966
+ fileType === 'html' ||
967
+ fileType === 'text'
968
+ }
969
+ />
970
+ <button
971
+ onClick={() => {
972
+ setInitialPage(pageO);
973
+ }}
974
+ >
975
+ 跳转
976
+ </button>
977
+ </div>
978
+ );
979
+ }