wujingjing
2025-03-03 254816a712847b099184d84ca8631a50fb32f39e
src/components/chat/model/types.ts
@@ -2,9 +2,10 @@
import NormalTextCom from '../chatComponents/normalTextCom/NormalTextCom.vue';
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 ReportCom from '../chatComponents/reportCom/ReportCom.vue';
import ScriptMode from '../chatComponents/scriptMode/ScriptMode.vue';
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',
@@ -12,6 +13,9 @@
   Summary = 'summary',
   Url = 'url',
   Map = 'map',
   Report = 'report_list',
   Script = 'script',
}
export const answerTypeMapCom = {
@@ -19,12 +23,12 @@
   [AnswerType.RecordSet]: RecordSetCom,
   [AnswerType.Text]: NormalTextCom,
   [AnswerType.Summary]: SummaryCom,
   [AnswerType.Script]: ScriptMode
};
export const enum RoleEnum {
   user = 'user',
   assistant = 'assistant',
   system = 'system',
}
export const AnswerState = {
   Null: null,
@@ -35,17 +39,19 @@
export type AnswerStateType = typeof AnswerState;
export type ContextHistory = {
   /** @description 数字字符串 */
   ratio:string;
   history_id:string;
   question:string;
}
   ratio: string;
   history_id: string;
   question: string;
};
export type ChatContent = {
   type: AnswerType;
   values: any;
   msg?: string;
   askMoreList?:ContextHistory[];
   errCode?:string;
   origin?:any;
   askMoreList?: ContextHistory[];
   errCode?: string;
   errMsg?: string;
   origin?: any;
   createTime?: string;
};
export interface ChatMessage {
@@ -53,10 +59,48 @@
   role: RoleEnum;
   content?: ChatContent;
   state?: null | '1' | '0';
   createTime?: string;
   stepGroup?: { value: StepItem[]; isShow: 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',
   InputSelect = 'input-select',
   Summary = 'summary',
   Result = 'result',
   TimeRange = 'time_range',
}
type SubStep = {
   data: any;
   type: MultiChatType;
};
export type StepItem = {
   title: string;
   status: StepEnum;
   // 消耗时间
   ms?: string | number;
   subStep?: SubStep[];
   // isLoading?:boolean;
   /** @description 临时使用,控制强制不显示 loading */
   finishLoading?:boolean;
};