flutter项目-微信页面仿制和部分逻辑修改
Posted 张扬86
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flutter项目-微信页面仿制和部分逻辑修改相关的知识,希望对你有一定的参考价值。
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层需要解析正式地址,展示到页面上
二维码等更换功能,由相应逻辑部分实现,增加全局存储参数功能。
支持微信表情:参考 https://blog.csdn.net/qq_36676433/article/details/104756685 。但是不支持emoj,需要修改string的截取方式,参考:https://www.jianshu.com/p/6f47128790bc
效果图
以上是关于flutter项目-微信页面仿制和部分逻辑修改的主要内容,如果未能解决你的问题,请参考以下文章