From 58e95f76c1054c9e4003d7b267b33cd8be870fc0 Mon Sep 17 00:00:00 2001 From: balibabu Date: Wed, 17 Jul 2024 19:07:34 +0800 Subject: [PATCH] feat: change all file names to lowercase #1574 (#1575) ### What problem does this PR solve? feat: change all file names to lowercase #1574 ### Type of change - [x] New Feature (non-breaking change which adds functionality) --- .../components/chunk-method-modal/hooks.ts | 2 +- .../components/chunk-method-modal/index.tsx | 2 +- web/src/components/copy-to-clipboard.tsx | 2 +- .../components/file-upload-modal/index.tsx | 2 +- web/src/components/knowledge-base-item.tsx | 4 +- web/src/components/layout-recognize.tsx | 2 +- .../components/llm-setting-items/index.tsx | 4 +- web/src/components/max-token-number.tsx | 2 +- web/src/components/message-item/index.tsx | 6 +- web/src/components/operate-dropdown/index.tsx | 2 +- .../components/parse-configuration/index.tsx | 4 +- web/src/components/pdf-previewer/index.tsx | 2 +- web/src/components/rename-modal/index.tsx | 2 +- web/src/components/rerank.tsx | 4 +- .../components/similarity-slider/index.tsx | 2 +- web/src/components/top-n-item.tsx | 2 +- web/src/hooks/{authHook.ts => auth-hooks.ts} | 0 web/src/hooks/{chatHooks.ts => chat-hooks.ts} | 0 .../hooks/{chunkHooks.ts => chunk-hooks.ts} | 2 +- .../{commonHooks.tsx => common-hooks.tsx} | 0 .../{documentHooks.ts => document-hooks.ts} | 4 +- ...eManagerHooks.ts => file-manager-hooks.ts} | 0 .../{knowledgeHook.ts => knowledge-hooks.ts} | 25 +- web/src/hooks/{llmHooks.ts => llm-hooks.ts} | 0 web/src/hooks/logic-hooks.ts | 10 +- .../hooks/{loginHooks.ts => login-hooks.ts} | 0 web/src/hooks/{routeHook.ts => route-hook.ts} | 0 .../hooks/{storeHooks.ts => store-hooks.ts} | 0 ...erSettingHook.ts => user-setting-hooks.ts} | 2 +- web/src/layouts/components/header/index.tsx | 4 +- .../components/right-toolbar/index.tsx | 2 +- web/src/layouts/components/user/index.tsx | 63 +- .../components/chunk-creating-modal/index.tsx | 4 +- .../components/chunk-toolbar/index.tsx | 4 +- .../components/document-preview/hooks.ts | 2 +- .../components/knowledge-chunk/hooks.ts | 2 +- .../components/knowledge-chunk/index.tsx | 4 +- .../components/knowledge-chunk/model.ts | 2 +- .../knowledge-upload-file/index.tsx | 8 +- .../knowledge-file/document-toolbar.tsx | 6 +- .../components/knowledge-file/hooks.ts | 16 +- .../components/knowledge-file/index.tsx | 4 +- .../components/knowledge-file/model.ts | 552 +++++++++--------- .../parsing-action-cell/index.tsx | 4 +- .../parsing-status-cell/index.tsx | 2 +- .../knowledge-file/rename-modal/index.tsx | 2 +- .../knowledge-file/web-crawl-modal.tsx | 21 +- .../knowledge-setting/category-panel.tsx | 4 +- .../knowledge-setting/configuration.tsx | 2 +- .../components/knowledge-setting/hooks.ts | 10 +- .../components/knowledge-setting/index.tsx | 80 +-- .../components/knowledge-setting/model.ts | 114 ++-- .../components/knowledge-sidebar/index.tsx | 4 +- .../components/knowledge-testing/index.tsx | 2 +- .../components/knowledge-testing/model.ts | 2 +- .../testing-control/index.tsx | 6 +- .../testing-result/index.tsx | 2 +- .../testing-result/select-files.tsx | 2 +- web/src/pages/add-knowledge/index.tsx | 186 +++--- .../pages/chat/chat-api-key-modal/index.tsx | 2 +- .../assistant-setting.tsx | 2 +- .../chat/chat-configuration-modal/index.tsx | 2 +- .../prompt-engine.tsx | 2 +- web/src/pages/chat/chat-container/index.tsx | 4 +- .../pages/chat/chat-overview-modal/index.tsx | 2 +- web/src/pages/chat/embed-modal/index.tsx | 2 +- web/src/pages/chat/hooks.ts | 6 +- web/src/pages/chat/index.tsx | 2 +- web/src/pages/chat/markdown-content/index.tsx | 2 +- web/src/pages/chat/model.ts | 524 ++++++++--------- web/src/pages/chat/share/large.tsx | 2 +- web/src/pages/chat/shared-hooks.ts | 4 +- .../document-viewer/file-error/index.tsx | 2 +- .../pages/file-manager/action-cell/index.tsx | 2 +- .../connect-to-knowledge-modal/index.tsx | 4 +- web/src/pages/file-manager/file-toolbar.tsx | 4 +- .../folder-create-modal/index.tsx | 2 +- web/src/pages/file-manager/hooks.ts | 6 +- web/src/pages/file-manager/index.tsx | 4 +- web/src/pages/file-manager/model.ts | 2 +- web/src/pages/flow/begin-form/index.tsx | 2 +- web/src/pages/flow/canvas/node/begin-node.tsx | 2 +- .../flow/canvas/node/categorize-node.tsx | 2 +- web/src/pages/flow/canvas/node/index.tsx | 2 +- .../pages/flow/canvas/node/relevant-node.tsx | 2 +- .../categorize-form/dynamic-categorize.tsx | 2 +- web/src/pages/flow/categorize-form/index.tsx | 2 +- web/src/pages/flow/chat/box.tsx | 4 +- web/src/pages/flow/duckduckgo-form/index.tsx | 2 +- web/src/pages/flow/flow-drawer/index.tsx | 2 +- web/src/pages/flow/flow-sider/index.tsx | 2 +- .../flow/generate-form/dynamic-parameters.tsx | 2 +- web/src/pages/flow/generate-form/index.tsx | 2 +- web/src/pages/flow/header/index.tsx | 2 +- web/src/pages/flow/hooks.ts | 4 +- web/src/pages/flow/index.tsx | 2 +- .../pages/flow/keyword-extract-form/index.tsx | 2 +- web/src/pages/flow/list/create-flow-modal.tsx | 2 +- web/src/pages/flow/list/hooks.ts | 2 +- web/src/pages/flow/list/index.tsx | 2 +- web/src/pages/flow/message-form/index.tsx | 2 +- web/src/pages/flow/relevant-form/index.tsx | 2 +- web/src/pages/flow/retrieval-form/index.tsx | 2 +- .../flow/rewrite-question-form/index.tsx | 2 +- web/src/pages/flow/wikipedia-form/index.tsx | 2 +- web/src/pages/knowledge/hooks.ts | 2 +- web/src/pages/knowledge/index.tsx | 164 +++--- web/src/pages/knowledge/model.ts | 126 ++-- web/src/pages/login/index.tsx | 398 ++++++------- web/src/pages/login/model.ts | 138 ++--- web/src/pages/login/right-panel.tsx | 2 +- .../components/setting-title/index.tsx | 2 +- web/src/pages/user-setting/hooks.ts | 2 +- web/src/pages/user-setting/model.ts | 2 +- .../setting-model/api-key-modal/index.tsx | 2 +- .../pages/user-setting/setting-model/hooks.ts | 8 +- .../user-setting/setting-model/index.tsx | 8 +- .../setting-model/ollama-modal/index.tsx | 2 +- .../system-model-setting-modal/index.tsx | 4 +- .../setting-model/volcengine-model/index.tsx | 2 +- .../user-setting/setting-password/index.tsx | 6 +- .../user-setting/setting-profile/index.tsx | 4 +- .../user-setting/setting-system/index.tsx | 2 +- .../pages/user-setting/setting-team/index.tsx | 4 +- web/src/pages/user-setting/sidebar/index.tsx | 6 +- .../{chatService.ts => chat-service.ts} | 0 ...agerService.ts => file-manager-service.ts} | 0 .../{kbService.ts => knowledge-service.ts} | 326 +++++------ .../{userService.ts => user-service.ts} | 176 +++--- web/src/wrappers/auth.tsx | 26 +- 130 files changed, 1643 insertions(+), 1608 deletions(-) rename web/src/hooks/{authHook.ts => auth-hooks.ts} (100%) rename web/src/hooks/{chatHooks.ts => chat-hooks.ts} (100%) rename web/src/hooks/{chunkHooks.ts => chunk-hooks.ts} (89%) rename web/src/hooks/{commonHooks.tsx => common-hooks.tsx} (100%) rename web/src/hooks/{documentHooks.ts => document-hooks.ts} (98%) rename web/src/hooks/{fileManagerHooks.ts => file-manager-hooks.ts} (100%) rename web/src/hooks/{knowledgeHook.ts => knowledge-hooks.ts} (90%) rename web/src/hooks/{llmHooks.ts => llm-hooks.ts} (100%) rename web/src/hooks/{loginHooks.ts => login-hooks.ts} (100%) rename web/src/hooks/{routeHook.ts => route-hook.ts} (100%) rename web/src/hooks/{storeHooks.ts => store-hooks.ts} (100%) rename web/src/hooks/{userSettingHook.ts => user-setting-hooks.ts} (98%) rename web/src/services/{chatService.ts => chat-service.ts} (100%) rename web/src/services/{fileManagerService.ts => file-manager-service.ts} (100%) rename web/src/services/{kbService.ts => knowledge-service.ts} (94%) rename web/src/services/{userService.ts => user-service.ts} (94%) diff --git a/web/src/components/chunk-method-modal/hooks.ts b/web/src/components/chunk-method-modal/hooks.ts index c2c95ac62..bfa8b874d 100644 --- a/web/src/components/chunk-method-modal/hooks.ts +++ b/web/src/components/chunk-method-modal/hooks.ts @@ -1,7 +1,7 @@ import { useFetchTenantInfo, useSelectParserList, -} from '@/hooks/userSettingHook'; +} from '@/hooks/user-setting-hooks'; import { useEffect, useMemo, useState } from 'react'; const ParserListMap = new Map([ diff --git a/web/src/components/chunk-method-modal/index.tsx b/web/src/components/chunk-method-modal/index.tsx index df6e3c25b..71aa6ac30 100644 --- a/web/src/components/chunk-method-modal/index.tsx +++ b/web/src/components/chunk-method-modal/index.tsx @@ -21,7 +21,7 @@ import omit from 'lodash/omit'; import React, { useEffect, useMemo } from 'react'; import { useFetchParserListOnMount } from './hooks'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import LayoutRecognize from '../layout-recognize'; import ParseConfiguration, { showRaptorParseConfiguration, diff --git a/web/src/components/copy-to-clipboard.tsx b/web/src/components/copy-to-clipboard.tsx index ed2af3a2a..8d4c436a2 100644 --- a/web/src/components/copy-to-clipboard.tsx +++ b/web/src/components/copy-to-clipboard.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { CheckOutlined, CopyOutlined } from '@ant-design/icons'; import { Tooltip } from 'antd'; import { useState } from 'react'; diff --git a/web/src/components/file-upload-modal/index.tsx b/web/src/components/file-upload-modal/index.tsx index 1707724ea..3e7c2e8c6 100644 --- a/web/src/components/file-upload-modal/index.tsx +++ b/web/src/components/file-upload-modal/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { IModalProps } from '@/interfaces/common'; import { InboxOutlined } from '@ant-design/icons'; import { diff --git a/web/src/components/knowledge-base-item.tsx b/web/src/components/knowledge-base-item.tsx index 01cecee9a..2da220a29 100644 --- a/web/src/components/knowledge-base-item.tsx +++ b/web/src/components/knowledge-base-item.tsx @@ -1,5 +1,5 @@ -import { useTranslate } from '@/hooks/commonHooks'; -import { useFetchKnowledgeList } from '@/hooks/knowledgeHook'; +import { useTranslate } from '@/hooks/common-hooks'; +import { useFetchKnowledgeList } from '@/hooks/knowledge-hooks'; import { Form, Select } from 'antd'; const KnowledgeBaseItem = () => { diff --git a/web/src/components/layout-recognize.tsx b/web/src/components/layout-recognize.tsx index 4fb72027c..194580fb0 100644 --- a/web/src/components/layout-recognize.tsx +++ b/web/src/components/layout-recognize.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form, Switch } from 'antd'; const LayoutRecognize = () => { diff --git a/web/src/components/llm-setting-items/index.tsx b/web/src/components/llm-setting-items/index.tsx index d5f349e6a..a8365d616 100644 --- a/web/src/components/llm-setting-items/index.tsx +++ b/web/src/components/llm-setting-items/index.tsx @@ -6,8 +6,8 @@ import { import { Divider, Flex, Form, InputNumber, Select, Slider, Switch } from 'antd'; import camelCase from 'lodash/camelCase'; -import { useTranslate } from '@/hooks/commonHooks'; -import { useSelectLlmOptionsByModelType } from '@/hooks/llmHooks'; +import { useTranslate } from '@/hooks/common-hooks'; +import { useSelectLlmOptionsByModelType } from '@/hooks/llm-hooks'; import { useCallback, useMemo } from 'react'; import styles from './index.less'; diff --git a/web/src/components/max-token-number.tsx b/web/src/components/max-token-number.tsx index 9913b035b..0095cdeab 100644 --- a/web/src/components/max-token-number.tsx +++ b/web/src/components/max-token-number.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Flex, Form, InputNumber, Slider } from 'antd'; const MaxTokenNumber = () => { diff --git a/web/src/components/message-item/index.tsx b/web/src/components/message-item/index.tsx index c8f2f4c44..9026e1ce1 100644 --- a/web/src/components/message-item/index.tsx +++ b/web/src/components/message-item/index.tsx @@ -1,8 +1,8 @@ import { ReactComponent as AssistantIcon } from '@/assets/svg/assistant.svg'; import { MessageType } from '@/constants/chat'; -import { useTranslate } from '@/hooks/commonHooks'; -import { useGetDocumentUrl } from '@/hooks/documentHooks'; -import { useSelectFileThumbnails } from '@/hooks/knowledgeHook'; +import { useTranslate } from '@/hooks/common-hooks'; +import { useGetDocumentUrl } from '@/hooks/document-hooks'; +import { useSelectFileThumbnails } from '@/hooks/knowledge-hooks'; import { IReference, Message } from '@/interfaces/database/chat'; import { IChunk } from '@/interfaces/database/knowledge'; import classNames from 'classnames'; diff --git a/web/src/components/operate-dropdown/index.tsx b/web/src/components/operate-dropdown/index.tsx index 09eb75145..485fd25ef 100644 --- a/web/src/components/operate-dropdown/index.tsx +++ b/web/src/components/operate-dropdown/index.tsx @@ -1,4 +1,4 @@ -import { useShowDeleteConfirm } from '@/hooks/commonHooks'; +import { useShowDeleteConfirm } from '@/hooks/common-hooks'; import { DeleteOutlined, MoreOutlined } from '@ant-design/icons'; import { Dropdown, MenuProps, Space } from 'antd'; import { useTranslation } from 'react-i18next'; diff --git a/web/src/components/parse-configuration/index.tsx b/web/src/components/parse-configuration/index.tsx index 21a21e5ce..fa6892655 100644 --- a/web/src/components/parse-configuration/index.tsx +++ b/web/src/components/parse-configuration/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { PlusOutlined } from '@ant-design/icons'; import { Button, @@ -12,7 +12,7 @@ import { } from 'antd'; import random from 'lodash/random'; -export const excludedParseMethods = ['table', 'resume', 'one',"picture"]; +export const excludedParseMethods = ['table', 'resume', 'one', 'picture']; export const showRaptorParseConfiguration = (parserId: string) => { return !excludedParseMethods.includes(parserId); diff --git a/web/src/components/pdf-previewer/index.tsx b/web/src/components/pdf-previewer/index.tsx index e2e37d6e4..6c470aad9 100644 --- a/web/src/components/pdf-previewer/index.tsx +++ b/web/src/components/pdf-previewer/index.tsx @@ -1,7 +1,7 @@ import { useGetChunkHighlights, useGetDocumentUrl, -} from '@/hooks/documentHooks'; +} from '@/hooks/document-hooks'; import { IChunk } from '@/interfaces/database/knowledge'; import { Skeleton } from 'antd'; import { useEffect, useRef, useState } from 'react'; diff --git a/web/src/components/rename-modal/index.tsx b/web/src/components/rename-modal/index.tsx index afe5b7f67..8ac963d89 100644 --- a/web/src/components/rename-modal/index.tsx +++ b/web/src/components/rename-modal/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form, Input, Modal } from 'antd'; import { useEffect } from 'react'; import { IModalManagerChildrenProps } from '../modal-manager'; diff --git a/web/src/components/rerank.tsx b/web/src/components/rerank.tsx index e78fa3aff..3ef89b877 100644 --- a/web/src/components/rerank.tsx +++ b/web/src/components/rerank.tsx @@ -1,6 +1,6 @@ import { LlmModelType } from '@/constants/knowledge'; -import { useTranslate } from '@/hooks/commonHooks'; -import { useSelectLlmOptionsByModelType } from '@/hooks/llmHooks'; +import { useTranslate } from '@/hooks/common-hooks'; +import { useSelectLlmOptionsByModelType } from '@/hooks/llm-hooks'; import { Form, Select, Slider } from 'antd'; type FieldType = { diff --git a/web/src/components/similarity-slider/index.tsx b/web/src/components/similarity-slider/index.tsx index e29a07991..a23fb2e60 100644 --- a/web/src/components/similarity-slider/index.tsx +++ b/web/src/components/similarity-slider/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form, Slider } from 'antd'; type FieldType = { diff --git a/web/src/components/top-n-item.tsx b/web/src/components/top-n-item.tsx index e1a7a602a..51be09315 100644 --- a/web/src/components/top-n-item.tsx +++ b/web/src/components/top-n-item.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form, Slider } from 'antd'; type FieldType = { diff --git a/web/src/hooks/authHook.ts b/web/src/hooks/auth-hooks.ts similarity index 100% rename from web/src/hooks/authHook.ts rename to web/src/hooks/auth-hooks.ts diff --git a/web/src/hooks/chatHooks.ts b/web/src/hooks/chat-hooks.ts similarity index 100% rename from web/src/hooks/chatHooks.ts rename to web/src/hooks/chat-hooks.ts diff --git a/web/src/hooks/chunkHooks.ts b/web/src/hooks/chunk-hooks.ts similarity index 89% rename from web/src/hooks/chunkHooks.ts rename to web/src/hooks/chunk-hooks.ts index 377192f59..a5c330907 100644 --- a/web/src/hooks/chunkHooks.ts +++ b/web/src/hooks/chunk-hooks.ts @@ -1,6 +1,6 @@ import { useCallback } from 'react'; import { useDispatch } from 'umi'; -import { useGetKnowledgeSearchParams } from './routeHook'; +import { useGetKnowledgeSearchParams } from './route-hook'; interface PayloadType { doc_id: string; diff --git a/web/src/hooks/commonHooks.tsx b/web/src/hooks/common-hooks.tsx similarity index 100% rename from web/src/hooks/commonHooks.tsx rename to web/src/hooks/common-hooks.tsx diff --git a/web/src/hooks/documentHooks.ts b/web/src/hooks/document-hooks.ts similarity index 98% rename from web/src/hooks/documentHooks.ts rename to web/src/hooks/document-hooks.ts index e00bdb128..c18e08d42 100644 --- a/web/src/hooks/documentHooks.ts +++ b/web/src/hooks/document-hooks.ts @@ -6,8 +6,8 @@ import { UploadFile } from 'antd'; import { useCallback, useMemo, useState } from 'react'; import { IHighlight } from 'react-pdf-highlighter'; import { useDispatch, useSelector } from 'umi'; -import { useGetKnowledgeSearchParams } from './routeHook'; -import { useOneNamespaceEffectsLoading } from './storeHooks'; +import { useGetKnowledgeSearchParams } from './route-hook'; +import { useOneNamespaceEffectsLoading } from './store-hooks'; export const useGetDocumentUrl = (documentId?: string) => { const getDocumentUrl = useCallback( diff --git a/web/src/hooks/fileManagerHooks.ts b/web/src/hooks/file-manager-hooks.ts similarity index 100% rename from web/src/hooks/fileManagerHooks.ts rename to web/src/hooks/file-manager-hooks.ts diff --git a/web/src/hooks/knowledgeHook.ts b/web/src/hooks/knowledge-hooks.ts similarity index 90% rename from web/src/hooks/knowledgeHook.ts rename to web/src/hooks/knowledge-hooks.ts index f388b6ed7..0cb677cf4 100644 --- a/web/src/hooks/knowledgeHook.ts +++ b/web/src/hooks/knowledge-hooks.ts @@ -1,9 +1,11 @@ -import { useShowDeleteConfirm } from '@/hooks/commonHooks'; +import { useShowDeleteConfirm } from '@/hooks/common-hooks'; import { IKnowledge } from '@/interfaces/database/knowledge'; +import kbService from '@/services/knowledge-service'; +import { useQuery } from '@tanstack/react-query'; import { useCallback, useEffect, useMemo } from 'react'; import { useDispatch, useSearchParams, useSelector } from 'umi'; -import { useGetKnowledgeSearchParams } from './routeHook'; -import { useOneNamespaceEffectsLoading } from './storeHooks'; +import { useGetKnowledgeSearchParams } from './route-hook'; +import { useOneNamespaceEffectsLoading } from './store-hooks'; export const useKnowledgeBaseId = (): string => { const [searchParams] = useSearchParams(); @@ -158,6 +160,23 @@ export const useFetchKnowledgeList = ( return { list, loading, fetchList }; }; +export const useNextFetchKnowledgeList = (): { + data: any[]; + loading: boolean; +} => { + const { data, isFetching: loading } = useQuery({ + queryKey: ['fetchKnowledgeList'], + initialData: [], + queryFn: async () => { + const { data } = await kbService.getList(); + + return data?.data ?? []; + }, + }); + + return { data, loading }; +}; + export const useSelectFileThumbnails = () => { const fileThumbnails: Record = useSelector( (state: any) => state.kFModel.fileThumbnails, diff --git a/web/src/hooks/llmHooks.ts b/web/src/hooks/llm-hooks.ts similarity index 100% rename from web/src/hooks/llmHooks.ts rename to web/src/hooks/llm-hooks.ts diff --git a/web/src/hooks/logic-hooks.ts b/web/src/hooks/logic-hooks.ts index 74c651002..9378a3a56 100644 --- a/web/src/hooks/logic-hooks.ts +++ b/web/src/hooks/logic-hooks.ts @@ -20,15 +20,15 @@ import { } from 'react'; import { useTranslation } from 'react-i18next'; import { useDispatch } from 'umi'; -import { useSetModalState, useTranslate } from './commonHooks'; -import { useSetDocumentParser } from './documentHooks'; -import { useFetchLlmList } from './llmHooks'; -import { useOneNamespaceEffectsLoading } from './storeHooks'; +import { useSetModalState, useTranslate } from './common-hooks'; +import { useSetDocumentParser } from './document-hooks'; +import { useFetchLlmList } from './llm-hooks'; +import { useOneNamespaceEffectsLoading } from './store-hooks'; import { useFetchTenantInfo, useSaveSetting, useSelectTenantInfo, -} from './userSettingHook'; +} from './user-setting-hooks'; export const useChangeDocumentParser = (documentId: string) => { const setDocumentParser = useSetDocumentParser(); diff --git a/web/src/hooks/loginHooks.ts b/web/src/hooks/login-hooks.ts similarity index 100% rename from web/src/hooks/loginHooks.ts rename to web/src/hooks/login-hooks.ts diff --git a/web/src/hooks/routeHook.ts b/web/src/hooks/route-hook.ts similarity index 100% rename from web/src/hooks/routeHook.ts rename to web/src/hooks/route-hook.ts diff --git a/web/src/hooks/storeHooks.ts b/web/src/hooks/store-hooks.ts similarity index 100% rename from web/src/hooks/storeHooks.ts rename to web/src/hooks/store-hooks.ts diff --git a/web/src/hooks/userSettingHook.ts b/web/src/hooks/user-setting-hooks.ts similarity index 98% rename from web/src/hooks/userSettingHook.ts rename to web/src/hooks/user-setting-hooks.ts index b344d37fb..9527a8ccd 100644 --- a/web/src/hooks/userSettingHook.ts +++ b/web/src/hooks/user-setting-hooks.ts @@ -1,6 +1,6 @@ import { ITenantInfo } from '@/interfaces/database/knowledge'; import { ISystemStatus, IUserInfo } from '@/interfaces/database/userSetting'; -import userService from '@/services/userService'; +import userService from '@/services/user-service'; import authorizationUtil from '@/utils/authorizationUtil'; import { useCallback, useEffect, useMemo, useState } from 'react'; import { history, useDispatch, useSelector } from 'umi'; diff --git a/web/src/layouts/components/header/index.tsx b/web/src/layouts/components/header/index.tsx index 57262eac4..afae2e75d 100644 --- a/web/src/layouts/components/header/index.tsx +++ b/web/src/layouts/components/header/index.tsx @@ -1,8 +1,8 @@ import { ReactComponent as FileIcon } from '@/assets/svg/file-management.svg'; import { ReactComponent as GraphIcon } from '@/assets/svg/graph.svg'; import { ReactComponent as KnowledgeBaseIcon } from '@/assets/svg/knowledge-base.svg'; -import { useTranslate } from '@/hooks/commonHooks'; -import { useNavigateWithFromState } from '@/hooks/routeHook'; +import { useTranslate } from '@/hooks/common-hooks'; +import { useNavigateWithFromState } from '@/hooks/route-hook'; import { Flex, Layout, Radio, Space, theme } from 'antd'; import { useCallback, useMemo } from 'react'; import { useLocation } from 'umi'; diff --git a/web/src/layouts/components/right-toolbar/index.tsx b/web/src/layouts/components/right-toolbar/index.tsx index 70845b4fb..72a324965 100644 --- a/web/src/layouts/components/right-toolbar/index.tsx +++ b/web/src/layouts/components/right-toolbar/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { DownOutlined, GithubOutlined } from '@ant-design/icons'; import { Dropdown, MenuProps, Space } from 'antd'; import camelCase from 'lodash/camelCase'; diff --git a/web/src/layouts/components/user/index.tsx b/web/src/layouts/components/user/index.tsx index e226c0000..3710b094e 100644 --- a/web/src/layouts/components/user/index.tsx +++ b/web/src/layouts/components/user/index.tsx @@ -1,30 +1,33 @@ -import { useFetchUserInfo, useSelectUserInfo } from '@/hooks/userSettingHook'; -import { Avatar } from 'antd'; -import React from 'react'; -import { history } from 'umi'; - -import styles from '../../index.less'; - -const App: React.FC = () => { - const userInfo = useSelectUserInfo(); - - const toSetting = () => { - history.push('/user-setting'); - }; - - useFetchUserInfo(); - - return ( - - ); -}; - -export default App; +import { + useFetchUserInfo, + useSelectUserInfo, +} from '@/hooks/user-setting-hooks'; +import { Avatar } from 'antd'; +import React from 'react'; +import { history } from 'umi'; + +import styles from '../../index.less'; + +const App: React.FC = () => { + const userInfo = useSelectUserInfo(); + + const toSetting = () => { + history.push('/user-setting'); + }; + + useFetchUserInfo(); + + return ( + + ); +}; + +export default App; diff --git a/web/src/pages/add-knowledge/components/knowledge-chunk/components/chunk-creating-modal/index.tsx b/web/src/pages/add-knowledge/components/knowledge-chunk/components/chunk-creating-modal/index.tsx index 23020b22a..a7e1f7620 100644 --- a/web/src/pages/add-knowledge/components/knowledge-chunk/components/chunk-creating-modal/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-chunk/components/chunk-creating-modal/index.tsx @@ -1,5 +1,5 @@ -import { useDeleteChunkByIds } from '@/hooks/knowledgeHook'; -import { useOneNamespaceEffectsLoading } from '@/hooks/storeHooks'; +import { useDeleteChunkByIds } from '@/hooks/knowledge-hooks'; +import { useOneNamespaceEffectsLoading } from '@/hooks/store-hooks'; import { DeleteOutlined } from '@ant-design/icons'; import { Checkbox, Divider, Form, Input, Modal, Space } from 'antd'; import React, { useCallback, useEffect, useState } from 'react'; diff --git a/web/src/pages/add-knowledge/components/knowledge-chunk/components/chunk-toolbar/index.tsx b/web/src/pages/add-knowledge/components/knowledge-chunk/components/chunk-toolbar/index.tsx index 590910259..02edef27a 100644 --- a/web/src/pages/add-knowledge/components/knowledge-chunk/components/chunk-toolbar/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-chunk/components/chunk-toolbar/index.tsx @@ -1,7 +1,7 @@ import { ReactComponent as FilterIcon } from '@/assets/filter.svg'; import { KnowledgeRouteKey } from '@/constants/knowledge'; -import { useTranslate } from '@/hooks/commonHooks'; -import { useKnowledgeBaseId } from '@/hooks/knowledgeHook'; +import { useTranslate } from '@/hooks/common-hooks'; +import { useKnowledgeBaseId } from '@/hooks/knowledge-hooks'; import { ArrowLeftOutlined, CheckCircleOutlined, diff --git a/web/src/pages/add-knowledge/components/knowledge-chunk/components/document-preview/hooks.ts b/web/src/pages/add-knowledge/components/knowledge-chunk/components/document-preview/hooks.ts index 3183a1d5c..fcf6a01ba 100644 --- a/web/src/pages/add-knowledge/components/knowledge-chunk/components/document-preview/hooks.ts +++ b/web/src/pages/add-knowledge/components/knowledge-chunk/components/document-preview/hooks.ts @@ -1,4 +1,4 @@ -import { useGetKnowledgeSearchParams } from '@/hooks/routeHook'; +import { useGetKnowledgeSearchParams } from '@/hooks/route-hook'; import { api_host } from '@/utils/api'; import { useSize } from 'ahooks'; import { CustomTextRenderer } from 'node_modules/react-pdf/dist/esm/shared/types'; diff --git a/web/src/pages/add-knowledge/components/knowledge-chunk/hooks.ts b/web/src/pages/add-knowledge/components/knowledge-chunk/hooks.ts index bd2064279..3666beb5e 100644 --- a/web/src/pages/add-knowledge/components/knowledge-chunk/hooks.ts +++ b/web/src/pages/add-knowledge/components/knowledge-chunk/hooks.ts @@ -1,4 +1,4 @@ -import { useOneNamespaceEffectsLoading } from '@/hooks/storeHooks'; +import { useOneNamespaceEffectsLoading } from '@/hooks/store-hooks'; import { IChunk, IKnowledgeFile } from '@/interfaces/database/knowledge'; import { buildChunkHighlights } from '@/utils/documentUtils'; import { useCallback, useMemo, useState } from 'react'; diff --git a/web/src/pages/add-knowledge/components/knowledge-chunk/index.tsx b/web/src/pages/add-knowledge/components/knowledge-chunk/index.tsx index 8c8dd763e..5733874b4 100644 --- a/web/src/pages/add-knowledge/components/knowledge-chunk/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-chunk/index.tsx @@ -1,5 +1,5 @@ -import { useFetchChunkList } from '@/hooks/chunkHooks'; -import { useDeleteChunkByIds } from '@/hooks/knowledgeHook'; +import { useFetchChunkList } from '@/hooks/chunk-hooks'; +import { useDeleteChunkByIds } from '@/hooks/knowledge-hooks'; import type { PaginationProps } from 'antd'; import { Divider, Flex, Pagination, Space, Spin, message } from 'antd'; import classNames from 'classnames'; diff --git a/web/src/pages/add-knowledge/components/knowledge-chunk/model.ts b/web/src/pages/add-knowledge/components/knowledge-chunk/model.ts index 9ba72f7af..5b73d52af 100644 --- a/web/src/pages/add-knowledge/components/knowledge-chunk/model.ts +++ b/web/src/pages/add-knowledge/components/knowledge-chunk/model.ts @@ -1,6 +1,6 @@ import { BaseState } from '@/interfaces/common'; import { IChunk, IKnowledgeFile } from '@/interfaces/database/knowledge'; -import kbService from '@/services/kbService'; +import kbService from '@/services/knowledge-service'; import { message } from 'antd'; import { pick } from 'lodash'; // import { delay } from '@/utils/storeUtil'; diff --git a/web/src/pages/add-knowledge/components/knowledge-dataset/knowledge-upload-file/index.tsx b/web/src/pages/add-knowledge/components/knowledge-dataset/knowledge-upload-file/index.tsx index 47114aac3..db19d1d36 100644 --- a/web/src/pages/add-knowledge/components/knowledge-dataset/knowledge-upload-file/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-dataset/knowledge-upload-file/index.tsx @@ -6,17 +6,17 @@ import { useRunDocument, useSelectDocumentList, useUploadDocument, -} from '@/hooks/documentHooks'; +} from '@/hooks/document-hooks'; import { useDeleteDocumentById, useFetchKnowledgeDetail, useKnowledgeBaseId, -} from '@/hooks/knowledgeHook'; +} from '@/hooks/knowledge-hooks'; import { useChangeDocumentParser, useSetSelectedRecord, } from '@/hooks/logic-hooks'; -import { useFetchTenantInfo } from '@/hooks/userSettingHook'; +import { useFetchTenantInfo } from '@/hooks/user-setting-hooks'; import { IKnowledgeFile } from '@/interfaces/database/knowledge'; import { getExtension, isFileUploadDone } from '@/utils/documentUtils'; import { @@ -40,7 +40,7 @@ import classNames from 'classnames'; import { ReactElement, useCallback, useMemo, useRef, useState } from 'react'; import { Link, useNavigate } from 'umi'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import styles from './index.less'; const { Dragger } = Upload; diff --git a/web/src/pages/add-knowledge/components/knowledge-file/document-toolbar.tsx b/web/src/pages/add-knowledge/components/knowledge-file/document-toolbar.tsx index 1ffe7d1fb..f9457ac85 100644 --- a/web/src/pages/add-knowledge/components/knowledge-file/document-toolbar.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-file/document-toolbar.tsx @@ -3,13 +3,13 @@ import { ReactComponent as DeleteIcon } from '@/assets/svg/delete.svg'; import { ReactComponent as DisableIcon } from '@/assets/svg/disable.svg'; import { ReactComponent as EnableIcon } from '@/assets/svg/enable.svg'; import { ReactComponent as RunIcon } from '@/assets/svg/run.svg'; -import { useShowDeleteConfirm, useTranslate } from '@/hooks/commonHooks'; +import { useShowDeleteConfirm, useTranslate } from '@/hooks/common-hooks'; import { useRemoveDocument, useRunDocument, useSetDocumentStatus, -} from '@/hooks/documentHooks'; -import { useGetKnowledgeSearchParams } from '@/hooks/routeHook'; +} from '@/hooks/document-hooks'; +import { useGetKnowledgeSearchParams } from '@/hooks/route-hook'; import { DownOutlined, FileOutlined, diff --git a/web/src/pages/add-knowledge/components/knowledge-file/hooks.ts b/web/src/pages/add-knowledge/components/knowledge-file/hooks.ts index 0c58103a3..8f9f06881 100644 --- a/web/src/pages/add-knowledge/components/knowledge-file/hooks.ts +++ b/web/src/pages/add-knowledge/components/knowledge-file/hooks.ts @@ -1,4 +1,4 @@ -import { useSetModalState, useTranslate } from '@/hooks/commonHooks'; +import { useSetModalState, useTranslate } from '@/hooks/common-hooks'; import { useCreateDocument, useFetchDocumentList, @@ -8,10 +8,10 @@ import { useSetDocumentParser, useUploadDocument, useWebCrawl, -} from '@/hooks/documentHooks'; -import { useGetKnowledgeSearchParams } from '@/hooks/routeHook'; -import { useOneNamespaceEffectsLoading } from '@/hooks/storeHooks'; -import { useFetchTenantInfo } from '@/hooks/userSettingHook'; +} from '@/hooks/document-hooks'; +import { useGetKnowledgeSearchParams } from '@/hooks/route-hook'; +import { useOneNamespaceEffectsLoading } from '@/hooks/store-hooks'; +import { useFetchTenantInfo } from '@/hooks/user-setting-hooks'; import { Pagination } from '@/interfaces/common'; import { IChangeParserConfigRequestBody } from '@/interfaces/request/document'; import { getUnSupportedFilesCount } from '@/utils/documentUtils'; @@ -296,13 +296,13 @@ export const useHandleWebCrawl = () => { const webCrawl = useWebCrawl(); const onWebCrawlUploadOk = useCallback( - async (name: string, url: string ) => { + async (name: string, url: string) => { const ret = await webCrawl(name, url); if (ret === 0) { hideWebCrawlUploadModal(); - return 0 + return 0; } - return -1 + return -1; }, [webCrawl, hideWebCrawlUploadModal], ); diff --git a/web/src/pages/add-knowledge/components/knowledge-file/index.tsx b/web/src/pages/add-knowledge/components/knowledge-file/index.tsx index dd5664d84..4683cacd7 100644 --- a/web/src/pages/add-knowledge/components/knowledge-file/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-file/index.tsx @@ -3,9 +3,9 @@ import SvgIcon from '@/components/svg-icon'; import { useSelectDocumentList, useSetDocumentStatus, -} from '@/hooks/documentHooks'; +} from '@/hooks/document-hooks'; import { useSetSelectedRecord } from '@/hooks/logic-hooks'; -import { useSelectParserList } from '@/hooks/userSettingHook'; +import { useSelectParserList } from '@/hooks/user-setting-hooks'; import { IKnowledgeFile } from '@/interfaces/database/knowledge'; import { getExtension } from '@/utils/documentUtils'; import { Divider, Flex, Switch, Table, Typography } from 'antd'; diff --git a/web/src/pages/add-knowledge/components/knowledge-file/model.ts b/web/src/pages/add-knowledge/components/knowledge-file/model.ts index f248e9a24..4ba63c67c 100644 --- a/web/src/pages/add-knowledge/components/knowledge-file/model.ts +++ b/web/src/pages/add-knowledge/components/knowledge-file/model.ts @@ -1,276 +1,276 @@ -import { BaseState } from '@/interfaces/common'; -import { IKnowledgeFile } from '@/interfaces/database/knowledge'; -import i18n from '@/locales/config'; -import kbService, { getDocumentFile } from '@/services/kbService'; -import { message } from 'antd'; -import omit from 'lodash/omit'; -import pick from 'lodash/pick'; -import { DvaModel } from 'umi'; - -export interface KFModelState extends BaseState { - tenantIfo: any; - data: IKnowledgeFile[]; - total: number; - currentRecord: Nullable; - fileThumbnails: Record; -} - -const model: DvaModel = { - namespace: 'kFModel', - state: { - tenantIfo: {}, - data: [], - total: 0, - currentRecord: null, - searchString: '', - pagination: { - current: 1, - pageSize: 10, - }, - fileThumbnails: {} as Record, - }, - reducers: { - updateState(state, { payload }) { - return { - ...state, - ...payload, - }; - }, - - setCurrentRecord(state, { payload }) { - return { ...state, currentRecord: payload }; - }, - setSearchString(state, { payload }) { - return { ...state, searchString: payload }; - }, - setPagination(state, { payload }) { - return { ...state, pagination: { ...state.pagination, ...payload } }; - }, - setFileThumbnails(state, { payload }) { - return { ...state, fileThumbnails: payload }; - }, - }, - effects: { - *createKf({ payload = {} }, { call }) { - const { data } = yield call(kbService.createKb, payload); - const { retcode } = data; - if (retcode === 0) { - message.success(i18n.t('message.created')); - } - }, - *updateKf({ payload = {} }, { call }) { - const { data } = yield call(kbService.updateKb, payload); - const { retcode } = data; - if (retcode === 0) { - message.success(i18n.t('message.modified')); - } - }, - *getKfDetail({ payload = {} }, { call }) { - const { data } = yield call(kbService.get_kb_detail, payload); - }, - *getKfList({ payload = {} }, { call, put, select }) { - const state: KFModelState = yield select((state: any) => state.kFModel); - const requestBody = { - ...payload, - page: state.pagination.current, - page_size: state.pagination.pageSize, - }; - if (state.searchString) { - requestBody['keywords'] = state.searchString; - } - const { data } = yield call(kbService.get_document_list, requestBody); - const { retcode, data: res } = data; - - if (retcode === 0) { - yield put({ - type: 'updateState', - payload: { - data: res.docs, - total: res.total, - }, - }); - } - }, - throttledGetDocumentList: [ - function* ({ payload }, { call, put }) { - yield put({ type: 'getKfList', payload: { kb_id: payload } }); - }, - { type: 'throttle', ms: 1000 }, // TODO: Provide type support for this effect - ], - pollGetDocumentList: [ - function* ({ payload }, { call, put }) { - yield put({ type: 'getKfList', payload: { kb_id: payload } }); - }, - { type: 'poll', delay: 5000 }, // TODO: Provide type support for this effect - ], - *updateDocumentStatus({ payload = {} }, { call, put }) { - const { data } = yield call( - kbService.document_change_status, - pick(payload, ['doc_id', 'status']), - ); - const { retcode } = data; - if (retcode === 0) { - message.success(i18n.t('message.modified')); - yield put({ - type: 'getKfList', - payload: { kb_id: payload.kb_id }, - }); - } - }, - *document_rm({ payload = {} }, { call, put }) { - const { data } = yield call(kbService.document_rm, { - doc_id: payload.doc_id, - }); - const { retcode } = data; - if (retcode === 0) { - message.success(i18n.t('message.deleted')); - yield put({ - type: 'getKfList', - payload: { kb_id: payload.kb_id }, - }); - } - return retcode; - }, - *document_rename({ payload = {} }, { call, put }) { - const { data } = yield call( - kbService.document_rename, - omit(payload, ['kb_id']), - ); - const { retcode } = data; - if (retcode === 0) { - message.success(i18n.t('message.renamed')); - - yield put({ - type: 'getKfList', - payload: { kb_id: payload.kb_id }, - }); - } - - return retcode; - }, - *document_create({ payload = {} }, { call, put }) { - const { data } = yield call(kbService.document_create, payload); - const { retcode } = data; - if (retcode === 0) { - yield put({ - type: 'getKfList', - payload: { kb_id: payload.kb_id }, - }); - - message.success(i18n.t('message.created')); - } - return retcode; - }, - *document_run({ payload = {} }, { call, put }) { - const { data } = yield call( - kbService.document_run, - omit(payload, ['knowledgeBaseId']), - ); - const { retcode } = data; - if (retcode === 0) { - if (payload.knowledgeBaseId) { - yield put({ - type: 'getKfList', - payload: { kb_id: payload.knowledgeBaseId }, - }); - } - message.success(i18n.t('message.operated')); - } - return retcode; - }, - *document_change_parser({ payload = {} }, { call, put }) { - const { data } = yield call( - kbService.document_change_parser, - omit(payload, ['kb_id']), - ); - const { retcode } = data; - if (retcode === 0) { - yield put({ - type: 'getKfList', - payload: { kb_id: payload.kb_id }, - }); - - message.success(i18n.t('message.modified')); - } - return retcode; - }, - *fetch_document_thumbnails({ payload = {} }, { call, put }) { - const { data } = yield call(kbService.document_thumbnails, payload); - if (data.retcode === 0) { - yield put({ type: 'setFileThumbnails', payload: data.data }); - } - }, - *fetch_document_file({ payload = {} }, { call }) { - const documentId = payload; - try { - const ret = yield call(getDocumentFile, documentId); - return ret; - } catch (error) { - console.warn(error); - } - }, - *upload_document({ payload = {} }, { call, put }) { - const fileList = payload.fileList; - const formData = new FormData(); - formData.append('kb_id', payload.kb_id); - fileList.forEach((file: any) => { - formData.append('file', file); - }); - - const { data } = yield call(kbService.document_upload, formData); - - const succeed = data.retcode === 0; - - if (succeed) { - message.success(i18n.t('message.uploaded')); - } - if (succeed || data.retcode === 500) { - yield put({ - type: 'getKfList', - payload: { kb_id: payload.kb_id }, - }); - } - return data; - }, - *web_crawl({ payload = {} }, { call, put }) { - const formData = new FormData(); - formData.append('name', payload.name); - formData.append('url', payload.url); - formData.append('kb_id', payload.kb_id); - - const { data } = yield call(kbService.web_crawl, formData); - - const succeed = data.retcode === 0; - - if (succeed) { - message.success(i18n.t('message.uploaded')); - } - if (succeed || data.retcode === 500) { - yield put({ - type: 'getKfList', - payload: { kb_id: payload.kb_id }, - }); - } - return data.retcode; - }, - }, - subscriptions: { - setup({ dispatch, history }) { - history.listen(({ location }) => { - const state: { from: string } = (location.state ?? { - from: '', - }) as { from: string }; - if ( - state.from === '/knowledge' || // TODO: Just directly determine whether the current page is on the knowledge list page. - location.pathname === '/knowledge/dataset/upload' - ) { - dispatch({ - type: 'setPagination', - payload: { current: 1, pageSize: 10 }, - }); - } - }); - }, - }, -}; -export default model; +import { BaseState } from '@/interfaces/common'; +import { IKnowledgeFile } from '@/interfaces/database/knowledge'; +import i18n from '@/locales/config'; +import kbService, { getDocumentFile } from '@/services/knowledge-service'; +import { message } from 'antd'; +import omit from 'lodash/omit'; +import pick from 'lodash/pick'; +import { DvaModel } from 'umi'; + +export interface KFModelState extends BaseState { + tenantIfo: any; + data: IKnowledgeFile[]; + total: number; + currentRecord: Nullable; + fileThumbnails: Record; +} + +const model: DvaModel = { + namespace: 'kFModel', + state: { + tenantIfo: {}, + data: [], + total: 0, + currentRecord: null, + searchString: '', + pagination: { + current: 1, + pageSize: 10, + }, + fileThumbnails: {} as Record, + }, + reducers: { + updateState(state, { payload }) { + return { + ...state, + ...payload, + }; + }, + + setCurrentRecord(state, { payload }) { + return { ...state, currentRecord: payload }; + }, + setSearchString(state, { payload }) { + return { ...state, searchString: payload }; + }, + setPagination(state, { payload }) { + return { ...state, pagination: { ...state.pagination, ...payload } }; + }, + setFileThumbnails(state, { payload }) { + return { ...state, fileThumbnails: payload }; + }, + }, + effects: { + *createKf({ payload = {} }, { call }) { + const { data } = yield call(kbService.createKb, payload); + const { retcode } = data; + if (retcode === 0) { + message.success(i18n.t('message.created')); + } + }, + *updateKf({ payload = {} }, { call }) { + const { data } = yield call(kbService.updateKb, payload); + const { retcode } = data; + if (retcode === 0) { + message.success(i18n.t('message.modified')); + } + }, + *getKfDetail({ payload = {} }, { call }) { + const { data } = yield call(kbService.get_kb_detail, payload); + }, + *getKfList({ payload = {} }, { call, put, select }) { + const state: KFModelState = yield select((state: any) => state.kFModel); + const requestBody = { + ...payload, + page: state.pagination.current, + page_size: state.pagination.pageSize, + }; + if (state.searchString) { + requestBody['keywords'] = state.searchString; + } + const { data } = yield call(kbService.get_document_list, requestBody); + const { retcode, data: res } = data; + + if (retcode === 0) { + yield put({ + type: 'updateState', + payload: { + data: res.docs, + total: res.total, + }, + }); + } + }, + throttledGetDocumentList: [ + function* ({ payload }, { call, put }) { + yield put({ type: 'getKfList', payload: { kb_id: payload } }); + }, + { type: 'throttle', ms: 1000 }, // TODO: Provide type support for this effect + ], + pollGetDocumentList: [ + function* ({ payload }, { call, put }) { + yield put({ type: 'getKfList', payload: { kb_id: payload } }); + }, + { type: 'poll', delay: 5000 }, // TODO: Provide type support for this effect + ], + *updateDocumentStatus({ payload = {} }, { call, put }) { + const { data } = yield call( + kbService.document_change_status, + pick(payload, ['doc_id', 'status']), + ); + const { retcode } = data; + if (retcode === 0) { + message.success(i18n.t('message.modified')); + yield put({ + type: 'getKfList', + payload: { kb_id: payload.kb_id }, + }); + } + }, + *document_rm({ payload = {} }, { call, put }) { + const { data } = yield call(kbService.document_rm, { + doc_id: payload.doc_id, + }); + const { retcode } = data; + if (retcode === 0) { + message.success(i18n.t('message.deleted')); + yield put({ + type: 'getKfList', + payload: { kb_id: payload.kb_id }, + }); + } + return retcode; + }, + *document_rename({ payload = {} }, { call, put }) { + const { data } = yield call( + kbService.document_rename, + omit(payload, ['kb_id']), + ); + const { retcode } = data; + if (retcode === 0) { + message.success(i18n.t('message.renamed')); + + yield put({ + type: 'getKfList', + payload: { kb_id: payload.kb_id }, + }); + } + + return retcode; + }, + *document_create({ payload = {} }, { call, put }) { + const { data } = yield call(kbService.document_create, payload); + const { retcode } = data; + if (retcode === 0) { + yield put({ + type: 'getKfList', + payload: { kb_id: payload.kb_id }, + }); + + message.success(i18n.t('message.created')); + } + return retcode; + }, + *document_run({ payload = {} }, { call, put }) { + const { data } = yield call( + kbService.document_run, + omit(payload, ['knowledgeBaseId']), + ); + const { retcode } = data; + if (retcode === 0) { + if (payload.knowledgeBaseId) { + yield put({ + type: 'getKfList', + payload: { kb_id: payload.knowledgeBaseId }, + }); + } + message.success(i18n.t('message.operated')); + } + return retcode; + }, + *document_change_parser({ payload = {} }, { call, put }) { + const { data } = yield call( + kbService.document_change_parser, + omit(payload, ['kb_id']), + ); + const { retcode } = data; + if (retcode === 0) { + yield put({ + type: 'getKfList', + payload: { kb_id: payload.kb_id }, + }); + + message.success(i18n.t('message.modified')); + } + return retcode; + }, + *fetch_document_thumbnails({ payload = {} }, { call, put }) { + const { data } = yield call(kbService.document_thumbnails, payload); + if (data.retcode === 0) { + yield put({ type: 'setFileThumbnails', payload: data.data }); + } + }, + *fetch_document_file({ payload = {} }, { call }) { + const documentId = payload; + try { + const ret = yield call(getDocumentFile, documentId); + return ret; + } catch (error) { + console.warn(error); + } + }, + *upload_document({ payload = {} }, { call, put }) { + const fileList = payload.fileList; + const formData = new FormData(); + formData.append('kb_id', payload.kb_id); + fileList.forEach((file: any) => { + formData.append('file', file); + }); + + const { data } = yield call(kbService.document_upload, formData); + + const succeed = data.retcode === 0; + + if (succeed) { + message.success(i18n.t('message.uploaded')); + } + if (succeed || data.retcode === 500) { + yield put({ + type: 'getKfList', + payload: { kb_id: payload.kb_id }, + }); + } + return data; + }, + *web_crawl({ payload = {} }, { call, put }) { + const formData = new FormData(); + formData.append('name', payload.name); + formData.append('url', payload.url); + formData.append('kb_id', payload.kb_id); + + const { data } = yield call(kbService.web_crawl, formData); + + const succeed = data.retcode === 0; + + if (succeed) { + message.success(i18n.t('message.uploaded')); + } + if (succeed || data.retcode === 500) { + yield put({ + type: 'getKfList', + payload: { kb_id: payload.kb_id }, + }); + } + return data.retcode; + }, + }, + subscriptions: { + setup({ dispatch, history }) { + history.listen(({ location }) => { + const state: { from: string } = (location.state ?? { + from: '', + }) as { from: string }; + if ( + state.from === '/knowledge' || // TODO: Just directly determine whether the current page is on the knowledge list page. + location.pathname === '/knowledge/dataset/upload' + ) { + dispatch({ + type: 'setPagination', + payload: { current: 1, pageSize: 10 }, + }); + } + }); + }, + }, +}; +export default model; diff --git a/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx b/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx index 7e8a700dd..c0e41b5ba 100644 --- a/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx @@ -1,5 +1,5 @@ -import { useShowDeleteConfirm, useTranslate } from '@/hooks/commonHooks'; -import { useRemoveDocument } from '@/hooks/documentHooks'; +import { useShowDeleteConfirm, useTranslate } from '@/hooks/common-hooks'; +import { useRemoveDocument } from '@/hooks/document-hooks'; import { IKnowledgeFile } from '@/interfaces/database/knowledge'; import { api_host } from '@/utils/api'; import { downloadFile } from '@/utils/fileUtil'; diff --git a/web/src/pages/add-knowledge/components/knowledge-file/parsing-status-cell/index.tsx b/web/src/pages/add-knowledge/components/knowledge-file/parsing-status-cell/index.tsx index e324afce1..1592c417b 100644 --- a/web/src/pages/add-knowledge/components/knowledge-file/parsing-status-cell/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-file/parsing-status-cell/index.tsx @@ -1,7 +1,7 @@ import { ReactComponent as CancelIcon } from '@/assets/svg/cancel.svg'; import { ReactComponent as RefreshIcon } from '@/assets/svg/refresh.svg'; import { ReactComponent as RunIcon } from '@/assets/svg/run.svg'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { IKnowledgeFile } from '@/interfaces/database/knowledge'; import { Badge, DescriptionsProps, Flex, Popover, Space, Tag } from 'antd'; import classNames from 'classnames'; diff --git a/web/src/pages/add-knowledge/components/knowledge-file/rename-modal/index.tsx b/web/src/pages/add-knowledge/components/knowledge-file/rename-modal/index.tsx index 10ed4c1a7..7ff590e61 100644 --- a/web/src/pages/add-knowledge/components/knowledge-file/rename-modal/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-file/rename-modal/index.tsx @@ -1,5 +1,5 @@ import { IModalManagerChildrenProps } from '@/components/modal-manager'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form, Input, Modal } from 'antd'; import { useEffect } from 'react'; diff --git a/web/src/pages/add-knowledge/components/knowledge-file/web-crawl-modal.tsx b/web/src/pages/add-knowledge/components/knowledge-file/web-crawl-modal.tsx index a5170570a..d8617e29e 100644 --- a/web/src/pages/add-knowledge/components/knowledge-file/web-crawl-modal.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-file/web-crawl-modal.tsx @@ -1,8 +1,7 @@ import { IModalManagerChildrenProps } from '@/components/modal-manager'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form, Input, Modal } from 'antd'; import React from 'react'; -import {useTranslate} from "@/hooks/commonHooks"; - interface IProps extends Omit { loading: boolean; @@ -36,14 +35,28 @@ const WebCrawlModal: React.FC = ({ visible, hideModal, onOk }) => { diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/category-panel.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/category-panel.tsx index 42c4bb568..bf5552909 100644 --- a/web/src/pages/add-knowledge/components/knowledge-setting/category-panel.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-setting/category-panel.tsx @@ -1,6 +1,6 @@ import SvgIcon from '@/components/svg-icon'; -import { useTranslate } from '@/hooks/commonHooks'; -import { useSelectParserList } from '@/hooks/userSettingHook'; +import { useTranslate } from '@/hooks/common-hooks'; +import { useSelectParserList } from '@/hooks/user-setting-hooks'; import { Col, Divider, Empty, Row, Typography } from 'antd'; import DOMPurify from 'dompurify'; import { useMemo } from 'react'; diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/configuration.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/configuration.tsx index 6141d1b30..1629007be 100644 --- a/web/src/pages/add-knowledge/components/knowledge-setting/configuration.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-setting/configuration.tsx @@ -11,7 +11,7 @@ import MaxTokenNumber from '@/components/max-token-number'; import ParseConfiguration, { showRaptorParseConfiguration, } from '@/components/parse-configuration'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { FormInstance } from 'antd/lib'; import styles from './index.less'; diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/hooks.ts b/web/src/pages/add-knowledge/components/knowledge-setting/hooks.ts index d1199ef70..79299b513 100644 --- a/web/src/pages/add-knowledge/components/knowledge-setting/hooks.ts +++ b/web/src/pages/add-knowledge/components/knowledge-setting/hooks.ts @@ -3,14 +3,14 @@ import { useKnowledgeBaseId, useSelectKnowledgeDetails, useUpdateKnowledge, -} from '@/hooks/knowledgeHook'; -import { useFetchLlmList, useSelectLlmOptions } from '@/hooks/llmHooks'; -import { useNavigateToDataset } from '@/hooks/routeHook'; -import { useOneNamespaceEffectsLoading } from '@/hooks/storeHooks'; +} from '@/hooks/knowledge-hooks'; +import { useFetchLlmList, useSelectLlmOptions } from '@/hooks/llm-hooks'; +import { useNavigateToDataset } from '@/hooks/route-hook'; +import { useOneNamespaceEffectsLoading } from '@/hooks/store-hooks'; import { useFetchTenantInfo, useSelectParserList, -} from '@/hooks/userSettingHook'; +} from '@/hooks/user-setting-hooks'; import { getBase64FromUploadFileList, getUploadFileListFromBase64, diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/index.tsx b/web/src/pages/add-knowledge/components/knowledge-setting/index.tsx index 6dc3a917b..80e6b3790 100644 --- a/web/src/pages/add-knowledge/components/knowledge-setting/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-setting/index.tsx @@ -1,40 +1,40 @@ -import { Col, Divider, Row, Spin, Typography } from 'antd'; -import CategoryPanel from './category-panel'; -import ConfigurationForm from './configuration'; -import { - useHandleChunkMethodChange, - useSelectKnowledgeDetailsLoading, -} from './hooks'; - -import { useTranslate } from '@/hooks/commonHooks'; -import styles from './index.less'; - -const { Title } = Typography; - -const Configuration = () => { - const loading = useSelectKnowledgeDetailsLoading(); - const { form, chunkMethod } = useHandleChunkMethodChange(); - const { t } = useTranslate('knowledgeConfiguration'); - - return ( -
- - {t('configuration', { keyPrefix: 'knowledgeDetails' })} - -

