Netty+springboot开发即时通讯系统笔记(一)

news2024/11/19 22:49:34

业务部分从sql开始:

/*
 Navicat Premium Data Transfer

 Source Server         : localhost
 Source Server Type    : MySQL
 Source Server Version : 50740
 Source Host           : localhost:3306
 Source Schema         : im-core

 Target Server Type    : MySQL
 Target Server Version : 50740
 File Encoding         : 65001

 Date: 17/01/2023 16:52:36
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for app_user
-- ----------------------------
DROP TABLE IF EXISTS `app_user`;
CREATE TABLE `app_user`  (
  `user_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `mobile` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `create_time` bigint(20) NULL DEFAULT NULL,
  `update_time` bigint(20) NULL DEFAULT NULL,
  PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for im_conversation_set
-- ----------------------------
DROP TABLE IF EXISTS `im_conversation_set`;
CREATE TABLE `im_conversation_set`  (
  `conversation_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `conversation_type` int(10) NULL DEFAULT NULL COMMENT '0 单聊 1群聊 2机器人 3公众号',
  `from_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `to_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `is_mute` int(10) NULL DEFAULT NULL COMMENT '是否免打扰 1免打扰',
  `is_top` int(10) NULL DEFAULT NULL COMMENT '是否置顶 1置顶',
  `sequence` bigint(20) NULL DEFAULT NULL COMMENT 'sequence',
  `readed_sequence` bigint(20) NULL DEFAULT NULL,
  `app_id` int(10) NOT NULL,
  PRIMARY KEY (`app_id`, `conversation_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for im_friendship
-- ----------------------------
DROP TABLE IF EXISTS `im_friendship`;
CREATE TABLE `im_friendship`  (
  `app_id` int(20) NOT NULL COMMENT 'app_id',
  `from_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'from_id',
  `to_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'to_id',
  `remark` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
  `status` int(10) NULL DEFAULT NULL COMMENT '状态 1正常 2删除',
  `black` int(10) NULL DEFAULT NULL COMMENT '1正常 2拉黑',
  `create_time` bigint(20) NULL DEFAULT NULL,
  `friend_sequence` bigint(20) NULL DEFAULT NULL,
  `black_sequence` bigint(20) NULL DEFAULT NULL,
  `add_source` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '来源',
  `extra` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '来源',
  PRIMARY KEY (`app_id`, `from_id`, `to_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for im_friendship_group
-- ----------------------------
DROP TABLE IF EXISTS `im_friendship_group`;
CREATE TABLE `im_friendship_group`  (
  `app_id` int(20) NULL DEFAULT NULL COMMENT 'app_id',
  `from_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'from_id',
  `group_id` int(50) NOT NULL AUTO_INCREMENT,
  `group_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `sequence` bigint(20) NULL DEFAULT NULL,
  `create_time` bigint(20) NULL DEFAULT NULL,
  `update_time` bigint(20) NULL DEFAULT NULL,
  `del_flag` int(10) NULL DEFAULT NULL,
  PRIMARY KEY (`group_id`) USING BTREE,
  UNIQUE INDEX `UNIQUE`(`app_id`, `from_id`, `group_name`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for im_friendship_group_member
-- ----------------------------
DROP TABLE IF EXISTS `im_friendship_group_member`;
CREATE TABLE `im_friendship_group_member`  (
  `group_id` bigint(20) NOT NULL,
  `to_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`group_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for im_friendship_request
-- ----------------------------
DROP TABLE IF EXISTS `im_friendship_request`;
CREATE TABLE `im_friendship_request`  (
  `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `app_id` int(20) NULL DEFAULT NULL COMMENT 'app_id',
  `from_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'from_id',
  `to_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'to_id',
  `remark` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
  `read_status` int(10) NULL DEFAULT NULL COMMENT '是否已读 1已读',
  `add_source` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '好友来源',
  `add_wording` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '好友验证信息',
  `approve_status` int(10) NULL DEFAULT NULL COMMENT '审批状态 1同意 2拒绝',
  `create_time` bigint(20) NULL DEFAULT NULL,
  `update_time` bigint(20) NULL DEFAULT NULL,
  `sequence` bigint(20) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for im_group
-- ----------------------------
DROP TABLE IF EXISTS `im_group`;
CREATE TABLE `im_group`  (
  `app_id` int(20) NOT NULL COMMENT 'app_id',
  `group_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'group_id',
  `owner_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '群主\r\n',
  `group_type` int(10) NULL DEFAULT NULL COMMENT '群类型 1私有群(类似微信) 2公开群(类似qq)',
  `group_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `mute` int(10) NULL DEFAULT NULL COMMENT '是否全员禁言,0 不禁言;1 全员禁言',
  `apply_join_type` int(10) NULL DEFAULT NULL COMMENT '//    申请加群选项包括如下几种:\r\n//    0 表示禁止任何人申请加入\r\n//    1 表示需要群主或管理员审批\r\n//    2 表示允许无需审批自由加入群组',
  `photo` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `max_member_count` int(20) NULL DEFAULT NULL,
  `introduction` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '群简介',
  `notification` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '群公告',
  `status` int(5) NULL DEFAULT NULL COMMENT '群状态 0正常 1解散',
  `sequence` bigint(20) NULL DEFAULT NULL,
  `create_time` bigint(20) NULL DEFAULT NULL,
  `extra` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '来源',
  `update_time` bigint(20) NULL DEFAULT NULL,
  PRIMARY KEY (`app_id`, `group_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for im_group_member
-- ----------------------------
DROP TABLE IF EXISTS `im_group_member`;
CREATE TABLE `im_group_member`  (
  `group_member_id` bigint(20) NOT NULL AUTO_INCREMENT,
  `group_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'group_id',
  `app_id` int(10) NULL DEFAULT NULL,
  `member_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '成员id\r\n',
  `role` int(10) NULL DEFAULT NULL COMMENT '群成员类型,0 普通成员, 1 管理员, 2 群主, 3 禁言,4 已经移除的成员',
  `speak_date` bigint(100) NULL DEFAULT NULL,
  `mute` int(10) NULL DEFAULT NULL COMMENT '是否全员禁言,0 不禁言;1 全员禁言',
  `alias` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '群昵称',
  `join_time` bigint(20) NULL DEFAULT NULL COMMENT '加入时间',
  `leave_time` bigint(20) NULL DEFAULT NULL COMMENT '离开时间',
  `join_type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '加入类型',
  `extra` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`group_member_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for im_group_message_history
-- ----------------------------
DROP TABLE IF EXISTS `im_group_message_history`;
CREATE TABLE `im_group_message_history`  (
  `app_id` int(20) NOT NULL COMMENT 'app_id',
  `from_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'from_id',
  `group_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'group_id',
  `message_key` bigint(50) NOT NULL COMMENT 'messageBodyId',
  `create_time` bigint(20) NULL DEFAULT NULL,
  `sequence` bigint(20) NULL DEFAULT NULL,
  `message_random` int(20) NULL DEFAULT NULL,
  `message_time` bigint(20) NULL DEFAULT NULL COMMENT '来源',
  PRIMARY KEY (`app_id`, `group_id`, `message_key`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for im_message_body
-- ----------------------------
DROP TABLE IF EXISTS `im_message_body`;
CREATE TABLE `im_message_body`  (
  `app_id` int(10) NOT NULL,
  `message_key` bigint(50) NOT NULL,
  `message_body` varchar(5000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `security_key` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `message_time` bigint(20) NULL DEFAULT NULL,
  `create_time` bigint(20) NULL DEFAULT NULL,
  `extra` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `del_flag` int(10) NULL DEFAULT NULL,
  PRIMARY KEY (`message_key`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;


-- ----------------------------
-- Table structure for im_message_history
-- ----------------------------
DROP TABLE IF EXISTS `im_message_history`;
CREATE TABLE `im_message_history`  (
  `app_id` int(20) NOT NULL COMMENT 'app_id',
  `from_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'from_id',
  `to_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'to_id\r\n',
  `owner_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'owner_id\r\n',
  `message_key` bigint(50) NOT NULL COMMENT 'messageBodyId',
  `create_time` bigint(20) NULL DEFAULT NULL,
  `sequence` bigint(20) NULL DEFAULT NULL,
  `message_random` int(20) NULL DEFAULT NULL,
  `message_time` bigint(20) NULL DEFAULT NULL COMMENT '来源',
  PRIMARY KEY (`app_id`, `owner_id`, `message_key`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for im_user_data
-- ----------------------------
DROP TABLE IF EXISTS `im_user_data`;
CREATE TABLE `im_user_data`  (
  `user_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `app_id` int(11) NOT NULL,
  `nick_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '昵称',
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `photo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `user_sex` int(10) NULL DEFAULT NULL,
  `birth_day` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '生日',
  `location` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址',
  `self_signature` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '个性签名',
  `friend_allow_type` int(10) NOT NULL DEFAULT 1 COMMENT '加好友验证类型(Friend_AllowType) 1无需验证 2需要验证',
  `forbidden_flag` int(10) NOT NULL DEFAULT 0 COMMENT '禁用标识 1禁用',
  `disable_add_friend` int(10) NOT NULL DEFAULT 0 COMMENT '管理员禁止用户添加加好友:0 未禁用 1 已禁用',
  `silent_flag` int(10) NOT NULL DEFAULT 0 COMMENT '禁言标识 1禁言',
  `user_type` int(10) NOT NULL DEFAULT 1 COMMENT '用户类型 1普通用户 2客服 3机器人',
  `del_flag` int(20) NOT NULL DEFAULT 0,
  `extra` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`app_id`, `user_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

在这里插入图片描述
接下来一张表一张表来讲解:

1.app_user用户信息表

user_id:用户的唯一标识,作为主键用于唯一标识每个用户。
user_name:用户的用户名,用于显示用户的名称。可以为空,表示用户没有设置用户名。
password:用户的密码,用于验证用户身份。可以为空,表示用户没有设置密码。
mobile:用户的手机号码,用于联系用户或进行手机号相关的操作。可以为空,表示用户没有提供手机号码。
create_time:用户创建账号的时间,以时间戳形式表示。可以为空,表示创建时间未知或未记录。
update_time:用户信息最后更新的时间,以时间戳形式表示。可以为空,表示更新时间未知或未记录。

2.im_conversation_set会话设置信息

conversation_id:会话的唯一标识,作为主键用于唯一标识每个会话。
conversation_type:会话的类型,表示会话的分类。0表示单聊,1表示群聊,2表示机器人,3表示公众号。可以为空,表示类型未知或未记录。
from_id:消息发送方的唯一标识,用于标识消息的发送者。可以为空,表示发送方未知或未记录。
to_id:消息接收方的唯一标识,用于标识消息的接收者。可以为空,表示接收方未知或未记录。
is_mute:是否免打扰标志,1表示免打扰,0表示不免打扰。可以为空,表示免打扰状态未知或未记录。
is_top:是否置顶标志,1表示置顶,0表示不置顶。可以为空,表示置顶状态未知或未记录。
sequence:会话序列号,用于标识会话的顺序。可以为空,表示序列号未知或未记录。
readed_sequence:已读序列号,表示消息已读的序列号。可以为空,表示已读序列号未知或未记录。
app_id:应用程序的唯一标识,用于标识所属的应用程序。不能为空,每个会话都属于一个特定的应用程序。

3.im_friendship好友关系

app_id:应用程序的唯一标识,用于标识所属的应用程序。
from_id:好友关系的发起方的唯一标识,表示发起添加好友的用户。
to_id:好友关系的接收方的唯一标识,表示被添加为好友的用户。
remark:好友关系的备注信息,用于记录好友之间的备注。可以为空,表示没有设置备注。
status:好友关系的状态,1表示正常,2表示删除。可以为空,表示状态未知或未记录。
black:拉黑标志,1表示正常,2表示拉黑。可以为空,表示拉黑状态未知或未记录。
create_time:好友关系创建的时间,以时间戳形式表示。可以为空,表示创建时间未知或未记录。
friend_sequence:好友序列号,用于标识好友关系的顺序。可以为空,表示序列号未知或未记录。
black_sequence:拉黑序列号,用于标识拉黑操作的顺序。可以为空,表示序列号未知或未记录。
add_source:好友关系的添加来源,表示好友关系是通过什么途径添加的。可以为空,表示来源未知或未记录。
extra:额外信息,用于存储与好友关系相关的其他信息。可以为空,根据需要自定义存储内容。

4.im_friendship_group好友关系群组信息

app_id:应用程序的唯一标识,用于标识所属的应用程序。可以为空,表示未指定所属应用程序。
from_id:好友关系群组的创建者的唯一标识,表示创建该群组的用户。可以为空,表示未指定创建者。
group_id:群组的唯一标识,作为主键用于唯一标识每个群组。
group_name:群组的名称,用于标识群组的名称。可以为空,表示未指定名称。
sequence:群组序列号,用于标识群组的顺序。可以为空,表示序列号未知或未记录。
create_time:群组创建的时间,以时间戳形式表示。可以为空,表示创建时间未知或未记录。
update_time:群组更新的时间,以时间戳形式表示。可以为空,表示更新时间未知或未记录。
del_flag:删除标志,用于标识群组的删除状态。可以为空,表示删除状态未知或未记录。

5.im_friendship_group_member好友关系群组的成员信息

group_id:群组的唯一标识,用于标识所属的群组。
to_id:成员ID,表示群组中的成员的唯一标识。可以为空,表示未指定成员。

6.im_friendship_request好友请求的信息

id:请求的唯一标识,作为主键用于唯一标识每个请求。
app_id:应用程序的唯一标识,用于标识所属的应用程序。可以为空,表示未指定所属应用程序。
from_id:请求的发送者的唯一标识,表示发送该请求的用户。可以为空,表示未指定发送者。
to_id:请求的接收者的唯一标识,表示接收该请求的用户。可以为空,表示未指定接收者。
remark:备注,用于添加请求的附加说明。可以为空,表示未指定备注。
read_status:阅读状态,表示请求是否已读。1表示已读,0表示未读。可以为空,表示阅读状态未知或未记录。
add_source:好友来源,表示请求的好友关系的来源。可以为空,表示未指定来源。
add_wording:好友验证信息,用于请求中的好友验证文字信息。可以为空,表示未指定验证信息。
approve_status:审批状态,表示请求的审批结果。1表示同意,2表示拒绝。可以为空,表示审批状态未知或未记录。
create_time:请求创建的时间,以时间戳形式表示。可以为空,表示创建时间未知或未记录。
update_time:请求更新的时间,以时间戳形式表示。可以为空,表示更新时间未知或未记录。
sequence:请求序列号,用于标识请求的顺序。可以为空,表示序列号未知或未记录。

7.im_group群组信息

app_id:应用程序的唯一标识,用于标识所属的应用程序。
group_id:群组的唯一标识,用于唯一标识每个群组。
owner_id:群主的唯一标识,表示创建该群组的用户。
group_type:群组的类型,表示群组的类型。1表示私有群(类似微信),2表示公开群(类似QQ)。可以为空,表示未指定群组类型。
group_name:群组的名称,表示群组的名称。可以为空,表示未指定群组名称。
mute:是否全员禁言,0表示不禁言,1表示全员禁言。可以为空,表示禁言状态未知或未记录。
apply_join_type:申请加群选项,表示加入群组的申请方式。0表示禁止任何人申请加入,1表示需要群主或管理员审批,2表示允许无需审批自由加入群组。可以为空,表示申请加群选项未知或未记录。
photo:群组的头像图片路径,用于表示群组的头像。可以为空,表示未设置群组头像。
max_member_count:最大成员数量,表示群组允许的最大成员数量。可以为空,表示未设置最大成员数量限制。
introduction:群简介,表示群组的简介信息。可以为空,表示未提供群组简介。
notification:群公告,表示群组的公告信息。可以为空,表示未设置群公告。
status:群状态,表示群组的状态。0表示正常,1表示解散。可以为空,表示群状态未知或未记录。
sequence:群组序列号,用于标识群组的顺序。可以为空,表示序列号未知或未记录。
create_time:群组创建的时间,以时间戳形式表示。可以为空,表示创建时间未知或未记录。
extra:额外信息,用于表示群组的来源或其他额外说明。可以为空,表示未提供额外信息。
update_time:群组信息更新的时间,以时间戳形式表示。可以为空,表示更新时间未知或未记录。

8.im_group_member群组成员信息

group_member_id:群成员的唯一标识,用于唯一标识每个群成员。自增长字段,每个群成员都有一个唯一的ID。
group_id:群组的唯一标识,表示该成员所属的群组。
app_id:应用程序的唯一标识,用于标识所属的应用程序。可以为空,表示未指定应用程序。
member_id:成员的唯一标识,表示群组中的成员。
role:群成员的类型,表示群组成员的角色。0表示普通成员,1表示管理员,2表示群主,3表示禁言成员,4表示已经移除的成员。可以为空,表示角色未知或未记录。
speak_date:最后发言时间,以时间戳形式表示。可以为空,表示未记录最后发言时间。
mute:是否全员禁言,0表示不禁言,1表示全员禁言。可以为空,表示禁言状态未知或未记录。
alias:群昵称,表示群组成员在群组中的昵称。可以为空,表示未设置群昵称。
join_time:加入时间,以时间戳形式表示。可以为空,表示加入时间未知或未记录。
leave_time:离开时间,以时间戳形式表示。可以为空,表示未离开群组。
join_type:加入类型,表示成员加入群组的方式或类型。可以为空,表示加入类型未知或未记录。
extra:额外信息,用于表示群组成员的其他额外说明。可以为空,表示未提供额外信息。

9.im_group_message_history群组消息的历史记录

app_id:应用程序的唯一标识,用于标识所属的应用程序。
from_id:发送者的唯一标识,表示消息的发送者。
group_id:群组的唯一标识,表示消息所属的群组。
message_key:消息键,用于唯一标识每个消息。
create_time:创建时间,以时间戳形式表示。可以为空,表示创建时间未知或未记录。
sequence:消息序列号,用于标识消息的顺序。可以为空,表示序列号未知或未记录。
message_random:消息随机数,用于标识消息的随机性。可以为空,表示随机数未知或未记录。
message_time:消息时间,以时间戳形式表示。可以为空,表示消息时间未知或未记录。

10.im_message_body消息的具体内容

app_id:应用程序的唯一标识,用于标识所属的应用程序。
message_key:消息键,用于唯一标识每个消息。
message_body:消息内容,表示消息的具体内容。
security_key:安全键,用于消息的安全验证或加密。可以为空,表示未使用安全键。
message_time:消息时间,以时间戳形式表示。可以为空,表示消息时间未知或未记录。
create_time:创建时间,以时间戳形式表示。可以为空,表示创建时间未知或未记录。
extra:额外信息,用于表示消息的其他额外说明。可以为空,表示未提供额外信息。
del_flag:删除标志,表示消息的删除状态。可以为空,表示删除状态未知或未记录。

11.im_message_history消息的历史记录

app_id:应用程序的唯一标识,用于标识所属的应用程序。
from_id:发送者的唯一标识,表示消息的发送者。
to_id:接收者的唯一标识,表示消息的接收者。
owner_id:消息的拥有者的唯一标识,表示消息的拥有者。
message_key:消息键,用于唯一标识每个消息。
create_time:创建时间,以时间戳形式表示。可以为空,表示创建时间未知或未记录。
sequence:消息序列号,用于标识消息的顺序。可以为空,表示序列号未知或未记录。
message_random:消息随机数,用于标识消息的随机性。可以为空,表示随机数未知或未记录。
message_time:消息时间,以时间戳形式表示。可以为空,表示消息时间未知或未记录。

12.im_user_data用户的个人信息

user_id:用户的唯一标识,用于标识每个用户。
app_id:应用程序的唯一标识,用于标识所属的应用程序。
nick_name:昵称,表示用户的昵称。
password:密码,表示用户的登录密码。
photo:头像,表示用户的头像图片路径。
user_sex:用户性别,表示用户的性别。
birth_day:生日,表示用户的出生日期。
location:地址,表示用户的所在地。
self_signature:个性签名,表示用户的个性签名。
friend_allow_type:加好友验证类型,表示用户添加好友时的验证方式。
forbidden_flag:禁用标识,表示用户的禁用状态。
disable_add_friend:禁止用户添加好友标识,表示管理员是否禁止用户添加好友。
silent_flag:禁言标识,表示用户的禁言状态。
user_type:用户类型,表示用户的身份类型。
del_flag:删除标志,表示用户的删除状态。
extra:额外信息,用于表示用户的其他额外说明。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/827613.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录算法训练营之JAVA|第十八天| 235. 二叉搜索树的最近公共祖先

今天是第 天刷leetcode,立个flag,打卡60天,如果做不到,完成一件评论区点赞最高的挑战。 算法挑战链接 235. 二叉搜索树的最近公共祖先https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/descriptio…

P9-CNN学习1.1-VggNet

目录 一.Abstract 二.Introduction 三.ConvNet Configuration 3.1Architecture 3.2Configuration 3.3Discussion 四.Classification Framework 4.1Training 4.2Testing 4.3Implementation Detail 五.Classification Experiments 5.1Single Scale Evaluation 5.2Mul…

【Java】Spring Boot的创建和使用,以及配置文件(.properties和.yml)和日志文件(LoggerFactory和lombok)

什么是Spring BootSpring Boot的优点创建Spring Boot项目Spring Boot的配置文件配置文件的作用配置文件的格式properties 配置文件说明properties的基本语法读取配置文件properties的缺点 yml 配置文件说明基本语法yml 连接数据库读取配置文件yml进阶yml 配置不同数据类型及 nu…

IO进程线程第五天(8.2)进程函数+XMind(守护进程(幽灵进程),输出一个时钟,终端输入quit时退出时钟)

1.守护进程&#xff08;幽灵进程&#xff09; #include<stdio.h> #include<head.h> int main(int argc, const char *argv[]) {pid_t cpid fork();if(0cpid){ //创建新的会话pid_t sidsetsid();printf("sid%d\n",sid);//修改运行目录为不可卸载的文件…

蓝牙资讯|三星Galaxy SmartTag 2亮相FCC,智能防丢市场持续火爆

三星的 Galaxy SmartTag 2 已经现身美国联邦通信委员会&#xff08;FCC&#xff09;网站&#xff0c;外观设计也随之曝光&#xff0c;该设备呈扁平的椭圆形&#xff0c;顶部有一个巨大的钥匙环孔&#xff0c;看起来有点像雪茄切割器。如果这是一个普通的钥匙环大小的孔&#xf…

UG\NX 二次开发 选择相切面、相邻面的选择面控件

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan 简介&#xff1a; 有群友问“UFUN多选功能过滤面不能选择相切面或相邻面之类的吗&#xff1f;” 这个用Block UI的"面收集器"就可以&#xff0c;ufun函数是不行的。 效果&am…

基于text2vec和faiss开发实现文档查询系统初体验

最近接触到了一些文本向量化的预训练模型&#xff0c;感觉相比较自己去基于gensim去训练词向量来说&#xff0c;使用预训练模型可能是更高效的方式了&#xff0c;正好有一个想法一直在想能够以什么样的形式间接的实现问答&#xff0c;说白了这里的问答跟我们理解的chatGPT类型的…

iOS——Block one

块类似于匿名函数或闭包&#xff0c;在许多其他编程语言中也存在类似的概念。 可以访问上下文&#xff0c;运行效率高 Block 以下是块的一些基本知识&#xff1a; 块的定义&#xff1a;块是由一对花括号 {} 包围的代码片段&#xff0c;可以包含一段可执行的代码。块的定义使…

125.验证回文串

目录 一、题目 二、代码 一、题目 125. 验证回文串 - 力扣&#xff08;LeetCode&#xff09; 二、代码 class Solution { public: bool ABC(char& s) {if (s > 65 && s < 90){s 32;return true;}if (s > 97 && s < 122){return true;}if …

FPGA开发:音乐播放器

FPGA开发板上的蜂鸣器可以用来播放音乐&#xff0c;只需要控制蜂鸣器信号的方波频率、占空比和持续时间即可。 1、简谱原理 简谱上的4/4表示该简谱以4分音符为一拍&#xff0c;每小节4拍&#xff0c;简谱上应该也会标注每分钟多少拍。音符时值对照表如下图所示&#xff0c;这表…

无涯教程-Lua - while语句函数

只要给定条件为真&#xff0c;Lua编程语言中的 while 循环语句就会重复执行目标语句。 while loop - 语法 Lua编程语言中 while 循环的语法如下- while(condition) dostatement(s) end while loop - 流程图 在这里&#xff0c;需要注意的关键是 while 循环可能根本不执行。…

Go语音介绍

Go语言介绍 Go 即Golang&#xff0c;是Google公司2009年11月正式对外公开的一门编程语言。 Go是静态强类型语言&#xff0c;是区别于解析型语言的编译型语言。 解析型语言——源代码是先翻译为中间代码&#xff0c;然后由解析器对代码进行解释执行。 编译型语言——源代码编…

【树形DP+换根思想】2022牛客多校加赛 H

登录—专业IT笔试面试备考平台_牛客网 题意&#xff1a; 思路&#xff1a; 这个虽然是树形DP&#xff0c;却用了换根的思想.... 首先&#xff0c;后缀0的个数可以转化成min(cnt2,cnt5)&#xff0c;其中cnt2为2的因子个数&#xff0c;cnt5为5的因子个数 然后进行DP 设dp[u]…

面试之多线程(三)

1.进程和线程的区别 根本区别&#xff1a;进程是操作系统分配资源的最小单位&#xff1b;线程是CPU调度的最小单位所属关系&#xff1a;一个进程包含了多个线程&#xff0c;至少拥有一个主线程&#xff1b;线程所属于进程开销不同&#xff1a;进程的创建&#xff0c;销毁&…

基于Vue+ElementUI+Echarts+G2Plot的仪表盘设计器,代码完全开源

简介 &#x1f525;DashBoard基于SpringBoot、MyBatisPlus、ElementUI、G2Plot、Echarts等技术栈的仪表盘设计器&#xff0c;具备仪表盘设计、预览、资源管理、组件管理等能力&#xff0c;支持JSON、MySQL、Oracle、PostgreSQL、HTTP、JavaScript、Groovy等数据集接入&#xf…

类加载器的双亲委派机制和源码分析

双亲委派机制 双亲委派就是一个从子到父的过程,然后还有一个从父到子的状态。具体如下: 如果一个类加载器收到了类加载的请求,它会首先去自己的缓存中查找是否加载过这个类(findLoadedClass),如果有,那么直接加载。如果没有就会让父加载器加载,父加载器会先去自己的缓…

自定义elementui的主题

通常情况下&#xff0c;我们使用elementui框架的时候默认组件的主题都是白色的&#xff0c;比如&#xff1a; 但是如果想自定义主题&#xff0c;改变主题颜色&#xff0c;以及各种默认颜色&#xff0c;其实也不难&#xff1a; 配置默认主题&#xff0c;选好后点击下载 在vu…

软件外包开发的PHP开发框架

PHP有许多流行的开发框架&#xff0c;每个框架都有其独特的特点和优势。下面列举的只是一部分PHP开发框架&#xff0c;还有其他一些框架如Slim、Zend Framework等也值得一提。选择合适的框架取决于项目的需求和开发团队的偏好&#xff0c;您可以根据项目规模、复杂性和功能需求…

Golang之路---02 基础语法——异常机制:panic 和 recover

Golang的异常处理 Go 没有像 Java 和 .NET 那样的 try/catch 异常机制&#xff1a;不能执行抛异常操作。 在 Golang 中&#xff0c;有不少常规错误&#xff0c;在编译阶段就能提前告警&#xff0c;比如语法错误或类型错误等&#xff0c;但是有些错误仅能在程序运行后才能发生&…

【推荐】通用全面的APP测试用例设计

1、安装卸载 用例编号 测试内容 操作步骤 预期结果 测试次数 测试结果 备注 安装 1 通过第三方软件协助安装是否正常 第三方软件搜索app&#xff0c;安装 目标:支持360、豌豆荚、应用宝等主流辅助工具 1 Pass 2 在不同操作系统下安装是否正常 1、使用测试手机安装 …