1.目标:
E聊SDK目标是打造一個免費開源,接入簡單,适應多平台的即時通信SDK,為廣大開發者提供便利。
2.簡介:
E聊SDK是一套适用于PC端, 移動端的即時通訊解決方案,源代碼開放。E聊整合了即時通訊的基礎能力,使用E聊,您可以讓您的應用快速接入即時聊天的功能。E聊現已适配PC Web, 移動Web, Android, iOS 等平台。
3.系統架構:
3.1 各子產品介紹
E聊伺服器: 提供了基礎的消息轉發功能,使用者管理、群組管理等功能;
E聊管理台: 向E聊伺服器申請接入SDK 所需要的App Key, Client Secret, App Secret 等;
應用用戶端: 使用E聊賬号登入E聊伺服器,實作單聊、群聊消息收發等功能;
應用背景: 業務應用背景,維護原有的業務使用者清單,此外,需維護一張與E聊使用者的關系映射表。
3.2 E聊功能介紹
3.2.1 單聊
點對點的基礎聊天,支援文字,圖檔,檔案等方式;
3.2.2 群聊
一對多的群聊/讨論組,支援文字,圖檔,檔案等方式;
3.2.3 使用者資料管理
使用者賬号(auid), 密碼(token), 昵稱,性别,頭像,簽名,手機,郵箱等;
3.2.4 使用者關系管理
使用者的好友關系管理,黑名單清單,禁言清單等;
3.2.5 消息通知
用戶端SDK可以接受到基礎的消息通知,比如使用者上線/離線,被加好友,被拉入群聊等;
3.2.6 離線消息
E聊伺服器能緩存一定日期内的離線消息,待用戶端上線時會自動推送到用戶端;
3.3 接入流程
(1).注冊登入E聊管理台,在管理台建立APP, 記錄App Key, Client Secret, App Secret;
(2).建立E聊使用者,可以使用服務端API建立,也可以在E聊管理台建立,在應用背景記錄業務使用者與E聊使用者的映射關系;
(3).整合用戶端SDK 進應用用戶端,配置SDK參數(如: E聊伺服器位址,App Key, Client Secret);
(4).登入應用背景,擷取E聊使用者賬号(auid, token)實作登入,消息收發;
4.Web用戶端簡介:
E聊SDK提供了一個基本的Web版用戶端Demo源碼,通過編譯該用戶端,可以接入E聊伺服器,實作單聊/群聊等功能。WEB用戶端源碼包含了兩部分,一部分是核心SDK(使用TypeScript 開發),一部分是示範Demo(使用JavaScript + BootstrapVue 2.9.0 開發)。以下介紹如何從源碼編譯Web用戶端。
4.操作步驟:
4.1 下載下傳Release v1.01 源碼
git clone https://gitee.com/dzqmeiji/echatim-client-web.git
cd echatim-client-web/
git checkout -b v1.01 v1.01
4.2 編輯用戶端連接配接配置
我們使用E聊線上伺服器做為聊天背景,配置都使用預設的配置,隻需在src/main.js 中更改AppKey 的配置項即可,關于AppKey的擷取請參考
E聊SDK-簡介(3): 管理平台使用// src/main.js 檔案内容
719 sdkConfig.host = 'api.echatim.cn'; //使用線上預設配置
720 sdkConfig.httpPort = 58082; //使用線上預設配置
721 sdkConfig.socketPort = 59092; //使用線上預設配置
722 sdkConfig.key = '修改這一項為自己的AppKey';
723 sdkConfig.secret = ''; // 這是保留配置, 不需要更改
4.3 編譯源碼并啟動Web Demo項目
yarn install #下載下傳項目依賴
yarn lib #編譯sdk 核心庫
yarn start #啟動web項目
啟動後通路:
http://localhost:80即可通路Web Demo項目。
4.4 體驗Web Demo項目
之前已在
中建立了E聊使用者,使用在管理台建立的使用者auid, 使用者token 登入即可。
登入後的聊天界面如下,暢快體驗吧!
4.5 打包成釋出版本
這裡介紹在mac, linux 上的打包方法,若開發平台是windows, 也可安裝git bash工具在bash cmd 視窗上實作打包。
cd echatim-client-web # 在項目根目錄準備打包
mkdir -p dist/deploy # 建立打包目錄
cp ./src/faces.js dist/deploy/
cp ./src/main.js dist/deploy/
cp ./src/utils.js dist/deploy/
cp ./src/index.html dist/deploy/
cp ./src/login.html dist/deploy/
cp ./src/app.html dist/deploy/
cp -rf ./static dist/deploy/ # 拷貝static 資源目錄
tar -cvzf deploy-v1.01.tar.gz dist/deploy # 打包成ddeploy-v1.01.tar.gz 釋出版本
5.移動背景端簡介:
E聊SDK提供了一個基礎的後端社群版源碼,通過編譯/修改該後端源碼,可以實作更深度的業務定制,比如檔案上傳/下載下傳、使用者線上/離線監聽、API權限功能、叢集功能等。後端項目使用了springboot+mybatis 進行開發,使用maven 進行項目管理。以下介紹如何從源碼編譯後端項目。
5.操作步驟:
5.1 下載下傳broker Release v1.01 源碼
git clone https://gitee.com/dzqmeiji/echatim-server-broker-community.git
cd echatim-server-broker-community/
git checkout -b v1.01 v1.01
mvn clean install -DskipTests=true # 編譯後端中間件
5.2 下載下傳server Release v1.02 源碼
git clone https://gitee.com/dzqmeiji/echatim-server-community.git
cd echatim-server-community/
git checkout -b v1.02 v1.02
mvn clean install -DskipTests=true # 編譯後端項目
5.4 導入資料庫結構與初始資料
安裝mysql5.7資料服務, 在mysql建立echatim 資料庫, 導入sqls/echatim-2020-04-30.sql 檔案到echatim 到資料庫。建立mysql root 使用者, 密碼為空.
5.5 啟動後端項目
cd server-community-deploy/target/
java -jar server-community-deploy-1.0.jar
啟動成功後見到:
swagger test started. http://localhost:8082/swagger-ui.html
socket.io started. http://localhost:9092
API調試:
http://localhost:8082/swagger-ui.htmlsocketIO位址:
http://localhost:90925.6 編輯Web用戶端配置 源碼位址
我們使用E聊本地伺服器做為聊天背景,配置都使用本地伺服器配置(社群版沒有檔案服務的功能)
// src/main.js 檔案内容
719 sdkConfig.host = 'localhost'; //使用本地伺服器
720 sdkConfig.httpPort = 8082; //使用本地預設配置
721 sdkConfig.socketPort = 9092; //使用本地預設配置
722 sdkConfig.key = 'TSDKTEST00001'; # 檢視資料庫sdk_app表
723 sdkConfig.secret = ''; // 這是保留配置, 不需要更改
使用yarn start 即可使用本地後端項目實作聊天功能.
技術支援:
E聊
進入官網 進入管理台SDK版本:v1.01
技術交流QQ群: 471688937