專案介紹
盒子IM —— 一個仿微信實現的網頁版聊天軟體,支援私聊、群聊、離線訊息、傳送語音、圖片、檔案、emoji 表情等功能,不依賴任何第三方收費元件。
功能特色:
支援私聊、群聊、離線訊息、傳送語音、圖片、檔案、emoji 表情等功能
聊天視窗支援已讀未讀顯示,群聊支援@功能
支援音視訊通話(基於 Webrtc 實現,需要 SSL 證書)
支援移動端和 Web 端同時線上,多端訊息同步
技術棧:
後端:SpringBoot + Netty
Web 端:Vue
移動端:Uniapp
訊息推送方案:
專案截圖
PC 端
好友列表
私聊
群聊列表
群聊
個人資訊設定
移動端
開源地址:https://gitee.com/bluexsx/box-im
專案執行
前期準備
1、執行環境
JDK:1.8
Maven:3.6.3
MySQL:5.7
Redis:5.0
Minio
Node:v14.16.0
2、拉取程式碼
git clone https://gitee.com/bluexsx/box-im.git
3、程式碼目錄結構
模組 | 功能 |
---|---|
im-platform | 與頁面進行互動,處理業務請求 |
im-server | 推送聊天訊息 |
im-client | 訊息推送sdk |
im-common | 公共包 |
im-ui | web頁面 |
im-uniapp | app頁面 |
後端服務
1、將整個專案以 Maven 的形式匯入到 IDEA 中
2、建立資料庫
CREATE DATABASE 'box-im' DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
3、執行 im-platfrom/resources/db
下的 db.sql
檔案
4、修改 im-platform
模組的配置檔案 application.yml
中的資料庫、Redis、Minio 對應的連線地址資訊
5、修改 im-server
模組的配置檔案 application.yml
中的 Redis 對應的連線地址資訊
6、分別執行主啟動類 com.bx.implatform.IMPlatformApp
、com.bx.imserver.IMServerApp
啟動服務
Web 前端
1、進入到 im-ui
目錄
cd im-ui
2、安裝依賴
npm install
3、啟動服務
npm run dev
4、瀏覽器訪問
http://localhost:8080
移動端
1、將 im-uniapp
目錄匯入到 HBuilderX
2、安裝依賴
npm install
3、點選 HBuilderX 頂部選單欄中的執行
4、訪問
http://localhost:5173