# 数据字典 ### 表名:Users #### 表说明:储存用户个人信息 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | ----------- | ------------ | -------- | -------- | ------- | --------- | ------------------------------------------------ | ----------------------- | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | Username | VARCHAR(50) | 是 | / | / | 唯一 | 唯一用户名 | admin | | Avatar | VARCHAR(255) | 否 | / | / | / | 用户头像 | https://baidu.com/1.png | | Password | VARCHAR(50) | 是 | / | / | / | 用户密码 | 123456 | | NickName | VARCHAR(50) | 是 | / | / | / | 用户昵称 | / | | OlineStatus | TINYINT | 是 | 0 | / | / | 用户在线状态
0(默认):不在线
1:在线 | 0 | | Created | DATETIME | 是 | 1970/1/1 | / | / | 账户创建时间 | 2025/9/29 | | Updated | DATETIME | 否 | / | / | / | 账户修改时间 | 2024/9/29 | | Status | TINYINT | 是 | 1 | / | / | 账户状态
(0:未激活,1:正常,2:封禁) | 1 | | IsDeleted | TINYINT | 是 | 0 | / | / | 软删除标识
0:账号正常
1:账号已删除 | 0 | ### 表名:Friends #### 表说明:好友关系映射 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | ---------- | ------------ | -------- | -------- | ---------------- | --------- | ------------------------------------------------------------ | ----------------------- | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | UserId | INT | 是 | / | 外键(Users.Id) | 索引 | 用户ID | 1 | | FriendId | INT | 是 | / | 外键(Users.Id) | 索引 | 用户2ID | 2 | | RemarkName | VARCHAR(20) | 是 | / | / | / | 好友备注 | 小王 | | Avatar | VARCHAR(255) | 否 | / | / | / | 好友头像 | https://baidu.com/1.png | | Status | TINYINT | 是 | 0 | / | / | 当前好友关系状态
(0:待通过,1:已添加,2:已拒绝,3:已拉黑) | 0 | | Created | DATETIME | 是 | 1970/1/1 | / | / | 好友关系创建时间 | 2025/9/29 | ### 表名:Groups #### 表说明:群聊 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | ---------------- | ------------- | -------- | -------- | ---------------- | --------- | ------------------------------------------------------------ | ------------------ | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | Name | VARCHAT(20) | 是 | / | / | / | 群聊名称 | 测试群聊1 | | GroupMaster | INT | 是 | / | 外键(Users.Id) | 索引 | 群主 | 1 | | Auhority | TINYINT | 是 | 0 | / | / | 群权限
(0:需管理员同意,1:任意人可加群,2:不允许任何人加入) | 0 | | AllMembersBanned | TINYINT | 是 | 0 | / | / | 全员禁言(0允许发言,2全员禁言) | 0 | | Status | TINYINT | 是 | 1 | / | / | 群聊状态
(1:正常,2:封禁) | 1 | | Announcement | TEXT | 否 | null | / | / | 群公告 | 这是一条测试群公告 | | Created | DATETIME | 是 | 1970/1/1 | / | / | 群聊创建时间 | 2025/9/29 | ### 表名:GroupMember #### 表说明:群成员 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | ------- | -------- | -------- | -------- | --------------- | --------- | -------------------------------------- | -------- | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | UserId | INT | 是 | / | 外键(Users.Id) | 索引 | 用户编号 | 1 | | GroupId | INT | 是 | / | 外键(Groups.Id) | 索引 | 群聊编号 | 1 | | Role | TINYINT | 是 | 0 | / | / | 成员角色(0:普通成员,1:管理员,2:群主) | 1 | | Created | DATETIME | 是 | 1970/1/1 | / | / | 加入群聊时间 | 1970/1/1 | ### 表名:GroupInvite #### 表说明:群聊邀请 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | ----------- | -------- | -------- | -------- | --------------- | --------- | ------------------------------------------------ | -------- | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | GroupId | INT | 是 | / | 外键(Groups.Id) | 索引 | 群聊编号 | 1 | | InvitedUser | INT | 是 | / | 外键(Users.Id) | 索引 | 被邀请用户 | 1 | | InviteUser | INT | 是 | / | 外键(Users.Id) | 索引 | 邀请用户 | 1 | | State | TINYINT | 是 | 0 | / | / | 当前状态(0:待被邀请人同意
1:被邀请人已同意) | 1 | | Created | DATETIME | 是 | 1970/1/1 | / | / | 创建时间 | 1970/1/1 | ### 表名:GroupRequest #### 表说明:群聊入群申请 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | ----------- | -------- | -------- | --------------- | --------------- | --------- | --------------------------------------------- | ------ | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | GroupId | INT | 是 | / | 外键(Groups.Id) | 索引 | 群聊编号 | 1 | | UserId | INT | 是 | / | 外键(Users.Id) | 索引 | 申请人 | 1 | | State | TINYINT | 是 | 0 | / | / | 申请状态(0:待管理员同意,1:已拒绝,2:已同意) | 1 | | Description | TEXT | 是 | xxx申请加入群聊 | / | / | 入群附言 | / | | Created | DATETIME | 是 | 1970/1/1 | / | / | 创建时间 | / | ### 表名:Messages #### 表说明:用户消息 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | --------- | -------- | -------- | -------- | -------------- | --------- | ------------------------------------------------------------ | ------ | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | ChatType | TINYINT | 是 | 0 | / | / | 聊天类型
(0:私聊,1:群聊) | 0 | | MsgType | TINYINT | 是 | 0 | / | / | 消息类型
(0:文本,1:图片,2:语音,3:视频,4:文件,5:语音聊天,6:视频聊天) | 0 | | Content | TEXT | 是 | / | / | / | 消息内容 | / | | Sender | INT | 是 | / | 外键(Users.Id) | 索引 | 发送者 | / | | Recipient | INT | 是 | / | / | / | 接收者(私聊为用户ID,群聊为群聊ID) | / | | State | TINYINT | 是 | 0 | / | / | 消息状态(0:已发送,1:已撤回) | / | | Created | DATETIME | 是 | 1970/1/1 | / | / | 发送时间 | 、 | ### 表名:Files #### 表说明:文件 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | --------- | ------------ | -------- | -------- | ------------------- | --------- | -------------------- | ----------------------- | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | Name | VARCHAR(50) | 是 | / | / | / | 文件名 | 测试文件.txt | | URL | VARCHAR(100) | 是 | / | / | / | 文件储存URL | https://baidu.com/1.txt | | Size | INT | 是 | / | / | / | 文件大小(单位:KB) | 1024 | | Type | VARCHAT(10) | 是 | / | / | / | 文件类型 | txt | | MessageId | INT | 是 | / | 外键(Messages.Id) | 索引 | 关联消息ID | 1 | | Created | DATETIME | 是 | 1970/1/1 | / | / | 创建时间 | 2025/9/29 | ### 表名:Notifications #### 表说明:系统通知消息 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | ------- | ------------ | -------- | -------- | -------------- | --------- | ------------------------ | ------ | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | UserId | INT | 否 | / | 外键(Users.Id) | 索引 | 接收人(为空为全体通知) | 1 | | NType | TINYINT | 是 | 0 | / | / | 通知类型(0:文本) | 0 | | Title | NVARCHAR(20) | 是 | / | / | / | 通知标题 | 1 | | Content | TEXT | 是 | / | / | / | 通知内容 | 1 | | Created | DATETIME | 是 | 1970/1/1 | / | / | 创建时间 | / | ### 表名:Conversations #### 表说明:用户会话 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | ------------- | -------- | -------- | ------ | ----------------- | --------- | ------------------------------------ | ------ | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | UserId | INT | 是 | / | 外键(Users.Id) | 索引 | 用户 | 1 | | TargetId | INT | 是 | / | / | / | 对方ID(群聊为群聊ID,单聊为单聊ID) | 1 | | MsgType | INT | 是 | / | / | / | 消息类型(同Messages.MsgType) | / | | lastMessageId | INT | 是 | / | 外键(Messages.Id) | 索引 | 最后一条消息ID | 1 | | unreadCount | INT | 是 | / | / | / | 未读消息数 | / | ### 表名:FriendRequest #### 表说明:好友申请 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | ------------ | -------- | -------- | ------------------- | ---------------- | --------- | ------------------------------------------- | ------ | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | RequestUser | INT | 是 | / | 外键(Users.Id) | 索引 | 申请人 | / | | ResponseUser | INT | 是 | / | 外键(Users.Id) | 索引 | 被申请人 | / | | Created | DATETIME | 是 | 1970/1/1 | / | / | 申请时间 | / | | Description | TEXT | 否 | xxx申请添加你为好友 | / | / | 申请附言 | / | | State | TINYINT | 是 | 0 | / | / | 申请状态(0:待通过,1:拒绝,2:同意,3:拉黑) | / | ### 表名:Devices #### 表说明:用户设备 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | --------- | -------- | -------- | -------- | -------------- | --------- | ---------------------------------------------------- | ------ | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | UserId | INT | 是 | / | 外键(Users.Id) | 索引 | 设备所属用户 | / | | DType | TINYINT | 是 | / | / | / | 设备类型(
0:Android,1:Ios,2:PC,3:Pad,4:未知) | 0 | | LastLogin | DATETIME | 是 | 1970/1/1 | / | / | 最后一次登录 | / | ### 表名:Login_Log #### 表说明:登录日志 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | ------- | -------- | -------- | -------- | -------------- | --------- | ---------------------------------------- | ------ | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | DType | TINYINT | 是 | / | / | / | 设备类型(通Devices/DType) | / | | Logined | DATETIME | 是 | 1970/1/1 | / | / | 登录时间 | / | | UserId | INT | 是 | / | 外键(Users.Id) | / | 登录用户 | / | | State | TINYINT | 是 | 0 | / | / | 登录状态(0:登陆成功,1:未验证,2:已被拒绝) | / | ### 表名:Admins #### 表说明:系统管理员 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | -------- | ----------- | -------- | -------- | ---------------- | --------- | ----------------------- | ------ | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | Username | VARCHAR(50) | 是 | / | / | / | 用户名 | / | | Password | VARCHAR(50) | 是 | / | / | / | 密码 | / | | RoleId | INT | 是 | / | 外键(Roles.Id) | 索引 | 角色 | / | | State | TINYINT | 是 | 0 | / | / | 状态(0:正常,2:封禁) | / | | Created | DATETIME | 是 | 1970/1/1 | / | / | 创建时间 | / | | Updated | DATETIME | 是 | 1970/1/1 | / | / | 更新时间 | / | ### 表名:Roles #### 表说明:角色 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | ----------- | ----------- | -------- | -------- | ------- | --------- | -------- | ------ | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | Name | VARCHAR(20) | 是 | / | / | / | 角色名称 | / | | Description | TEXT | 是 | 空字符串 | / | / | 角色描述 | / | | Created | DATETIME | 是 | 1970/1/1 | / | / | 创建时间 | / | ### 表名:Permissions #### 表说明:权限 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | ------- | ----------- | -------- | ------ | ------- | --------- | ----------------------------- | ------ | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | PType | INT | 是 | 0 | / | / | 权限类型(0:增,1:删,2:改,3:查) | / | | Name | VARCHAR(50) | 是 | / | / | / | 权限名称 | / | | Code | INT | 是 | / | / | / | 权限编码 | / | | Created | DATETIME | 是 | / | / | / | 创建时间 | / | ### 表名:PermissionARole #### 表说明:权限角色关联 | 字段名 | 数据类型 | 是否必填 | 默认值 | 主/外键 | 约束/索引 | 字段说明 | 示例值 | | ------------ | -------- | -------- | ------ | ---------------------- | --------- | -------- | ------ | | Id | INT | 是 | / | 主键 | 索引 | 主键自增 | 1 | | RoleId | INT | 是 | / | 外键(Roles.Id) | 索引 | 角色 | / | | PermissionId | INT | 是 | / | 外键(Permissions.Id) | 索引 | 权限 | / |