电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

IM开发群组创建业务设计

18页
  • 卖家[上传人]:Baige****0346
  • 文档编号:266123095
  • 上传时间:2022-03-14
  • 文档格式:DOCX
  • 文档大小:2.72MB
  • / 18 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、 IM开发群组创建业务设计 最近更新: 2021-10-14:增加效果图和代码链接。 2020-11-02:初稿。需求分析群聊是很基础的功能需求,在进行群组聊天前,逃不过创建群组的这么一个过程。接下来,我们对微信进行一个简单的分析,然后设计一套类似于微信操作体验的业务。主动方:被动方:所以,根据上面的图,分析可得:1. 创建群组的时候,需要能指定成员列表2. 创建成功后,要自动创建会话,并产生一条群提示,广播给其他人,被邀请加入了群聊。模块交互设计1. app发送创建群组请求,附带群组名称(为空时,自动生成群名)和成员列表2. 转发3. 插入群组4. 添加成员5. 为每个人创建群聊会话6. 插入一条群聊消息,消息类型为tips,内容为xx邀请你,yy和zz加入群聊,并添加到attach_notificatino_msg字段中,以便gate网关,直接广播系统通知消息给对应的群成员7. 返回8. 给客户端响应,客户端读取会话ID和加载tips内容“你邀请xx,yy和zz加入了群聊”9. 广播群聊消息10. 广播群聊消息协议设计创建群/ 创建讨论组群请求(类似微信):/ 1.无需对方同意/

      2、2.群成员可邀请任何人进群/ 3.创建人默认为群主,群主可转让,群主退出默认随机一个成员自动成为群主/ 4.只有群主可修改群公告,踢人message CIMGroupCreateReq / cmd id: 0x501 uint64 user_id = 1; string group_name = 2; / 群名,不指定则由服务端生成 repeated uint64 member_id_list = 3; / 群成员列表/ 群组创建响应message CIMGroupCreateRsp / cmd id: 0x502 uint64 user_id = 1; uint32 result_code = 2; CIMGroupInfo group_info = 3; / 群信息 repeated uint64 member_id_list = 4; / 群成员列表 bytes attach_notificatino_msg = 10; / 群创建系统通知,需要广播/ 群组类型enum CIMGroupType kCIM_GROUP_TYPE_UNKNOWN = 0; kCIM_GROUP_TY

      3、PE_GROUP_NORMAL = 1; / 普通群(200人) kCIM_GROUP_TYPE_GROUP_SUPER = 2; / 超级群(2000人)/ 加群模式enum CIMGroupJoinModel kCIM_GROUP_JOIN_MODEL_DEFAULT = 0; / 所有人可邀请别人加入 kCIM_GROUP_JOIN_MODEL_NEED_AUTH = 1; / 需要管理员验证 kCIM_GROUP_JOIN_MODEL_REJECT = 2; / 拒绝所有人/ 被邀请人同意方式enum CIMGroupBeInviteMode kCIM_GROUP_BE_INVITE_MODEL_DEFAULT = 0; / 不需要同意 kCIM_GROUP_BE_INVITE_MODEL_NEED_AGREE = 1; / 需要同意/ 禁言方式enum CIMGroupMuteModel kCIM_GROUP_MUTE_MODEL_DEFAULT = 0; / 不禁言 kCIM_GROUP_MUTE_MODEL_ALL = 1; / 全体禁言/ 群组信息message CIM

      4、GroupInfo uint64 group_id = 1; / 群组ID string group_name = 2; / 群组名称(最大128字符) CIMGroupType group_type = 3; / 群类型 CIMGroupJoinModel join_model = 4; / 入群模式 CIMGroupBeInviteMode be_invite_model = 5; / 被邀请人同意方式 CIMGroupMuteModel mute_model = 6; / 禁言模式 uint64 group_owner_id = 7; / 群主 uint32 create_time = 8; / 创建时间 uint32 update_time = 9; / 群信息更新时间 string group_intro = 10; / 群介绍,别人搜索入群的时候显示 string announcement = 11; / 群公告 string group_avatar = 12; / 群头像解散群/ 解散群请求message CIMGroupDisbandingReq / cmd id:

      5、0x503 uint64 user_id = 1; uint64 group_id = 2;message CIMGroupDisbandingRsp / cmd id: 0x504 uint64 user_id = 1; uint64 group_id = 2; uint32 result_code = 3; bytes attach_notificatino_msg = 10; / 群解散系统通知,需要广播退群/ 退出群message CIMGroupExitReq / cmd id: 0x505 uint64 user_id = 1; uint64 group_id = 2;/ 退出群message CIMGroupExitRsp / cmd id: 0x506 uint64 user_id = 1; uint64 group_id = 2; uint32 result_code = 3; bytes attach_notificatino_msg = 10; / 群成员退出群系统通知,需要广播查询群列表/ 查询群列表请求message CIMGroupListReq / cmd

      6、 id: 0x507 uint64 user_id = 1;/ 查询群列表响应message CIMGroupListRsp / cmd id: 0x508 uint64 user_id = 1; repeated CIMGroupVersionInfo group_version_list = 2;/ 群版本信息message CIMGroupVersionInfo uint64 group_id = 1; uint32 group_version = 2;注意,这里返回的是ID+群版本号,可以方便将来扩展。具体的群信息,还需要查询一次。群信息/ 查询群信息请求message CIMGroupInfoReq / cmd id: 0x509 uint64 user_id = 1; repeated CIMGroupVersionInfo group_version_list = 2;/ 查询群信息响应message CIMGroupInfoRsp / cmd id: 0x510 uint64 user_id = 1; uint32 result_code = 2; repeated C

      7、IMGroupInfo group_info_list = 3;拉人/ 邀请人入群请求message CIMGroupInviteMemberReq / cmd id: 0x511 uint64 user_id = 1; uint64 group_id = 2; repeated uint64 member_id_list = 3; / 成员ID列表/ 邀请人入群响应message CIMGroupInviteMemberRsp / cmd id: 0x512 uint64 user_id = 1; uint64 group_id = 2; uint32 result_code = 3; bytes attach_notificatino_msg = 10; / 入群系统通知,需要广播为了简化,这里没有验证机制,而是直接把对方加入到群内。踢人/ 踢人请求message CIMGroupKickOutMemberReq / cmd id: 0x513 uint64 user_id = 1; uint64 group_id = 2; repeated uint64 member_id_list = 3; / 成员ID列表/ 踢人响应message CIMGroupKickOutMemberRsp / cmd id: 0x514 uint64 user_id = 1; uint64 group_id = 2; uint32 result_code = 3; bytes attach_notificatino_msg = 10; / 踢人系统通知,需要广播效果创建群代码请移步: ServerCoffeeChat:opensource im with server(go) and client(flutter+swift) iOS:参考了TeamTalk、瓜子IM等知名项目,包含服务端(go)和客户端(swift),单聊、群聊和机器人(小微、图灵、思知)聊天功能已完成,欢迎对golang和跨平台开发flutter技术感兴趣的小伙伴Star加关注。 -全文完-

      《IM开发群组创建业务设计》由会员Baige****0346分享,可在线阅读,更多相关《IM开发群组创建业务设计》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.