{t('titleDescription')}

- - - - - - - - - - - -
- ); -}; - -export default Configuration; +import { Col, Divider, Row, Spin, Typography } from 'antd'; +import CategoryPanel from './category-panel'; +import ConfigurationForm from './configuration'; +import { + useHandleChunkMethodChange, + useSelectKnowledgeDetailsLoading, +} from './hooks'; + +import { useTranslate } from '@/hooks/common-hooks'; +import styles from './index.less'; + +const { Title } = Typography; + +const Configuration = () => { + const loading = useSelectKnowledgeDetailsLoading(); + const { form, chunkMethod } = useHandleChunkMethodChange(); + const { t } = useTranslate('knowledgeConfiguration'); + + return ( +
+ + {t('configuration', { keyPrefix: 'knowledgeDetails' })} + +

{t('titleDescription')}

+ + + + + + + + + + + +
+ ); +}; + +export default Configuration; diff --git a/web/src/pages/add-knowledge/components/knowledge-setting/model.ts b/web/src/pages/add-knowledge/components/knowledge-setting/model.ts index a2eb9e118..a639172e4 100644 --- a/web/src/pages/add-knowledge/components/knowledge-setting/model.ts +++ b/web/src/pages/add-knowledge/components/knowledge-setting/model.ts @@ -1,57 +1,57 @@ -import { IKnowledge } from '@/interfaces/database/knowledge'; -import i18n from '@/locales/config'; -import kbService from '@/services/kbService'; -import { message } from 'antd'; -import { DvaModel } from 'umi'; - -export interface KSModelState { - isShowPSwModal: boolean; - tenantIfo: any; - knowledgeDetails: IKnowledge; -} - -const model: DvaModel = { - namespace: 'kSModel', - state: { - isShowPSwModal: false, - tenantIfo: {}, - knowledgeDetails: {} as any, - }, - reducers: { - updateState(state, { payload }) { - return { - ...state, - ...payload, - }; - }, - setKnowledgeDetails(state, { payload }) { - return { ...state, knowledgeDetails: payload }; - }, - }, - effects: { - *createKb({ payload = {} }, { call }) { - const { data } = yield call(kbService.createKb, payload); - const { retcode } = data; - if (retcode === 0) { - message.success(i18n.t('message.created')); - } - return data; - }, - *updateKb({ payload = {} }, { call, put }) { - const { data } = yield call(kbService.updateKb, payload); - const { retcode } = data; - if (retcode === 0) { - yield put({ type: 'getKbDetail', payload: { kb_id: payload.kb_id } }); - message.success(i18n.t('message.updated')); - } - }, - *getKbDetail({ payload = {} }, { call, put }) { - const { data } = yield call(kbService.get_kb_detail, payload); - if (data.retcode === 0) { - yield put({ type: 'setKnowledgeDetails', payload: data.data }); - } - return data; - }, - }, -}; -export default model; +import { IKnowledge } from '@/interfaces/database/knowledge'; +import i18n from '@/locales/config'; +import kbService from '@/services/knowledge-service'; +import { message } from 'antd'; +import { DvaModel } from 'umi'; + +export interface KSModelState { + isShowPSwModal: boolean; + tenantIfo: any; + knowledgeDetails: IKnowledge; +} + +const model: DvaModel = { + namespace: 'kSModel', + state: { + isShowPSwModal: false, + tenantIfo: {}, + knowledgeDetails: {} as any, + }, + reducers: { + updateState(state, { payload }) { + return { + ...state, + ...payload, + }; + }, + setKnowledgeDetails(state, { payload }) { + return { ...state, knowledgeDetails: payload }; + }, + }, + effects: { + *createKb({ payload = {} }, { call }) { + const { data } = yield call(kbService.createKb, payload); + const { retcode } = data; + if (retcode === 0) { + message.success(i18n.t('message.created')); + } + return data; + }, + *updateKb({ payload = {} }, { call, put }) { + const { data } = yield call(kbService.updateKb, payload); + const { retcode } = data; + if (retcode === 0) { + yield put({ type: 'getKbDetail', payload: { kb_id: payload.kb_id } }); + message.success(i18n.t('message.updated')); + } + }, + *getKbDetail({ payload = {} }, { call, put }) { + const { data } = yield call(kbService.get_kb_detail, payload); + if (data.retcode === 0) { + yield put({ type: 'setKnowledgeDetails', payload: data.data }); + } + return data; + }, + }, +}; +export default model; diff --git a/web/src/pages/add-knowledge/components/knowledge-sidebar/index.tsx b/web/src/pages/add-knowledge/components/knowledge-sidebar/index.tsx index 43f448320..aaf0e088e 100644 --- a/web/src/pages/add-knowledge/components/knowledge-sidebar/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-sidebar/index.tsx @@ -1,8 +1,8 @@ import { ReactComponent as ConfigurationIcon } from '@/assets/svg/knowledge-configration.svg'; import { ReactComponent as DatasetIcon } from '@/assets/svg/knowledge-dataset.svg'; import { ReactComponent as TestingIcon } from '@/assets/svg/knowledge-testing.svg'; -import { useFetchKnowledgeBaseConfiguration } from '@/hooks/knowledgeHook'; -import { useSecondPathName } from '@/hooks/routeHook'; +import { useFetchKnowledgeBaseConfiguration } from '@/hooks/knowledge-hooks'; +import { useSecondPathName } from '@/hooks/route-hook'; import { IKnowledge } from '@/interfaces/database/knowledge'; import { getWidth } from '@/utils'; import { Avatar, Menu, MenuProps, Space } from 'antd'; diff --git a/web/src/pages/add-knowledge/components/knowledge-testing/index.tsx b/web/src/pages/add-knowledge/components/knowledge-testing/index.tsx index 478e99410..067d87920 100644 --- a/web/src/pages/add-knowledge/components/knowledge-testing/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-testing/index.tsx @@ -1,4 +1,4 @@ -import { useTestChunkRetrieval } from '@/hooks/knowledgeHook'; +import { useTestChunkRetrieval } from '@/hooks/knowledge-hooks'; import { Flex, Form } from 'antd'; import { useEffect } from 'react'; import { useDispatch } from 'umi'; diff --git a/web/src/pages/add-knowledge/components/knowledge-testing/model.ts b/web/src/pages/add-knowledge/components/knowledge-testing/model.ts index ac7580700..14308e247 100644 --- a/web/src/pages/add-knowledge/components/knowledge-testing/model.ts +++ b/web/src/pages/add-knowledge/components/knowledge-testing/model.ts @@ -3,7 +3,7 @@ import { ITestingChunk, ITestingDocument, } from '@/interfaces/database/knowledge'; -import kbService from '@/services/kbService'; +import kbService from '@/services/knowledge-service'; import { DvaModel } from 'umi'; export interface TestingModelState extends Pick { diff --git a/web/src/pages/add-knowledge/components/knowledge-testing/testing-control/index.tsx b/web/src/pages/add-knowledge/components/knowledge-testing/testing-control/index.tsx index 441a7402e..df27ad674 100644 --- a/web/src/pages/add-knowledge/components/knowledge-testing/testing-control/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-testing/testing-control/index.tsx @@ -3,9 +3,9 @@ import { Button, Card, Divider, Flex, Form, Input } from 'antd'; import { FormInstance } from 'antd/lib'; import Rerank from '@/components/rerank'; -import { useTranslate } from '@/hooks/commonHooks'; -import { useFetchLlmList } from '@/hooks/llmHooks'; -import { useOneNamespaceEffectsLoading } from '@/hooks/storeHooks'; +import { useTranslate } from '@/hooks/common-hooks'; +import { useFetchLlmList } from '@/hooks/llm-hooks'; +import { useOneNamespaceEffectsLoading } from '@/hooks/store-hooks'; import { useEffect } from 'react'; import styles from './index.less'; diff --git a/web/src/pages/add-knowledge/components/knowledge-testing/testing-result/index.tsx b/web/src/pages/add-knowledge/components/knowledge-testing/testing-result/index.tsx index 99041b5dd..87a3e65fd 100644 --- a/web/src/pages/add-knowledge/components/knowledge-testing/testing-result/index.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-testing/testing-result/index.tsx @@ -1,6 +1,6 @@ import { ReactComponent as SelectedFilesCollapseIcon } from '@/assets/svg/selected-files-collapse.svg'; import Image from '@/components/image'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { ITestingChunk } from '@/interfaces/database/knowledge'; import { Card, diff --git a/web/src/pages/add-knowledge/components/knowledge-testing/testing-result/select-files.tsx b/web/src/pages/add-knowledge/components/knowledge-testing/testing-result/select-files.tsx index 20b823154..e992cebb7 100644 --- a/web/src/pages/add-knowledge/components/knowledge-testing/testing-result/select-files.tsx +++ b/web/src/pages/add-knowledge/components/knowledge-testing/testing-result/select-files.tsx @@ -1,6 +1,6 @@ import { ReactComponent as NavigationPointerIcon } from '@/assets/svg/navigation-pointer.svg'; import NewDocumentLink from '@/components/new-document-link'; -import { useGetDocumentUrl } from '@/hooks/documentHooks'; +import { useGetDocumentUrl } from '@/hooks/document-hooks'; import { ITestingDocument } from '@/interfaces/database/knowledge'; import { isPdf } from '@/utils/documentUtils'; import { Table, TableProps } from 'antd'; diff --git a/web/src/pages/add-knowledge/index.tsx b/web/src/pages/add-knowledge/index.tsx index f27d9e33f..89223ef20 100644 --- a/web/src/pages/add-knowledge/index.tsx +++ b/web/src/pages/add-knowledge/index.tsx @@ -1,93 +1,93 @@ -import { useKnowledgeBaseId } from '@/hooks/knowledgeHook'; -import { - useNavigateWithFromState, - useSecondPathName, - useThirdPathName, -} from '@/hooks/routeHook'; -import { Breadcrumb } from 'antd'; -import { ItemType } from 'antd/es/breadcrumb/Breadcrumb'; -import { useEffect, useMemo } from 'react'; -import { useTranslation } from 'react-i18next'; -import { Link, Outlet, useDispatch, useLocation } from 'umi'; -import Siderbar from './components/knowledge-sidebar'; -import { KnowledgeDatasetRouteKey, KnowledgeRouteKey } from './constant'; -import styles from './index.less'; - -const KnowledgeAdding = () => { - const dispatch = useDispatch(); - const knowledgeBaseId = useKnowledgeBaseId(); - - const { t } = useTranslation(); - const location = useLocation(); - const activeKey: KnowledgeRouteKey = - (useSecondPathName() as KnowledgeRouteKey) || KnowledgeRouteKey.Dataset; - - const datasetActiveKey: KnowledgeDatasetRouteKey = - useThirdPathName() as KnowledgeDatasetRouteKey; - - const gotoList = useNavigateWithFromState(); - - const breadcrumbItems: ItemType[] = useMemo(() => { - const items: ItemType[] = [ - { - title: ( - gotoList('/knowledge')}> - {t('header.knowledgeBase')} - - ), - }, - { - title: datasetActiveKey ? ( - - {t(`knowledgeDetails.${activeKey}`)} - - ) : ( - t(`knowledgeDetails.${activeKey}`) - ), - }, - ]; - - if (datasetActiveKey) { - items.push({ - title: t(`knowledgeDetails.${datasetActiveKey}`), - }); - } - - return items; - }, [activeKey, datasetActiveKey, gotoList, knowledgeBaseId, t]); - - useEffect(() => { - const search: string = location.search.slice(1); - const map = search.split('&').reduce>((obj, cur) => { - const [key, value] = cur.split('='); - obj[key] = value; - return obj; - }, {}); - - dispatch({ - type: 'kAModel/updateState', - payload: { - doc_id: undefined, - ...map, - }, - }); - }, [location, dispatch]); - - return ( - <> -
- -
- -
- -
-
-
- - ); -}; - -export default KnowledgeAdding; +import { useKnowledgeBaseId } from '@/hooks/knowledge-hooks'; +import { + useNavigateWithFromState, + useSecondPathName, + useThirdPathName, +} from '@/hooks/route-hook'; +import { Breadcrumb } from 'antd'; +import { ItemType } from 'antd/es/breadcrumb/Breadcrumb'; +import { useEffect, useMemo } from 'react'; +import { useTranslation } from 'react-i18next'; +import { Link, Outlet, useDispatch, useLocation } from 'umi'; +import Siderbar from './components/knowledge-sidebar'; +import { KnowledgeDatasetRouteKey, KnowledgeRouteKey } from './constant'; +import styles from './index.less'; + +const KnowledgeAdding = () => { + const dispatch = useDispatch(); + const knowledgeBaseId = useKnowledgeBaseId(); + + const { t } = useTranslation(); + const location = useLocation(); + const activeKey: KnowledgeRouteKey = + (useSecondPathName() as KnowledgeRouteKey) || KnowledgeRouteKey.Dataset; + + const datasetActiveKey: KnowledgeDatasetRouteKey = + useThirdPathName() as KnowledgeDatasetRouteKey; + + const gotoList = useNavigateWithFromState(); + + const breadcrumbItems: ItemType[] = useMemo(() => { + const items: ItemType[] = [ + { + title: ( + gotoList('/knowledge')}> + {t('header.knowledgeBase')} + + ), + }, + { + title: datasetActiveKey ? ( + + {t(`knowledgeDetails.${activeKey}`)} + + ) : ( + t(`knowledgeDetails.${activeKey}`) + ), + }, + ]; + + if (datasetActiveKey) { + items.push({ + title: t(`knowledgeDetails.${datasetActiveKey}`), + }); + } + + return items; + }, [activeKey, datasetActiveKey, gotoList, knowledgeBaseId, t]); + + useEffect(() => { + const search: string = location.search.slice(1); + const map = search.split('&').reduce>((obj, cur) => { + const [key, value] = cur.split('='); + obj[key] = value; + return obj; + }, {}); + + dispatch({ + type: 'kAModel/updateState', + payload: { + doc_id: undefined, + ...map, + }, + }); + }, [location, dispatch]); + + return ( + <> +
+ +
+ +
+ +
+
+
+ + ); +}; + +export default KnowledgeAdding; diff --git a/web/src/pages/chat/chat-api-key-modal/index.tsx b/web/src/pages/chat/chat-api-key-modal/index.tsx index c3bb10ba0..909904090 100644 --- a/web/src/pages/chat/chat-api-key-modal/index.tsx +++ b/web/src/pages/chat/chat-api-key-modal/index.tsx @@ -1,5 +1,5 @@ import CopyToClipboard from '@/components/copy-to-clipboard'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { IModalProps } from '@/interfaces/common'; import { IToken } from '@/interfaces/database/chat'; import { formatDate } from '@/utils/date'; diff --git a/web/src/pages/chat/chat-configuration-modal/assistant-setting.tsx b/web/src/pages/chat/chat-configuration-modal/assistant-setting.tsx index 1aa9726d1..cc407b4cc 100644 --- a/web/src/pages/chat/chat-configuration-modal/assistant-setting.tsx +++ b/web/src/pages/chat/chat-configuration-modal/assistant-setting.tsx @@ -4,7 +4,7 @@ import classNames from 'classnames'; import { ISegmentedContentProps } from '../interface'; import KnowledgeBaseItem from '@/components/knowledge-base-item'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import styles from './index.less'; const AssistantSetting = ({ show }: ISegmentedContentProps) => { diff --git a/web/src/pages/chat/chat-configuration-modal/index.tsx b/web/src/pages/chat/chat-configuration-modal/index.tsx index 309f3fcee..48400f400 100644 --- a/web/src/pages/chat/chat-configuration-modal/index.tsx +++ b/web/src/pages/chat/chat-configuration-modal/index.tsx @@ -14,7 +14,7 @@ import AssistantSetting from './assistant-setting'; import ModelSetting from './model-setting'; import PromptEngine from './prompt-engine'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { useFetchLlmModelOnVisible, useFetchModelId, diff --git a/web/src/pages/chat/chat-configuration-modal/prompt-engine.tsx b/web/src/pages/chat/chat-configuration-modal/prompt-engine.tsx index e988f8517..91c4402d5 100644 --- a/web/src/pages/chat/chat-configuration-modal/prompt-engine.tsx +++ b/web/src/pages/chat/chat-configuration-modal/prompt-engine.tsx @@ -30,7 +30,7 @@ import { EditableCell, EditableRow } from './editable-cell'; import Rerank from '@/components/rerank'; import TopNItem from '@/components/top-n-item'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { useSelectPromptConfigParameters } from '../hooks'; import styles from './index.less'; diff --git a/web/src/pages/chat/chat-container/index.tsx b/web/src/pages/chat/chat-container/index.tsx index 78f88c16e..a54ecf264 100644 --- a/web/src/pages/chat/chat-container/index.tsx +++ b/web/src/pages/chat/chat-container/index.tsx @@ -1,7 +1,7 @@ import MessageItem from '@/components/message-item'; import DocumentPreviewer from '@/components/pdf-previewer'; import { MessageType } from '@/constants/chat'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Button, Drawer, Flex, Input, Spin } from 'antd'; import { useClickDrawer, @@ -14,7 +14,7 @@ import { } from '../hooks'; import { buildMessageItemReference } from '../utils'; -import { useSelectUserInfo } from '@/hooks/userSettingHook'; +import { useSelectUserInfo } from '@/hooks/user-setting-hooks'; import styles from './index.less'; const ChatContainer = () => { diff --git a/web/src/pages/chat/chat-overview-modal/index.tsx b/web/src/pages/chat/chat-overview-modal/index.tsx index 7526dddde..ccac25210 100644 --- a/web/src/pages/chat/chat-overview-modal/index.tsx +++ b/web/src/pages/chat/chat-overview-modal/index.tsx @@ -1,5 +1,5 @@ import LineChart from '@/components/line-chart'; -import { useSetModalState, useTranslate } from '@/hooks/commonHooks'; +import { useSetModalState, useTranslate } from '@/hooks/common-hooks'; import { IModalProps } from '@/interfaces/common'; import { IDialog, IStats } from '@/interfaces/database/chat'; import { formatDate } from '@/utils/date'; diff --git a/web/src/pages/chat/embed-modal/index.tsx b/web/src/pages/chat/embed-modal/index.tsx index 2c2a6e390..7c142b720 100644 --- a/web/src/pages/chat/embed-modal/index.tsx +++ b/web/src/pages/chat/embed-modal/index.tsx @@ -1,6 +1,6 @@ import CopyToClipboard from '@/components/copy-to-clipboard'; import HightLightMarkdown from '@/components/highlight-markdown'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { IModalProps } from '@/interfaces/common'; import { Card, Modal, Tabs, TabsProps } from 'antd'; import styles from './index.less'; diff --git a/web/src/pages/chat/hooks.ts b/web/src/pages/chat/hooks.ts index 15f758eaf..3411b4b62 100644 --- a/web/src/pages/chat/hooks.ts +++ b/web/src/pages/chat/hooks.ts @@ -17,14 +17,14 @@ import { useSelectTokenList, useSetDialog, useUpdateConversation, -} from '@/hooks/chatHooks'; +} from '@/hooks/chat-hooks'; import { useSetModalState, useShowDeleteConfirm, useTranslate, -} from '@/hooks/commonHooks'; +} from '@/hooks/common-hooks'; import { useSendMessageWithSse } from '@/hooks/logic-hooks'; -import { useOneNamespaceEffectsLoading } from '@/hooks/storeHooks'; +import { useOneNamespaceEffectsLoading } from '@/hooks/store-hooks'; import { IAnswer, IConversation, diff --git a/web/src/pages/chat/index.tsx b/web/src/pages/chat/index.tsx index d947bbdfe..efc8eb2ff 100644 --- a/web/src/pages/chat/index.tsx +++ b/web/src/pages/chat/index.tsx @@ -41,7 +41,7 @@ import { useSelectFirstDialogOnMount, } from './hooks'; -import { useSetModalState, useTranslate } from '@/hooks/commonHooks'; +import { useSetModalState, useTranslate } from '@/hooks/common-hooks'; import { useSetSelectedRecord } from '@/hooks/logic-hooks'; import { IDialog } from '@/interfaces/database/chat'; import ChatOverviewModal from './chat-overview-modal'; diff --git a/web/src/pages/chat/markdown-content/index.tsx b/web/src/pages/chat/markdown-content/index.tsx index e196372e4..9b10e6192 100644 --- a/web/src/pages/chat/markdown-content/index.tsx +++ b/web/src/pages/chat/markdown-content/index.tsx @@ -1,6 +1,6 @@ import Image from '@/components/image'; import SvgIcon from '@/components/svg-icon'; -import { useSelectFileThumbnails } from '@/hooks/knowledgeHook'; +import { useSelectFileThumbnails } from '@/hooks/knowledge-hooks'; import { IReference } from '@/interfaces/database/chat'; import { IChunk } from '@/interfaces/database/knowledge'; import { getExtension } from '@/utils/documentUtils'; diff --git a/web/src/pages/chat/model.ts b/web/src/pages/chat/model.ts index 1651f4c17..4fc66d0cd 100644 --- a/web/src/pages/chat/model.ts +++ b/web/src/pages/chat/model.ts @@ -1,262 +1,262 @@ -import { - IConversation, - IDialog, - IStats, - IToken, - Message, -} from '@/interfaces/database/chat'; -import i18n from '@/locales/config'; -import chatService from '@/services/chatService'; -import { message } from 'antd'; -import omit from 'lodash/omit'; -import { DvaModel } from 'umi'; -import { v4 as uuid } from 'uuid'; -import { IClientConversation, IMessage } from './interface'; -import { getDocumentIdsFromConversionReference } from './utils'; - -export interface ChatModelState { - name: string; - dialogList: IDialog[]; - currentDialog: IDialog; - conversationList: IConversation[]; - currentConversation: IClientConversation; - tokenList: IToken[]; - stats: IStats; -} - -const model: DvaModel = { - namespace: 'chatModel', - state: { - name: 'kate', - dialogList: [], - currentDialog: {}, - conversationList: [], - currentConversation: {} as IClientConversation, - tokenList: [], - stats: {} as IStats, - }, - reducers: { - save(state, action) { - return { - ...state, - ...action.payload, - }; - }, - setDialogList(state, { payload }) { - return { - ...state, - dialogList: payload, - }; - }, - setCurrentDialog(state, { payload }) { - return { - ...state, - currentDialog: payload, - }; - }, - setConversationList(state, { payload }) { - return { - ...state, - conversationList: payload, - }; - }, - setCurrentConversation(state, { payload }) { - const messageList = - payload?.message?.map((x: Message | IMessage) => ({ - ...x, - id: 'id' in x ? x.id : uuid(), - })) ?? []; - return { - ...state, - currentConversation: { ...payload, message: messageList }, - }; - }, - setTokenList(state, { payload }) { - return { - ...state, - tokenList: payload, - }; - }, - setStats(state, { payload }) { - return { - ...state, - stats: payload, - }; - }, - }, - - effects: { - *getDialog({ payload }, { call, put }) { - const needToBeSaved = - payload.needToBeSaved === undefined ? true : payload.needToBeSaved; - const { data } = yield call(chatService.getDialog, { - dialog_id: payload.dialog_id, - }); - if (data.retcode === 0 && needToBeSaved) { - yield put({ type: 'setCurrentDialog', payload: data.data }); - } - return data; - }, - *setDialog({ payload }, { call, put }) { - const { data } = yield call(chatService.setDialog, payload); - if (data.retcode === 0) { - yield put({ type: 'listDialog' }); - message.success( - i18n.t(`message.${payload.dialog_id ? 'modified' : 'created'}`), - ); - } - return data.retcode; - }, - *removeDialog({ payload }, { call, put }) { - const { data } = yield call(chatService.removeDialog, payload); - if (data.retcode === 0) { - yield put({ type: 'listDialog' }); - message.success(i18n.t('message.deleted')); - } - return data.retcode; - }, - *listDialog({ payload }, { call, put }) { - const { data } = yield call(chatService.listDialog, payload); - if (data.retcode === 0) { - yield put({ type: 'setDialogList', payload: data.data }); - } - return data; - }, - *listConversation({ payload }, { call, put }) { - const { data } = yield call(chatService.listConversation, payload); - if (data.retcode === 0) { - yield put({ type: 'setConversationList', payload: data.data }); - } - return data.retcode; - }, - *getConversation({ payload }, { call, put }) { - const needToBeSaved = - payload.needToBeSaved === undefined ? true : payload.needToBeSaved; - const { data } = yield call(chatService.getConversation, { - conversation_id: payload.conversation_id, - }); - if (data.retcode === 0 && needToBeSaved) { - yield put({ - type: 'kFModel/fetch_document_thumbnails', - payload: { - doc_ids: getDocumentIdsFromConversionReference(data.data), - }, - }); - yield put({ type: 'setCurrentConversation', payload: data.data }); - } - return data; - }, - *setConversation({ payload }, { call, put }) { - const { data } = yield call(chatService.setConversation, payload); - if (data.retcode === 0) { - yield put({ - type: 'listConversation', - payload: { - dialog_id: data.data.dialog_id, - }, - }); - } - return data; - }, - *completeConversation({ payload }, { call }) { - const { data } = yield call(chatService.completeConversation, payload); - // if (data.retcode === 0) { - // yield put({ - // type: 'getConversation', - // payload: { - // conversation_id: payload.conversation_id, - // }, - // }); - // } - return data.retcode; - }, - *removeConversation({ payload }, { call, put }) { - const { data } = yield call(chatService.removeConversation, { - conversation_ids: payload.conversation_ids, - }); - if (data.retcode === 0) { - yield put({ - type: 'listConversation', - payload: { dialog_id: payload.dialog_id }, - }); - message.success(i18n.t('message.deleted')); - } - return data.retcode; - }, - *createToken({ payload }, { call, put }) { - const { data } = yield call(chatService.createToken, payload); - if (data.retcode === 0) { - yield put({ - type: 'listToken', - payload: payload, - }); - message.success(i18n.t('message.created')); - } - return data; - }, - *listToken({ payload }, { call, put }) { - const { data } = yield call(chatService.listToken, payload); - if (data.retcode === 0) { - yield put({ - type: 'setTokenList', - payload: data.data, - }); - } - return data; - }, - *removeToken({ payload }, { call, put }) { - const { data } = yield call( - chatService.removeToken, - omit(payload, ['dialogId']), - ); - if (data.retcode === 0) { - message.success(i18n.t('message.deleted')); - yield put({ - type: 'listToken', - payload: { dialog_id: payload.dialogId }, - }); - } - return data.retcode; - }, - *getStats({ payload }, { call, put }) { - const { data } = yield call(chatService.getStats, payload); - if (data.retcode === 0) { - yield put({ - type: 'setStats', - payload: data.data, - }); - } - return data.retcode; - }, - *createExternalConversation({ payload }, { call, put }) { - const { data } = yield call( - chatService.createExternalConversation, - payload, - ); - // if (data.retcode === 0) { - // yield put({ - // type: 'getExternalConversation', - // payload: data.data.id, - // }); - // } - return data; - }, - *getExternalConversation({ payload }, { call }) { - const { data } = yield call( - chatService.getExternalConversation, - null, - payload, - ); - return data; - }, - *completeExternalConversation({ payload }, { call }) { - const { data } = yield call( - chatService.completeExternalConversation, - payload, - ); - return data.retcode; - }, - }, -}; - -export default model; +import { + IConversation, + IDialog, + IStats, + IToken, + Message, +} from '@/interfaces/database/chat'; +import i18n from '@/locales/config'; +import chatService from '@/services/chat-service'; +import { message } from 'antd'; +import omit from 'lodash/omit'; +import { DvaModel } from 'umi'; +import { v4 as uuid } from 'uuid'; +import { IClientConversation, IMessage } from './interface'; +import { getDocumentIdsFromConversionReference } from './utils'; + +export interface ChatModelState { + name: string; + dialogList: IDialog[]; + currentDialog: IDialog; + conversationList: IConversation[]; + currentConversation: IClientConversation; + tokenList: IToken[]; + stats: IStats; +} + +const model: DvaModel = { + namespace: 'chatModel', + state: { + name: 'kate', + dialogList: [], + currentDialog: {}, + conversationList: [], + currentConversation: {} as IClientConversation, + tokenList: [], + stats: {} as IStats, + }, + reducers: { + save(state, action) { + return { + ...state, + ...action.payload, + }; + }, + setDialogList(state, { payload }) { + return { + ...state, + dialogList: payload, + }; + }, + setCurrentDialog(state, { payload }) { + return { + ...state, + currentDialog: payload, + }; + }, + setConversationList(state, { payload }) { + return { + ...state, + conversationList: payload, + }; + }, + setCurrentConversation(state, { payload }) { + const messageList = + payload?.message?.map((x: Message | IMessage) => ({ + ...x, + id: 'id' in x ? x.id : uuid(), + })) ?? []; + return { + ...state, + currentConversation: { ...payload, message: messageList }, + }; + }, + setTokenList(state, { payload }) { + return { + ...state, + tokenList: payload, + }; + }, + setStats(state, { payload }) { + return { + ...state, + stats: payload, + }; + }, + }, + + effects: { + *getDialog({ payload }, { call, put }) { + const needToBeSaved = + payload.needToBeSaved === undefined ? true : payload.needToBeSaved; + const { data } = yield call(chatService.getDialog, { + dialog_id: payload.dialog_id, + }); + if (data.retcode === 0 && needToBeSaved) { + yield put({ type: 'setCurrentDialog', payload: data.data }); + } + return data; + }, + *setDialog({ payload }, { call, put }) { + const { data } = yield call(chatService.setDialog, payload); + if (data.retcode === 0) { + yield put({ type: 'listDialog' }); + message.success( + i18n.t(`message.${payload.dialog_id ? 'modified' : 'created'}`), + ); + } + return data.retcode; + }, + *removeDialog({ payload }, { call, put }) { + const { data } = yield call(chatService.removeDialog, payload); + if (data.retcode === 0) { + yield put({ type: 'listDialog' }); + message.success(i18n.t('message.deleted')); + } + return data.retcode; + }, + *listDialog({ payload }, { call, put }) { + const { data } = yield call(chatService.listDialog, payload); + if (data.retcode === 0) { + yield put({ type: 'setDialogList', payload: data.data }); + } + return data; + }, + *listConversation({ payload }, { call, put }) { + const { data } = yield call(chatService.listConversation, payload); + if (data.retcode === 0) { + yield put({ type: 'setConversationList', payload: data.data }); + } + return data.retcode; + }, + *getConversation({ payload }, { call, put }) { + const needToBeSaved = + payload.needToBeSaved === undefined ? true : payload.needToBeSaved; + const { data } = yield call(chatService.getConversation, { + conversation_id: payload.conversation_id, + }); + if (data.retcode === 0 && needToBeSaved) { + yield put({ + type: 'kFModel/fetch_document_thumbnails', + payload: { + doc_ids: getDocumentIdsFromConversionReference(data.data), + }, + }); + yield put({ type: 'setCurrentConversation', payload: data.data }); + } + return data; + }, + *setConversation({ payload }, { call, put }) { + const { data } = yield call(chatService.setConversation, payload); + if (data.retcode === 0) { + yield put({ + type: 'listConversation', + payload: { + dialog_id: data.data.dialog_id, + }, + }); + } + return data; + }, + *completeConversation({ payload }, { call }) { + const { data } = yield call(chatService.completeConversation, payload); + // if (data.retcode === 0) { + // yield put({ + // type: 'getConversation', + // payload: { + // conversation_id: payload.conversation_id, + // }, + // }); + // } + return data.retcode; + }, + *removeConversation({ payload }, { call, put }) { + const { data } = yield call(chatService.removeConversation, { + conversation_ids: payload.conversation_ids, + }); + if (data.retcode === 0) { + yield put({ + type: 'listConversation', + payload: { dialog_id: payload.dialog_id }, + }); + message.success(i18n.t('message.deleted')); + } + return data.retcode; + }, + *createToken({ payload }, { call, put }) { + const { data } = yield call(chatService.createToken, payload); + if (data.retcode === 0) { + yield put({ + type: 'listToken', + payload: payload, + }); + message.success(i18n.t('message.created')); + } + return data; + }, + *listToken({ payload }, { call, put }) { + const { data } = yield call(chatService.listToken, payload); + if (data.retcode === 0) { + yield put({ + type: 'setTokenList', + payload: data.data, + }); + } + return data; + }, + *removeToken({ payload }, { call, put }) { + const { data } = yield call( + chatService.removeToken, + omit(payload, ['dialogId']), + ); + if (data.retcode === 0) { + message.success(i18n.t('message.deleted')); + yield put({ + type: 'listToken', + payload: { dialog_id: payload.dialogId }, + }); + } + return data.retcode; + }, + *getStats({ payload }, { call, put }) { + const { data } = yield call(chatService.getStats, payload); + if (data.retcode === 0) { + yield put({ + type: 'setStats', + payload: data.data, + }); + } + return data.retcode; + }, + *createExternalConversation({ payload }, { call, put }) { + const { data } = yield call( + chatService.createExternalConversation, + payload, + ); + // if (data.retcode === 0) { + // yield put({ + // type: 'getExternalConversation', + // payload: data.data.id, + // }); + // } + return data; + }, + *getExternalConversation({ payload }, { call }) { + const { data } = yield call( + chatService.getExternalConversation, + null, + payload, + ); + return data; + }, + *completeExternalConversation({ payload }, { call }) { + const { data } = yield call( + chatService.completeExternalConversation, + payload, + ); + return data.retcode; + }, + }, +}; + +export default model; diff --git a/web/src/pages/chat/share/large.tsx b/web/src/pages/chat/share/large.tsx index 901e4bd17..0f4342252 100644 --- a/web/src/pages/chat/share/large.tsx +++ b/web/src/pages/chat/share/large.tsx @@ -1,6 +1,6 @@ import MessageItem from '@/components/message-item'; import { MessageType } from '@/constants/chat'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { useSendButtonDisabled } from '@/pages/chat/hooks'; import { Button, Flex, Input, Spin } from 'antd'; import { forwardRef } from 'react'; diff --git a/web/src/pages/chat/shared-hooks.ts b/web/src/pages/chat/shared-hooks.ts index 3f3391099..a416c9edd 100644 --- a/web/src/pages/chat/shared-hooks.ts +++ b/web/src/pages/chat/shared-hooks.ts @@ -2,9 +2,9 @@ import { MessageType } from '@/constants/chat'; import { useCreateSharedConversation, useFetchSharedConversation, -} from '@/hooks/chatHooks'; +} from '@/hooks/chat-hooks'; import { useSendMessageWithSse } from '@/hooks/logic-hooks'; -import { useOneNamespaceEffectsLoading } from '@/hooks/storeHooks'; +import { useOneNamespaceEffectsLoading } from '@/hooks/store-hooks'; import { IAnswer } from '@/interfaces/database/chat'; import api from '@/utils/api'; import omit from 'lodash/omit'; diff --git a/web/src/pages/document-viewer/file-error/index.tsx b/web/src/pages/document-viewer/file-error/index.tsx index d6518cf0b..7ee4dc6b7 100644 --- a/web/src/pages/document-viewer/file-error/index.tsx +++ b/web/src/pages/document-viewer/file-error/index.tsx @@ -1,6 +1,6 @@ import { Alert, Flex } from 'antd'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import React from 'react'; import styles from './index.less'; diff --git a/web/src/pages/file-manager/action-cell/index.tsx b/web/src/pages/file-manager/action-cell/index.tsx index ec9a6d661..4f2d06b3e 100644 --- a/web/src/pages/file-manager/action-cell/index.tsx +++ b/web/src/pages/file-manager/action-cell/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { IFile } from '@/interfaces/database/file-manager'; import { api_host } from '@/utils/api'; import { downloadFile } from '@/utils/fileUtil'; diff --git a/web/src/pages/file-manager/connect-to-knowledge-modal/index.tsx b/web/src/pages/file-manager/connect-to-knowledge-modal/index.tsx index 847faddfa..3c70862e4 100644 --- a/web/src/pages/file-manager/connect-to-knowledge-modal/index.tsx +++ b/web/src/pages/file-manager/connect-to-knowledge-modal/index.tsx @@ -1,5 +1,5 @@ -import { useTranslate } from '@/hooks/commonHooks'; -import { useFetchKnowledgeList } from '@/hooks/knowledgeHook'; +import { useTranslate } from '@/hooks/common-hooks'; +import { useFetchKnowledgeList } from '@/hooks/knowledge-hooks'; import { IModalProps } from '@/interfaces/common'; import { filterOptionsByInput } from '@/utils/commonUtil'; import { Form, Modal, Select } from 'antd'; diff --git a/web/src/pages/file-manager/file-toolbar.tsx b/web/src/pages/file-manager/file-toolbar.tsx index dc1ade304..c6052de06 100644 --- a/web/src/pages/file-manager/file-toolbar.tsx +++ b/web/src/pages/file-manager/file-toolbar.tsx @@ -1,5 +1,5 @@ import { ReactComponent as DeleteIcon } from '@/assets/svg/delete.svg'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { DownOutlined, FileTextOutlined, @@ -26,7 +26,7 @@ import { useSelectBreadcrumbItems, } from './hooks'; -import { useSelectParentFolderList } from '@/hooks/fileManagerHooks'; +import { useSelectParentFolderList } from '@/hooks/file-manager-hooks'; import styles from './index.less'; interface IProps { diff --git a/web/src/pages/file-manager/folder-create-modal/index.tsx b/web/src/pages/file-manager/folder-create-modal/index.tsx index 7ab58ed08..518ddb1c9 100644 --- a/web/src/pages/file-manager/folder-create-modal/index.tsx +++ b/web/src/pages/file-manager/folder-create-modal/index.tsx @@ -1,5 +1,5 @@ import { IModalManagerChildrenProps } from '@/components/modal-manager'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form, Input, Modal } from 'antd'; interface IProps extends Omit { diff --git a/web/src/pages/file-manager/hooks.ts b/web/src/pages/file-manager/hooks.ts index 2ce0a4b23..41061bec8 100644 --- a/web/src/pages/file-manager/hooks.ts +++ b/web/src/pages/file-manager/hooks.ts @@ -1,4 +1,4 @@ -import { useSetModalState, useShowDeleteConfirm } from '@/hooks/commonHooks'; +import { useSetModalState, useShowDeleteConfirm } from '@/hooks/common-hooks'; import { useConnectToKnowledge, useCreateFolder, @@ -9,9 +9,9 @@ import { useSelectFileList, useSelectParentFolderList, useUploadFile, -} from '@/hooks/fileManagerHooks'; +} from '@/hooks/file-manager-hooks'; import { useGetPagination, useSetPagination } from '@/hooks/logic-hooks'; -import { useOneNamespaceEffectsLoading } from '@/hooks/storeHooks'; +import { useOneNamespaceEffectsLoading } from '@/hooks/store-hooks'; import { IFile } from '@/interfaces/database/file-manager'; import { PaginationProps } from 'antd'; import { TableRowSelection } from 'antd/es/table/interface'; diff --git a/web/src/pages/file-manager/index.tsx b/web/src/pages/file-manager/index.tsx index a7bb98ac8..8eb9a14d5 100644 --- a/web/src/pages/file-manager/index.tsx +++ b/web/src/pages/file-manager/index.tsx @@ -1,4 +1,4 @@ -import { useSelectFileList } from '@/hooks/fileManagerHooks'; +import { useSelectFileList } from '@/hooks/file-manager-hooks'; import { IFile } from '@/interfaces/database/file-manager'; import { formatDate } from '@/utils/date'; import { Button, Flex, Space, Table, Tag, Typography } from 'antd'; @@ -19,7 +19,7 @@ import { import FileUploadModal from '@/components/file-upload-modal'; import RenameModal from '@/components/rename-modal'; import SvgIcon from '@/components/svg-icon'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { formatNumberWithThousandsSeparator } from '@/utils/commonUtil'; import { getExtension } from '@/utils/documentUtils'; import ConnectToKnowledgeModal from './connect-to-knowledge-modal'; diff --git a/web/src/pages/file-manager/model.ts b/web/src/pages/file-manager/model.ts index 0855791b5..fc8bc153b 100644 --- a/web/src/pages/file-manager/model.ts +++ b/web/src/pages/file-manager/model.ts @@ -4,7 +4,7 @@ import { IFile, IFolder } from '@/interfaces/database/file-manager'; import i18n from '@/locales/config'; import fileManagerService, { getDocumentFile, -} from '@/services/fileManagerService'; +} from '@/services/file-manager-service'; import { message } from 'antd'; import omit from 'lodash/omit'; import { DvaModel } from 'umi'; diff --git a/web/src/pages/flow/begin-form/index.tsx b/web/src/pages/flow/begin-form/index.tsx index 0dc1ed374..ebc1789e4 100644 --- a/web/src/pages/flow/begin-form/index.tsx +++ b/web/src/pages/flow/begin-form/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form, Input } from 'antd'; import { IOperatorForm } from '../interface'; diff --git a/web/src/pages/flow/canvas/node/begin-node.tsx b/web/src/pages/flow/canvas/node/begin-node.tsx index c5947b1ff..a802cc84d 100644 --- a/web/src/pages/flow/canvas/node/begin-node.tsx +++ b/web/src/pages/flow/canvas/node/begin-node.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Flex } from 'antd'; import classNames from 'classnames'; import lowerFirst from 'lodash/lowerFirst'; diff --git a/web/src/pages/flow/canvas/node/categorize-node.tsx b/web/src/pages/flow/canvas/node/categorize-node.tsx index 228aa97b9..c90f8c68b 100644 --- a/web/src/pages/flow/canvas/node/categorize-node.tsx +++ b/web/src/pages/flow/canvas/node/categorize-node.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Flex } from 'antd'; import classNames from 'classnames'; import { pick } from 'lodash'; diff --git a/web/src/pages/flow/canvas/node/index.tsx b/web/src/pages/flow/canvas/node/index.tsx index d5b0bab5f..671f75d19 100644 --- a/web/src/pages/flow/canvas/node/index.tsx +++ b/web/src/pages/flow/canvas/node/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Flex } from 'antd'; import classNames from 'classnames'; import lowerFirst from 'lodash/lowerFirst'; diff --git a/web/src/pages/flow/canvas/node/relevant-node.tsx b/web/src/pages/flow/canvas/node/relevant-node.tsx index a081e4b62..d15f69955 100644 --- a/web/src/pages/flow/canvas/node/relevant-node.tsx +++ b/web/src/pages/flow/canvas/node/relevant-node.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Flex } from 'antd'; import classNames from 'classnames'; import lowerFirst from 'lodash/lowerFirst'; diff --git a/web/src/pages/flow/categorize-form/dynamic-categorize.tsx b/web/src/pages/flow/categorize-form/dynamic-categorize.tsx index 2995f191b..aa85830fd 100644 --- a/web/src/pages/flow/categorize-form/dynamic-categorize.tsx +++ b/web/src/pages/flow/categorize-form/dynamic-categorize.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { CloseOutlined } from '@ant-design/icons'; import { Button, Card, Form, FormListFieldData, Input, Select } from 'antd'; import { FormInstance } from 'antd/lib'; diff --git a/web/src/pages/flow/categorize-form/index.tsx b/web/src/pages/flow/categorize-form/index.tsx index ad61bfe60..4eea06aeb 100644 --- a/web/src/pages/flow/categorize-form/index.tsx +++ b/web/src/pages/flow/categorize-form/index.tsx @@ -1,5 +1,5 @@ import LLMSelect from '@/components/llm-select'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form } from 'antd'; import { useSetLlmSetting } from '../hooks'; import { IOperatorForm } from '../interface'; diff --git a/web/src/pages/flow/chat/box.tsx b/web/src/pages/flow/chat/box.tsx index 7ad4cb71e..8edfbe02f 100644 --- a/web/src/pages/flow/chat/box.tsx +++ b/web/src/pages/flow/chat/box.tsx @@ -1,14 +1,14 @@ import MessageItem from '@/components/message-item'; import DocumentPreviewer from '@/components/pdf-previewer'; import { MessageType } from '@/constants/chat'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { useClickDrawer, useGetFileIcon } from '@/pages/chat/hooks'; import { buildMessageItemReference } from '@/pages/chat/utils'; import { Button, Drawer, Flex, Input, Spin } from 'antd'; import { useSelectCurrentMessages, useSendMessage } from './hooks'; -import { useSelectUserInfo } from '@/hooks/userSettingHook'; +import { useSelectUserInfo } from '@/hooks/user-setting-hooks'; import styles from './index.less'; const FlowChatBox = () => { diff --git a/web/src/pages/flow/duckduckgo-form/index.tsx b/web/src/pages/flow/duckduckgo-form/index.tsx index 10ea6debd..9238b9603 100644 --- a/web/src/pages/flow/duckduckgo-form/index.tsx +++ b/web/src/pages/flow/duckduckgo-form/index.tsx @@ -1,5 +1,5 @@ import TopNItem from '@/components/top-n-item'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form, Select } from 'antd'; import { useMemo } from 'react'; import { Channel } from '../constant'; diff --git a/web/src/pages/flow/flow-drawer/index.tsx b/web/src/pages/flow/flow-drawer/index.tsx index c8bb471bb..403c7d5b1 100644 --- a/web/src/pages/flow/flow-drawer/index.tsx +++ b/web/src/pages/flow/flow-drawer/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { IModalProps } from '@/interfaces/common'; import { Drawer, Flex, Form, Input } from 'antd'; import { useEffect } from 'react'; diff --git a/web/src/pages/flow/flow-sider/index.tsx b/web/src/pages/flow/flow-sider/index.tsx index 3f761e40f..bd2deb680 100644 --- a/web/src/pages/flow/flow-sider/index.tsx +++ b/web/src/pages/flow/flow-sider/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Card, Divider, Flex, Layout, Tooltip } from 'antd'; import classNames from 'classnames'; import lowerFirst from 'lodash/lowerFirst'; diff --git a/web/src/pages/flow/generate-form/dynamic-parameters.tsx b/web/src/pages/flow/generate-form/dynamic-parameters.tsx index af7f7fc2f..c7f441c07 100644 --- a/web/src/pages/flow/generate-form/dynamic-parameters.tsx +++ b/web/src/pages/flow/generate-form/dynamic-parameters.tsx @@ -1,5 +1,5 @@ import { EditableCell, EditableRow } from '@/components/editable-cell'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { DeleteOutlined } from '@ant-design/icons'; import { Button, Flex, Select, Table, TableProps } from 'antd'; import { IGenerateParameter } from '../interface'; diff --git a/web/src/pages/flow/generate-form/index.tsx b/web/src/pages/flow/generate-form/index.tsx index 8c5322037..14b665728 100644 --- a/web/src/pages/flow/generate-form/index.tsx +++ b/web/src/pages/flow/generate-form/index.tsx @@ -1,5 +1,5 @@ import LLMSelect from '@/components/llm-select'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form, Input, InputNumber, Switch } from 'antd'; import { useSetLlmSetting } from '../hooks'; import { IOperatorForm } from '../interface'; diff --git a/web/src/pages/flow/header/index.tsx b/web/src/pages/flow/header/index.tsx index 13a8c1568..da2ac25d7 100644 --- a/web/src/pages/flow/header/index.tsx +++ b/web/src/pages/flow/header/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { useFetchFlow } from '@/hooks/flow-hooks'; import { ArrowLeftOutlined } from '@ant-design/icons'; import { Button, Flex, Space } from 'antd'; diff --git a/web/src/pages/flow/hooks.ts b/web/src/pages/flow/hooks.ts index 11d1ffbfc..f090a1485 100644 --- a/web/src/pages/flow/hooks.ts +++ b/web/src/pages/flow/hooks.ts @@ -1,6 +1,6 @@ -import { useSetModalState } from '@/hooks/commonHooks'; +import { useSetModalState } from '@/hooks/common-hooks'; import { useFetchFlow, useResetFlow, useSetFlow } from '@/hooks/flow-hooks'; -import { useFetchLlmList } from '@/hooks/llmHooks'; +import { useFetchLlmList } from '@/hooks/llm-hooks'; import { IGraph } from '@/interfaces/database/flow'; import { useIsFetching } from '@tanstack/react-query'; import React, { diff --git a/web/src/pages/flow/index.tsx b/web/src/pages/flow/index.tsx index 396f051cd..52bc54d5c 100644 --- a/web/src/pages/flow/index.tsx +++ b/web/src/pages/flow/index.tsx @@ -1,4 +1,4 @@ -import { useSetModalState } from '@/hooks/commonHooks'; +import { useSetModalState } from '@/hooks/common-hooks'; import { Layout } from 'antd'; import { useState } from 'react'; import { ReactFlowProvider } from 'reactflow'; diff --git a/web/src/pages/flow/keyword-extract-form/index.tsx b/web/src/pages/flow/keyword-extract-form/index.tsx index 720e94981..e1ba65548 100644 --- a/web/src/pages/flow/keyword-extract-form/index.tsx +++ b/web/src/pages/flow/keyword-extract-form/index.tsx @@ -1,6 +1,6 @@ import LLMSelect from '@/components/llm-select'; import TopNItem from '@/components/top-n-item'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form } from 'antd'; import { useSetLlmSetting } from '../hooks'; import { IOperatorForm } from '../interface'; diff --git a/web/src/pages/flow/list/create-flow-modal.tsx b/web/src/pages/flow/list/create-flow-modal.tsx index 5a9311e85..49a6ed6f2 100644 --- a/web/src/pages/flow/list/create-flow-modal.tsx +++ b/web/src/pages/flow/list/create-flow-modal.tsx @@ -1,5 +1,5 @@ import { IModalManagerChildrenProps } from '@/components/modal-manager'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { useFetchFlowTemplates } from '@/hooks/flow-hooks'; import { useSelectItem } from '@/hooks/logic-hooks'; import { Card, Flex, Form, Input, Modal, Space, Typography } from 'antd'; diff --git a/web/src/pages/flow/list/hooks.ts b/web/src/pages/flow/list/hooks.ts index 38f9cbbef..5c4d3f903 100644 --- a/web/src/pages/flow/list/hooks.ts +++ b/web/src/pages/flow/list/hooks.ts @@ -1,4 +1,4 @@ -import { useSetModalState } from '@/hooks/commonHooks'; +import { useSetModalState } from '@/hooks/common-hooks'; import { useFetchFlowList, useFetchFlowTemplates, diff --git a/web/src/pages/flow/list/index.tsx b/web/src/pages/flow/list/index.tsx index 34f791b5b..3e6f7caf0 100644 --- a/web/src/pages/flow/list/index.tsx +++ b/web/src/pages/flow/list/index.tsx @@ -4,7 +4,7 @@ import CreateFlowModal from './create-flow-modal'; import FlowCard from './flow-card'; import { useFetchDataOnMount, useSaveFlow } from './hooks'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import styles from './index.less'; const FlowList = () => { diff --git a/web/src/pages/flow/message-form/index.tsx b/web/src/pages/flow/message-form/index.tsx index 94154c093..1d71cf5dd 100644 --- a/web/src/pages/flow/message-form/index.tsx +++ b/web/src/pages/flow/message-form/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons'; import { Button, Form, Input } from 'antd'; import { IOperatorForm } from '../interface'; diff --git a/web/src/pages/flow/relevant-form/index.tsx b/web/src/pages/flow/relevant-form/index.tsx index 203a118f7..87eba1e45 100644 --- a/web/src/pages/flow/relevant-form/index.tsx +++ b/web/src/pages/flow/relevant-form/index.tsx @@ -1,5 +1,5 @@ import LLMSelect from '@/components/llm-select'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form, Select } from 'antd'; import { Operator } from '../constant'; import { useBuildFormSelectOptions } from '../form-hooks'; diff --git a/web/src/pages/flow/retrieval-form/index.tsx b/web/src/pages/flow/retrieval-form/index.tsx index 5f2f0a772..b62572fdc 100644 --- a/web/src/pages/flow/retrieval-form/index.tsx +++ b/web/src/pages/flow/retrieval-form/index.tsx @@ -2,7 +2,7 @@ import KnowledgeBaseItem from '@/components/knowledge-base-item'; import Rerank from '@/components/rerank'; import SimilaritySlider from '@/components/similarity-slider'; import TopNItem from '@/components/top-n-item'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import type { FormProps } from 'antd'; import { Form, Input } from 'antd'; import { IOperatorForm } from '../interface'; diff --git a/web/src/pages/flow/rewrite-question-form/index.tsx b/web/src/pages/flow/rewrite-question-form/index.tsx index 8c4bbbb61..1f29c853a 100644 --- a/web/src/pages/flow/rewrite-question-form/index.tsx +++ b/web/src/pages/flow/rewrite-question-form/index.tsx @@ -1,5 +1,5 @@ import LLMSelect from '@/components/llm-select'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form, InputNumber } from 'antd'; import { useSetLlmSetting } from '../hooks'; import { IOperatorForm } from '../interface'; diff --git a/web/src/pages/flow/wikipedia-form/index.tsx b/web/src/pages/flow/wikipedia-form/index.tsx index 4627365b7..8a388c6ba 100644 --- a/web/src/pages/flow/wikipedia-form/index.tsx +++ b/web/src/pages/flow/wikipedia-form/index.tsx @@ -1,5 +1,5 @@ import TopNItem from '@/components/top-n-item'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form, Select } from 'antd'; import { LanguageOptions } from '../constant'; import { IOperatorForm } from '../interface'; diff --git a/web/src/pages/knowledge/hooks.ts b/web/src/pages/knowledge/hooks.ts index b752fb34d..328b1cc83 100644 --- a/web/src/pages/knowledge/hooks.ts +++ b/web/src/pages/knowledge/hooks.ts @@ -1,4 +1,4 @@ -import { useSelectKnowledgeList } from '@/hooks/knowledgeHook'; +import { useSelectKnowledgeList } from '@/hooks/knowledge-hooks'; import { useState } from 'react'; export const useSearchKnowledge = () => { diff --git a/web/src/pages/knowledge/index.tsx b/web/src/pages/knowledge/index.tsx index 12fa6cf52..4b034566a 100644 --- a/web/src/pages/knowledge/index.tsx +++ b/web/src/pages/knowledge/index.tsx @@ -1,82 +1,82 @@ -import ModalManager from '@/components/modal-manager'; -import { useFetchKnowledgeList } from '@/hooks/knowledgeHook'; -import { useSelectUserInfo } from '@/hooks/userSettingHook'; -import { PlusOutlined, SearchOutlined } from '@ant-design/icons'; -import { Button, Empty, Flex, Input, Space, Spin } from 'antd'; -import KnowledgeCard from './knowledge-card'; -import KnowledgeCreatingModal from './knowledge-creating-modal'; - -import { useTranslation } from 'react-i18next'; -import { useSearchKnowledge, useSelectKnowledgeListByKeywords } from './hooks'; -import styles from './index.less'; - -const KnowledgeList = () => { - const { searchString, handleInputChange } = useSearchKnowledge(); - const { loading } = useFetchKnowledgeList(); - const list = useSelectKnowledgeListByKeywords(searchString); - const userInfo = useSelectUserInfo(); - const { t } = useTranslation('translation', { keyPrefix: 'knowledgeList' }); - - return ( - -
-
- - {t('welcome')}, {userInfo.nickname} - -

{t('description')}

-
- - } - /> - - - {({ visible, hideModal, showModal }) => ( - <> - - - - )} - - -
- - - {list.length > 0 ? ( - list.map((item: any) => { - return ( - - ); - }) - ) : ( - - )} - - -
- ); -}; - -export default KnowledgeList; +import ModalManager from '@/components/modal-manager'; +import { useFetchKnowledgeList } from '@/hooks/knowledge-hooks'; +import { useSelectUserInfo } from '@/hooks/user-setting-hooks'; +import { PlusOutlined, SearchOutlined } from '@ant-design/icons'; +import { Button, Empty, Flex, Input, Space, Spin } from 'antd'; +import KnowledgeCard from './knowledge-card'; +import KnowledgeCreatingModal from './knowledge-creating-modal'; + +import { useTranslation } from 'react-i18next'; +import { useSearchKnowledge, useSelectKnowledgeListByKeywords } from './hooks'; +import styles from './index.less'; + +const KnowledgeList = () => { + const { searchString, handleInputChange } = useSearchKnowledge(); + const { loading } = useFetchKnowledgeList(); + const list = useSelectKnowledgeListByKeywords(searchString); + const userInfo = useSelectUserInfo(); + const { t } = useTranslation('translation', { keyPrefix: 'knowledgeList' }); + + return ( + +
+
+ + {t('welcome')}, {userInfo.nickname} + +

{t('description')}

+
+ + } + /> + + + {({ visible, hideModal, showModal }) => ( + <> + + + + )} + + +
+ + + {list.length > 0 ? ( + list.map((item: any) => { + return ( + + ); + }) + ) : ( + + )} + + +
+ ); +}; + +export default KnowledgeList; diff --git a/web/src/pages/knowledge/model.ts b/web/src/pages/knowledge/model.ts index 80043a4de..822edcde3 100644 --- a/web/src/pages/knowledge/model.ts +++ b/web/src/pages/knowledge/model.ts @@ -1,63 +1,63 @@ -import { IKnowledge } from '@/interfaces/database/knowledge'; -import kbService from '@/services/kbService'; -import { DvaModel } from 'umi'; - -export interface KnowledgeModelState { - data: IKnowledge[]; - knowledge: IKnowledge; -} - -const model: DvaModel = { - namespace: 'knowledgeModel', - state: { - data: [], - knowledge: {} as IKnowledge, - }, - reducers: { - updateState(state, { payload }) { - return { - ...state, - ...payload, - }; - }, - setKnowledge(state, { payload }) { - return { - ...state, - knowledge: payload, - }; - }, - }, - effects: { - *rmKb({ payload = {} }, { call, put }) { - const { data } = yield call(kbService.rmKb, payload); - const { retcode } = data; - if (retcode === 0) { - yield put({ - type: 'getList', - payload: {}, - }); - } - }, - *getList({ payload = {} }, { call, put }) { - const { data } = yield call(kbService.getList, payload); - const { retcode, data: res } = data; - - if (retcode === 0) { - yield put({ - type: 'updateState', - payload: { - data: res, - }, - }); - } - }, - *getKnowledgeDetail({ payload = {} }, { call, put }) { - const { data } = yield call(kbService.get_kb_detail, payload); - if (data.retcode === 0) { - yield put({ type: 'setKnowledge', payload: data.data }); - } - return data.retcode; - }, - }, -}; -export default model; +import { IKnowledge } from '@/interfaces/database/knowledge'; +import kbService from '@/services/knowledge-service'; +import { DvaModel } from 'umi'; + +export interface KnowledgeModelState { + data: IKnowledge[]; + knowledge: IKnowledge; +} + +const model: DvaModel = { + namespace: 'knowledgeModel', + state: { + data: [], + knowledge: {} as IKnowledge, + }, + reducers: { + updateState(state, { payload }) { + return { + ...state, + ...payload, + }; + }, + setKnowledge(state, { payload }) { + return { + ...state, + knowledge: payload, + }; + }, + }, + effects: { + *rmKb({ payload = {} }, { call, put }) { + const { data } = yield call(kbService.rmKb, payload); + const { retcode } = data; + if (retcode === 0) { + yield put({ + type: 'getList', + payload: {}, + }); + } + }, + *getList({ payload = {} }, { call, put }) { + const { data } = yield call(kbService.getList, payload); + const { retcode, data: res } = data; + + if (retcode === 0) { + yield put({ + type: 'updateState', + payload: { + data: res, + }, + }); + } + }, + *getKnowledgeDetail({ payload = {} }, { call, put }) { + const { data } = yield call(kbService.get_kb_detail, payload); + if (data.retcode === 0) { + yield put({ type: 'setKnowledge', payload: data.data }); + } + return data.retcode; + }, + }, +}; +export default model; diff --git a/web/src/pages/login/index.tsx b/web/src/pages/login/index.tsx index 18cdcf4d9..d0ed8a164 100644 --- a/web/src/pages/login/index.tsx +++ b/web/src/pages/login/index.tsx @@ -1,199 +1,199 @@ -import { useLogin, useRegister } from '@/hooks/loginHooks'; -import { useOneNamespaceEffectsLoading } from '@/hooks/storeHooks'; -import { rsaPsw } from '@/utils'; -import { Button, Checkbox, Form, Input } from 'antd'; -import { useEffect, useState } from 'react'; -import { useTranslation } from 'react-i18next'; -import { Icon, useNavigate } from 'umi'; -import RightPanel from './right-panel'; - -import { Domain } from '@/constants/common'; -import styles from './index.less'; - -const Login = () => { - const [title, setTitle] = useState('login'); - const navigate = useNavigate(); - const login = useLogin(); - const register = useRegister(); - const { t } = useTranslation('translation', { keyPrefix: 'login' }); - - // TODO: When the server address request is not accessible, the value of dva-loading always remains true. - - const signLoading = useOneNamespaceEffectsLoading('loginModel', [ - 'login', - 'register', - ]); - - const changeTitle = () => { - setTitle((title) => (title === 'login' ? 'register' : 'login')); - }; - const [form] = Form.useForm(); - - useEffect(() => { - form.validateFields(['nickname']); - }, [form]); - - const onCheck = async () => { - try { - const params = await form.validateFields(); - - const rsaPassWord = rsaPsw(params.password) as string; - - if (title === 'login') { - const retcode = await login({ - email: params.email, - password: rsaPassWord, - }); - if (retcode === 0) { - navigate('/knowledge'); - } - } else { - const retcode = await register({ - nickname: params.nickname, - email: params.email, - password: rsaPassWord, - }); - if (retcode === 0) { - setTitle('login'); - } - } - } catch (errorInfo) { - console.log('Failed:', errorInfo); - } - }; - const formItemLayout = { - labelCol: { span: 6 }, - // wrapperCol: { span: 8 }, - }; - - const toGoogle = () => { - window.location.href = - 'https://github.com/login/oauth/authorize?scope=user:email&client_id=302129228f0d96055bee'; - }; - - return ( -
-
-
-
-
{title === 'login' ? t('login') : t('register')}
- - {title === 'login' - ? t('loginDescription') - : t('registerDescription')} - -
- -
- - - - {title === 'register' && ( - - - - )} - - - - {title === 'login' && ( - - {t('rememberMe')} - - )} -
- {title === 'login' && ( -
- {t('signInTip')} - -
- )} - {title === 'register' && ( -
- {t('signUpTip')} - -
- )} -
- - {title === 'login' && ( - <> - {/* */} - {location.host === Domain && ( - - )} - - )} -
-
-
-
- -
-
- ); -}; - -export default Login; +import { useLogin, useRegister } from '@/hooks/login-hooks'; +import { useOneNamespaceEffectsLoading } from '@/hooks/store-hooks'; +import { rsaPsw } from '@/utils'; +import { Button, Checkbox, Form, Input } from 'antd'; +import { useEffect, useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { Icon, useNavigate } from 'umi'; +import RightPanel from './right-panel'; + +import { Domain } from '@/constants/common'; +import styles from './index.less'; + +const Login = () => { + const [title, setTitle] = useState('login'); + const navigate = useNavigate(); + const login = useLogin(); + const register = useRegister(); + const { t } = useTranslation('translation', { keyPrefix: 'login' }); + + // TODO: When the server address request is not accessible, the value of dva-loading always remains true. + + const signLoading = useOneNamespaceEffectsLoading('loginModel', [ + 'login', + 'register', + ]); + + const changeTitle = () => { + setTitle((title) => (title === 'login' ? 'register' : 'login')); + }; + const [form] = Form.useForm(); + + useEffect(() => { + form.validateFields(['nickname']); + }, [form]); + + const onCheck = async () => { + try { + const params = await form.validateFields(); + + const rsaPassWord = rsaPsw(params.password) as string; + + if (title === 'login') { + const retcode = await login({ + email: params.email, + password: rsaPassWord, + }); + if (retcode === 0) { + navigate('/knowledge'); + } + } else { + const retcode = await register({ + nickname: params.nickname, + email: params.email, + password: rsaPassWord, + }); + if (retcode === 0) { + setTitle('login'); + } + } + } catch (errorInfo) { + console.log('Failed:', errorInfo); + } + }; + const formItemLayout = { + labelCol: { span: 6 }, + // wrapperCol: { span: 8 }, + }; + + const toGoogle = () => { + window.location.href = + 'https://github.com/login/oauth/authorize?scope=user:email&client_id=302129228f0d96055bee'; + }; + + return ( +
+
+
+
+
{title === 'login' ? t('login') : t('register')}
+ + {title === 'login' + ? t('loginDescription') + : t('registerDescription')} + +
+ +
+ + + + {title === 'register' && ( + + + + )} + + + + {title === 'login' && ( + + {t('rememberMe')} + + )} +
+ {title === 'login' && ( +
+ {t('signInTip')} + +
+ )} + {title === 'register' && ( +
+ {t('signUpTip')} + +
+ )} +
+ + {title === 'login' && ( + <> + {/* */} + {location.host === Domain && ( + + )} + + )} +
+
+
+
+ +
+
+ ); +}; + +export default Login; diff --git a/web/src/pages/login/model.ts b/web/src/pages/login/model.ts index 38865b190..e9fd23d68 100644 --- a/web/src/pages/login/model.ts +++ b/web/src/pages/login/model.ts @@ -1,69 +1,69 @@ -import { Authorization } from '@/constants/authorization'; -import i18n from '@/locales/config'; -import userService from '@/services/userService'; -import authorizationUtil from '@/utils/authorizationUtil'; -import { message } from 'antd'; -import { DvaModel } from 'umi'; - -export interface LoginModelState { - list: any[]; - info: any; - visible: boolean; -} - -const model: DvaModel = { - namespace: 'loginModel', - state: { - list: [], - info: {}, - visible: false, - }, - reducers: { - updateState(state, { payload }) { - return { - ...state, - ...payload, - }; - }, - }, - effects: { - *login({ payload = {} }, { call }) { - const { data, response } = yield call(userService.login, payload); - const { retcode, data: res } = data; - const authorization = response.headers.get(Authorization); - if (retcode === 0) { - message.success(i18n.t('message.logged')); - const token = res.access_token; - const userInfo = { - avatar: res.avatar, - name: res.nickname, - email: res.email, - }; - authorizationUtil.setItems({ - Authorization: authorization, - userInfo: JSON.stringify(userInfo), - Token: token, - }); - } - return retcode; - }, - *register({ payload = {} }, { call }) { - const { data } = yield call(userService.register, payload); - console.log(); - const { retcode } = data; - if (retcode === 0) { - message.success(i18n.t('message.registered')); - } - return retcode; - }, - *logout({ payload = {} }, { call }) { - const { data } = yield call(userService.logout, payload); - const { retcode } = data; - if (retcode === 0) { - message.success(i18n.t('message.logout')); - } - return retcode; - }, - }, -}; -export default model; +import { Authorization } from '@/constants/authorization'; +import i18n from '@/locales/config'; +import userService from '@/services/user-service'; +import authorizationUtil from '@/utils/authorizationUtil'; +import { message } from 'antd'; +import { DvaModel } from 'umi'; + +export interface LoginModelState { + list: any[]; + info: any; + visible: boolean; +} + +const model: DvaModel = { + namespace: 'loginModel', + state: { + list: [], + info: {}, + visible: false, + }, + reducers: { + updateState(state, { payload }) { + return { + ...state, + ...payload, + }; + }, + }, + effects: { + *login({ payload = {} }, { call }) { + const { data, response } = yield call(userService.login, payload); + const { retcode, data: res } = data; + const authorization = response.headers.get(Authorization); + if (retcode === 0) { + message.success(i18n.t('message.logged')); + const token = res.access_token; + const userInfo = { + avatar: res.avatar, + name: res.nickname, + email: res.email, + }; + authorizationUtil.setItems({ + Authorization: authorization, + userInfo: JSON.stringify(userInfo), + Token: token, + }); + } + return retcode; + }, + *register({ payload = {} }, { call }) { + const { data } = yield call(userService.register, payload); + console.log(); + const { retcode } = data; + if (retcode === 0) { + message.success(i18n.t('message.registered')); + } + return retcode; + }, + *logout({ payload = {} }, { call }) { + const { data } = yield call(userService.logout, payload); + const { retcode } = data; + if (retcode === 0) { + message.success(i18n.t('message.logout')); + } + return retcode; + }, + }, +}; +export default model; diff --git a/web/src/pages/login/right-panel.tsx b/web/src/pages/login/right-panel.tsx index 964351325..820dd9b35 100644 --- a/web/src/pages/login/right-panel.tsx +++ b/web/src/pages/login/right-panel.tsx @@ -3,7 +3,7 @@ import SvgIcon from '@/components/svg-icon'; import { Flex, Rate, Space, Typography } from 'antd'; import classNames from 'classnames'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import styles from './index.less'; const { Title, Text } = Typography; diff --git a/web/src/pages/user-setting/components/setting-title/index.tsx b/web/src/pages/user-setting/components/setting-title/index.tsx index f5f8a7954..c3066d024 100644 --- a/web/src/pages/user-setting/components/setting-title/index.tsx +++ b/web/src/pages/user-setting/components/setting-title/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { SettingOutlined } from '@ant-design/icons'; import { Button, Flex, Typography } from 'antd'; diff --git a/web/src/pages/user-setting/hooks.ts b/web/src/pages/user-setting/hooks.ts index bb770a494..aa30baf49 100644 --- a/web/src/pages/user-setting/hooks.ts +++ b/web/src/pages/user-setting/hooks.ts @@ -1,4 +1,4 @@ -import { useOneNamespaceEffectsLoading } from '@/hooks/storeHooks'; +import { useOneNamespaceEffectsLoading } from '@/hooks/store-hooks'; import { Form } from 'antd'; import { useEffect, useState } from 'react'; diff --git a/web/src/pages/user-setting/model.ts b/web/src/pages/user-setting/model.ts index 37e8603b2..27a839226 100644 --- a/web/src/pages/user-setting/model.ts +++ b/web/src/pages/user-setting/model.ts @@ -7,7 +7,7 @@ import { } from '@/interfaces/database/llm'; import { IUserInfo } from '@/interfaces/database/userSetting'; import i18n from '@/locales/config'; -import userService from '@/services/userService'; +import userService from '@/services/user-service'; import { message } from 'antd'; import { DvaModel } from 'umi'; diff --git a/web/src/pages/user-setting/setting-model/api-key-modal/index.tsx b/web/src/pages/user-setting/setting-model/api-key-modal/index.tsx index ca5a843ef..d9eaf039d 100644 --- a/web/src/pages/user-setting/setting-model/api-key-modal/index.tsx +++ b/web/src/pages/user-setting/setting-model/api-key-modal/index.tsx @@ -1,5 +1,5 @@ import { IModalManagerChildrenProps } from '@/components/modal-manager'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { Form, Input, Modal } from 'antd'; import { useEffect } from 'react'; import { ApiKeyPostBody } from '../../interface'; diff --git a/web/src/pages/user-setting/setting-model/hooks.ts b/web/src/pages/user-setting/setting-model/hooks.ts index 460ca8e5a..19ec98556 100644 --- a/web/src/pages/user-setting/setting-model/hooks.ts +++ b/web/src/pages/user-setting/setting-model/hooks.ts @@ -1,4 +1,4 @@ -import { useSetModalState, useShowDeleteConfirm } from '@/hooks/commonHooks'; +import { useSetModalState, useShowDeleteConfirm } from '@/hooks/common-hooks'; import { IApiKeySavingParams, ISystemModelSettingSavingParams, @@ -8,12 +8,12 @@ import { useSaveApiKey, useSaveTenantInfo, useSelectLlmOptionsByModelType, -} from '@/hooks/llmHooks'; -import { useOneNamespaceEffectsLoading } from '@/hooks/storeHooks'; +} from '@/hooks/llm-hooks'; +import { useOneNamespaceEffectsLoading } from '@/hooks/store-hooks'; import { useFetchTenantInfo, useSelectTenantInfo, -} from '@/hooks/userSettingHook'; +} from '@/hooks/user-setting-hooks'; import { IAddLlmRequestBody } from '@/interfaces/request/llm'; import { useCallback, useEffect, useState } from 'react'; import { ApiKeyPostBody } from '../interface'; diff --git a/web/src/pages/user-setting/setting-model/index.tsx b/web/src/pages/user-setting/setting-model/index.tsx index cdf0d53b0..e95f16fcd 100644 --- a/web/src/pages/user-setting/setting-model/index.tsx +++ b/web/src/pages/user-setting/setting-model/index.tsx @@ -1,11 +1,11 @@ import { ReactComponent as MoreModelIcon } from '@/assets/svg/more-model.svg'; import SvgIcon from '@/components/svg-icon'; -import { useSetModalState, useTranslate } from '@/hooks/commonHooks'; +import { useSetModalState, useTranslate } from '@/hooks/common-hooks'; import { LlmItem, useFetchLlmFactoryListOnMount, useFetchMyLlmListOnMount, -} from '@/hooks/llmHooks'; +} from '@/hooks/llm-hooks'; import { CloseCircleOutlined, SettingOutlined, @@ -61,9 +61,9 @@ const IconMap = { Mistral: 'mistral', 'Azure-OpenAI': 'azure', Bedrock: 'bedrock', - Gemini:'gemini', + Gemini: 'gemini', Groq: 'Groq', - OpenRouter:'open-router' + OpenRouter: 'open-router', }; const LlmIcon = ({ name }: { name: string }) => { diff --git a/web/src/pages/user-setting/setting-model/ollama-modal/index.tsx b/web/src/pages/user-setting/setting-model/ollama-modal/index.tsx index fe3d29967..ece087c1e 100644 --- a/web/src/pages/user-setting/setting-model/ollama-modal/index.tsx +++ b/web/src/pages/user-setting/setting-model/ollama-modal/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { IModalProps } from '@/interfaces/common'; import { IAddLlmRequestBody } from '@/interfaces/request/llm'; import { Flex, Form, Input, Modal, Select, Space, Switch } from 'antd'; diff --git a/web/src/pages/user-setting/setting-model/system-model-setting-modal/index.tsx b/web/src/pages/user-setting/setting-model/system-model-setting-modal/index.tsx index 1589c4ad2..4e8977414 100644 --- a/web/src/pages/user-setting/setting-model/system-model-setting-modal/index.tsx +++ b/web/src/pages/user-setting/setting-model/system-model-setting-modal/index.tsx @@ -1,7 +1,7 @@ import { IModalManagerChildrenProps } from '@/components/modal-manager'; import { LlmModelType } from '@/constants/knowledge'; -import { useTranslate } from '@/hooks/commonHooks'; -import { ISystemModelSettingSavingParams } from '@/hooks/llmHooks'; +import { useTranslate } from '@/hooks/common-hooks'; +import { ISystemModelSettingSavingParams } from '@/hooks/llm-hooks'; import { Form, Modal, Select } from 'antd'; import { useEffect } from 'react'; import { useFetchSystemModelSettingOnMount } from '../hooks'; diff --git a/web/src/pages/user-setting/setting-model/volcengine-model/index.tsx b/web/src/pages/user-setting/setting-model/volcengine-model/index.tsx index b5f19427d..e88c15496 100644 --- a/web/src/pages/user-setting/setting-model/volcengine-model/index.tsx +++ b/web/src/pages/user-setting/setting-model/volcengine-model/index.tsx @@ -1,4 +1,4 @@ -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { IModalProps } from '@/interfaces/common'; import { IAddLlmRequestBody } from '@/interfaces/request/llm'; import { Flex, Form, Input, Modal, Select, Space, Switch } from 'antd'; diff --git a/web/src/pages/user-setting/setting-password/index.tsx b/web/src/pages/user-setting/setting-password/index.tsx index 66e744ab1..f1b299ee6 100644 --- a/web/src/pages/user-setting/setting-password/index.tsx +++ b/web/src/pages/user-setting/setting-password/index.tsx @@ -1,11 +1,11 @@ -import { useOneNamespaceEffectsLoading } from '@/hooks/storeHooks'; -import { useSaveSetting } from '@/hooks/userSettingHook'; +import { useOneNamespaceEffectsLoading } from '@/hooks/store-hooks'; +import { useSaveSetting } from '@/hooks/user-setting-hooks'; import { rsaPsw } from '@/utils'; import { Button, Divider, Form, Input, Space } from 'antd'; import SettingTitle from '../components/setting-title'; import { useValidateSubmittable } from '../hooks'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import parentStyles from '../index.less'; import styles from './index.less'; diff --git a/web/src/pages/user-setting/setting-profile/index.tsx b/web/src/pages/user-setting/setting-profile/index.tsx index 1a2141097..f338364d0 100644 --- a/web/src/pages/user-setting/setting-profile/index.tsx +++ b/web/src/pages/user-setting/setting-profile/index.tsx @@ -2,7 +2,7 @@ import { useFetchUserInfo, useSaveSetting, useSelectUserInfo, -} from '@/hooks/userSettingHook'; +} from '@/hooks/user-setting-hooks'; import { getBase64FromUploadFileList, getUploadFileListFromBase64, @@ -31,7 +31,7 @@ import { } from '../hooks'; import { LanguageList } from '@/constants/common'; -import { useTranslate } from '@/hooks/commonHooks'; +import { useTranslate } from '@/hooks/common-hooks'; import { useChangeLanguage } from '@/hooks/logic-hooks'; import parentStyles from '../index.less'; import styles from './index.less'; diff --git a/web/src/pages/user-setting/setting-system/index.tsx b/web/src/pages/user-setting/setting-system/index.tsx index cee68d07b..8f5fff049 100644 --- a/web/src/pages/user-setting/setting-system/index.tsx +++ b/web/src/pages/user-setting/setting-system/index.tsx @@ -1,5 +1,5 @@ import SvgIcon from '@/components/svg-icon'; -import { useFetchSystemStatus } from '@/hooks/userSettingHook'; +import { useFetchSystemStatus } from '@/hooks/user-setting-hooks'; import { ISystemStatus, Minio } from '@/interfaces/database/userSetting'; import { Badge, Card, Flex, Spin, Typography } from 'antd'; import classNames from 'classnames'; diff --git a/web/src/pages/user-setting/setting-team/index.tsx b/web/src/pages/user-setting/setting-team/index.tsx index cad6e7358..b2eb7a275 100644 --- a/web/src/pages/user-setting/setting-team/index.tsx +++ b/web/src/pages/user-setting/setting-team/index.tsx @@ -1,7 +1,7 @@ import { Button, Card, Flex } from 'antd'; -import { useTranslate } from '@/hooks/commonHooks'; -import { useSelectUserInfo } from '@/hooks/userSettingHook'; +import { useTranslate } from '@/hooks/common-hooks'; +import { useSelectUserInfo } from '@/hooks/user-setting-hooks'; import styles from './index.less'; const UserSettingTeam = () => { diff --git a/web/src/pages/user-setting/sidebar/index.tsx b/web/src/pages/user-setting/sidebar/index.tsx index 5f16871cd..f1c66558e 100644 --- a/web/src/pages/user-setting/sidebar/index.tsx +++ b/web/src/pages/user-setting/sidebar/index.tsx @@ -1,5 +1,5 @@ import { Domain } from '@/constants/common'; -import { useSecondPathName } from '@/hooks/routeHook'; +import { useSecondPathName } from '@/hooks/route-hook'; import type { MenuProps } from 'antd'; import { Flex, Menu } from 'antd'; import React, { useEffect, useMemo } from 'react'; @@ -10,8 +10,8 @@ import { UserSettingRouteKey, } from '../constants'; -import { useTranslate } from '@/hooks/commonHooks'; -import { useFetchSystemVersion, useLogout } from '@/hooks/userSettingHook'; +import { useTranslate } from '@/hooks/common-hooks'; +import { useFetchSystemVersion, useLogout } from '@/hooks/user-setting-hooks'; import styles from './index.less'; type MenuItem = Required['items'][number]; diff --git a/web/src/services/chatService.ts b/web/src/services/chat-service.ts similarity index 100% rename from web/src/services/chatService.ts rename to web/src/services/chat-service.ts diff --git a/web/src/services/fileManagerService.ts b/web/src/services/file-manager-service.ts similarity index 100% rename from web/src/services/fileManagerService.ts rename to web/src/services/file-manager-service.ts diff --git a/web/src/services/kbService.ts b/web/src/services/knowledge-service.ts similarity index 94% rename from web/src/services/kbService.ts rename to web/src/services/knowledge-service.ts index d3e73e338..32a63294d 100644 --- a/web/src/services/kbService.ts +++ b/web/src/services/knowledge-service.ts @@ -1,163 +1,163 @@ -import api from '@/utils/api'; -import registerServer from '@/utils/registerServer'; -import request from '@/utils/request'; -import pureRequest from 'umi-request'; - -const { - create_kb, - update_kb, - rm_kb, - get_kb_detail, - kb_list, - get_document_list, - document_change_status, - document_rm, - document_create, - document_change_parser, - document_thumbnails, - chunk_list, - create_chunk, - set_chunk, - get_chunk, - switch_chunk, - rm_chunk, - retrieval_test, - document_rename, - document_run, - get_document_file, - document_upload, - web_crawl, -} = api; - -const methods = { - // 知识库管理 - createKb: { - url: create_kb, - method: 'post', - }, - updateKb: { - url: update_kb, - method: 'post', - }, - rmKb: { - url: rm_kb, - method: 'post', - }, - get_kb_detail: { - url: get_kb_detail, - method: 'get', - }, - getList: { - url: kb_list, - method: 'get', - }, - // 文件管理 - get_document_list: { - url: get_document_list, - method: 'get', - }, - document_change_status: { - url: document_change_status, - method: 'post', - }, - document_rm: { - url: document_rm, - method: 'post', - }, - document_rename: { - url: document_rename, - method: 'post', - }, - document_create: { - url: document_create, - method: 'post', - }, - document_run: { - url: document_run, - method: 'post', - }, - document_change_parser: { - url: document_change_parser, - method: 'post', - }, - document_thumbnails: { - url: document_thumbnails, - method: 'get', - }, - document_upload: { - url: document_upload, - method: 'post', - }, - web_crawl: { - url: web_crawl, - method: 'post', - }, - // chunk管理 - chunk_list: { - url: chunk_list, - method: 'post', - }, - create_chunk: { - url: create_chunk, - method: 'post', - }, - set_chunk: { - url: set_chunk, - method: 'post', - }, - get_chunk: { - url: get_chunk, - method: 'get', - }, - switch_chunk: { - url: switch_chunk, - method: 'post', - }, - rm_chunk: { - url: rm_chunk, - method: 'post', - }, - retrieval_test: { - url: retrieval_test, - method: 'post', - }, -}; - -const kbService = registerServer(methods, request); - -export const getDocumentFile = (documentId: string) => { - return pureRequest(get_document_file + '/' + documentId, { - responseType: 'blob', - method: 'get', - parseResponse: false, - // getResponse: true, - }) - .then((res) => { - const x = res.headers.get('content-disposition'); - console.info(res); - console.info(x); - return res.blob(); - }) - .then((res) => { - // const objectURL = URL.createObjectURL(res); - - // let btn = document.createElement('a'); - - // btn.download = '文件名.pdf'; - - // btn.href = objectURL; - - // btn.click(); - - // URL.revokeObjectURL(objectURL); - - // btn = null; - - return res; - }) - .catch((err) => { - console.info(err); - }); -}; - -export default kbService; +import api from '@/utils/api'; +import registerServer from '@/utils/registerServer'; +import request from '@/utils/request'; +import pureRequest from 'umi-request'; + +const { + create_kb, + update_kb, + rm_kb, + get_kb_detail, + kb_list, + get_document_list, + document_change_status, + document_rm, + document_create, + document_change_parser, + document_thumbnails, + chunk_list, + create_chunk, + set_chunk, + get_chunk, + switch_chunk, + rm_chunk, + retrieval_test, + document_rename, + document_run, + get_document_file, + document_upload, + web_crawl, +} = api; + +const methods = { + // 知识库管理 + createKb: { + url: create_kb, + method: 'post', + }, + updateKb: { + url: update_kb, + method: 'post', + }, + rmKb: { + url: rm_kb, + method: 'post', + }, + get_kb_detail: { + url: get_kb_detail, + method: 'get', + }, + getList: { + url: kb_list, + method: 'get', + }, + // 文件管理 + get_document_list: { + url: get_document_list, + method: 'get', + }, + document_change_status: { + url: document_change_status, + method: 'post', + }, + document_rm: { + url: document_rm, + method: 'post', + }, + document_rename: { + url: document_rename, + method: 'post', + }, + document_create: { + url: document_create, + method: 'post', + }, + document_run: { + url: document_run, + method: 'post', + }, + document_change_parser: { + url: document_change_parser, + method: 'post', + }, + document_thumbnails: { + url: document_thumbnails, + method: 'get', + }, + document_upload: { + url: document_upload, + method: 'post', + }, + web_crawl: { + url: web_crawl, + method: 'post', + }, + // chunk管理 + chunk_list: { + url: chunk_list, + method: 'post', + }, + create_chunk: { + url: create_chunk, + method: 'post', + }, + set_chunk: { + url: set_chunk, + method: 'post', + }, + get_chunk: { + url: get_chunk, + method: 'get', + }, + switch_chunk: { + url: switch_chunk, + method: 'post', + }, + rm_chunk: { + url: rm_chunk, + method: 'post', + }, + retrieval_test: { + url: retrieval_test, + method: 'post', + }, +}; + +const kbService = registerServer(methods, request); + +export const getDocumentFile = (documentId: string) => { + return pureRequest(get_document_file + '/' + documentId, { + responseType: 'blob', + method: 'get', + parseResponse: false, + // getResponse: true, + }) + .then((res) => { + const x = res.headers.get('content-disposition'); + console.info(res); + console.info(x); + return res.blob(); + }) + .then((res) => { + // const objectURL = URL.createObjectURL(res); + + // let btn = document.createElement('a'); + + // btn.download = '文件名.pdf'; + + // btn.href = objectURL; + + // btn.click(); + + // URL.revokeObjectURL(objectURL); + + // btn = null; + + return res; + }) + .catch((err) => { + console.info(err); + }); +}; + +export default kbService; diff --git a/web/src/services/userService.ts b/web/src/services/user-service.ts similarity index 94% rename from web/src/services/userService.ts rename to web/src/services/user-service.ts index a4931942c..71e857a92 100644 --- a/web/src/services/userService.ts +++ b/web/src/services/user-service.ts @@ -1,88 +1,88 @@ -import api from '@/utils/api'; -import registerServer from '@/utils/registerServer'; -import request from '@/utils/request'; - -const { - login, - logout, - register, - setting, - user_info, - tenant_info, - factories_list, - llm_list, - my_llm, - set_api_key, - set_tenant_info, - add_llm, - delete_llm, - getSystemStatus, - getSystemVersion, -} = api; - -const methods = { - login: { - url: login, - method: 'post', - }, - logout: { - url: logout, - method: 'get', - }, - register: { - url: register, - method: 'post', - }, - setting: { - url: setting, - method: 'post', - }, - user_info: { - url: user_info, - method: 'get', - }, - get_tenant_info: { - url: tenant_info, - method: 'get', - }, - set_tenant_info: { - url: set_tenant_info, - method: 'post', - }, - factories_list: { - url: factories_list, - method: 'get', - }, - llm_list: { - url: llm_list, - method: 'get', - }, - my_llm: { - url: my_llm, - method: 'get', - }, - set_api_key: { - url: set_api_key, - method: 'post', - }, - add_llm: { - url: add_llm, - method: 'post', - }, - delete_llm: { - url: delete_llm, - method: 'post', - }, - getSystemStatus: { - url: getSystemStatus, - method: 'get', - }, - getSystemVersion: { - url: getSystemVersion, - method: 'get', - }, -} as const; - -const userService = registerServer(methods, request); - -export default userService; +import api from '@/utils/api'; +import registerServer from '@/utils/registerServer'; +import request from '@/utils/request'; + +const { + login, + logout, + register, + setting, + user_info, + tenant_info, + factories_list, + llm_list, + my_llm, + set_api_key, + set_tenant_info, + add_llm, + delete_llm, + getSystemStatus, + getSystemVersion, +} = api; + +const methods = { + login: { + url: login, + method: 'post', + }, + logout: { + url: logout, + method: 'get', + }, + register: { + url: register, + method: 'post', + }, + setting: { + url: setting, + method: 'post', + }, + user_info: { + url: user_info, + method: 'get', + }, + get_tenant_info: { + url: tenant_info, + method: 'get', + }, + set_tenant_info: { + url: set_tenant_info, + method: 'post', + }, + factories_list: { + url: factories_list, + method: 'get', + }, + llm_list: { + url: llm_list, + method: 'get', + }, + my_llm: { + url: my_llm, + method: 'get', + }, + set_api_key: { + url: set_api_key, + method: 'post', + }, + add_llm: { + url: add_llm, + method: 'post', + }, + delete_llm: { + url: delete_llm, + method: 'post', + }, + getSystemStatus: { + url: getSystemStatus, + method: 'get', + }, + getSystemVersion: { + url: getSystemVersion, + method: 'get', + }, +} as const; + +const userService = registerServer(methods, request); + +export default userService; diff --git a/web/src/wrappers/auth.tsx b/web/src/wrappers/auth.tsx index f12ebaff1..1136a3403 100644 --- a/web/src/wrappers/auth.tsx +++ b/web/src/wrappers/auth.tsx @@ -1,13 +1,13 @@ -import { useAuth } from '@/hooks/authHook'; -import { Navigate, Outlet } from 'umi'; - -export default () => { - const { isLogin } = useAuth(); - if (isLogin === true) { - return ; - } else if (isLogin === false) { - return ; - } - - return <>; -}; +import { useAuth } from '@/hooks/auth-hooks'; +import { Navigate, Outlet } from 'umi'; + +export default () => { + const { isLogin } = useAuth(); + if (isLogin === true) { + return ; + } else if (isLogin === false) { + return ; + } + + return <>; +};