本文旨在更新上一节设计中的不合理进行整改,关于登录的不足还有扩展功能的添加。
前文:登录模块详细设计
对于前文中的登录原核心思路是正确的,不过对于后期的部分业务功能的扩展是比较麻烦的,比如发送给其他人,发送离线消息,判断系统用户是否离线等。 的确,上文只是设计登录而言,但是我们还要考虑到后续功能接口的封装还有业务流程,所以一开始多磨是有好处的。
这次的架构流程我们大致是这样的。
我们可能需要中心整理一下:
- 客户端是小程序、APP、Web端等的统称
- 客户端向服务器登录请求获取服务器分配的token
- 同时服务器将用户信息与token存入redis
- 客户端登录的同时还要登录InChat,发送json格式向websocket模拟登录
{
type:login
token:****
}
- InChat接收根据Type进行登录流程的执行,用户重写verifyToken方法去用户自定义的Redis中判断,返回真假
- 校验登录成功,InChat本地存储链接与用户信息,这里的用户信息应该是User唯一标识,而不能是Token
在我写到这里的时候,脑子中突然觉得说不定可以使用token,甚至想到更多,导致我没有继续写完本章 2018-11-27 end.