chat-pc/src/types/chat.ts

151 lines
3.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 会话最后一条消息
export interface ISessionLastMessage {
msg_id: string // 消息ID
sequence: number // 消息时序ID消息排序
msg_type: number // 消息类型
user_id: number // 发送者ID
receiver_id: number // 接受者ID
content: string // 消息内容
mention: number[] // 提及列表
}
// 会话列表
export interface ISession {
id: number // 会话id
index_name: string // 索引名称
talk_type: number // 聊天类型
receiver_id: number // 接收者id
name: string // 昵称
avatar: string // 头像
remark: string // 备注
is_disturb: number // 是否免打扰
is_online: number // 是否在线
is_robot: number // 是否机器人
is_top: number // 置顶
unread_num: number // 未读消息数
updated_at: string // 最后发送时间
content?: string // 消息内容
last_message?: ISessionLastMessage
draft_text?: string // 草稿文本
}
// 消息记录
export interface ITalkRecord {
msg_id: string
sequence: number
talk_type: number
msg_type: number
user_id: number
receiver_id: number
nickname: string
avatar: string
is_revoke: number
is_mark: number
is_read: number
content: string
created_at: string
extra: any
isCheck: boolean
send_status: number
float: string,
is_convert_text?:number//语音记录的 是否是在展示转文本状态 1是 0否,
erp_user_id:number
}
export interface ITalkRecordExtraText {
content: string
mentions?: number[]
}
export interface ITalkRecordExtraCode {
lang: string
code: string
}
export interface ITalkRecordExtraFile {
drive: number
name: string
path: string
size: number
percentage: number
}
export interface ITalkRecordExtraForward {
msg_ids: number[]
receiver_id: number
records: {
nickname: string
text: string
}[]
talk_type: number
user_id: number
}
export interface ITalkRecordExtraGroupNotice {
owner_id: number
owner_name: string
title: number
content: string
}
export interface ITalkRecordExtraVideo {
cover: string
url: string
duration: number
size: number
is_uploading?: boolean
upload_id?: string
percentage?: number
}
export interface ITalkRecordExtraMixed {
items: {
type: number
content: string
link: string
}[]
}
export interface ITalkRecordExtraAudio {
name: string
size: number
url: string
duration: number
}
export interface ITalkRecordExtraLogin {
ip: string
address: string
agent: string
platform: string
reason: string
datetime: string
}
export interface ITalkRecordExtraImage {
name: string
size: number
url: string
width: number
height: number
}
export interface GroupInfo {
avatar: string;
created_at: string;
deptInfos: any[]; // 如果有具体结构可以进一步细化
group_id: number;
group_name: string;
group_num: number;
group_type: number;
is_disturb: number;
is_last_manager: boolean;
is_manager: boolean;
is_mute: number;
is_overt: number;
latest_notice_content: string;
latest_notice_title: string;
positionInfos: any[]; // 如果有具体结构可以进一步细化
profile: string;
visit_card: string;
};