首页 >> 大全

在线聊天系统--开发分工

2024-01-06 大全 26 作者:考证青年

一、项目简介

功能描述:能够实现私聊,群聊,编辑个人信息,编辑群信息,发送文字、图片、文件消息功能的在线聊天系统

个人负责任务:个人负责的内容是基于的建立、建立连接功能,前端在现有基础上对用户注册登录功能加以限制和完善,本地缓存的创建与加载,以及数据库表的设计。

二、功能架构图

个人负责的内容是基于的建立、建立连接功能,前端在现有基础上对用户注册登录功能加以限制和完善,本地缓存的创建与加载,以及数据库表的设计。

三、个人任务简述

序号 完成功能与任务 描述

1 基于的建立,建立连接功能 创建服务端类,添加一个自定义的解码器和一个编码器,用于解析java对象和前端传来的字符串,以及一个自定义的配置类,通过这个配置类对服务进行发布,创建一个控制器类,用于模拟服务器的响应,发送消息通知客户端.。

2 包和类的划分 在脚手架基础上做的包和类的划分。

3 前端在现有基础上对用户注册登录功能加以限制和完善 客户端使用md5对用户名、密码进行加密。一定程度上提高了了系统的安全性。

4 本地缓存的创建与加载 把实时聊天产生的庞大数据放在本地缓存中,来减小冗余的数据对系统的负载,并且能够在用户登录时及时显示出来。

5 数据库的设计 采用MySQL和数据库,使用了DAO模式。表设计符合第三范式。

四、本人负责功能详解 *基于的建立,建立连接功能

在 7以上的版本中含有一个自带的关于的包,我们在建立连接时直接继承过来;或者使用内部自己集成的类。

使用这个注解可以使类被加载进去。

在配置类目录下的.java文件中,有类,其中的注解即把此类放到一个配置环境变量的类中,因此在注解加载时就会生成一个新的Bean。

此时就可以等待接收前端发出的请求,来建立连接。

一旦建立连接成功之后,执行方法,包括检查该用户是否有未读消息、给所有好友发送上线消息的功能。

然后依次编写连接关闭、当收到信息、发生错误、发送消息、发送单人一对一聊天消息、发送群聊天信息等功能。

当登录成功进入聊天系统主界面时,系统执行

在目录src/main///home/js/.js下

建立连接的方法(),参数为,用来区分是哪一个用户建立的连接(因为每建立一个连接就会new一个对象,所以需要传递参数来区分)。

然后向服务器后台发送请求,用来建立连接:

