Netty+SpringBoot+FastDFS+Html5实现聊天App

github链接: https://github.com/ShimmerPig...

已将前端代码上传至github,修改app.js中的ip地址后即可使用。

数据库

用户表

face_image为用户的头像,需要保存小图与大图,qrcode为该用户对应的二维码

朋友关系表

好友申请表

记录发送好友请求申请的数据表

聊天记录表

sign_flag表示消息的签收状态,为0表示未签收,为1表示已签收

项目结构

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 用户手机端获取未签收的消息列表

测试效果

注册与登录

个人信息

更换头像

添加好友

二维码添加好友



接受好友请求后开始聊天


Netty+SpringBoot+FastDFS+Html5实现聊天App相关推荐

  1. Netty+SpringBoot+FastDFS+Html5实现聊天App详解(一)

    Netty学习 Netty+SpringBoot+FastDFS+Html5实现聊天App,项目介绍:https://segmentfault.com/a/11... Netty+SpringBoot ...

  2. Netty+SpringBoot+FastDFS+Html5实现聊天App详解(四)

    Netty+SpringBoot+FastDFS+Html5实现聊天App,项目介绍. Netty+SpringBoot+FastDFS+Html5实现聊天App,项目github链接. 本章完整代码 ...

  3. 【SpringBoot框架篇】18.使用Netty加websocket实现在线聊天功能

    文章目录 1.简介 2.最终功能实现的效果图 2.1.pc端 2.2.移动端 3.实战应用 3.1.引入依赖 3.2.配置文件 3.3.测试demo 3.3.1.消息内容实体类 3.3.2.处理请求的 ...

  4. SpringBoot +WebSocket实现简单聊天室功能实例

    SpringBoot +WebSocket实现简单聊天室功能实例) 一.代码来源 二.依赖下载 三.数据库准备(sql) 数据库建表并插入sql 四.resources文件配置 application ...

  5. 爱聊天(LoveChat)即时通讯聊天APP系统——技术架构

    爱聊天(LoveChat)即时通讯聊天APP系统--技术架构 公司旗下第三代即时通讯产品 第一代:阿卡信 https://gitee.com/openzaly/akaxin-openzaly 第二代: ...

  6. html5跨平台桌面打包,Html5到跨平台app应用

    Html5到跨平台app应用 每一项新兴技术的出现和流行,都是为了规模化的去统一解决一系列复杂问题,APICloud选择混合开发方向,目的是希望借助HTML5降低app开发复杂度,提高app开发效率. ...

  7. 使用 jQuery Mobile 与 HTML5 开发 Web App (十九) —— HTML5 对 Web App 的影响

    在本系列文章的开头,Kayo 曾经介绍过 Web App 的优缺点,并且说明了 HTML5 在其中起的作用,当然,Web Apps 的发展需要 HTML5 , CSS 与 JavaScript 以及后 ...

  8. 使用 jQuery Mobile 与 HTML5 开发 Web App (十五) —— jQuery Mobile 与响应式

    jQuery Mobile 在刚推出的时候,曾经宣传了几个重要的特点,除了 Kayo 在本系列文章中多次介绍的"触摸屏优化"外,另外一个最直接的特点就是"响应式设计&qu ...

  9. 使用 jQuery Mobile 与 HTML5 开发 Web App (十四) —— jQuery Mobile 方法下

    本文承接上文<使用 jQuery Mobile 与 HTML5 开发 Web App -- jQuery Mobile 方法上>,继续说明 jQuery Mobile 的方法,这部分内容主 ...

最新文章

  1. iOS UIView快速添加事件
  2. 读取Assets中的文件数据
  3. 「操作系统」《自己动手写操作系统》1.1前期准备工作
  4. sed命令的使用和说明
  5. 前端学习(669):流程控制
  6. VC2008 Windows Media Player控件的使用技巧 三
  7. 【BZOJ1834】【codevs1362】网络扩容,最大流+费用流
  8. SQLServer2005 中 XML类型方法中 XQuery中变量的参数化--匆忙整理
  9. 一个强大的网络库RxEasyHttp
  10. 生信必备技巧之R语言基础教程03——逻辑数据用途及字符串处理
  11. 注册表清理软件测试自学,注册表检测及修复工具(RegClean Pro)
  12. matlab绘制图形hold on_Matlab绘图示例
  13. ssh: connect to host github.com port 22: Connection refused
  14. pipe 半双工_linux进程间通信之管道(无名管道pipe)实现全双工双向通信
  15. 禅道二次开发(三):二次开发实例
  16. 【python初级】 关于time.sleep睡眠时间
  17. ThinkPHP6 隐藏身份证中间8位
  18. STM32F103C8T6基础开发教程(HAL库)—开发环境配置
  19. 财务学python还是vba_作为一名会计应届生准备投身财务,想多学一门技能 是推荐python还是VBA或是其他什么 求指点一下?...
  20. 癌症专家推荐:揭秘抗癌果蔬排行18强(组图)

热门文章

  1. eeglab教程系列(6)-提取数据epoch
  2. 这家研究院太年轻,竟跟世界级选手“叫板”
  3. 免费试用人数太多,微软Windows 365云电脑服务器炸了,官方紧急暂停
  4. MIT微软为AI量身打造了一套leetcode编程题
  5. 5000量子比特的商用计算平台发布!D-Wave:这是商业应用的唯一选择
  6. 明晚直播丨上海名师王召强:高考大变脸后,中小学语文怎么学?
  7. 单张图像就可以训练GAN!Adobe改良图像生成方法 | 已开源
  8. RocketMQ几种搭建模式说明
  9. BZOJ3632:外太空旅行(最大团,DFS)
  10. vue实现移动端圆形旋钮插件