相關資訊
應用前後端分離實現
後端:golang
前端:vue
框架:go-zero、Mint UI
功能清單:
- 使用者註冊、登入
- 使用者搜尋、新增好友、刪除好友
- 群組聊天功能(群組建立、申請入群,退出群組,解散群組等)
- 傳送/接收文字訊息(支援離線訊息的接收)
幾張功能時序圖
1、新增好友
1、使用者A請求api介面新增使用者B為好友
2、api介面處理成功後向websocket服務傳送新增訊息
3、websocket服務收到訊息後轉發個使用者B(線上 ? 傳送 : 入離線訊息佇列)
4、使用者B收到好友新增訊息,點選同意或拒絕請求api。
5、api處理成功後向websocket服務傳送訊息
6、websocket服務轉發訊息到使用者A 完成好友新增(線上 ? 傳送 : 入離線訊息佇列)
2、訊息傳送
3、離線訊息處理
Tip:
1、所有的訊息轉發都會驗證(線上 ? 傳送 : 入離線訊息佇列)。待使用者下次登入上線時再傳送。
2、所有訊息都是本地快取,資料庫有儲存,客戶端沒有呼叫介面獲取。
部分效果圖
最後附上體驗地址:chat.wuyan94zl.cn
後端程式碼地址:github.com/wuyan94zl/IM
本作品採用《CC 協議》,轉載必須註明作者和本文連結