IM撤回訊息-iOS客戶端實現
撤回端&&被撤回端
新增一種訊息型別:CallLogTypeRecall
新增兩種訊息狀態:CallLogStatusRecalling, CallLogStatusRecalled
在介面顯示時過濾掉CallLogStatusRecalling狀態的訊息,以及訊息型別為CallLogTypeRecall的訊息
CallLogStatusRecalled狀態的訊息顯示成撤回一條訊息的提示
撤回端
傳送一條撤回訊息型別的訊息,CallLogTypeRecall
訊息中包含需要被撤回訊息的唯一識別符號,讓被撤回端能找到這條訊息
撤回訊息傳送成功之後把需要被撤回的訊息的status標記為CallLogStatusRecalled
如果撤回訊息傳送失敗,彈框提示
被撤回端
收到CallLogTypeRecall訊息時,根據訊息中的唯一識別符號去尋找對應的訊息
1:如果訊息被找到了,把訊息的status置為CallLogStatusRecalled
2:如果訊息沒有被找到,根據唯一識別符號新建一條本地訊息,並且把status置為CallLogStatusRecalling(這時候介面上不會有任何變化),當收到那條需要被撤回當訊息時,就會查重到剛才新建的本地訊息,把status置為CallLogStatusRecalled(這時候在介面上會顯示對方撤回一條訊息),如果始終沒有收到,可以對CallLogStatusRecalling的狀態置之不理
剛開始接觸IM,第一次去實現撤回訊息
求指點
相關文章
- im客戶端生成訊息序列號演算法客戶端演算法
- Spring Boot 整合 WebSocket 實現服務端推送訊息到客戶端Spring BootWeb服務端客戶端
- springboot2整合websocket,實現服務端推送訊息到客戶端Spring BootWeb服務端客戶端
- 訊息中介軟體客戶端消費控制實踐客戶端
- 如何實現從 Redis 中訂閱訊息轉發到 WebSocket 客戶端RedisWeb客戶端
- 使用swoole作為MQTT客戶端並接收實現即時訊息推送MQQT客戶端
- 實現客戶端與服務端的HTTP通訊客戶端服務端HTTP
- WebSocket 實現伺服器訊息推送客戶端Web伺服器客戶端
- SseEmitter 伺服器向客戶端推送訊息MIT伺服器客戶端
- Spring Boot+Socket實現與html頁面的長連線,客戶端給伺服器端發訊息,伺服器給客戶端輪詢傳送訊息,附案例原始碼Spring BootHTML客戶端伺服器原始碼
- 客戶端骨架屏實現客戶端
- TCP通訊客戶端和服務端簡單程式碼實現TCP客戶端服務端
- iOS逆向-客戶端認證iOS客戶端
- jQuery實現客戶端CheckAll功能jQuery客戶端
- golang實現tcp客戶端服務端程式GolangTCP客戶端服務端
- Redis的Pub/Sub客戶端實現Redis客戶端
- 網頁SSH客戶端的實現網頁客戶端
- netty建立數萬客戶端連線,並主動發訊息Netty客戶端
- 使用Java客戶端傳送訊息和消費的應用Java客戶端
- Go 實現簡易的 Redis 客戶端GoRedis客戶端
- 03. 實現客戶端應用程式客戶端
- FTP客戶端c程式碼功能實現FTP客戶端C程式
- 支付寶客戶端架構解析:iOS 客戶端啟動效能優化初探客戶端架構iOS優化
- Golang 實現客戶端與伺服器端UDP協議連線通訊Golang客戶端伺服器UDP協議
- Golang 實現 Redis(6): 實現 pipeline 模式的 redis 客戶端GolangRedis模式客戶端
- 使用 Golang 實現 appium/WebDriverAgent 的客戶端庫GolangAPPWeb客戶端
- python 實現 TCP、UDP 客戶端最簡流程PythonTCPUDP客戶端
- RetrofitJs – TypeScript實現的宣告式HTTP客戶端JSTypeScriptHTTP客戶端
- SpringBoot中HTTP高效能客戶端實現Spring BootHTTP客戶端
- Istio 中實現客戶端源 IP 的保持客戶端
- Jmeter的客戶端實現與Keep-AliveJMeter客戶端Keep-Alive
- 環信3.0iOS客戶端的整合iOS客戶端
- IM開發乾貨分享:淺談IM系統中離線訊息、歷史訊息的最佳實踐
- 騰訊 客戶端開發 QT客戶端QT
- Redis 6.0 客戶端快取的伺服器端實現Redis客戶端快取伺服器
- 利用tirpc庫實現簡單的客戶端和服務端RPC客戶端服務端
- Go基於gRPC實現客戶端連入服務端GoRPC客戶端服務端
- Qt實現網路聊天室(客戶端,服務端)QT客戶端服務端