ws = new (“ws://”+..host+“//”+);

括号中内容为此次请求的地址,与.java中注解的地址一致

将和在线聊天系统页面都刷新一下,可以看到建立了一个连接,后台则调用了方法,输出显示(“成功建立连接,用户ID = 【” + + “】,当前在线用户数:” + )这句话。

*前端在现有基础上对用户注册登录功能加以限制和完善

使用专门的接口8081来实现系统

登录与注册界面相应的网址与中方法存在的位置相对应:

以登录界面和注册界面为例:

① 登录界面:网址:8081/home/index/login

对应方法的位置:/home/

② 注册界面:网址:8081/home/index/

对应方法位置:/home/

所有页面相关代码都在模板 下

(src/main//)

所以在此目录下可以找到上述index和对应网页的代码。

点击注册按钮之后,执行“提交注册表单”程序,然后是“提交登录表单”,登录成功后,表示用户已存在。

这里用自定义注解包来判断用在注册账号时是否符合要求。

比如,注册时检查用户名是否重复、要求该字段是必填字段、类型则检查其长度、数字类型则规定是否检查最大最小值;以及登录时检查密码是否正确,检查状态是否正常,若登陆成功则修改状态为在线等功能的实现等。

3. *数据库的设计

共设计了14张表,每张表都与中的一个实体类相对应。

app开发团队分工__游戏开发团队及分工

(1)

(2)

(3)

(4)

(5)

(6)

(7) menu

(8)

(9)

(10)

(11) role

(12)

(13) uesr

包和类的划分

(1) 为自定义注解包:用来验证自定义实体,可以加到实体类(例如Role类)上去

(2) bean类:基于的实体,实体直接对应数据库中的一张表,而bean实体直接展现给用户,相当于把实体做了一个向上的转义(修改)。用于修改一些敏感信息,比如手机号在展示给用户时中间4位数字要改成*号,此时就需要把数据库中的信息转义后显示给用户

①:错误码统一处理类,所有的错误码统一定义在这里,包括通用错误码定义(例如处理成功消息码和非法数据错误码)和后台管理错误码(例如用户管理类错误、登录类错误等)。

②MsgVo:消息后台管理展示类,做实体的转义。内容包括发送者、接收者和相关消息记录等。

③:分页信息封装类。

④:提交统一返回结果类。

⑤:封装前段消息体。

(3):做配置的类

①admin:后台的配置类,用来配置拦截器,拦截除标明的类之外所有的请求,即把所有请求拦截,再把相应请求(中)放掉

②home:前台的配置类,用来配置拦截器。

③:整个项目一启动时的配置文件,即刚启动时就执行其中的方法。

④:整个网站的配置文件,通过@Value注解方法直接把配置文件里的site.值加载到此类中。

⑤:做的配置,在中做需要做这样的配置。其中@:启动时会把Bean类加载进去。

(4):存放常量

①:放置系统运行时的常量。

②:关于的所有常量统一存放类。

(5):控制器。MVC(Model-View-模型-视图-控制器)模式:用户的请求直接进入里,再把请求根据自己的功能判断交给哪一个模型去处理,处理完再返回到相应的视图上。

①admin:后台管理控制器

i. :后台用户管理控制器

ii. r:数据库备份管理控制器

iii. :后台群组管理控制器

iv. :后台菜单管理控制器

v. :后台消息管理控制器

vi. :后台角色管理控制器

vii. :系统控制器

viii. :后台用户管理控制器

app开发团队分工__游戏开发团队及分工

②:前后台管理共用控制器

i. :系统验证码公用控制器

ii. :下载控制器统一管理类

iii. :图片统一查看控制器

iv. :公用的上传类

③home:前台用户控制器:主界面、登陆注册等

i. r:前台首页控制器(用户中心、好友列表、查看群信息、会话列表页面、批量发送好友验证等)

ii. :前台首页控制器(登录页面、退出登录、注册页面、提交注册表单、登录表单提交)

(6)dao:直接作用于数据库的类

(7):其中每一个实体对应数据库中的一个表,表名为Table(name=’’xxx’’),可以通过这个名字找到打开数据中的表。

①admin:后端实体类。

i. :数据库备份记录实体类,存放备份的文件名、文件路径。

ii. Menu:后台菜单实体类,包含菜单名称、菜单父分类、菜单URL、菜单图标icon、菜单顺序等)

iii. :后台操作日志记录表,包含操作者和操作内容。

iv. :订单验证日志记录表,包含手机号、记录编号等。

v. Role:后台角色实体类,包含角色状态(是否被冻结)、角色名称、角色对应权限列表、角色备注等。

vi. User:后台用户实体类,包含用户所属角色、用户名、登录密码、用户状态、用户头像、性别、手机号、邮箱等。

②:前后端共用实体类。

i. :前台用户实体类

ii. :用户群实体类,包含群主、群名称、群头像、群公告、群最大最小人数等。

iii. :群成员实体类,包含所属群、用户、消息状态、群昵称等。

iv. :基础实体公共属性,包含唯一ID、创建时间、更新时间。

v. :好友实体类。

vi. :消息内容实体类,包含发送者ID、接收者ID、聊天类型、消息类型、消息内容、消息附加字段、附件地址、附件大小等。

vii. :消息记录实体类。

(8):拦截器

①admin:后台拦截器,有两个。

i. 权限统一管理拦截器:做入口处的配置,项目启动时要拦截哪些请求,拦截时要执行哪些类

ii. 登录拦截器:用于查询是否登录,未登录时有些操作无法进行(必须在登录之后才能进行的操作在常量中进行定义)

②home:前段拦截器。

i. r:前台全局拦截器。

ii. :前台登录拦截器,用户还未登录或者会话页面失效,重定向到登录页面。

(9):绘画监听事件,用户第一次打开系统和退出系统时创建一个。一般用来统计当前在线人数。

(10):定时执行任务。

(11) .home:用于发送和接收消息的类。

(12):基于和dao作用的类,是一个中间态。根据自己的业务逻辑把任务派给,再由调用dao进行具体的数据库的操作。

①admin:后台管理控制器

i. :分页查找数据库备份记录、添加或修改数据库备份记录、通过ID查询删除等、备份还原数据库等。

ii. Menu:后台菜单操作,包含菜单添加/编辑、获取所有的菜单列表、根据id查询菜单、删除一条记录。

iii. :后台操作类,数据库操作,包含添加/修改操作日志,当id不为空时,修改,id为空时自动新增一条记录、获取指定条数的操作日志列表、根据id查询单条数据、返回所有的记录等。

iv. :后台操作类 数据库操作,获取一条记录。

v. Role:后台角色操作,角色添加/编辑、获取所有的角色列表、分页按角色名称搜索角色列表、分页按角色名称搜索角色列表、删除一条记录。

vi. User:用户管理,根据用户id查询、按照用户名查找用户、用户添加/编辑操作、分页查询用户列表、判断用户名是否存在,添加和编辑均可判断、按照用户id删除、返回用户总数。

② :前后台管理共用控制器

i. :新增或编辑群、获取群成员、获取某个用户参与的所有群、根据群和用户id查询等。

ii. :获取我创建的所有群列表、分页查询群组列表、根据ID查询、删除、返回总数等。

iii. :用户管理,根据用户id查询、按照用户名查找用户、用户添加/编辑操作等。

iv. :好友,更新或新增、根据ID查找删除、获取我的好友列表等。

v. :消息内容管理,根据id查询、添加/编辑操作、获取消息列表等。

vi. :消息记录管理,获取指定用户的指定状态消息,根据消息内容查询关联记录,返回总数。

③ home:前台用户控制器

(13)util:实用工具类,把共用的方法进行封装在此类中,使用时可以直接调用这些方法,实现了“一处定义,处处调用”的功能,可以使代码结构更加紧凑,内容更加精炼。

①:验证码生成器

②:加密工具类

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了