面对面建群
移动端交互逻辑和微信的面对面建群一样,几个在一起的小伙伴,想拉一个群的时候,打开面对面建群,大家都输入4位相同数字,即可完成建群操作。
1. 基本原理
移动端和app server配合实现。
app server 维护一个面对面建群会话列表,面对面建群会话包含:4位随机数、位置信息、会话创建时间、群的groupId等信息。
2. 大概思路
- 移动端用户发起面对面建群时,将自己的位置(经纬度)和随机生成的4位随机数传给app server
- app server查询面对面建群会话列表,看是否存在4位随机数相同,且对应的位置和当前用户的位置的距离在一定范围内的会话。
- 如果不存在,则创建并保存一个面对面建群会话,然后调用im server 的server api创建一个群,并将群的groupId保存到会话中。
- 如果存在,则调用im server 的 server api,将当前用户邀请进会话对应的群聊。
- 定时任务,清除过期的面对面建群会话