fix
This commit is contained in:
@@ -2,18 +2,24 @@ import { Button, Drawer, Input, Space, message } from 'antd';
|
||||
import { useChat } from "ai/react";
|
||||
import { CodeHighlight } from "@mantine/code-highlight";
|
||||
import { DownloadOutlined } from '@ant-design/icons';
|
||||
import { useEffect, useRef } from 'react';
|
||||
import { useRef, useEffect } from 'react';
|
||||
import { useSessionStorage } from 'react-use';
|
||||
|
||||
export default function ChatAIDrawer({ open, onClose, onExport }) {
|
||||
const STORAGE_KEY = 'chat_history';
|
||||
const [storedMessages, setStoredMessages] = useSessionStorage(STORAGE_KEY, '[]');
|
||||
|
||||
const { messages, input, handleSubmit, handleInputChange, isLoading, setMessages } = useChat({
|
||||
api: "https://test-ai-quirkyai.vercel.app/api/chat",
|
||||
initialMessages: JSON.parse(localStorage.getItem(STORAGE_KEY) || '[]'),
|
||||
initialMessages: JSON.parse(storedMessages),
|
||||
});
|
||||
|
||||
const messagesEndRef = useRef(null);
|
||||
|
||||
// 当 messages 改变时,自动更新 session storage
|
||||
useEffect(() => {
|
||||
localStorage.setItem(STORAGE_KEY, JSON.stringify(messages));
|
||||
}, [messages]);
|
||||
setStoredMessages(JSON.stringify(messages));
|
||||
}, [messages, setStoredMessages]);
|
||||
|
||||
// 新消息时自动滚动到底部
|
||||
useEffect(() => {
|
||||
@@ -40,7 +46,7 @@ export default function ChatAIDrawer({ open, onClose, onExport }) {
|
||||
size="small"
|
||||
onClick={() => {
|
||||
setMessages([]);
|
||||
localStorage.removeItem(STORAGE_KEY);
|
||||
setStoredMessages('[]');
|
||||
message.success('历史记录已清空');
|
||||
}}
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user