{"repo":"JackJiang2011/harmonychat","free":true,"listed":false,"github":"https://github.com/JackJiang2011/harmonychat","clone":"git clone https://github.com/JackJiang2011/harmonychat.git","description":"一个简洁的鸿蒙NEXT上的WebSocket协议聊天客户端，基于MobileIMSDK通信库，有完善的网络通信通力、简洁的聊天界面UI、合理的代码拆分和逻辑实现，适合学习研究或直接用于简单的聊天单面项目中。","language":"TypeScript","stars":42,"topics":["arkts","chat","harmonyos-next","im","websocket","mobileimsdk"],"license":"Apache-2.0","category":"networking-infra","readme_excerpt":":heart: 最新动态： 基于MobileIMSDK的鸿蒙Next端IM产品RainbowTalk已发布。:heart: 一、HarmonyChat是什么？ HarmonyChat是 一个简洁的鸿蒙NEXT上的基于WebSocket协议的聊天客户端 ，它基于MobileIMSDK（ ）通信库， 有完善的网络通信通力、简洁的聊天界面UI、合理的代码拆分和逻辑实现，非常适合学习研究或直接用于简单的鸿蒙NEXT单页聊天项目中 。 HarmonyChat引用了MobileIMSDK开源即时通讯框架的鸿蒙NEXT端Demo代码，并参考了鸿蒙NEXT端IM产品RainbowTalk的部分框架性代码，希望能带给你帮助。 二、为什么有HarmonyChat？ 我本身是MobileIMSDK开源框架的作者，正好近期趁着开发MobileIMSDK的鸿蒙NEXT端演示界面的机会，把相关的UI代码整理出来，希望在当前鸿蒙有质量的资料比较少的情况下，能带给需要的人一点启发或帮助。 你如果在HarmonyChat中看到有关MobileIMSDK的资料和字眼也不要奇怪，因为本工程中的代码、资料、想法，都是从MobileIMSDK的鸿蒙NEXT端工程中整理和抽取出来的，目的是方便需要的人从单独的UI界面和功能来学习和使用。 三、谁需要HarmonyChat？ 目前高质量的鸿蒙NEXT端IM聊天方面的开源代码还非常少（几乎找不到有价值的开源分享），所以我希望能把自已编写的相关代码抽取出来供需要的人借鉴和使用，共同进步。 HarmonyChat特别适合以下开发者学习、研究或直接使用 ： 1. :triangular flag on post: 想学习使用ArkTS和ArkUI开发聊天界面的； 2. :triangular flag on post: 想学习如果在鸿蒙NEXT中对接网络通信代码的； 3. :triangular flag on post: 想学习IM聊天程序如何在鸿蒙NEXT中实现UI和网络数据的逻辑分离的； 4. :triangular flag on post: 想得到可以直接使用的单页聊天界面的； 5. :triangular flag on post: 想要开发IM聊天应用，但需要一个脚手架作为起点的。 四、实现了哪些特性？ 1. :triangular flag on post: 实现了一个UI简洁、代码清晰、逻辑分层合理的聊天界面（可以直接复制到一些单页聊天产中品用，比如客服聊天）； 2. :triangular flag on post: 消息的送达状态在UI界面上会自动更新显示（包括发送中、已送达、送达失败）； 3. :triangular flag on post: 网络连接状态的UI显示（含心跳呼吸灯效果）； 4. :triangular flag on post: 实现了真正的网络通信和聊天（包括完整的多端互踢、网络心跳、掉线重连、消息重传、消息应答、消息去重等），这是基于MobileIMSDK通信库实现的； 5. :triangular flag on post: 实现了隐私提醒、闪屏、登录界面的判断和跳转逻辑（可以直接复制这几个界面到你的产品中去用用） 6. :triangular flag on post: 鸿蒙NEXT的List列表在LazyForEach带来的性能优化情况下的动态UI刷新； 7. :triangular flag on post: 利用DataSource和一个全局消息缓存管理机制实现网络数据与UI的解偶（ 这是IM消","default_branch":null,"files":null,"tree":[],"storefront":"/r/JackJiang2011","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/JackJiang2011/harmonychat/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}