Posted on 2023-05-12 11:44
Jack Jiang 閱讀(98)
評論(0) 編輯 收藏
一、基本介紹
MobileIMSDK-Uniapp端是一套基于Uniapp跨端框架的即時通訊庫:
- 1)超輕量級、無任何第3方庫依賴(開箱即用);
- 2)純JS編寫、ES6語法、高度提煉,簡單易用;
- 3)基于Uniapp標準WebSocket API,簡潔優雅;
- 4)理論上可運行于任何支持Uniapp跨端框架的平臺上;
- 5)能與 MobileIMSDK(Github托管鏈接) 的各種客戶端完美互通;
- 6)可應用于基于Uniapp的跨平臺App或Web的消息推送、客服聊天、企業OA、IM等場景。
詳細開發資料:
二、與MobileIMSDK的關系
MobileIMSDK-Uniapp端 是基于Uniapp標準 WebSocket API的 MobileIMSDK配套客戶端庫。
以下是MobileIMSDK的最新通信架構圖:

MobileIMSDK是一套專為移動端開發的原創開源IM通信層框架:
- 1)歷經8年、久經考驗;
- 2)超輕量級、高度提煉,lib包50KB以內;
- 3)精心封裝,一套API同時支持UDP、TCP、WebSocket三種協議(可能是全網唯一開源的);
- 4)客戶端支持iOS、Android、標準Java、H5(暫未開源)、微信小程序(暫未開源)、Uniapp
(暫未開源); - 5)服務端基于Netty,性能卓越、易于擴展;
- 6)可與姊妹工程 MobileIMSDK-Web 無縫互通實現網頁端聊天或推送等;
- 7)可應用于跨設備、跨網絡的聊天APP、企業OA、消息推送等各種場景。
PS: MobileIMSDK一直在持續開發和升級中,本Uniapp客戶端是MobileIMSDK工程的最新成果。
三、設計目標
直接使用Uniapp的WebSocket API開擼,有以下問題和劣勢:
- 1)功能有限: 沒有心跳?;?、斷線重連、消息送達保證(重傳和去重)等即時通訊關鍵算法和邏輯;
- 2)API簡陋: 在如此有限的API接口下,能邏輯清晰且健壯地實現并組合心跳?;?、斷線重連、消息送達保證等算法,需要相當高的技術掌控力;
- 3)邏輯耦合: 經驗欠缺的開發人員,會將WebSocket通信與前端UI界面代碼混在一起,使得UI界面的編寫、維護、改版都非常困難。
針對以上問題: MobileIMSDK-Uniapp端庫將讓開發者專注于UI應用層的開發,網絡通信層的專業代碼交由SDK開發人員,從而解偶UI前端和通信層的邏輯耦合性,大大降低技術復雜度和應用門檻。
MobileIMSDK-Uniapp端庫的設計目標是為您的開發帶來以下便利:
- 1)界面與通信解偶: UI界面與網絡通信代碼解耦,UI界面的重構、維護、改版都非常容易和優雅;
- 2)輕量級和兼容性: 受益于堅持使用Uniapp的標準WebSocket API,簡潔輕量,無需任何額外庫依賴;
- 3)核心內聚和收斂: 得益于長期的提煉和經驗積累,SDK核心層高度封裝,開發者無需理解復雜算法即可簡單上手。
- 4)純JS輕量級實現: 純JS編寫、ES6語法,無重量級框架和庫依賴(更無Native代碼),可干凈利落地對接各種既有系統;
- 5)跨平臺運行能力: 受益于Uniapp框架的跨端特性,理論上本SDK可運行于任何支持Uniapp的平臺上。
四、技術亮點
- 1)輕量易使用: 超輕量級——純JS編寫且無任何第3方庫依賴,高度提煉——簡單易用;
- 2)代碼現代感: 盡可能優先使用ES6語法,摒棄舊式JS語法的年代感;
- 3)跨端支持好: 基于Uniapp的標準WebSocket API(無Native代碼依賴),理論上可很好地運行于任何支持Uniapp的平臺上;
- 4)斷網恢復能力: 擁有網絡狀況自動檢測、斷網自動治愈的能力;
- 5)送達保證機制: 完善的QoS消息送達保證機制(自動重傳、消息去重、狀態反饋等),不漏過每一條消息;
- 6)通信協議封裝: 實現了一個對上層透明的即時通訊通信協議模型;
- 7)身份認證機制: 實現了簡單合理的身份認證機制;
- 8)完善的log信息: 在開發調試階段,確保每一個算法關鍵步驟都有日志輸出,讓您的運行調試更為便利;
- 9)界面代碼解耦: 實現了UI界面代碼與SDK網絡通信代碼解偶,防止界面代碼跟IM核心代碼混在一起,不利于持續升級、重用和維護;
- 10)多端協議兼容: 實現了與MobileIMSDK各種客戶端完全兼容的協議模型。
五、文件組成
SDK代碼文件概覽:

SDK代碼文件用途說明:

六、Demo運行效果和說明

七、跨平臺運行效果演示
1)Demo在內置瀏覽器中的運行效果:

2)Demo在電腦瀏覽器中的運行效果(以Chrome為例):

3)Demo在Android真機上的運行效果:

4)Demo在iOS模擬器上的運行效果:

5)Demo在iOS真機上的運行效果:

6)Demo在微信小程序上的運行效果:

7)Demo在支付寶小程序上的運行效果:

(其它更多平臺的運行效果就不一一列舉了,因為都要安裝各自的開發工具,硬盤空間吃緊 。。。)
八、詳細資料
① MobileIMSDK-Uniapp端的詳細介紹:點此查看 ??
② MobileIMSDK-Uniapp端的開發手冊(網頁版):點此查看 ??
③ MobileIMSDK-Uniapp端的開發手冊(精編PDF版):點此查看 ?? (* 推薦)
④ MobileIMSDK-開源框架的詳細介紹:https://gitee.com/jackjiang/MobileIMSDK (Github托管鏈接)??