wujingjing
2024-11-07 b006d0fefbcd38f9fe3d95a46519b2e5e6720d5c
src/components/chat/model/types.ts
@@ -1,39 +1,87 @@
import RecordSetCom from '../chatComponents/recordSetCom/RecordSetCom.vue';
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 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'
   Text = 'text',
   Summary = 'summary',
   Url = 'url',
   Map = 'map',
}
export const answerTypeMapCom = {
   [AnswerType.Knowledge]: RecordSetCom,
   [AnswerType.Knowledge]: knowledgeCom,
   [AnswerType.RecordSet]: RecordSetCom,
    [AnswerType.Text]:NormalTextCom
   [AnswerType.Text]: NormalTextCom,
   [AnswerType.Summary]: SummaryCom,
};
export const enum RoleEnum {
   user = 'user',
   assistant = 'assistant',
   system = 'system',
}
export const AnswerState = {
   Null: null,
   Like: '1',
   Unlike: '0',
};
export type AnswerStateType = typeof AnswerState;
export type ContextHistory = {
   /** @description 数字字符串 */
   ratio: string;
   history_id: string;
   question: string;
};
export type ChatContent = {
    type: AnswerType,
    values:any
}
   type: AnswerType;
   values: any;
   askMoreList?: ContextHistory[];
   errCode?: string;
   errMsg?: string;
   origin?: any;
   createTime?: string;
};
export interface ChatMessage {
   historyId: string;
   role: RoleEnum;
   content?: ChatContent;
   state?: null | '1' | '0';
   sectionAId?:string,
   createTime?:string,
   stepList:StepItem[],
   stepIsShow: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 type StepItem = {
   title: string;
   status: StepEnum;
   // 消耗时间
   ms?:string | number;
};