2024-12-24 08:14:21 +00:00
|
|
|
|
// 会话最后一条消息
|
|
|
|
|
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
|
2025-05-16 07:20:35 +00:00
|
|
|
|
float: string,
|
|
|
|
|
is_convert_text?:number//语音记录的 是否是在展示转文本状态 1:是 0:否,
|
|
|
|
|
erp_user_id:number
|
|
|
|
|
|
2024-12-24 08:14:21 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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
|
2025-05-14 03:50:52 +00:00
|
|
|
|
percentage: number
|
2024-12-24 08:14:21 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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
|
2025-05-14 03:50:52 +00:00
|
|
|
|
is_uploading?: boolean
|
|
|
|
|
upload_id?: string
|
|
|
|
|
percentage?: number
|
2024-12-24 08:14:21 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
}
|
2025-05-22 07:07:27 +00:00
|
|
|
|
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;
|
|
|
|
|
};
|