@gientech/modual 1.3.0 → 1.3.2

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