dto、vo
This commit is contained in:
194
urbanLifelineWeb/packages/shared/src/types/workcase/chatRoom.ts
Normal file
194
urbanLifelineWeb/packages/shared/src/types/workcase/chatRoom.ts
Normal file
@@ -0,0 +1,194 @@
|
||||
import { BaseVO } from '../base'
|
||||
import { BaseDTO } from '../base'
|
||||
|
||||
// ==================== DTO ====================
|
||||
|
||||
/**
|
||||
* 聊天室DTO
|
||||
*/
|
||||
export interface TbChatRoomDTO extends BaseDTO {
|
||||
roomId?: string
|
||||
workcaseId?: string
|
||||
roomName?: string
|
||||
roomType?: string
|
||||
status?: string
|
||||
guestId?: string
|
||||
guestName?: string
|
||||
aiSessionId?: string
|
||||
currentAgentId?: string
|
||||
agentCount?: number
|
||||
messageCount?: number
|
||||
unreadCount?: number
|
||||
lastMessageTime?: string
|
||||
lastMessage?: string
|
||||
closedBy?: string
|
||||
closedTime?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 聊天消息DTO
|
||||
*/
|
||||
export interface TbChatMessageDTO extends BaseDTO {
|
||||
messageId?: string
|
||||
roomId?: string
|
||||
senderId?: string
|
||||
senderType?: string
|
||||
senderName?: string
|
||||
messageType?: string
|
||||
content?: string
|
||||
files?: string[]
|
||||
contentExtra?: Record<string, any>
|
||||
replyToMsgId?: string
|
||||
isAiMessage?: boolean
|
||||
aiMessageId?: string
|
||||
status?: string
|
||||
readCount?: number
|
||||
sendTime?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 聊天室成员DTO
|
||||
*/
|
||||
export interface TbChatRoomMemberDTO extends BaseDTO {
|
||||
memberId?: string
|
||||
roomId?: string
|
||||
userId?: string
|
||||
userType?: string
|
||||
userName?: string
|
||||
role?: string
|
||||
status?: string
|
||||
unreadCount?: number
|
||||
lastReadTime?: string
|
||||
lastReadMsgId?: string
|
||||
joinTime?: string
|
||||
leaveTime?: string
|
||||
}
|
||||
|
||||
// ==================== VO ====================
|
||||
|
||||
/**
|
||||
* 聊天室VO
|
||||
* 用于前端展示聊天室信息
|
||||
*/
|
||||
export interface ChatRoomVO extends BaseVO {
|
||||
roomId?: string
|
||||
workcaseId?: string
|
||||
roomName?: string
|
||||
roomType?: string
|
||||
status?: string
|
||||
guestId?: string
|
||||
guestName?: string
|
||||
aiSessionId?: string
|
||||
currentAgentId?: string
|
||||
currentAgentName?: string
|
||||
agentCount?: number
|
||||
messageCount?: number
|
||||
unreadCount?: number
|
||||
lastMessageTime?: string
|
||||
lastMessage?: string
|
||||
closedBy?: string
|
||||
closedByName?: string
|
||||
closedTime?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 聊天消息VO
|
||||
* 用于前端展示聊天消息
|
||||
*/
|
||||
export interface ChatMessageVO extends BaseVO {
|
||||
messageId?: string
|
||||
roomId?: string
|
||||
senderId?: string
|
||||
senderType?: string
|
||||
senderName?: string
|
||||
senderAvatar?: string
|
||||
messageType?: string
|
||||
content?: string
|
||||
files?: string[]
|
||||
fileCount?: number
|
||||
contentExtra?: Record<string, any>
|
||||
replyToMsgId?: string
|
||||
replyToMsgContent?: string
|
||||
isAiMessage?: boolean
|
||||
aiMessageId?: string
|
||||
status?: string
|
||||
readCount?: number
|
||||
sendTime?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 聊天室成员VO
|
||||
* 用于前端展示聊天室成员信息
|
||||
*/
|
||||
export interface ChatMemberVO extends BaseVO {
|
||||
memberId?: string
|
||||
roomId?: string
|
||||
userId?: string
|
||||
userType?: string
|
||||
userName?: string
|
||||
userAvatar?: string
|
||||
role?: string
|
||||
status?: string
|
||||
unreadCount?: number
|
||||
lastReadTime?: string
|
||||
lastReadMsgId?: string
|
||||
joinTime?: string
|
||||
leaveTime?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 视频会议VO
|
||||
* 用于前端展示Jitsi Meet会议信息
|
||||
*/
|
||||
export interface VideoMeetingVO extends BaseVO {
|
||||
meetingId?: string
|
||||
roomId?: string
|
||||
workcaseId?: string
|
||||
meetingName?: string
|
||||
meetingPassword?: string
|
||||
jwtToken?: string
|
||||
jitsiRoomName?: string
|
||||
jitsiServerUrl?: string
|
||||
status?: string
|
||||
creatorId?: string
|
||||
creatorType?: string
|
||||
creatorName?: string
|
||||
participantCount?: number
|
||||
maxParticipants?: number
|
||||
startTime?: string
|
||||
endTime?: string
|
||||
durationSeconds?: number
|
||||
durationFormatted?: string
|
||||
iframeUrl?: string
|
||||
config?: Record<string, any>
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送消息参数
|
||||
*/
|
||||
export interface SendMessageParam {
|
||||
roomId: string
|
||||
content: string
|
||||
files?: string[]
|
||||
messageType?: string
|
||||
replyToMsgId?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建会议参数
|
||||
*/
|
||||
export interface CreateMeetingParam {
|
||||
roomId: string
|
||||
workcaseId: string
|
||||
meetingName?: string
|
||||
meetingPassword?: string
|
||||
maxParticipants?: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 标记已读参数
|
||||
*/
|
||||
export interface MarkReadParam {
|
||||
roomId: string
|
||||
messageIds?: string[]
|
||||
}
|
||||
@@ -1 +1,2 @@
|
||||
export * from "./workcase"
|
||||
export * from "./chatRoom"
|
||||
|
||||
Reference in New Issue
Block a user