fix:修正对话附加bug,删除无用id
This commit is contained in:
16
src/App.js
16
src/App.js
@@ -15,7 +15,6 @@ import { requestBotReply } from "./dsAPI";
|
||||
export default function App() {
|
||||
const [messages, setMessages] = useState([
|
||||
{
|
||||
id: 0,
|
||||
role: "assistant",
|
||||
content: "你好,有什么可以帮你?",
|
||||
},
|
||||
@@ -26,7 +25,6 @@ export default function App() {
|
||||
const [isSending, setIsSending] = useState(false);
|
||||
const [isBotTyping, setIsBotTyping] = useState(false);
|
||||
|
||||
const msgIdRef = useRef(1);
|
||||
const bottomRef = useRef(null);
|
||||
|
||||
useEffect(() => {
|
||||
@@ -38,12 +36,12 @@ export default function App() {
|
||||
if (!text || isSending) return;
|
||||
|
||||
const userMessage = {
|
||||
id: msgIdRef.current++,
|
||||
role: "user",
|
||||
content: text,
|
||||
};
|
||||
|
||||
setMessages((prev) => [...prev, userMessage]);
|
||||
const nextMessages = [...messages, userMessage];
|
||||
setMessages(nextMessages);
|
||||
setInputText("");
|
||||
setIsSending(true);
|
||||
setIsBotTyping(true);
|
||||
@@ -51,8 +49,7 @@ export default function App() {
|
||||
// 给模型的上下文
|
||||
const historyForModel = [
|
||||
{ role: "system", content: "你是一个简洁的助手,用中文回答。" },
|
||||
...messages.map(({ role, content }) => ({ role, content })),
|
||||
{ role: "user", content: text },
|
||||
...nextMessages.map(({ role, content }) => ({ role, content })),
|
||||
];
|
||||
|
||||
let reply = "";
|
||||
@@ -63,7 +60,6 @@ export default function App() {
|
||||
}
|
||||
|
||||
const botMessage = {
|
||||
id: msgIdRef.current++,
|
||||
role: "assistant",
|
||||
content: reply,
|
||||
};
|
||||
@@ -81,11 +77,6 @@ export default function App() {
|
||||
}
|
||||
|
||||
return (
|
||||
// min-h-screen 最小高度 = 整个屏幕高度
|
||||
// bg-gradient-to-b 背景是 从上到下的渐变
|
||||
// from-background 渐变起点颜色
|
||||
// to-content2/50 渐变终点颜色 /50 = 50% 透明度
|
||||
// p-4 控制四周内距
|
||||
<div className="min-h-screen bg-gradient-to-b from-background to-content2/50 p-4">
|
||||
<div className="mx-auto max-w-3xl">
|
||||
<Card className="shadow-xl">
|
||||
@@ -109,7 +100,6 @@ export default function App() {
|
||||
const isUser = m.role === "user";
|
||||
return (
|
||||
<div
|
||||
key={m.id}
|
||||
className={`flex ${isUser ? "justify-end" : "justify-start"}`}
|
||||
>
|
||||
<div
|
||||
|
||||
Reference in New Issue
Block a user