Explorar el Código

增加跳转deepSeek按钮

李富豪 hace 11 meses
padre
commit
075bc4181c
Se han modificado 3 ficheros con 36 adiciones y 12 borrados
  1. 5 1
      app/components/DeekSeek.tsx
  2. 22 10
      app/components/DeepSeekChat.tsx
  3. 9 1
      app/components/chat.tsx

+ 5 - 1
app/components/DeekSeek.tsx

@@ -1,4 +1,5 @@
 import * as React from 'react';
+import { useNavigate } from "react-router-dom";
 import { Chat } from './DeepSeekChat';
 import whiteLogo from "../icons/whiteLogo.png";
 import jkxz from "../icons/jkxz.png";
@@ -9,6 +10,9 @@ import './deepSeek.scss';
 const DeekSeek: React.FC = () => {
     const chatStore = useChatStore();
     const isMobileScreen = useMobileScreen();
+
+    const navigate = useNavigate();
+
     const [list, setList] = React.useState<{ title: string, onClick?: () => void }[]>([]);
 
     React.useEffect(() => {
@@ -17,7 +21,7 @@ const DeekSeek: React.FC = () => {
             {
                 title: '知识库问答',
                 onClick: () => {
-                    window.open('http://xia0miduo.gicp.net:3002/', '_blank');
+                    navigate({ pathname: '/' })
                 }
             },
             {

+ 22 - 10
app/components/DeepSeekChat.tsx

@@ -21,10 +21,8 @@ import SizeIcon from "../icons/size.svg";
 import avatar from "../icons/aiIcon.png";
 
 import {
-  ChatMessage,
   SubmitKey,
   useChatStore,
-  createMessage,
   useAccessStore,
   Theme,
   useAppConfig,
@@ -49,6 +47,7 @@ import dynamic from "next/dynamic";
 
 import { ChatControllerPool } from "../client/controller";
 import { DalleSize } from "../typing";
+import type { RequestMessage } from "../client/api";
 import { Prompt, usePromptStore } from "../store/prompt";
 import { useGlobalStore } from "../store";
 import Locale from "../locales";
@@ -62,7 +61,6 @@ import {
   Modal,
   Selector,
   showConfirm,
-  showPrompt,
   showToast,
 } from "./ui-lib";
 import { useNavigate, useLocation } from "react-router-dom";
@@ -75,23 +73,37 @@ import {
   ServiceProvider,
   Plugin,
 } from "../constant";
-import { Avatar } from "./emoji";
-import { ContextPrompts, MaskAvatar, MaskConfig } from "./mask";
+import { ContextPrompts, MaskConfig } from "./mask";
 import { useMaskStore } from "../store/mask";
 import { ChatCommandPrefix, useChatCommand, useCommand } from "../command";
 import { prettyObject } from "../utils/format";
 import { ExportMessageModal } from "./exporter";
 import { getClientConfig } from "../config/client";
 import { useAllModels } from "../utils/hooks";
-import { Button, message, Popover, Select } from 'antd';
-import { RightOutlined } from '@ant-design/icons';
-import api from "@/app/api/api";
+import { nanoid } from "nanoid";
 
+export function createMessage(override: Partial<ChatMessage>): ChatMessage {
+  return {
+    id: nanoid(),
+    date: new Date().toLocaleString(),
+    role: "user",
+    content: "",
+    ...override,
+  };
+}
 
-const BOT_HELLO = {
+export type ChatMessage = RequestMessage & {
+  date: string;
+  streaming?: boolean;
+  isError?: boolean;
+  id: string;
+  model?: ModelType;
+};
+
+export const BOT_HELLO: ChatMessage = createMessage({
   role: "assistant",
   content: '您好,我是小智',
-}
+});
 
 const Markdown = dynamic(async () => (await import("./markdown")).Markdown, {
   loading: () => <LoadingIcon />,

+ 9 - 1
app/components/chat.tsx

@@ -8,7 +8,7 @@ import React, {
   Fragment,
   RefObject,
 } from "react";
-
+import { CommentOutlined} from '@ant-design/icons';
 import SendWhiteIcon from "../icons/send-white.svg";
 import BrainIcon from "../icons/brain.svg";
 import RenameIcon from "../icons/rename.svg";
@@ -1611,6 +1611,14 @@ function _Chat() {
               />
             </div>
           )} */}
+          <IconButton
+            icon={<CommentOutlined  />}
+            bordered
+            title={Locale.Chat.Actions.Export}
+            onClick={()=>{
+              navigate({pathname:'/deepSeek'})
+            }}
+          />
           <div className="window-action-button">
             <Popover
               trigger="click"