From 605467fb93b73eb3d019933f7499ec8ad1837420 Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期三, 18 十二月 2024 14:51:11 +0800
Subject: [PATCH] 流式回答展示

---
 src/components/chat/model/types.ts |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 52 insertions(+), 5 deletions(-)

diff --git a/src/components/chat/model/types.ts b/src/components/chat/model/types.ts
index 67f1e76..6128cea 100644
--- a/src/components/chat/model/types.ts
+++ b/src/components/chat/model/types.ts
@@ -3,14 +3,16 @@
 import knowledgeCom from '../chatComponents/knowledgeCom/KnowledgeCom.vue';
 import SummaryCom from '../chatComponents/summaryCom/SummaryCom.vue';
 
-import assistantPic from '../images/assistant.jpg';
-import userPic from '../images/user.svg';
+import assistantPic from '/static/images/role/assistant-200x192.png';
+import userPic from '/static/images/role/user-200x206.png';
 export const enum AnswerType {
 	Knowledge = 'knowledge',
 	RecordSet = 'recordset',
 	Text = 'text',
 	Summary = 'summary',
 	Url = 'url',
+	Map = 'map',
+	// Report = 'report',
 }
 
 export const answerTypeMapCom = {
@@ -18,12 +20,12 @@
 	[AnswerType.RecordSet]: RecordSetCom,
 	[AnswerType.Text]: NormalTextCom,
 	[AnswerType.Summary]: SummaryCom,
+	// [AnswerType.Report]: ReportCom,
 };
 
 export const enum RoleEnum {
 	user = 'user',
 	assistant = 'assistant',
-	system = 'system',
 }
 export const AnswerState = {
 	Null: null,
@@ -32,11 +34,21 @@
 };
 
 export type AnswerStateType = typeof AnswerState;
+export type ContextHistory = {
+	/** @description 鏁板瓧瀛楃涓� */
+	ratio: string;
+	history_id: string;
+	question: string;
+};
 
 export type ChatContent = {
 	type: AnswerType;
 	values: any;
-	error?:string;
+	askMoreList?: ContextHistory[];
+	errCode?: string;
+	errMsg?: string;
+	origin?: any;
+	createTime?: string;
 };
 
 export interface ChatMessage {
@@ -44,10 +56,45 @@
 	role: RoleEnum;
 	content?: ChatContent;
 	state?: null | '1' | '0';
+	sectionAId?: string;
+	createTime?: string;
+	stepList?: StepItem[];
+	stepIsShow?: boolean;
+	isStopMsg?: boolean;
+	/** @description 鏄惁琚�夋嫨鍒嗕韩 */
+	isChecked: boolean;
+	conclusion?: any[];
 }
 
 export const roleImageMap = {
 	[RoleEnum.user]: userPic,
 	[RoleEnum.assistant]: assistantPic,
-	[RoleEnum.system]: userPic,
+};
+
+export const enum StepEnum {
+	Loading,
+	Success,
+	Error,
+}
+export const stepEnumMap = {
+	[StepEnum.Loading]: 'process',
+	[StepEnum.Success]: 'process',
+	[StepEnum.Error]: 'process',
+};
+export const enum MultiChatType {
+	Select = 'select',
+	Summary = 'summary',
+	Result = 'result',
+}
+type SubStep = {
+	data:any;
+	type: MultiChatType;
+};
+
+export type StepItem = {
+	title: string;
+	status: StepEnum;
+	// 娑堣�楁椂闂�
+	ms?: string | number;
+	subStep?: SubStep[];
 };

--
Gitblit v1.9.3