@gientech/modual 1.3.0 → 1.3.1

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 (307) 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/{dist/assets/index-Bpnc4tRH.js → assets/index-DPUOncCt.js} +91 -86
  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/style.css +0 -1
  30. package/dist/assets/style3.css +0 -1
  31. package/dist/database.js +0 -20
  32. package/dist/package.json +0 -56
  33. package/doc_assets/2.png +0 -0
  34. package/doc_assets/demo.md +0 -27
  35. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +0 -2
  36. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +0 -23699
  37. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +0 -1
  38. package/doc_assets/demos/dist-app/index.html +0 -14
  39. package/doc_assets/demos/dist-app/vite.svg +0 -1
  40. package/doc_assets/images/1.png +0 -0
  41. package/doc_assets/images/3.png +0 -0
  42. package/doc_assets/images/component-screenshot.png +0 -1
  43. package/doc_assets/install.md +0 -5
  44. package/eslint.config.js +0 -92
  45. package/index.html +0 -13
  46. package/postcss.config.cjs +0 -19
  47. package/public/vite.svg +0 -1
  48. package/public/worker/pdf.worker.min.js +0 -22
  49. package/scripts/README.md +0 -133
  50. package/scripts/build-demo.js +0 -88
  51. package/scripts/demo-selector.js +0 -216
  52. package/scripts/dev-demo.js +0 -76
  53. package/scripts/preview-demo.js +0 -130
  54. package/scripts/run-demo.bat +0 -34
  55. package/src/assets/img/downArrow.png +0 -0
  56. package/src/assets/img/excel.png +0 -0
  57. package/src/assets/img/img.png +0 -0
  58. package/src/assets/img/pdf.png +0 -0
  59. package/src/assets/img/ppt.png +0 -0
  60. package/src/assets/img/txt.png +0 -0
  61. package/src/assets/img/word.png +0 -0
  62. package/src/assets/login/homeBg.png +0 -0
  63. package/src/assets/login/left.jpg +0 -0
  64. package/src/assets/login/logoImg.png +0 -0
  65. package/src/examples/LoginPage/index.tsx +0 -18
  66. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -77
  67. package/src/examples/chat/index.tsx +0 -179
  68. package/src/examples/gientechStreamFilesReader/index.tsx +0 -1016
  69. package/src/examples/ragDatabaseDataPage/index.tsx +0 -36
  70. package/src/examples/ragDatabaseIdPage/index.tsx +0 -44
  71. package/src/examples/ragDatabasePage/index.tsx +0 -36
  72. package/src/examples/ragModelManagePage/index.tsx +0 -37
  73. package/src/examples/ragSearchPage/index.tsx +0 -0
  74. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -32
  75. package/src/examples/streamFiles/index.tsx +0 -384
  76. package/src/lib_enter.ts +0 -38
  77. package/src/main.tsx +0 -5
  78. package/src/main.tsx.backup +0 -5
  79. package/src/modules/chat/Conversations/Item.tsx +0 -167
  80. package/src/modules/chat/Conversations/List.tsx +0 -143
  81. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  82. package/src/modules/chat/Conversations/index.tsx +0 -212
  83. package/src/modules/chat/constants.tsx +0 -33
  84. package/src/modules/chat/index.tsx +0 -1836
  85. package/src/modules/chat/types.ts +0 -17
  86. package/src/modules/database/CreateModal.tsx +0 -398
  87. package/src/modules/database/assets/Doris.png +0 -0
  88. package/src/modules/database/assets/PostgreSQL.png +0 -0
  89. package/src/modules/database/assets/SQLServer.png +0 -0
  90. package/src/modules/database/assets/database.svg +0 -11
  91. package/src/modules/database/assets/database_connect.svg +0 -66
  92. package/src/modules/database/assets/database_upload.svg +0 -29
  93. package/src/modules/database/assets/empty.png +0 -0
  94. package/src/modules/database/assets/mysql.svg +0 -14
  95. package/src/modules/database/index.tsx +0 -466
  96. package/src/modules/database/server.ts +0 -196
  97. package/src/modules/databaseId/CustomCom.tsx +0 -156
  98. package/src/modules/databaseId/EditConfig.tsx +0 -268
  99. package/src/modules/databaseId/UploadDrawer.tsx +0 -520
  100. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  101. package/src/modules/databaseId/assets/empty.png +0 -0
  102. package/src/modules/databaseId/assets/template.svg +0 -6
  103. package/src/modules/databaseId/assets/upload.svg +0 -9
  104. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  105. package/src/modules/databaseId/index.tsx +0 -734
  106. package/src/modules/databaseId/server.ts +0 -286
  107. package/src/modules/databaseId/style.css +0 -5
  108. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -119
  109. package/src/modules/databaseTable/index.tsx +0 -357
  110. package/src/modules/databaseTable/server.ts +0 -180
  111. package/src/modules/headlessChat/constants.tsx +0 -32
  112. package/src/modules/headlessChat/index.tsx +0 -1065
  113. package/src/modules/headlessChat/types.ts +0 -23
  114. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -102
  115. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -180
  116. package/src/modules/login/components/Login/index.tsx +0 -100
  117. package/src/modules/login/index.tsx +0 -106
  118. package/src/modules/login/style.css +0 -3
  119. package/src/modules/login/useServices.ts +0 -53
  120. package/src/modules/login/utils.ts +0 -42
  121. package/src/modules/modelManage/ConfigDrawer.tsx +0 -249
  122. package/src/modules/modelManage/assets/empty.png +0 -0
  123. package/src/modules/modelManage/const.ts +0 -50
  124. package/src/modules/modelManage/index.tsx +0 -439
  125. package/src/modules/modelManage/server.ts +0 -185
  126. package/src/modules/nodegraph/index.tsx +0 -1
  127. package/src/modules/search/assets/Icon-history.svg +0 -8
  128. package/src/modules/search/assets/answerAwartar.png +0 -0
  129. package/src/modules/search/assets/doc.png +0 -0
  130. package/src/modules/search/assets/genera.gif +0 -0
  131. package/src/modules/search/assets/icon-robot.svg +0 -9
  132. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  133. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  134. package/src/modules/search/assets/icon-title.svg +0 -9
  135. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  136. package/src/modules/search/assets/iconAi.svg +0 -9
  137. package/src/modules/search/assets/pdf.png +0 -0
  138. package/src/modules/search/assets/ppt.png +0 -0
  139. package/src/modules/search/assets/search.svg +0 -3
  140. package/src/modules/search/assets/selected.svg +0 -4
  141. package/src/modules/search/assets/txt.png +0 -0
  142. package/src/modules/search/assets/xls.png +0 -0
  143. package/src/modules/search/components/AssisSelect.tsx +0 -137
  144. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  145. package/src/modules/search/components/Editor/aichat.css +0 -1
  146. package/src/modules/search/components/Editor/constant.ts +0 -13
  147. package/src/modules/search/components/Editor/index.tsx +0 -113
  148. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  149. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  150. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  151. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  152. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  153. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  154. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  155. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  156. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  157. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  158. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  159. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  160. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  161. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  162. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  163. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  164. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  165. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  166. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  167. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  168. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  169. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  170. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  171. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  172. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  173. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  174. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  175. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  176. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  177. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  178. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  179. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  180. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  181. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  182. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  183. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  184. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  185. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  186. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  187. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  188. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  189. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  190. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  191. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  192. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  193. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  194. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  195. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  196. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  197. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  198. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  199. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  200. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  201. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  202. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  203. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  204. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  205. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  206. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  207. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  208. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  209. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  210. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  211. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  212. package/src/modules/search/components/Editor/ui/style.less +0 -12
  213. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  214. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  215. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  216. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  217. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  218. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  219. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  220. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  221. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  222. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  223. package/src/modules/search/components/FileList.tsx +0 -287
  224. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  225. package/src/modules/search/components/ResultContent.tsx +0 -232
  226. package/src/modules/search/components/SearchInput.tsx +0 -232
  227. package/src/modules/search/components/SearchLanding.tsx +0 -74
  228. package/src/modules/search/components/SearchView.tsx +0 -563
  229. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  230. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  231. package/src/modules/search/index.tsx +0 -10
  232. package/src/modules/search/reademe.md +0 -1
  233. package/src/modules/search/servers/apis.tsx +0 -19
  234. package/src/modules/search/servers/index.ts +0 -184
  235. package/src/modules/search/style.less +0 -503
  236. package/src/modules/search/type.ts +0 -22
  237. package/src/modules/search/utils.ts +0 -34
  238. package/src/modules/sensitive/index.tsx +0 -313
  239. package/src/modules/sensitive/server.ts +0 -122
  240. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1555
  241. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  242. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  243. package/src/modules/streamFilesReader/index.tsx +0 -3
  244. package/src/style.css +0 -6
  245. package/src/type.d.ts +0 -0
  246. package/src/utils/commonFn.tsx +0 -111
  247. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  248. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  249. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  250. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  251. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  252. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -310
  253. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  254. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -390
  255. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  256. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -296
  257. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -339
  258. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  259. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  260. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  261. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  262. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  263. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  264. package/src/utils/gientechCommon/components/style.less +0 -11
  265. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  266. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  267. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  268. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -339
  269. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  270. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  271. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  272. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  273. package/src/utils/gientechCommon/utils/request.ts +0 -37
  274. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  275. package/src/utils/index.tsx +0 -126
  276. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  277. package/src/utils/testconfigs/index.ts +0 -53
  278. package/src/vite-env.d.ts +0 -11
  279. package/stats.html +0 -4949
  280. package/tailwind.config.js +0 -170
  281. package/tsconfig.app.json +0 -30
  282. package/tsconfig.app.tsbuildinfo +0 -11
  283. package/tsconfig.json +0 -13
  284. package/tsconfig.node.json +0 -22
  285. package/tsconfig.node.tsbuildinfo +0 -1
  286. package/vite.config.ts +0 -177
  287. package/workflows/release.yml +0 -60
  288. /package/{dist/assets → assets}/Doris.png +0 -0
  289. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  290. /package/{dist/assets → assets}/SQLServer.png +0 -0
  291. /package/{dist/assets → assets}/_commonjsHelpers-gnU0ypJ3.js +0 -0
  292. /package/{dist/assets → assets}/circle-alert-g2Y6zAjt.js +0 -0
  293. /package/{dist/assets → assets}/empty.png +0 -0
  294. /package/{dist/assets → assets}/index-CEK88UzR.js +0 -0
  295. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  296. /package/{dist/assets → assets}/plus-omCUN0e3.js +0 -0
  297. /package/{dist/assets → assets}/style2.css +0 -0
  298. /package/{dist/assets → assets}/styled-components.browser.esm-DPkS13KC.js +0 -0
  299. /package/{dist/assets → assets}/x-vPcWt3fC.js +0 -0
  300. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  301. /package/{dist/database.d.ts → database.d.ts} +0 -0
  302. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  303. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  304. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  305. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  306. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  307. /package/{dist/vite.svg → vite.svg} +0 -0
