首页 > 其他分享 >聊天系统

聊天系统

时间:2022-12-03 16:23:07浏览次数:46  
标签:系统 用户 ajax 聊天 表中 type id 好友

源码

github

技术栈

Springboot+websocket+原生前端+jq+ajax+mybatis

功能

登录系统

通过ajax与后端交互,thymeleaf渲染判断用户是否登录

注册

注册和登录技术产不多

在线人数

显示的是好友在线,双击js中的friend_id保存就是当前点击的id值,
然后通过websocket发送的是json格式的数据{"toName":id,"Message":data,"type":type}
其中type是发送群聊还是当用聊天,如果是group表示是群聊,那么通过后端的websocket发送给所有的好友,同个数据库查询到该好友

//Map键是用户id值是用户对应的socket
 private static Map<String,WebSockTest> webSocketSet=new ConcurrentHashMap<>();//并发
  //群发就是得到对应的socket然后发送给某个用户,一个for循环就行

添加好友

同个数据库调用,
在添加的时候,讲自己用户表中的对方好友状态定为'1',
将对方表中自己id定位'0',如果对方同意就是'2'

等待对方添加

ajax 轮转

拉黑

将自己用户表中的好友设置属性0/1

建群

数据库麻烦
在数据库中建立一个表

create table if not exists idwithgroup(
  id varchar(100),
  groupid varchar(100)
);

然后通过mybatis调用得到属性值,得到groupid对应的表

群的使用

有点麻烦,每次都要点击添加

总结

这个项目跟进了几个月,虽然真正写的时间很少,但是这个确实让自己明白了自己是多么的无知,

做项目前应该考虑全盘属性,而不是走一步算一步,建立全局关,代码格式不规范,命名不清楚

后期维护难,感觉后期都在重新写架构,但是毕竟也是第一个项目,很多不懂还是正常,全部靠自己手写,
不过感觉写这些还是看文档快,上手就能学到东西

标签:系统,用户,ajax,聊天,表中,type,id,好友
From: https://www.cnblogs.com/tsqo/p/16948244.html

相关文章

  • Java信息管理系统(天空之城——未来城市主题02)
    上一各版本里只设计了星城的基础类,在本次代码实现对星城系统的信息管理。作用于在城市定居某个星体之后录入星空信息系统之中。现在是将数据存储在列表中,将面向对象结合面......
  • 编写云计算计费系统
    上一篇介绍了自建一个Laxcus云计算计费系统需要了解的基础知识,这一篇咱们从编程角度,来说说如何编写一个简单的云服务计费系统,如果你有更复杂的需求,可以在这个上面扩展。更进......
  • 使用Kernel 2.6版本的Linux系统运行dbca创建数据库实例时报错ORA-27125
    问题描述:使用Kernel2.6版本的Linux系统运行dbca创建数据库实例时报错ORA-27125,如下所示:系统:rhel6.564位数据库:oracle10.2.0.164位异常原因:该异常与linuxhugetlb有关.......
  • Linux 系统环境监测
    Linux系统环境监测Linux系统环境主要监测CPU、内存、磁盘I/O和网络流量。1.CPU(1)查看CPU的负载情况:uptime可以通过uptime查看系统整体的负载情况。如果服务器的CPU为......
  • Linux笔记02: Linux环境_2.2 Linux系统安装
     2.2Linux系统本文使用的Linux系统为CentOS7.9.2009,读者可以根据自己的需要选择不同的版本。 2.2.1CentOS版本CentOS基本上是安装在i386、x86_64的CPU硬......
  • MySQL Linux服务器快照克隆引起的binlog日志无法正常删除导致文件系统满
       最近,一个mysql数据库Linux服务器文件系统空间满,查看是binlog消耗绝大部分空间;经了解mysql数据库每天进行全备并删除1天前binlog日志;然而,2022.11.15日开始的binlog......
  • 运行python报错 此系统上禁止运行脚本
    无法加载文件D:\PycharmProjects\jingdong_app\venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅https:/go.microsoft.com/fwlink/?LinkID=135......
  • C/C++大学课程信息系统
    C/C++大学课程信息系统1.在界面上显示菜单,提示用户可进行的操作,包括以下操作:(1)添加功能(Add):添加一门课程的基本信息,包括课程编号、课程名称、课程性质(选修或必修)、......
  • 《XY618 4G 核心板》BOM全国产化,支持安卓11.0操作系统!
       产品概括:《XY6184G核心板》是深圳市新移科技有限公司基于紫光展锐T618(虎贲T618)平台所研发出的一款4G全网通智能模块,搭载了安卓11.0操作系统,BOM全国产化。该模块......
  • 分布式系统(唯一) ID 生成器实现方案
    分布式系统ID一个唯一ID在一个分布式系统中是非常重要的一个业务属性,其中包括一些如订单ID,消息ID,会话ID,他们都有一些共有的特性:全局唯一(唯一标识某个请求,某个业务)......