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 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',
|
Text = 'text',
|
Summary = 'summary',
|
Url = 'url',
|
Map = 'map',
|
Report = 'report_list',
|
Script = 'script',
|
|
}
|
|
export const answerTypeMapCom = {
|
[AnswerType.Knowledge]: knowledgeCom,
|
[AnswerType.RecordSet]: RecordSetCom,
|
[AnswerType.Text]: NormalTextCom,
|
[AnswerType.Summary]: SummaryCom,
|
[AnswerType.Script]: ScriptMode
|
};
|
|
export const enum RoleEnum {
|
user = 'user',
|
assistant = 'assistant',
|
}
|
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;
|
askMoreList?: ContextHistory[];
|
errCode?: string;
|
errMsg?: string;
|
origin?: any;
|
createTime?: string;
|
};
|
|
export interface ChatMessage {
|
historyId: string;
|
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,
|
};
|
|
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;
|
};
|