大家好,我是 Java陳序員
。
問君能有幾多愁,開源專案解千愁!
今天,給大家介紹一個開源的仿微信聊天工具,同時支援 PC 端、移動端!
關注微信公眾號:【Java陳序員】,獲取開源專案分享、AI副業分享、超200本經典計算機電子書籍等。
專案介紹
盒子IM —— 一個仿微信實現的網頁版聊天軟體,支援私聊、群聊、離線訊息、傳送語音、圖片、檔案、emoji 表情等功能,不依賴任何第三方收費元件。
功能特色:
- 支援私聊、群聊、離線訊息、傳送語音、圖片、檔案、emoji 表情等功能
- 聊天視窗支援已讀未讀顯示,群聊支援@功能
- 支援音視訊通話(基於 Webrtc 實現,需要 SSL 證書)
- 支援移動端和 Web 端同時線上,多端訊息同步
技術棧:
- 後端:SpringBoot + Netty
- Web 端:Vue
- 移動端:Uniapp
訊息推送方案:
專案截圖
PC 端
好友列表
私聊
群聊列表
群聊
個人資訊設定
移動端
關注微信公眾號:【Java陳序員】,後臺回覆「高仿微信」,獲取專案地址和線上體驗地址!
專案執行
前期準備
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
最後
推薦的開源專案已經收錄到 GitHub
專案,歡迎 Star
:
https://github.com/chenyl8848/great-open-source-project
或者訪問網站,進行線上瀏覽:
https://chencoding.top:8090/#/
大家的點贊、收藏和評論都是對作者的支援,如文章對你有幫助還請點贊轉發支援下,謝謝!