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项目-微信页面仿制和部分逻辑修改的主要内容,如果未能解决你的问题,请参考以下文章

基于Weex的Flutter项目框架

Flutter微信项目实战07 通讯录界面搭建(下)

Flutter微信项目实战07 通讯录界面搭建(下)

Flutter微信项目实战07 通讯录界面搭建(下)

Flutter微信项目实战04发现界面搭建

Flutter微信项目实战04发现界面搭建