当前位置: 首页 > Web前端 > HTML

uniapp+nvue实现类微信界面+功能——uni-app实现聊天+语音+视频+图文

时间:2023-03-28 19:46:43 HTML

uniapp聊天应用txim实例项目基于uniapp+nvue仿微信界面功能,实现如下功能。1:聊天会话管理2:好友列表3:文字、语音、视频、表情、位置等聊天消息收发4:一对一语音视频在线通话技术实现开发环境:HbuilderX+node.js技术框架:uniapp+vue2.x+node-sass状态管理:Vuex自定义组件:ChatLayout、ChatContactItem、ChatInputBox、ChatMessageItem、ChatMsgItemPop测??试环境:App端(Android+IOS)插件:Zhimi-TXIM代码:开源效果概览uniapp开发下,Android和ios端表现高度一致。配合nvue的组件渲染机制,可以在兼顾高效渲染速度的同时,实现组件分离。长列表和消息加载速度均在2s内呈现。解耦UI组件,积木式界面相比传统的各种微信类界面设计,各种class满天飞,各种js事件侵入业务组件的设计。我们对UI组件进行了解耦,让业务代码和底层界面组件完美分离,实现积木式界面,开发更专注于业务,不牵一发而动全身。各种没有解耦的好坏接口代码(自定义需要改class样式,怕冲突)xxxxxxxxx...解耦组件构建,布局清晰,代码独立性高耦合设计让代码更可读性,降低维护成本,进一步增加定制的可定制性。uniapp仿微信弹出气泡菜单组件对于新的微信弹出气泡菜单组件,在项目中也实现了,不仅仅是弹出菜单列表,得益于传入的长按事件,我们可以自动实现根据元素的位置判断是向上弹出还是向下弹出,效果如下。它也非常易于使用。引入组件后只需要导入长按事件的事件,组件会自动计算出自己的位置。开发者只需修改弹窗组件中的业务即可。importChatMsgItemPopfrom'../components/ChatMsgItemPop.nvue'uniapp实现聊天页面滚动到底部的时候我们模仿微信聊天的时候,难免会遇到一个问题,就是发送消息后页面一直停留在当前滑动位置,而不是底部。得益于解耦后的优势,我们已经完成了chatLayout组件下的实现,只需要一行代码即可发送/接收消息后滚动到底部。this.$refs.chatLayout.scrollToBottom()至此uniapp开发仿微信App聊天界面的分享申请到此结束咯,下次再分享语音和视频通话部分。这部分代码使用的原生插件可以参考uniapp插件市场的插件。插件市场也有开源代码项目。DCloud插件市场里面的名字是《腾讯云即时通讯-好友群聊语音图视频》https://ext.dcloud.net.cn/plu...可以通过插件市场对应的按钮直接导入开源代码,但是记得首先安装HbuilderX。