diff --git a/src/chat/__tests__/useChat.test.ts b/src/chat/__tests__/useChat.test.ts index aa5c5e3e3..d94ed7df1 100644 --- a/src/chat/__tests__/useChat.test.ts +++ b/src/chat/__tests__/useChat.test.ts @@ -138,21 +138,21 @@ describe('Test useChat', () => { act(() => { result.current.message.update(mockPrompt.id, mockMessage.id, (m) => ({ ...m, - assistantId: 111, + assistantId: '111', })); }); expect(result.current.message.get(mockPrompt.id, mockMessage.id)).toEqual( - new BaseMessage({ ...mockMessage, assistantId: 111 }) + new BaseMessage({ ...mockMessage, assistantId: '111' }) ); fn.mockRestore(); act(() => { result.current.message.update(mockPrompt.id, mockMessage.id, { - assistantId: 123, + assistantId: '123', }); }); expect(result.current.message.get(mockPrompt.id, mockMessage.id)).toEqual( - new BaseMessage({ ...mockMessage, assistantId: 123 }) + new BaseMessage({ ...mockMessage, assistantId: '123' }) ); expect(fn).toBeCalledTimes(1); @@ -162,13 +162,13 @@ describe('Test useChat', () => { mockMessage.id, (m) => ({ ...m, - assistantId: 111, + assistantId: '111', }), false ); }); expect(result.current.message.get(mockPrompt.id, mockMessage.id)).toEqual( - new BaseMessage({ ...mockMessage, assistantId: 111 }) + new BaseMessage({ ...mockMessage, assistantId: '111' }) ); expect(fn).toBeCalledTimes(1); @@ -418,7 +418,7 @@ describe('Test useChat', () => { act(() => { result.current.message.create(mockPrompt.id, mockMessage); result.current.message.update(mockPrompt.id, mockMessage.id, { - assistantId: 1, + assistantId: '1', }); result.current.message.remove(mockPrompt.id, mockMessage.id); }); @@ -428,7 +428,7 @@ describe('Test useChat', () => { result.current.conversation.create(mockConversation); result.current.prompt.update(mockPrompt.id, { assistantId: 'assistant_prompt_id' }); result.current.message.create(mockPrompt.id, mockMessage); - result.current.message.update(mockPrompt.id, mockMessage.id, { assistantId: 1 }); + result.current.message.update(mockPrompt.id, mockMessage.id, { assistantId: '1' }); result.current.message.remove(mockPrompt.id, mockMessage.id); }); expect(result.error).toBeUndefined(); diff --git a/src/chat/codeBlock/index.tsx b/src/chat/codeBlock/index.tsx index b72e42266..a02a7362b 100644 --- a/src/chat/codeBlock/index.tsx +++ b/src/chat/codeBlock/index.tsx @@ -3,12 +3,13 @@ import { Prism as SyntaxHighlighter, SyntaxHighlighterProps } from 'react-syntax import { oneLight } from 'react-syntax-highlighter/dist/cjs/styles/prism'; import classNames from 'classnames'; -import Copy, { type ICopyProps } from '../../copy'; +import Copy from '../../copy'; import { CopyIcon } from '../icon'; +import { CopyOptions } from '../useContext'; import './index.scss'; export interface ICodeBlockProps { - copy?: boolean | ICopyProps; + copy?: boolean | CopyOptions; className?: string; style?: React.CSSProperties; convert?: boolean; @@ -34,7 +35,7 @@ export default function CodeBlock({ return { value, language }; }, [children]); - const copy = useMemo<{ disabled: boolean; options: Partial }>(() => { + const copy = useMemo<{ disabled: boolean; options: CopyOptions }>(() => { if (typeof rawCopy === 'boolean') { return { disabled: !rawCopy, diff --git a/src/chat/entity.ts b/src/chat/entity.ts index 78d746067..0c55c960c 100644 --- a/src/chat/entity.ts +++ b/src/chat/entity.ts @@ -43,7 +43,7 @@ export type PromptProperties = { export type MessageProperties = { id: Id; - assistantId?: number; + assistantId?: string; creator?: string; createdAt?: Timestamp; content?: string; @@ -100,7 +100,7 @@ export abstract class Prompt { export abstract class Message { id: Id; // 后端 Id - assistantId?: number; + assistantId?: string; creator?: string; createdAt: Timestamp; content: string; diff --git a/src/chat/markdown/index.scss b/src/chat/markdown/index.scss index 49a54fde1..11ec63b18 100644 --- a/src/chat/markdown/index.scss +++ b/src/chat/markdown/index.scss @@ -111,4 +111,7 @@ } } } + img { + max-width: 100%; + } } diff --git a/src/chat/markdown/index.tsx b/src/chat/markdown/index.tsx index 1718e8870..6e359a9ce 100644 --- a/src/chat/markdown/index.tsx +++ b/src/chat/markdown/index.tsx @@ -1,6 +1,7 @@ import React, { memo, type PropsWithChildren, useEffect } from 'react'; import ReactMarkdown from 'react-markdown'; import { type ReactMarkdownOptions } from 'react-markdown/lib/react-markdown'; +import { Image } from 'antd'; import classNames from 'classnames'; import remarkGfm from 'remark-gfm'; @@ -48,6 +49,9 @@ export default memo( hr() { return
; }, + img({ src, ...rest }) { + return ; + }, ...components, }} {...rest} diff --git a/src/chat/pagination/index.scss b/src/chat/pagination/index.scss index 9d356f779..9a7c5127a 100644 --- a/src/chat/pagination/index.scss +++ b/src/chat/pagination/index.scss @@ -1,4 +1,5 @@ .dtc-aigc-pagination { + user-select: none; display: flex; align-items: center; gap: 4px; diff --git a/src/chat/welcome/index.scss b/src/chat/welcome/index.scss index 5d67e64ea..e368631f0 100644 --- a/src/chat/welcome/index.scss +++ b/src/chat/welcome/index.scss @@ -1,6 +1,7 @@ $primaryGradient: #00BAC6 0%, #0067FF 50%, #450FDE 100%; .dtc__welcome { + border-radius: 8px; overflow: hidden; color: #FFF; background: linear-gradient(110deg, $primaryGradient) border-box;