业务背景:
因业务需要制定一个新的聊天窗口,部分逻辑和原来的不同,在展示的数据体现在查询范围、个数显示、权限控制等有不同的地方,在通信方式机制上和原有逻辑保持一致。新老窗口显示分为多端,例如小程序、web端、APP端,小程序、APP端是利用版本区分(小程序、APP无法做到俩个聊天窗口并存),web端是利用权限控制(因为开了俩个页面)。用户群体包含用户(小程序、APP)、业务方(APP)、客服工作人员(web端),可以理解为不同用户和业务方对应的客服人员是不一致,就跟游戏里面VIP客服一样,因此会存在多个聊天窗口区分.
业务分析:
第一是数据展示,新老窗口查询的范围不一样,这里在纠结使用新的接口,还是内部根据版本号进行策略区分,使用新的接口好处是可以不用去管老的逻辑,坏处是会增加URL管理成本,以后可能会因展示逻辑改变而频繁新增接口,使用旧的接口好处是不用去频繁新增URL,减少管理成本,坏处是各个调用端的版本可能不能同时发布,需要动态配置版本信息增加维护成本,同时后端得去对各个端的请求和版本号增加适配工作(需要在原接口新增请求来源和版本号),以及测试的旧业务回归工作。
第二是权限控制,小程序、APP端因只有一个窗口,因此不需要去维护权限,web端因系统架构因素是根据url角色组进行分配,使用旧的接口没办法做到精确区分使用人员,在这种情况下,也不能因为这个需求去改权限控制架构。
总结
最终结果因为系统权限架构的因素,选择使用新的URL接口作为技术方案,虽然这种方式不合理,会影响后续的管理,但也是讲改动成本降到最低的一种做法,维护成本高也是无奈之举。