This commit is contained in:
2025-12-20 19:06:00 +08:00
parent 37224e3f95
commit 6c1aa13498
12 changed files with 755 additions and 5 deletions

View File

@@ -33,6 +33,7 @@ declare module 'shared/components/iframe/IframeView.vue' {
const IframeView: DefineComponent<{}, {}, any>
export default IframeView
}
declare module 'shared/components/ai/knowledge/DocumentSegment.vue' {
import { DefineComponent } from 'vue'
const DocumentSegment: DefineComponent<{}, {}, any>
@@ -47,7 +48,28 @@ declare module 'shared/components/ai/knowledge/DocumentDetail.vue' {
declare module 'shared/components/chatRoom/ChatRoom.vue' {
import { DefineComponent } from 'vue'
const ChatRoom: DefineComponent<{}, {}, any>
interface ChatMessageVO {
messageId: string
senderId: string
senderName: string
senderAvatar: string
content: string
files: string[]
sendTime: string
}
const ChatRoom: DefineComponent<{
messages: ChatMessageVO[]
currentUserId: string
roomName?: string
meetingUrl?: string
showMeeting?: boolean
fileDownloadUrl?: string
}, {}, {}, {}, {}, {}, {}, {
header?: () => any
'action-area'?: () => any
}>
export default ChatRoom
}
@@ -118,7 +140,18 @@ declare module 'shared/types' {
export type {
TbWorkcaseDTO,
TbWorkcaseProcessDTO,
TbWorkcaseDeviceDTO
TbWorkcaseDeviceDTO,
// 聊天室相关
TbChatRoomDTO,
TbChatMessageDTO,
TbChatRoomMemberDTO,
ChatRoomVO,
ChatMessageVO,
ChatMemberVO,
VideoMeetingVO,
SendMessageParam,
CreateMeetingParam,
MarkReadParam
} from '../../../shared/src/types/workcase'
// 重新导出 menu

View File

@@ -48,7 +48,28 @@ declare module 'shared/components/ai/knowledge/DocumentDetail.vue' {
declare module 'shared/components/chatRoom/ChatRoom.vue' {
import { DefineComponent } from 'vue'
const ChatRoom: DefineComponent<{}, {}, any>
interface ChatMessageVO {
messageId: string
senderId: string
senderName: string
senderAvatar: string
content: string
files: string[]
sendTime: string
}
const ChatRoom: DefineComponent<{
messages: ChatMessageVO[]
currentUserId: string
roomName?: string
meetingUrl?: string
showMeeting?: boolean
fileDownloadUrl?: string
}, {}, {}, {}, {}, {}, {}, {
header?: () => any
'action-area'?: () => any
}>
export default ChatRoom
}
@@ -119,7 +140,18 @@ declare module 'shared/types' {
export type {
TbWorkcaseDTO,
TbWorkcaseProcessDTO,
TbWorkcaseDeviceDTO
TbWorkcaseDeviceDTO,
// 聊天室相关
TbChatRoomDTO,
TbChatMessageDTO,
TbChatRoomMemberDTO,
ChatRoomVO,
ChatMessageVO,
ChatMemberVO,
VideoMeetingVO,
SendMessageParam,
CreateMeetingParam,
MarkReadParam
} from '../../../shared/src/types/workcase'
// 重新导出 menu

View 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[]
}

View File

@@ -1 +1,2 @@
export * from "./workcase"
export * from "./chatRoom"

View File

@@ -140,7 +140,18 @@ declare module 'shared/types' {
export type {
TbWorkcaseDTO,
TbWorkcaseProcessDTO,
TbWorkcaseDeviceDTO
TbWorkcaseDeviceDTO,
// 聊天室相关
TbChatRoomDTO,
TbChatMessageDTO,
TbChatRoomMemberDTO,
ChatRoomVO,
ChatMessageVO,
ChatMemberVO,
VideoMeetingVO,
SendMessageParam,
CreateMeetingParam,
MarkReadParam
} from '../../../shared/src/types/workcase'
// 重新导出 menu