Netty+SpringBoot+FastDFS+Html5實現聊天App

Netty+SpringBoot+FastDFS+Html5實現聊天App

github連接: https://github.com/ShimmerPig...前端

已將前端代碼上傳至github,修改app.js中的ip地址後便可使用。git

數據庫

用戶表

face_image爲用戶的頭像,須要保存小圖與大圖,qrcode爲該用戶對應的二維碼
圖片描述github

朋友關係表

圖片描述

好友申請表

記錄發送好友請求申請的數據表
圖片描述數據庫

聊天記錄表

sign_flag表示消息的簽收狀態,爲0表示未簽收,爲1表示已簽收
圖片描述json

項目結構

圖片描述

utils包

FileUtils 主要提供了一些與文件相關的操做

IMoocJSONResult 是自定義的響應給前端的數據結構

JsonUtils 提供了一些關於json轉換的操做

MD5Utils 提供了對字符串進行md5加密的操做

QRCodeUtils 提供了一些關於二維碼的相關操做

FastDFSClient 提供了各類上傳文件以及刪除文件的操做


enums包

MsgActionEnum 發送消息的動做的枚舉,相似於消息的類型

MsgSignFlagEnum 消息簽收狀態的枚舉

OperatorFriendRequestTypeEnum 忽略或者經過好友請求的枚舉

SearchFriendsStatusEnum 添加好友前置狀態的枚舉


pojo包

增長了bo包與vo包,分別存放business object與value object / view object;


mapper包

增長了一個自定義的UsersMapperCustom,在其中自定義了查詢好友請求列表,查詢好友列表,以及批量簽收聊天消息的方法;


service包

提供以下方法:

queryUsernameIsExist 判斷用戶名是否存在

queryUserForLogin 查詢用戶是否存在

saveUser 用戶註冊

updateUserInfo 修改用戶記錄

preconditionSearchFriends 搜索朋友的前置條件

queryUserInfoByUsername 根據用戶名查詢用戶對象

sendFriendRequest 添加好友請求記錄,保存到數據庫

queryFriendRequestList 查詢好友請求

deleteFriendRequest 刪除好友請求記錄

passFriendRequest 經過好友請求

queryMyFriends 查詢好友列表

saveMsg 保存聊天消息到數據庫

updateMsgSigned 批量簽收消息

getUnReadMsgList 獲取未簽收消息列表


controller包

提供以下接口:

registOrLogin 用戶註冊/登陸

uploadFaceBase64 上傳用戶頭像

setNickname 設置用戶暱稱

searchUser 搜索好友

addFriendRequest 發送添加好友的請求

queryFriendRequests 發送添加好友的請求

operFriendRequest 接受方經過或者忽略朋友請求

myFriends 查詢個人好友列表

getUnReadMsgList 用戶手機端獲取未簽收的消息列表


測試效果

註冊與登陸

圖片描述

我的信息

圖片描述

更換頭像

圖片描述

添加好友

圖片描述

二維碼添加好友

圖片描述
圖片描述
圖片描述

接受好友請求後開始聊天

圖片描述
圖片描述

相關文章
相關標籤/搜索