feat: chat
This commit is contained in:
32
src/views/chat/model/BaseConversation.ts
Normal file
32
src/views/chat/model/BaseConversation.ts
Normal file
@ -0,0 +1,32 @@
|
||||
import { MessageModelType } from '../types'
|
||||
|
||||
export default class BaseConversation {
|
||||
public id: string
|
||||
public avatar: string
|
||||
public name: string
|
||||
public description: string
|
||||
public createTime: number
|
||||
public updateTime: number
|
||||
public unreadCount: number
|
||||
public msgList: Array<MessageModelType>
|
||||
|
||||
constructor(
|
||||
id: string,
|
||||
avatar: string,
|
||||
name: string,
|
||||
descrition: string,
|
||||
createTime: number,
|
||||
updateTime: number,
|
||||
unreadCount: number,
|
||||
msgList: Array<MessageModelType>
|
||||
) {
|
||||
this.id = id
|
||||
this.avatar = avatar
|
||||
this.name = name
|
||||
this.description = descrition
|
||||
this.createTime = createTime
|
||||
this.updateTime = updateTime
|
||||
this.unreadCount = unreadCount
|
||||
this.msgList = msgList
|
||||
}
|
||||
}
|
||||
35
src/views/chat/model/BaseMessage.ts
Normal file
35
src/views/chat/model/BaseMessage.ts
Normal file
@ -0,0 +1,35 @@
|
||||
import { MessageRole, MessageType, SendStatus } from '../types'
|
||||
|
||||
export default class BaseMessage {
|
||||
id: string
|
||||
avatar: string
|
||||
nickname: string
|
||||
createTime: number
|
||||
isRead: boolean
|
||||
role: MessageRole
|
||||
sendStatus: SendStatus
|
||||
messageType: MessageType
|
||||
conversationId: string
|
||||
|
||||
constructor(
|
||||
id: string,
|
||||
avatar: string,
|
||||
nickname: string,
|
||||
createTime: number,
|
||||
isRead: boolean,
|
||||
role: MessageRole,
|
||||
sendStauts: SendStatus,
|
||||
messageType: MessageType,
|
||||
conversationId: string
|
||||
) {
|
||||
this.id = id
|
||||
this.avatar = avatar
|
||||
this.nickname = nickname
|
||||
this.createTime = createTime
|
||||
this.isRead = isRead
|
||||
this.role = role
|
||||
this.sendStatus = sendStauts
|
||||
this.messageType = messageType
|
||||
this.conversationId = conversationId
|
||||
}
|
||||
}
|
||||
17
src/views/chat/model/ChatConversation.ts
Normal file
17
src/views/chat/model/ChatConversation.ts
Normal file
@ -0,0 +1,17 @@
|
||||
import BaseConversation from './BaseConversation'
|
||||
import BaseMessage from './BaseMessage'
|
||||
|
||||
export class ChatConversation extends BaseConversation {
|
||||
constructor(
|
||||
id: string,
|
||||
avatar: string,
|
||||
name: string,
|
||||
descrition: string,
|
||||
createTime: number,
|
||||
updateTime: number,
|
||||
unreadCount: number,
|
||||
msgList: Array<BaseMessage>
|
||||
) {
|
||||
super(id, avatar, name, descrition, createTime, updateTime, unreadCount, msgList)
|
||||
}
|
||||
}
|
||||
22
src/views/chat/model/ImageMessage.ts
Normal file
22
src/views/chat/model/ImageMessage.ts
Normal file
@ -0,0 +1,22 @@
|
||||
import { MessageRole, MessageType, SendStatus } from '../types'
|
||||
import BaseMessage from './BaseMessage'
|
||||
|
||||
export default class ImageMessage extends BaseMessage {
|
||||
content: string
|
||||
|
||||
constructor(
|
||||
id: string,
|
||||
avatar: string,
|
||||
nickname: string,
|
||||
createTime: number,
|
||||
isRead: boolean,
|
||||
content: string,
|
||||
role: MessageRole,
|
||||
sendStatus: SendStatus,
|
||||
messageType: MessageType,
|
||||
conversationId: string
|
||||
) {
|
||||
super(id, avatar, nickname, createTime, isRead, role, sendStatus, messageType, conversationId)
|
||||
this.content = content
|
||||
}
|
||||
}
|
||||
22
src/views/chat/model/TextMessage.ts
Normal file
22
src/views/chat/model/TextMessage.ts
Normal file
@ -0,0 +1,22 @@
|
||||
import { MessageRole, MessageType, SendStatus } from '../types'
|
||||
import BaseMessage from './BaseMessage'
|
||||
|
||||
export default class TextMessage extends BaseMessage {
|
||||
content: string
|
||||
|
||||
constructor(
|
||||
id: string,
|
||||
avatar: string,
|
||||
nickname: string,
|
||||
createTime: number,
|
||||
isRead: boolean,
|
||||
content: string,
|
||||
role: MessageRole,
|
||||
sendStatus: SendStatus,
|
||||
messageType: MessageType,
|
||||
conversationId: string
|
||||
) {
|
||||
super(id, avatar, nickname, createTime, isRead, role, sendStatus, messageType, conversationId)
|
||||
this.content = content
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user