@gientech/modual 1.2.8 → 1.2.10

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 (306) 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/assets/index-Ao_dzK_x.js +1230 -0
  9. package/{dist/assets/index-DIm7RgkM.js → assets/index-D-dGaGjW.js} +93 -279
  10. package/assets/style.css +1 -0
  11. package/assets/style3.css +1 -0
  12. package/{dist/chat.js → chat.js} +72 -66
  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 +56 -99
  18. package/{dist/sensitive.js → sensitive.js} +1 -1
  19. package/{dist/streamFilesReader.js → streamFilesReader.js} +10 -10
  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-97TKgPKE.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/index.tsx +0 -140
  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 -1837
  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/search/assets/Icon-history.svg +0 -8
  127. package/src/modules/search/assets/answerAwartar.png +0 -0
  128. package/src/modules/search/assets/doc.png +0 -0
  129. package/src/modules/search/assets/genera.gif +0 -0
  130. package/src/modules/search/assets/icon-robot.svg +0 -9
  131. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  132. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  133. package/src/modules/search/assets/icon-title.svg +0 -9
  134. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  135. package/src/modules/search/assets/iconAi.svg +0 -9
  136. package/src/modules/search/assets/pdf.png +0 -0
  137. package/src/modules/search/assets/ppt.png +0 -0
  138. package/src/modules/search/assets/search.svg +0 -3
  139. package/src/modules/search/assets/selected.svg +0 -4
  140. package/src/modules/search/assets/txt.png +0 -0
  141. package/src/modules/search/assets/xls.png +0 -0
  142. package/src/modules/search/components/AssisSelect.tsx +0 -137
  143. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  144. package/src/modules/search/components/Editor/aichat.css +0 -1
  145. package/src/modules/search/components/Editor/constant.ts +0 -13
  146. package/src/modules/search/components/Editor/index.tsx +0 -113
  147. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  148. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  149. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  150. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  151. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  152. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  153. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  154. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  155. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  156. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  157. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  158. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  159. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  160. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  161. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  162. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  163. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  164. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  165. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  166. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  167. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  168. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  169. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  170. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  171. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  172. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  173. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  174. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  175. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  176. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  177. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  178. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  179. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  180. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  181. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  182. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  183. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  184. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  185. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  186. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  187. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  188. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  189. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  190. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  191. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  192. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  193. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  194. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  195. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  196. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  197. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  198. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  199. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  200. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  201. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  202. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  203. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  204. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  205. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  206. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  207. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  208. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  209. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  210. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  211. package/src/modules/search/components/Editor/ui/style.less +0 -12
  212. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  213. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  214. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  215. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  216. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  217. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  218. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  219. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  220. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  221. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  222. package/src/modules/search/components/FileList.tsx +0 -287
  223. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  224. package/src/modules/search/components/ResultContent.tsx +0 -232
  225. package/src/modules/search/components/SearchInput.tsx +0 -232
  226. package/src/modules/search/components/SearchLanding.tsx +0 -74
  227. package/src/modules/search/components/SearchView.tsx +0 -563
  228. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  229. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  230. package/src/modules/search/index.tsx +0 -10
  231. package/src/modules/search/reademe.md +0 -1
  232. package/src/modules/search/servers/apis.tsx +0 -19
  233. package/src/modules/search/servers/index.ts +0 -184
  234. package/src/modules/search/style.less +0 -503
  235. package/src/modules/search/type.ts +0 -22
  236. package/src/modules/search/utils.ts +0 -34
  237. package/src/modules/sensitive/index.tsx +0 -313
  238. package/src/modules/sensitive/server.ts +0 -122
  239. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1555
  240. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  241. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  242. package/src/modules/streamFilesReader/index.tsx +0 -3
  243. package/src/style.css +0 -6
  244. package/src/type.d.ts +0 -0
  245. package/src/utils/commonFn.tsx +0 -111
  246. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  247. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  248. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  249. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  250. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  251. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -310
  252. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  253. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -390
  254. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  255. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -296
  256. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -339
  257. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  258. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  259. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  260. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  261. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  262. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  263. package/src/utils/gientechCommon/components/style.less +0 -11
  264. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  265. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  266. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  267. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -339
  268. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  269. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  270. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  271. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  272. package/src/utils/gientechCommon/utils/request.ts +0 -37
  273. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  274. package/src/utils/index.tsx +0 -126
  275. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  276. package/src/utils/testconfigs/index.ts +0 -53
  277. package/src/vite-env.d.ts +0 -11
  278. package/stats.html +0 -4949
  279. package/tailwind.config.js +0 -170
  280. package/tsconfig.app.json +0 -30
  281. package/tsconfig.app.tsbuildinfo +0 -11
  282. package/tsconfig.json +0 -13
  283. package/tsconfig.node.json +0 -22
  284. package/tsconfig.node.tsbuildinfo +0 -1
  285. package/vite.config.ts +0 -178
  286. package/workflows/release.yml +0 -60
  287. /package/{dist/assets → assets}/Doris.png +0 -0
  288. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  289. /package/{dist/assets → assets}/SQLServer.png +0 -0
  290. /package/{dist/assets → assets}/_commonjsHelpers-gnU0ypJ3.js +0 -0
  291. /package/{dist/assets → assets}/circle-alert-g2Y6zAjt.js +0 -0
  292. /package/{dist/assets → assets}/empty.png +0 -0
  293. /package/{dist/assets → assets}/index-CEK88UzR.js +0 -0
  294. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  295. /package/{dist/assets → assets}/plus-omCUN0e3.js +0 -0
  296. /package/{dist/assets → assets}/style2.css +0 -0
  297. /package/{dist/assets → assets}/styled-components.browser.esm-DPkS13KC.js +0 -0
  298. /package/{dist/assets → assets}/x-vPcWt3fC.js +0 -0
  299. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  300. /package/{dist/database.d.ts → database.d.ts} +0 -0
  301. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  302. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  303. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  304. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  305. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  306. /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
- }