@tencentcloud/chat-uikit-vue2
Version:
TUIKit 是基于 IM SDK 实现的一套 UI 组件,其包含会话、聊天、群组、个人资料等功能,基于 TUIKit 组件您可以像搭积木一样快速搭建起自己的业务逻辑。
77 lines (68 loc) • 2.43 kB
text/typescript
import TUIChatEngine from '@tencentcloud/chat-uikit-engine';
export type SEARCH_TYPE = 'global' | 'conversation';
// 消息搜索结果类型展示摘要
// 不支持类型:
// TYPES.MSG_FACE / TYPES.MSG_GRP_TIP / TYPES.MSG_GRP_SYS_NOTICE
export const messageTypeAbstractMap: Record<string, string> = {
[TUIChatEngine.TYPES.MSG_TEXT]: '[文本]',
[TUIChatEngine.TYPES.MSG_IMAGE]: '[图片]',
[TUIChatEngine.TYPES.MSG_AUDIO]: '[语音]',
[TUIChatEngine.TYPES.MSG_VIDEO]: '[视频]',
[TUIChatEngine.TYPES.MSG_FILE]: '[文件]',
[TUIChatEngine.TYPES.MSG_CUSTOM]: '[自定义消息]',
[TUIChatEngine.TYPES.MSG_SYSTEM]: '[系统消息]',
[TUIChatEngine.TYPES.MSG_MERGER]: '[合并消息]',
[TUIChatEngine.TYPES.MSG_LOCATION]: '[位置消息]',
};
export const searchResultItemDisplayType = {
INFO: 'info', // 正常信息流展示
BUBBLE: 'bubble', // 消息气泡展示
FILE: 'file', // 文件列表类型展示
IMAGE: 'image', // 图片合集形式展示
};
export type searchResultItemDisplayTypeKeys = keyof typeof searchResultItemDisplayType;
export type searchResultItemDisplayTypeValues = typeof searchResultItemDisplayType[searchResultItemDisplayTypeKeys];
export const searchMessageType = {
// CONTACT: "contact", // 联系人搜索,暂不支持
// GROUP: "group", // 群组搜索,暂不支持
ALL_MESSAGE: 'allMessage', // 聊天记录-全部
TEXT_MESSAGE: 'textMessage', // 聊天记录-文本
IMAGE_MESSAGE: 'imageMessage', // 聊天记录-图片
FILE_MESSAGE: 'fileMessage', // 聊天记录-文件
OTHER_MESSAGE: 'otherMessage', // 聊天记录-其他
};
export type searchMessageTypeKeys = keyof typeof searchMessageType;
export type searchMessageTypeValues = typeof searchMessageType[searchMessageTypeKeys];
export interface ISearchInputValue {
value: string;
searchType: SEARCH_TYPE;
}
export interface ISearchTypeTab {
key: string;
label: string;
value: string | string[];
}
export interface ISearchMessageType {
value: ISearchTypeTab;
searchType: SEARCH_TYPE;
}
export interface ISearchTimeTab {
key: string;
label: string;
value: {
timePosition: number;
timePeriod: number;
};
}
export interface ISearchMessageTime {
value: ISearchTimeTab;
searchType: SEARCH_TYPE;
}
export interface ISearchingStatus {
isSearching: boolean;
searchType: string;
}
export interface IHighlightContent {
text: string;
isHighlight: boolean;
}