feat(im): Task 0 - IM 模型定义 + 数据库表迁移 + 常量定义
- 新增 3 个 GORM 模型:Conversation / ConversationMember / Message - 新增 IM 常量:会话类型、消息类型、消息状态、撤回时限 - main.go 添加 IM 表 AutoMigrate - init.sql 追加 IM 模块 DDL(含索引和全文搜索 GIN 索引) Made-with: Cursor
This commit is contained in:
48
backend/go-service/app/constants/im.go
Normal file
48
backend/go-service/app/constants/im.go
Normal file
@@ -0,0 +1,48 @@
|
||||
package constants
|
||||
|
||||
// 会话类型
|
||||
const (
|
||||
ConversationTypePrivate = 1 // 单聊
|
||||
ConversationTypeGroup = 2 // 群聊(Phase 2c 预留)
|
||||
)
|
||||
|
||||
// ConversationTypeMap 会话类型中文映射
|
||||
var ConversationTypeMap = map[int]string{
|
||||
ConversationTypePrivate: "单聊",
|
||||
ConversationTypeGroup: "群聊",
|
||||
}
|
||||
|
||||
// 消息类型
|
||||
const (
|
||||
MessageTypeText = 1 // 文本消息
|
||||
MessageTypeImage = 2 // 图片消息(预留)
|
||||
MessageTypeVoice = 3 // 语音消息(预留)
|
||||
MessageTypeVideo = 4 // 视频消息(预留)
|
||||
MessageTypeFile = 5 // 文件消息(预留)
|
||||
)
|
||||
|
||||
// MessageTypeMap 消息类型中文映射
|
||||
var MessageTypeMap = map[int]string{
|
||||
MessageTypeText: "文本",
|
||||
MessageTypeImage: "图片",
|
||||
MessageTypeVoice: "语音",
|
||||
MessageTypeVideo: "视频",
|
||||
MessageTypeFile: "文件",
|
||||
}
|
||||
|
||||
// 消息状态
|
||||
const (
|
||||
MessageStatusNormal = 1 // 正常
|
||||
MessageStatusRecalled = 2 // 已撤回
|
||||
MessageStatusDeleted = 3 // 已删除
|
||||
)
|
||||
|
||||
// MessageStatusMap 消息状态中文映射
|
||||
var MessageStatusMap = map[int]string{
|
||||
MessageStatusNormal: "正常",
|
||||
MessageStatusRecalled: "已撤回",
|
||||
MessageStatusDeleted: "已删除",
|
||||
}
|
||||
|
||||
// MessageRecallTimeLimit 消息撤回时限(秒),超过此时间不允许撤回
|
||||
const MessageRecallTimeLimit = 2 * 60
|
||||
Reference in New Issue
Block a user