1 简介
UI 的全称是 User Interface ,但公司里的通用定义是:用于 web 类接入服务的后端接入模块,常用于用户身份校验、页面渲染和协议转换等功能,位置介于 web 服务器和逻辑服务器之间。在 Webim 系统结构中,由于前后端基于数据分离,即后端只是提供数据,由前端 js 完成页面渲染,因此 Webim 系统内的 UI 更多地承担了身份校验和协议转换的功能。
2 重构
2.1 重构之前
重构前 WEBIM-UI 主要存在的问题如下:
1. 代码庞大,组织较混乱,最大的一个源文件代码超过 1w 行。
2. 流程不够清晰,指令流程与具体实现耦合较紧,导致修改指令处理流程和新增指令较为困
难,特别是后期同时支持 bridge 和普通用户时这一点尤为突出。
3. 公共逻辑代码抽象的不够,很多相同的逻辑重复实现,冗余代码较多,增加了维护的难度。
4. 随着业务需求的不断变化,已有的接口设计不能满足需要,需要进行接口层面的扩展。
如之前单一的根据后端回包中的 code 决定给前端回包的