flutter项目-微信页面仿制和部分逻辑修改

xiaonao00 2020-03-03

1、需求:

仿制微信启动页后的四个页面

聊天页面可打开,可以自由模拟聊天

联系人界面可自由添加联系人,联系人信息可点开

二维码可更换,头像可更换,id可更换,昵称可更换

需要有群发功能,群发消息支持图片和问题,界面要高仿,支持消息删除

2、实现:

不能重复造轮子,感谢前辈的无私奉献,基本实现了需求点1.

已有项目的实现方案是底层腾讯im ,上层flutter制作,通过插件调用。需求点2和3要求高度自由定制,im不能实现虚拟聊天和虚拟好友,因此考虑

方案1:用flutter实现im会话管理,联系人管理功能,实现自由定制 

方案2:替换掉im、逻辑层代码直接实现数据组织,架空im;

方案3:部分替换im功能,如联系人,屏蔽im接口,通过缓存和消息机制实现自由添加好友和动态展示,会话功能仍然使用im原有功能。

最后选择了方案3实现。原因是改动量小,整体实现im会话管理改动和测试量太大。替换掉im工作量更是不能接受。方案3较为灵活,且避免了会话管理等细节的重复实现。较为经济

整体方案:联系人屏蔽im接口。由缓存和逻辑层配合实现。

     聊天功能 由im接口实现,互发消息通过@字符前缀实现。、模拟对方发消息的时候,前缀@,实际存储仍然是当前用户发送消息。view层解析时候,解析为对方消息

     群发功能:界面修改。将发送人信息封装到消息中。view层解析接收人并展示。图片消息复用path字段,view层需要解析正式地址,展示到页面上

     二维码等更换功能,由相应逻辑部分实现,增加全局存储参数功能。

效果图 flutter项目-微信页面仿制和部分逻辑修改

相关推荐