@@ -1,297 +0,0 @@
1
- import React from 'react';
2
- import styled from 'styled-components';
3
- import { X, ChevronLeft, ChevronRight, ZoomIn, ZoomOut, Download, Pencil, RotateCcw, RotateCw } from 'lucide-react';
4
- import type { AppTheme, ToolsConfig } from '../../../core/types';
5
-
6
- // Header组件属性接口
7
- export interface HeaderProps {
8
- // 文件信息
9
- fileName?: string;
10
- currentPage?: number;
11
- totalPage?: number;
12
-
13
- // 工具配置
14
- tools?: ToolsConfig;
15
-
16
- // 样式配置
17
- styles?: {
18
- theme?: AppTheme;
19
- };
20
-
21
- // 事件回调
22
- onPrevPage?: () => void;
23
- onNextPage?: () => void;
24
- onZoomIn?: () => void;
25
- onZoomOut?: () => void;
26
- onAnnotationToggle?: () => void;
27
- onDownload?: () => void;
28
- onRotateLeft?: () => void;
29
- onRotateRight?: () => void;
30
- onClose?: () => void;
31
-
32
- // 状态
33
- scale?: number;
34
- isAnnotating?: boolean;
35
-
36
- // 自定义类名
37
- className?: string;
38
- }
39
-
40
- // 样式组件
41
- const HeaderContainer = styled.div<{ $theme: AppTheme }>`
42
- display: flex;
43
- align-items: center;
44
- padding: 0px 12px;
45
- justify-content: space-between;
46
- padding: ${props => props.$theme.space.padding};
47
- border-bottom: 1px solid ${props => props.$theme.colors.border};
48
- background: ${props => props.$theme.colors.background};
49
- min-height: 52px;
50
- `;
51
-
52
- const FileInfo = styled.div<{ $theme: AppTheme }>`
53
- display: flex;
54
- align-items: center;
55
- gap: 8px;
56
- flex: 1;
57
- min-width: 0;
58
- `;
59
-
60
- const FileName = styled.div<{ $theme: AppTheme }>`
61
- font-size: 14px;
62
- font-weight: 500;
63
- color: ${props => props.$theme.colors.text};
64
- white-space: nowrap;
65
- overflow: hidden;
66
- text-overflow: ellipsis;
67
- `;
68
-
69
- const PageInfo = styled.div<{ $theme: AppTheme }>`
70
- font-size: 12px;
71
- color: ${props => props.$theme.colors.disabledText};
72
- white-space: nowrap;
73
- `;
74
-
75
- const ToolBar = styled.div<{ $theme: AppTheme }>`
76
- display: flex;
77
- align-items: center;
78
- gap: 4px;
79
- `;
80
-
81
- const ToolButton = styled.button<{ $theme: AppTheme; $active?: boolean }>`
82
- display: flex;
83
- align-items: center;
84
- justify-content: center;
85
- width: 32px;
86
- height: 32px;
87
- border: none;
88
- border-radius: ${props => props.$theme.space.radius};
89
- background: ${props => props.$active ? props.$theme.colors.primary + '20' : 'transparent'};
90
- color: ${props => props.$active ? props.$theme.colors.primary : props.$theme.colors.text};
91
- cursor: pointer;
92
- transition: all 0.2s ease;
93
-
94
- &:hover {
95
- background: ${props => props.$theme.colors.primary + '10'};
96
- color: ${props => props.$theme.colors.primary};
97
- }
98
-
99
- &:disabled {
100
- opacity: 0.5;
101
- cursor: not-allowed;
102
- }
103
- `;
104
-
105
- const ZoomInfo = styled.div<{ $theme: AppTheme }>`
106
- font-size: 12px;
107
- color: ${props => props.$theme.colors.disabledText};
108
- min-width: 40px;
109
- text-align: center;
110
- `;
111
-
112
- // 默认主题
113
- const defaultTheme: AppTheme = {
114
- colors: {
115
- primary: '#007bff',
116
- secondary: '#6c757d',
117
- success: '#008000',
118
- warning: '#FFA500',
119
- error: '#FF0000',
120
- info: '#0000FF',
121
- background: '#f8f9fa',
122
- text: '#343a40',
123
- border: '#dee2e6',
124
- disabled: '#808080',
125
- disabledBackground: '#F5F5F5',
126
- disabledText: '#808080',
127
- },
128
- space: {
129
- sidebar: 'md',
130
- size: 'md',
131
- radius: 'md',
132
- padding: 'md',
133
- margin: 'md',
134
- shadow: 'md',
135
- lineHeight: 'md',
136
- },
137
- };
138
-
139
- /**
140
- * Header组件
141
- * 负责文件查看器的头部工具栏
142
- *
143
- * @param props - 组件属性
144
- * @returns Header组件
145
- */
146
- const Header: React.FC<HeaderProps> = React.memo(({
147
- fileName = '未知文件',
148
- currentPage = 1,
149
- totalPage = 0,
150
- tools = {
151
- annotation: true,
152
- download: true,
153
- zoom: true,
154
- close: true,
155
- navigation: true,
156
- rotate: true,
157
- },
158
- styles,
159
- onPrevPage,
160
- onNextPage,
161
- onZoomIn,
162
- onZoomOut,
163
- onAnnotationToggle,
164
- onDownload,
165
- onRotateLeft,
166
- onRotateRight,
167
- onClose,
168
- scale = 1,
169
- isAnnotating = false,
170
- className,
171
- }) => {
172
- // 使用主题
173
- const mergedTheme = styles?.theme || defaultTheme;
174
-
175
- // 添加调试信息
176
- console.log('Header组件渲染 - currentPage:', currentPage, 'totalPage:', totalPage);
177
-
178
- return (
179
- <HeaderContainer $theme={mergedTheme} className={className}>
180
- <FileInfo $theme={mergedTheme}>
181
- <FileName $theme={mergedTheme}>
182
- {fileName}
183
- </FileName>
184
- </FileInfo>
185
-
186
- <ToolBar $theme={mergedTheme}>
187
- {/* 页面导航 */}
188
- {tools.navigation && (
189
- <>
190
- <ToolButton
191
- $theme={mergedTheme}
192
- onClick={onPrevPage}
193
- disabled={currentPage <= 1}
194
- title="上一页"
195
- >
196
- <ChevronLeft size={16} />
197
- </ToolButton>
198
- {totalPage > 0 && (
199
- <PageInfo $theme={mergedTheme}>
200
- {currentPage} / {totalPage}
201
- </PageInfo>
202
- )}
203
- <ToolButton
204
- $theme={mergedTheme}
205
- onClick={onNextPage}
206
- disabled={!totalPage || currentPage >= totalPage}
207
- title="下一页"
208
- >
209
- <ChevronRight size={16} />
210
- </ToolButton>
211
- </>
212
- )}
213
-
214
- {/* 缩放控制 */}
215
- {tools.zoom && (
216
- <>
217
- <ToolButton
218
- $theme={mergedTheme}
219
- onClick={onZoomOut}
220
- disabled={scale <= 0.3}
221
- title="缩小"
222
- >
223
- <ZoomOut size={16} />
224
- </ToolButton>
225
- <ZoomInfo $theme={mergedTheme}>
226
- {Math.round(scale * 100)}%
227
- </ZoomInfo>
228
- <ToolButton
229
- $theme={mergedTheme}
230
- onClick={onZoomIn}
231
- disabled={scale >= 3}
232
- title="放大"
233
- >
234
- <ZoomIn size={16} />
235
- </ToolButton>
236
- </>
237
- )}
238
-
239
- {/* 标注工具 */}
240
- {tools.annotation && (
241
- <ToolButton
242
- $theme={mergedTheme}
243
- $active={isAnnotating}
244
- onClick={onAnnotationToggle}
245
- title={isAnnotating ? '退出标注' : '开始标注'}
246
- >
247
- <Pencil size={16} />
248
- </ToolButton>
249
- )}
250
-
251
- {/* 下载按钮 */}
252
- {tools.download && (
253
- <ToolButton
254
- $theme={mergedTheme}
255
- onClick={onDownload}
256
- title="下载"
257
- >
258
- <Download size={16} />
259
- </ToolButton>
260
- )}
261
-
262
- {/* 旋转控制 */}
263
- {tools.rotate && (
264
- <>
265
- <ToolButton
266
- $theme={mergedTheme}
267
- onClick={onRotateLeft}
268
- title="向左旋转"
269
- >
270
- <RotateCcw size={16} />
271
- </ToolButton>
272
- <ToolButton
273
- $theme={mergedTheme}
274
- onClick={onRotateRight}
275
- title="向右旋转"
276
- >
277
- <RotateCw size={16} />
278
- </ToolButton>
279
- </>
280
- )}
281
-
282
- {/* 关闭按钮 */}
283
- {tools.close && (
284
- <ToolButton
285
- $theme={mergedTheme}
286
- onClick={onClose}
287
- title="关闭"
288
- >
289
- <X size={16} />
290
- </ToolButton>
291
- )}
292
- </ToolBar>
293
- </HeaderContainer>
294
- );
295
- });
296
-
297
- export default Header;
@@ -1,3 +0,0 @@
1
- // 导出 GientechStreamReader 组件和类型
2
- export { default as GientechStreamReader } from './GientechStreamReader';
3
- export type { GientechStreamReaderProps } from './GientechStreamReader';
package/src/style.css DELETED
@@ -1,6 +0,0 @@
1
- @import 'tailwindcss';
2
-
3
- * {
4
- padding: 0;
5
- margin: 0;
6
- }
package/src/type.d.ts DELETED
File without changes
@@ -1,111 +0,0 @@
1
- import message from 'antd/es/message';
2
- import { uid } from 'uid';
3
- import Clipboard from 'clipboard';
4
-
5
- export const toCopy = (content: any, event: any) => {
6
- // 去除 <think>...</think> 标签及内容
7
- let _content = content ? content.replace(/<think>[\s\S]*?<\/think>/g, '') : content;
8
-
9
- // 去除 [retrive-tag ...]...[/retrive-tag] 标签及内容
10
- _content = _content.replace(/\[retrive-tag[^\]]*\][\s\S]*?\[\/retrive-tag\]/g, '');
11
-
12
- // 去除 <a> 标签(保留原有逻辑)
13
- _content = _content.replace(/<a\s+[^>]*>(.*?)<\/a>/g, '');
14
- console.log('_content', _content);
15
-
16
- const clipboard: any = new Clipboard(event.currentTarget || event.target, {
17
- text: () => _content,
18
- });
19
-
20
- try {
21
- clipboard.on('success', () => {
22
- message.success('文本复制成功', 2);
23
- clipboard.destroy();
24
- });
25
- clipboard.on('error', (e:any) => {
26
- message.error('复制失败', 2);
27
- clipboard.destroy();
28
- });
29
-
30
- clipboard.onClick(event);
31
- } catch (error) {
32
- clipboard.destroy();
33
- message.error('复制失败: ' + error, 2);
34
- }
35
-
36
- // if (navigator.clipboard?.writeText) {
37
- // console.log('_content1', navigator);
38
- // navigator.clipboard
39
- // .writeText(_content)
40
- // .then(() => {
41
- // console.log('_content2', _content);
42
- // message.success('文本复制成功', 2);
43
- // })
44
- // .catch(err => {
45
- // message.error('复制失败: ', 2);
46
- // console.log('error occurs when copy:', err);
47
- // });
48
- // } else {
49
- // console.log('_content3', _content);
50
- // const textareaDom = document.createElement('textarea');
51
- // console.log('_content4', textareaDom);
52
- // textareaDom.value = _content;
53
- // textareaDom.style.position = 'absolute';
54
- // textareaDom.style.opacity = '0';
55
- // textareaDom.style.left = '-500px';
56
- // textareaDom.style.top = '-500px';
57
- // textareaDom.style.height = '0';
58
- // document.body.appendChild(textareaDom);
59
- // textareaDom.focus();
60
- // textareaDom.select();
61
- // document.execCommand('copy');
62
- // textareaDom.remove();
63
- // message.success('文本复制成功', 2);
64
- // }
65
- };
66
-
67
- // 添加文件类型判断辅助函数
68
- export const getFileTypeByName = (fileName: string): string => {
69
- const extension = fileName.toLowerCase().split('.').pop() || '';
70
- if (/^(jpg|jpeg|png|gif|bmp|webp)$/.test(extension)) return 'image';
71
- if (/^(doc|docx)$/.test(extension)) return 'word';
72
- if (/^(xls|xlsx|csv)$/.test(extension)) return 'excel';
73
- if (/^(ppt|pptx)$/.test(extension)) return 'ppt';
74
- if (extension === 'pdf') return 'pdf';
75
- if (/^(txt|json|md|markdown)$/.test(extension)) return 'text';
76
- if (/^(zip|rar|7z)$/.test(extension)) return 'archive';
77
- return 'file';
78
- };
79
-
80
- // 将 query-reply 对列表转换为消息数组
81
- export function convertQueryReplyPairListToMessages(queryReplyPairList: any[]): any[] {
82
-
83
- const messages: any[] = [];
84
- for (const pair of queryReplyPairList) {
85
- //console.log(pair, 'pair');
86
- if (pair.query) {
87
- const _queryId = pair.query.queryId || pair.query.id || pair.queryId || pair.id || uid(32);
88
- messages.push({
89
- istype: 'user',
90
- content: pair.query.content,
91
- time: pair.query.gmtCreate,
92
- queryId: _queryId,
93
- clientSideId: _queryId + '-user',
94
- ...pair.query,
95
- });
96
- }
97
- if (pair.reply) {
98
- const _queryId = pair.reply.queryId || pair.reply.id || pair.queryId || pair.id || uid(32);
99
- messages.push({
100
- istype: 'ai',
101
- content: pair.reply.content,
102
- isDefault: pair.reply.isDefault,
103
- time: pair.time || pair.gmtCreate || Date.now(),
104
- queryId: _queryId,
105
- clientSideId: _queryId + '-ai',
106
- ...pair.reply,
107
- });
108
- }
109
- }
110
- return messages;
111
- }
@@ -1,32 +0,0 @@
1
- import { Button } from 'antd';
2
- import { XOctagon, RefreshCw } from 'lucide-react';
3
-
4
- export default function AppError({ msg, subMsg }: { msg?: string; subMsg?: string }) {
5
- return (
6
- <div className="flex flex-col items-center justify-center h-full p-8 text-center bg-white/80 backdrop-blur-sm">
7
- {/* 错误图标 */}
8
- <div className="mb-6 animate-bounce">
9
- <XOctagon size={64} className="text-[#d70016]" />
10
- </div>
11
-
12
- {/* 错误标题 */}
13
- <h2 className="text-[20px] font-medium text-[#222222] mb-3">{msg || '应用初始化失败'}</h2>
14
-
15
- {/* 错误描述 */}
16
- <p className="text-[14px] text-[#555555] mb-8 max-w-[400px]">
17
- {subMsg ||
18
- '无法完成应用初始化,这可能是由于网络连接问题或服务配置错误导致的。请检查您的网络连接并重试。'}
19
- </p>
20
-
21
- {/* 重试按钮 */}
22
- <Button
23
- type="primary"
24
- icon={<RefreshCw className="w-4 h-4" />}
25
- onClick={() => window.location.reload()}
26
- className="flex items-center gap-2 bg-gradient-to-r from-[#2B69FF] to-[#8F91FF] border-none hover:opacity-90"
27
- >
28
- 重新加载
29
- </Button>
30
- </div>
31
- );
32
- }
@@ -1,75 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
-
3
- export default function AppLoading() {
4
- const [progress, setProgress] = useState(0);
5
-
6
- useEffect(() => {
7
- let timer: any;
8
- if (progress < 98) {
9
- timer = setTimeout(() => {
10
- setProgress(p => p + Math.random() * 6 + 1);
11
- }, 80);
12
- } else if (progress < 100) {
13
- timer = setTimeout(() => setProgress(100), 400);
14
- }
15
- return () => clearTimeout(timer);
16
- }, [progress]);
17
-
18
- return (
19
- <div className="flex flex-col justify-center items-center min-h-screen bg-gradient-to-br from-[#EEF4FF] via-white to-[#F5F8FF]">
20
- {/* Logo区域 */}
21
- <div className="mb-8 flex flex-col items-center">
22
- {/* <div className="w-20 h-20 rounded-full bg-gradient-to-r from-[#2B69FF] to-[#8F91FF] flex items-center justify-center shadow-lg animate-bounce-slow">
23
- <svg width="48" height="48" viewBox="0 0 38 38" fill="none" xmlns="http://www.w3.org/2000/svg">
24
- <ellipse cx="19" cy="19" rx="19" ry="19" fill="url(#paint0_linear)"/>
25
- <path d="M12 25c2.5-2 7.5-2 10 0" stroke="#fff" strokeWidth="2.2" strokeLinecap="round"/>
26
- <ellipse cx="14.5" cy="16" rx="1.5" ry="2" fill="#fff"/>
27
- <ellipse cx="23.5" cy="16" rx="1.5" ry="2" fill="#fff"/>
28
- <defs>
29
- <linearGradient id="paint0_linear" x1="0" y1="0" x2="38" y2="38" gradientUnits="userSpaceOnUse">
30
- <stop stopColor="#2B69FF"/>
31
- <stop offset="1" stopColor="#8F91FF"/>
32
- </linearGradient>
33
- </defs>
34
- </svg>
35
- </div> */}
36
- <div className="mt-6 text-2xl font-semibold text-[#222222] tracking-wide">小鲸智能会话助手</div>
37
- <div className="mt-2 text-sm text-[#555555]">让智能对话更简单</div>
38
- </div>
39
-
40
- {/* 进度条 */}
41
- <div className="relative w-80 max-w-sm">
42
- <div className="w-full h-2 bg-[#EEF4FF] rounded-full overflow-hidden shadow-inner">
43
- <div
44
- className="h-full bg-gradient-to-r from-[#2B69FF] to-[#8F91FF] transition-all duration-300 ease-out"
45
- style={{ width: `${Math.min(progress, 100)}%` }}
46
- />
47
- </div>
48
- <div className="absolute -right-2 top-5 text-sm text-[#555555]">{Math.min(Math.round(progress), 100)}%</div>
49
- </div>
50
-
51
- {/* 加载提示 */}
52
- <div className="mt-8 flex flex-col items-center gap-2">
53
- <div className="text-sm text-[#555555] animate-pulse">
54
- 正在初始化应用
55
- </div>
56
- <div className="text-xs text-[#888888]">
57
- 首次加载可能需要一些时间,请耐心等待
58
- </div>
59
- </div>
60
- </div>
61
- );
62
- }
63
-
64
- // 添加动画样式
65
- const style = document.createElement('style');
66
- style.textContent = `
67
- .animate-bounce-slow {
68
- animation: bounce 2.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
69
- }
70
- @keyframes bounce {
71
- 0%, 100% { transform: translateY(0); }
72
- 50% { transform: translateY(-12px); }
73
- }
74
- `;
75
- document.head.appendChild(style);
@@ -1,75 +0,0 @@
1
- import { Button, ConfigProvider, Form, Input, Modal } from "antd";
2
- import { useForm } from "antd/es/form/Form";
3
- import { useEffect } from "react";
4
-
5
- export const DeleteModal = ({
6
- isModalOpen,
7
- handleOk,
8
- handleCancel,
9
- data
10
- }: any) => {
11
- const modalStyles = {
12
- header: {
13
- height: "60px",
14
- borderBottom: "1px solid #F0F0F0",
15
- display: "flex",
16
- paddingLeft: "24px",
17
- alignItems: "center",
18
- marginBottom: "16px"
19
- },
20
- title: { fontSize: "16px" },
21
- body: { padding: "0 24px" },
22
- mask: {},
23
- footer: { marginTop: "0px", padding: "0 24px 16px 24px" },
24
- content: { padding: 0 }
25
- };
26
- const [rename_form] = useForm();
27
- useEffect(() => {
28
- if (!isModalOpen) {
29
- rename_form.resetFields();
30
- return;
31
- }
32
- rename_form.setFieldValue("new_name", data?.label);
33
- }, [data, isModalOpen]);
34
- return (
35
- <ConfigProvider
36
- modal={{
37
- styles: modalStyles
38
- }}
39
- >
40
- <Modal
41
- title={<div className="text-[16px]">删除会话</div>}
42
- closeIcon={null}
43
- open={isModalOpen}
44
- width={520}
45
- centered
46
- className="[&:[.ant-modal-content]]:bg-red"
47
- footer={
48
- <div className="mt-[16px] flex justify-end">
49
- <Button
50
- children="取消"
51
- onClick={handleCancel}
52
- className="mr-[8px]"
53
- />
54
- <Button
55
- children="确认"
56
- onClick={async () => {
57
- try {
58
- const data = await rename_form.validateFields();
59
- handleOk("ok_remove", data);
60
- } catch (e) {
61
- console.log(e);
62
- return;
63
- }
64
- }}
65
- type="primary"
66
- className="border-none"
67
- />
68
- </div>
69
- }
70
- >
71
- <div>{`确定要删除会话「${data.label}」吗?删除后无法恢复。`}</div>
72
- </Modal>
73
- </ConfigProvider>
74
- );
75
- };
@@ -1,33 +0,0 @@
1
- import { Button } from 'antd';
2
- import { AlertCircle, RefreshCw } from 'lucide-react';
3
-
4
- export default function DisplayError() {
5
- return (
6
- <div className="flex flex-col items-center justify-center h-full p-8 text-center bg-transparent! backdrop-blur-sm">
7
- {/* 错误图标 */}
8
- <div className="mb-6 animate-bounce">
9
- <AlertCircle size={64} className="text-[#d70016]" />
10
- </div>
11
-
12
- {/* 错误标题 */}
13
- <h2 className="text-[20px] font-medium text-[#222222] mb-3">
14
- 抱歉,遇到了一些问题
15
- </h2>
16
-
17
- {/* 错误描述 */}
18
- <p className="text-[14px] text-[#555555] mb-8 max-w-[400px]">
19
- 请求失败,请稍后重试
20
- </p>
21
-
22
- {/* 重试按钮 */}
23
- <Button
24
- type="primary"
25
- icon={<RefreshCw className="w-4 h-4" />}
26
- onClick={() => window.location.reload()}
27
- className="flex items-center gap-2 bg-gradient-to-r from-[#2B69FF] to-[#8F91FF] border-none hover:opacity-90"
28
- >
29
- 重新加载
30
- </Button>
31
- </div>
32
- );
33
- }
@@ -1,38 +0,0 @@
1
- import { Skeleton } from 'antd';
2
-
3
- export default function DisplayLoading() {
4
- return (
5
- <div className="flex flex-col gap-8 p-4 w-full mx-auto">
6
- {/* 用户消息骨架 */}
7
- <div className="flex items-start gap-4">
8
- <div className="w-10 h-10 rounded-full bg-muted/80 animate-pulse" />
9
- <div className="flex-1">
10
- <Skeleton active paragraph={{ rows: 1 }} />
11
- </div>
12
- </div>
13
-
14
- {/* AI回复骨架 */}
15
- <div className="flex items-start gap-4">
16
- <div className="w-10 h-10 rounded-full bg-muted/80 animate-pulse" />
17
- <div className="flex-1">
18
- <Skeleton active paragraph={{ rows: 3 }} />
19
- </div>
20
- </div>
21
-
22
- {/* 第二组对话骨架 */}
23
- <div className="flex items-start gap-4">
24
- <div className="w-10 h-10 rounded-full bg-muted/80 animate-pulse" />
25
- <div className="flex-1">
26
- <Skeleton active paragraph={{ rows: 1 }} />
27
- </div>
28
- </div>
29
-
30
- <div className="flex items-start gap-4">
31
- <div className="w-10 h-10 rounded-full bg-muted/80 animate-pulse" />
32
- <div className="flex-1">
33
- <Skeleton active paragraph={{ rows: 2 }} />
34
- </div>
35
- </div>
36
- </div>
37
- );
38
- }