清风电子相册的设计与实现_第1页
清风电子相册的设计与实现_第2页
清风电子相册的设计与实现_第3页
清风电子相册的设计与实现_第4页
清风电子相册的设计与实现_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南商务职业技术学院毕业设计

目录

1引言1

1.1项目开发背景1

1.2开发技术简介1

1.2.1vue简介1

1.2.2Springboot简介2

1.3开发工具简介2

2需求分析2

2.1功能需求描述2

2.2非功能需求描述3

2.3需求用例建模3

2.3.1登录模块的用例3

2.3.2我的相册模块的用例5

2.3.3评论模块的用例7

2.3.4共享相册模块的用例9

3系统概要设计10

3.1系统设计原则10

3.2系统功能设计10

3.2.1登录模块功能设计11

3.2.2我的相册模块功能设计13

3.2.3评论模块功能设计14

3.2.4共享相册功能设计16

3.3数据库设计18

3.3.1设计原则19

3.3.2概念设计19

3.3.3逻辑设计20

3.3.4数据字典20

II

湖南商务职业技术学院毕业设计

4系统详细设计22

4.1用户登录管理子模块设计22

4.1.1用户登录子模块详细设计22

4.2我的相册管理子模块设计23

4.2.1文档相册管理子模块详细设计23

4.3评论管理子模块设计24

4.3.1评论管理子模块详细设计24

4.4共享相册管理子模块设计25

4.4.1共享相册管理子模块详细设计25

5系统实现27

5.1登录子模块实现27

5.1.1登录模块界面设计27

5.1.2登录模块核心代码实现:27

5.2我的相册子模块实现31

5.2.1我的相册模块界面设计31

5.2.2我的相册模块核心代码实现31

5.3评论子模块实现34

5.3.1评理模块界面设计34

5.3.2评论模块核心代码实现35

5.4共享相册子模块实现38

5.4.1共享相册子模块界面设计38

5.4.2共享相册子模块代码实现38

6系统测试41

6.1登录功能测试41

6.2我的相册管理功能测试42

6.3评论管理功能测试42

6.4共享相册功能测试43

7设计小结44

III

湖南商务职业技术学院毕业设计

清风电子相册的设计与实现

1引言

如今信息化的社会,让商品经济化产生了高效益,使得计算机的应用已经

普及到了社会生活的各个角落。计算机与人类的关系愈来愈密切,使得计算机

的应用也深入到人们日常的生活当中。使用电脑的人们现在都已经习惯将自己

的照片或是喜欢的图片以电子格式保存于电脑中,电子相册为人们管理自己的

电子相片带来了极大的方便。

1.1项目开发背景

如今随着电脑的使用越来越广泛,大量的电子图片给拥有较多的电子相片

和喜欢收集电子图片的用户带来了诸多不便,他们缺少了一种完善的图片管理

软件,为了对电子图片的管理方便,因此开发了名为清风电子相册的系统。该

电子相册目前已有完善的管理与使用功能。开发电子相册是为了满足电脑用户

对个人电子图片进行管理的方便,以现代化创新思维的模式去工作。

1.2开发技术简介

该基于ssm的清风相册管理系统前端使用的框架是Vue,后端使用的是

SpringBoot。

1.2.1vue简介

Vue.js是一套构建用户界面的渐进式框架。和其他的重量级框架有所不同,

不同点在于Vue采用的是自底向上增量开发的设计。Vue中的核心库现在只需要

关注视图层就行了,而且vue框架非常的容易学习,非常容易和其它库或已有

项目整合。另一方面,Vue有着完全有能力驱动采用单文件组件和Vue生态系统

支持的库开发的复杂单页应用。

如今Vue.js的目标已经是通过尽可能简单的API实现响应的数据绑定和组

合的视图组件。

Vue.js的本身并不是一个全能框架:它如今只聚焦在视图层。所以它现在

非常的容易学习,非常容易的和其它库或已有项目整合。另一方面,在与相关

工具和支持库一起使用时,Vue.js也能驱动复杂的单页应用。

1

湖南商务职业技术学院毕业设计

1.2.2Springboot简介

(1)创建独立的Springapplications。

(2)能够使用内嵌的Tomcat,JettyorUndertow,不需要部署war。

(3)提供定制化的starterpoms来简化maven配置(gradle相同)。

(4)追求极致的自动配置Spring。

(5)提供一些生产环境的特性,比如特征指标,健康检查和外部配置。

(6)零代码生成和零XML配置。

1.3开发工具简介

工具的使用:采用idea+tomcat+mysql。

idea集成的插件足够多,基本可以实现毕业设计开发方面的所有开发功能

tomcat作为小型服务期有着很多的优点,安装和部署都方便,第三是

TOMCAT适合做一些中小型的项目。

mysql其优点非正常多,比如:高度非过程化,综合统一,易学易用,以一

种语法结构提供了很多种的使用方法,语言简洁,面向集合的操作方式。

该程序采用了mvc的设计模式:

(1)视图(View):负责界面的显示,以及与用户的交互功能,例如表单、

网页等。

(2)控制器(Controller):可以理解为一个分发器,用来决定对于视图

发来的请求,需要用哪一个模型来处理,以及处理完以后需要跳回到哪一个视

图。即用来连接视图和模型。

实际开发中,通常用控制器对客户端的请求数据进行封装(如将form表单

发来的若干个表单字段值,封装到一个实体对象中),然后调用某一个模型来处

理此请求,最后再转发请求(或重定向)到视图(或另一个控制器)。

(3)模型(Model):模型持有所有的数据、状态和程序逻辑。模型接受

视图数据的请求,并返回最终的处理结果。

2需求分析

2.1功能需求描述

(1)功能1用户管理:管理员可以对用户进行添加,修改,删除操作

(2)功能2相册管理:用户可以自行添加相册,可以对相册添加照片,删

2

湖南商务职业技术学院毕业设计

除照片,可以将相册发布出去,通过管理员的审核,别人就可以看见你的相册了

(3)功能3评论管理:用户可以对别人的相册的照片进行评价,通过管理

员的审核,就可以展现出来了。

2.2非功能需求描述

(1)高效性:页面展示要快,响应时间要短。

(2)安全性:用户相册的私密性,用户密码的私密性。

(3)可扩展性:功能可扩展。

2.3需求用例建模

通过对功能需求的分析,创建以下总体用例模型,如图2-1所示。

图2-1清风电子相册系统的总体用例模型

与用户进行了沟通,发现存放相片的方式不够简便,与用户提出清风电子

相册系统的设计构想,了解到了自己设计的清风电子相册系统存在的系统问题,

希望通过系统改进满足用户的需求。

2.3.1登录模块的用例

面向对象的需求分析阶段通过用例图和活动图进行了梳理分析。登录模块

3

湖南商务职业技术学院毕业设计

具体的用例描述如图2-2所示,分别具有登录、注册等操作功能。采用这样的

架构,让用户界面层甚至可以不知道数据库的结构,当要对数据进行维护的时

候,它只要维护与业务层之间的接口即可。

图2-2登录用例图

通过对图2-2用例图进一步的细化分析,得到每个用例的描述表。登录模

块用例描述如表2-1所示,可以进行登录等操作。

表2-1登录模块用例描述

项目描述

用例名称用户登录

用例标识号01

参与者管理员、普通用户

参与者输入用户名、密码,系统进行验证后合法者登录

简要说明

系统,否则提供拒绝登录系统。

前置条件参与者已经打开系统的登录页面login.vue

1.参与者在用户名输入框里输入用户名

2.在密码框里输入密码

基本事件流3.用户按登录后,系统验证参与者输入的有效性。

4.有效则进入系统的主界面。无效则提示相应错误给用户。

5.用例终止

在按“登录”按钮之前,参与者可以随按“取消”或“关

其他事件流

闭”按钮。

异常事件流提示错误信息,参与人确认

4

湖南商务职业技术学院毕业设计

后置条件进入的主界面main.jsp,装载相应的数据

注册模块用例描述如表2-2所示,可以进行注册等操作。

表2-2用户注册模块用例描述

项目描述

用例名称用户注册

用例标识号02

参与者普通用户

简要说明参与者可以进行账号注册使用改网站。

前置条件参与者已经打开系统的登录页面login.vue

1.参与者点击注册在用户名输入框里输入用户名

2.在密码框里输入密码

基本事件流3.用户按登录后,系统验证参与者输入的有效性。

4.有效则进入系统的主界面。无效则提示相应错误给用户。

5.用例终止

在按“登录”按钮之前,参与者可以随按“取消”或“关

其他事件流

闭”按钮。

异常事件流提示错误信息,参与人确认

后置条件进入的主界面main.jsp,装载相应的数据

2.3.2我的相册模块的用例

面向对象的需求分析阶段通过用例图和活动图进行了梳理分析。我的相册

功能模块具体的用例描述如图2-3所示,分别具有管理相册、管理相片等操作

功能。采用这样的架构,让用户界面层甚至可以不知道数据库的结构,当要对

数据进行维护的时候,它只要维护与业务层之间的接口即可。

5

湖南商务职业技术学院毕业设计

图2-3我的相册用例图

通过对图2-3用例图进一步的细化分析,得到每个用例的描述表。登录模

块用例描述如表2-3所示,可以进行登录等操作。

表2-3我的相册模块用例描述

项目描述

用例名称我的相册

用例标识号03

参与者普通用户

简要说明参与者可以将自己喜欢的图片存放到自己创建的相册中。

前置条件参与者登录了用户的账号

1.参与者点击我的相册

2.选择相册

基本事件流3.点击上传相片

4.上传成功提示。无效则提示相应错误给用户。

5.用例终止

其他事件流无

异常事件流提示错误信息,参与人确认

后置条件进入相册,装载相应的数据

注册模块用例描述如表2-4所示,可以进行注册等操作。

6

湖南商务职业技术学院毕业设计

表2-4相册模块用例描述

项目描述

用例名称相册

用例标识号04

参与者普通用户

简要说明参与者可以管理自己的相册。

前置条件参与者已经登录了用户账号

1.参与者点击我的相册

2.添加相册

基本事件流3.输入相册名

4.有效则添加成功。无效则提示相应错误给用户。

5.用例终止

在按“添加”按钮之前,参与者可以随按“取消”或“关

其他事件流

闭”按钮。

异常事件流提示错误信息,参与人确认

后置条件进入的相册页面,装载相应的数据

2.3.3评论模块的用例

面向对象的需求分析阶段通过用例图和活动图进行了梳理分析。评论功能

模块具体的用例描述如图2-4所示,分别具有评论、审核等操作功能。采用这

样的架构,让用户界面层甚至可以不知道数据库的结构,当要对数据进行维护

的时候,它只要维护与业务层之间的接口即可。

图2-4评论用例图

通过对图2-4用例图进一步的细化分析,得到每个用例的描述表。评论模

块用例描述如表2-4所示,可以进行登录等操作。

表2-4评论模块用例描述

项目描述

7

湖南商务职业技术学院毕业设计

用例名称评论

用例标识号05

参与者普通用户

简要说明参与者可以对别人分享的相册进行评论。

前置条件参与者登录了用户的账号

1.参与者点击相册

2.输入评论

基本事件流3.点击评论

4.评论成功提示。无效则提示相应错误给用户。

5.用例终止

其他事件流可以点击取消评论

异常事件流提示错误信息,参与人确认

后置条件进入相册,装载相应的数据

评论审核模块用例描述如表2-5所示,可以进行注册等操作。

表2-5评论审核模块用例描述

项目描述

用例名称评论审核

用例标识号06

参与者管理员

简要说明参与者可以管理自己的相册。

前置条件参与者已经登录了用户账号

1.管理员点击评论管理

2.查看评论列表

基本事件流3.点击审核

4.有效则审核成功。无效则提示相应错误给用户。

5.用例终止

在按“审核”按钮之前,参与者可以随按“取消”或“关

其他事件流

闭”按钮。

异常事件流提示错误信息,参与人确认

后置条件进入的评论,装载相应的数据

8

湖南商务职业技术学院毕业设计

2.3.4共享相册模块的用例

面向对象的需求分析阶段通过用例图和活动图进行了梳理分析。评论功能

模块具体的用例描述如图2-5所示,分别具有共享相册、查看别人相册等操作

功能。采用这样的架构,让用户界面层甚至可以不知道数据库的结构,当要对

数据进行维护的时候,它只要维护与业务层之间的接口即可。

图2-6共享相册用例图

通过对图2-5用例图进一步的细化分析,得到每个用例的描述表。共享相

册模块用例描述如表2-5所示,可以进行登录等操作。

表2-6共享相册模块用例描述

项目描述

用例名称共享相册

用例标识号06

参与者普通用户

简要说明参与者可以将自己的相册设置私密和共享的状态

前置条件参与者登录了用户的账号

1.参与者点击相册

2.点击相册状态的按钮

基本事件流3.选择相册状态

4.更改成功提示。无效则提示相应错误给用户。

5.用例终止

其他事件流五

异常事件流提示错误信息,参与人确认

后置条件共享相册的区域会显示该相册

9

湖南商务职业技术学院毕业设计

3系统概要设计

3.1系统设计原则

与用户进行了沟通,发现存放相片的方式过于不方便,与用户提出清风电

子相册系统的设计理论,了解到了自己设计的清风电子相册系统存在的系统问

题,希望通过系统设作流的处理现给用户。

3.2系统功能设计

系统模块化结构设计工作是在系统分析阶段对子系统划分的基础上,在进

一步地划分,将它逐层的分解成多个大小相同、功能单一、具有一定独立性的

模块,以便程序设计工作的同时,有加强了数据库之间的联系,使系统更加的

完美。根据清风电子相册系统的需求分析和用例建模分析,本文确定了清风电

子相册系统的主要功能模块,包括登录功能模块、我的相册功能模块、评论功

能模块、共享相册功能模块等四大功能看模块。清风电子相册系统的功能结构

图如图3-1所示。

图3-1清风电子相册系统功能结构图

10

湖南商务职业技术学院毕业设计

3.2.1登录模块功能设计

针对系统功能结构图进行进一步细化分析,得到各子模块相关功能描述,

功能描述使用功能流程图描述,如下图3-2。

图3-2登录功能模块流程图

表3-1登录功能模块相关功能描述

功能名称借阅卡类别管理

功能概述用户通过账号和密码进行登录操作

输入内容用户的账号和密码

系统处理对于不同类别进行设计和规划,对类别增、删、改查功能

输出内容操作成功或者失败的提示

11

湖南商务职业技术学院毕业设计

图3-3注册功能模块流程图

表3-2注册功能模块相关功能描述

功能名称用户注册账号

功能概述没有账号的用户可以通过注册账号来进行登录网站

输入内容新的账号和密码

系统处理对于不同类别进行设计和规划,对类别增、删、改查功能

输出内容操作成功或者失败的提示

登录功能模块相关功能文字描述:多个大小相同、功能单一、具有一定独

立性的模块,以便程序设计工作的同时,有加强了数据库之间的联系,使系统

更加的完美。根据清风电子相册系统的需求分析和用例建模分析,本文确定了

清风电子相册系统的主要功能模块,包括登录功能模块、我的相册功能模块、

评论功能模块、共享相册功能模块等四大功能看模块。

12

湖南商务职业技术学院毕业设计

3.2.2我的相册模块功能设计

针对系统功能结构图进行进一步细化分析,得到各子模块相关功能描述,

功能描述使用功能流程图描述,如下图3-4。

图3-4添加相册功能模块流程图

表3-3添加相册功能模块相关功能描述

功能名称添加相册

功能概述用户输入相册名和相册介绍和照片添加自己需要的相册

输入内容用户输入相册名和相册介绍和照片

系统处理对于不同类别进行设计和规划,对类别增、删、改查功能

输出内容操作成功或者失败的提示

13

湖南商务职业技术学院毕业设计

图3-5添加相册功能模块流程图

表3-4添加相册功能模块相关功能描述

功能名称添加相片

功能概述向相册中添加相片

输入内容选择图片

系统处理对于不同类别进行设计和规划,对类别增、删、改查功能

输出内容操作成功或者失败的提示

我的相册功能模块相关功能文字描述:多个大小相同、功能单一、具有一

定独立性的模块,以便程序设计工作的同时,有加强了数据库之间的联系,使

系统更加的完美。根据清风电子相册系统的需求分析和用例建模分析,本文确

定了清风电子相册系统的主要功能模块,包括登录功能模块、我的相册功能模

块、评论功能模块、共享相册功能模块等四大功能看模块。

3.2.3评论模块功能设计

针对系统功能结构图进行进一步细化分析,得到各子模块相关功能描述,

功能描述使用功能流程图描述,如下图3-7。

14

湖南商务职业技术学院毕业设计

图3-6用户评论功能模块流程图

表3-5用户评论功能模块相关功能描述

功能名称用户评论

功能概述用户评论喜欢的共享相册

输入内容评论内容

系统处理对于不同类别进行设计和规划,对类别增、删、改查功能

输出内容操作成功或者失败的提示

15

湖南商务职业技术学院毕业设计

图3-7审核评论功能模块流程图

表3-6审核评论功能模块相关功能描述

功能名称管理员审核评论

功能概述管理员对评论进行审核

输入内容审核内容

系统处理对于不同类别进行设计和规划,对类别增、删、改查功能

输出内容操作成功或者失败的提示

评论功能模块相关功能文字描述:多个大小相同、功能单一、具有一定独

立性的模块,以便程序设计工作的同时,有加强了数据库之间的联系,使系统

更加的完美。根据清风电子相册系统的需求分析和用例建模分析,本文确定了

清风电子相册系统的主要功能模块,包括登录功能模块、我的相册功能模块、

评论功能模块、共享相册功能模块等四大功能看模块。

3.2.4共享相册功能设计

针对系统功能结构图进行进一步细化分析,得到各子模块相关功能描述,

功能描述使用功能流程图描述,如下图3-9。

16

湖南商务职业技术学院毕业设计

图3-8共享功能模块流程图

表3-7共享功能模块相关功能描述

功能名称共享相册

功能概述用户将自己喜欢的相册进行分享

输入内容分享的相册

系统处理对于不同类别进行设计和规划,对类别增、删、改查功能

输出内容操作成功或者失败的提示

17

湖南商务职业技术学院毕业设计

图3-9审核功能模块流程图

表3-8审核功能模块相关功能描述

功能名称管理员审核共享相册

功能概述管理员对共享相册进行审核

输入内容审核内容

系统处理对于不同类别进行设计和规划,对类别增、删、改查功能

输出内容操作成功或者失败的提示

评论功能模块相关功能文字描述:多个大小相同、功能单一、具有一定独

立性的模块,以便程序设计工作的同时,有加强了数据库之间的联系,使系统

更加的完美。根据清风电子相册系统的需求分析和用例建模分析,本文确定了

清风电子相册系统的主要功能模块,包括登录功能模块、我的相册功能模块、

评论功能模块、共享相册功能模块等四大功能看模块。

3.3数据库设计

数据库设计往往是系统设计中最为核心的一个步骤。其设计的优良程度直

接影响系统的性能以及执行效率。

18

湖南商务职业技术学院毕业设计

3.3.1设计原则

为取得较好的设计效果,进行数据库设计需要遵从以下原则:

(1)标准化原则

数据库设计务必要遵照统一的设计标准与命名规范。具备统一设计分类与

编码规范的数据库不仅设计清晰直观,更有利于后期数据库及程序的维护,为以

后项目可扩展性提供条件。

(2)冗余原则

以往数据库的设计要求不允许有冗余,要尽可能的满足3NF。然而,在系统

运行过程中,满足3NF的数据库设计并不能高效运行。复杂的表间关系,会降

低访问数据库执行的效率;过低的范式标准,又会导致数据库数据。所以,在

数据库设计中,适当的冗余设计(允许派生性冗余设计,杜绝重复性冗余设

计),找到冗余与数据处理速度的平衡点,常常可以既提高速度,又能查询准确。

3.3.2概念设计

在数据库概念设计的过程中,采用E-R图来描述概念设计的结果。E-R图是

概念数据模型的高层描述所使用的数据模型或模式图,它为表述实体联系模式

图形式的数据模型提供了图形符号。根据清风电子相册管理系统数据进行分析,

其E-R图如下图3-11所示。

19

湖南商务职业技术学院毕业设计

图3-10清风相册管理系统E-R图

3.3.3逻辑设计

针对ER模型,通过数据实体属性、实体间关系的全面分析,结合清风相册

管理系统的实际需求,根据E-R图转化为关系模式的转换方法,建立起了本系

统的关系模式,具体转化后的关系模式如下:

用户表(用户id、用户姓名、用户头像、用户密码)

评论表(评论id、用户id、评论内容、相册id、评论状态)

相册表(相册id、用户id、相册名、相册介绍、相册状态)

相册照片表(相册照片表id、相册id、图片、添加时间)

3.3.4数据字典

用户表的表结构如表3-9所示,该表主要用于记录用户信息,主要字段为

id,username,picture,password。

表3-9用户表表结构

字段名称数据类型字段内容主键设置非空

idint(11)用户id主键

20

湖南商务职业技术学院毕业设计

usernamevarchar(255)用户名

picturevarchar(255)用户头像

passwordvarchar(255)用户密码

评论表的表结构如表3-10所示,该表主要用于记录评论信息,主要字段为

id,user_id,content,ph_id,status。

表3-10评论表表结构

字段名称数据类型字段内容主键设置非空

idint(11)相册的评论id主键

user_idint(11)评价人

contentvarchar(255)评论内容

ph_idint(11)相册的id

statusvarchar(255)状态/通过未通过

相册照片表的表结构如表3-11所示,该表主要用于记录相册照片信息,主

要字段为id,ph_id,picture,,create_time。

表3-11相册照片表表结构

字段名称数据类型字段内容主键设置非空

idint(11)相册照片id主键

ph_idint(6)相册id

picturevarchar(255)相册里的照片

create_timedatetime添加时间

相册照片表的表结构如表3-12所示,该表主要用于记录相册照片信息,主

要字段为id,status,name,userId,value。

表3-12相册表表结构

字段名称数据类型字段内容主键设置非空

idint(11)相册id主键

userIdint(6)用户id外键

namevarchar(255)相册名

valuevarchar(255)相册介绍

statusvarchar(255)相册状态

21

湖南商务职业技术学院毕业设计

数据库设计总结:根据用户的需求分析和用例建模分析,本文确定了清风

相册管理系统的主要功能模块,包括登录功能模块、我的相册功能模块、评论

功能模块、共享相册功能模块等四大功能看模块。

4系统详细设计

4.1用户登录管理子模块设计

4.1.1用户登录子模块详细设计

通过需求分析和概要设计对各子功能进行分析与设计,得到与用户管理子

功能模块静态结构类图,如图4-1所示。

图4-1清风用户登录相册管理系统的类图

表4-1用户管理子功能模块相关类及方法描述表

类名Phuser

描述清风相册用户实体类

属性id,username,picture,password,role

addUser()、

方法delUser()、

updUserPic()、

22

湖南商务职业技术学院毕业设计

updpassword()、

findById()、

findByname()、

findBynamea()

4.2我的相册管理子模块设计

4.2.1文档相册管理子模块详细设计

通过需求分析和概要设计对各子功能进行分析与设计,得到与我的相册管

理子功能模块静态结构类图,如图4-2所示。

图4-2清风相册管理系统的类图

表4-2我的相册管理子功能模块相关类及方法描述表

23

湖南商务职业技术学院毕业设计

类名PhPhoto

描述我的相册实体类

属性Id,user_id,tyoe,title,picture,content

PhPhotoController()、

addUser()、

delUser()、

方法

findAllPhoto()、

findAllPhotoByTitle()、

updPhotoTitle()、

4.3评论管理子模块设计

4.3.1评论管理子模块详细设计

通过需求分析和概要设计对各子功能进行分析与设计,得到评论管理子功

能模块静态结构类图,如图4-3所示。

图4-3评论管理系统的类图

表4-3评论管理子功能模块相关类及方法描述表

24

湖南商务职业技术学院毕业设计

类名PhComment

描述用户评论实体类

属性Id,userId,content,ph_id,status

FindAllPhoto(),

findAllhotoCpmment(),

方法

findAllPhotoComment()

,updStatus()

4.4共享相册管理子模块设计

4.4.1共享相册管理子模块详细设计

通过需求分析和概要设计对各子功能进行分析与设计,得到共享相册子功

能模块静态结构类图,如图4-4所示。

图4-4共享相册管理系统的类图

表4-4共享相册管理子功能模块相关类及方法描述表

类名PhPhoto

描述共享相册实体类

属性Id,user_id,tyoe,title,picture,content

25

湖南商务职业技术学院毕业设计

findAllPhoto(),

findAllPhotoByTitle(),

方法findPhoto(),

updPhoto(),

updPhotoTiTle()

5系统实现

5.1登录子模块实现

5.1.1登录模块界面设计

图5-1登入界面

5.1.2登录模块核心代码实现:

步骤1:登录成功

PublicvoidonAuthenticationSuccess(HttpServletRequestrequest,HttpServletResponse

response,Authenticationauthentication)throwsIOException,ServletException{

26

湖南商务职业技术学院毕业设计

QueryWrapperwrapper=newQueryWrapper();

wrapper.eq("username",SecurityContextHolder.getContext().getAuthentication().getName())

;

PhUserdiUser=phUserMapper.selectOne(wrapper);

Resultresult=com.photo.response.Result.ok().message("登录成功").data("user",diUser);

this.WriteJSON(request,response,result);

}

步骤2:用户注册

@PostMapping("/add")

publicvoidaddUser(@RequestParam("file")MultipartFilefile,HttpServletRequestrequest,

HttpServletResponseresponse,@RequestParam("username")Stringusername,

@RequestParam("password")Stringpassword,@RequestParam("role")Stringrole)throws

Exception{

PhUsershUser=newPhUser();

shUser.setUsername(username);

shUser.setPassword(password);

shUser.setRole(role);

QueryWrapperwrapper=newQueryWrapper();

wrapper.eq("username",username);

if(phUserMapper.selectOne(wrapper)!=null){

Resulterror=Result.error().message("用户已存在");

this.WriteJSON(request,response,error);

}else{

byte[]bytes=file.getBytes();

StringimageFileName=file.getOriginalFilename();

StringfileName=UpPhotoNameUtils.getPhotoName("img",imageFileName);

Pathpath=Paths.get(""+fileName);

//“C:\\框架\\D4\\d4_pc_ui\\src\\assets\\images\\img\\”为本地目录

27

湖南商务职业技术学院毕业设计

Files.write(path,bytes);//写入文件

Stringavatar_url=fileName;

shUser.setPicture(avatar_url);

response.reset();

shUser.setPassword(new

BCryptPasswordEncoder().encode(shUser.getPassword()));

if(phUserMapper.insert(shUser)>0){

Resultok=Result.ok().message("注册成功");

this.WriteJSON(request,response,ok);

}else{

Resulterror=Result.error().message("注册失败");

this.WriteJSON(request,response,error);

}

}

}

步骤3:用户修改信息

@PostMapping("/updpassword")

publicvoidupdpassword(HttpServletRequestrequest,HttpServletResponseresponse,

@RequestParam("password")Stringpassword,@RequestParam("rpassword")String

rpassword,@RequestParam("id")intid)throwsException{

PhUseranUser1=phUserMapper.selectById(id);

BCryptPasswordEncoderencoder=newBCryptPasswordEncoder();

Stringpassword1=newBCryptPasswordEncoder().encode(rpassword);

if(encoder.matches(password,anUser1.getPassword())){

anUser1.setPassword(password1);

inti=phUserMapper.updateById(anUser1);

if(i>0){

28

湖南商务职业技术学院毕业设计

Resultok=Result.ok();

this.WriteJSON(request,response,ok);

}else{

Resulterror=Result.error();

this.WriteJSON(request,response,error);

}

}else{

Resulterror=Result.error();

error.setMessage("密码不正确");

this.WriteJSON(request,response,error);

}

}

步骤4:查找用户

@PostMapping("/findByname")

publicvoidfindByName(HttpServletRequestrequest,HttpServletResponseresponse,

@RequestParam("username")Stringusername,@RequestParam("size")intsize,

@RequestParam("current")intcurrent)throwsException{

QueryWrapperwrapper=newQueryWrapper();

wrapper.like("username",username);

Page<PhUser>page=newPage<>(size,current);

Page<PhUser>pages=phUserMapper.selectPage(page,wrapper);

List<PhUser>list=pages.getRecords();

inttotal=phUserMapper.selectCount(wrapper);

if(list.size()>0){

Resultok=Result.ok().data("user",list).data("total",total);

this.WriteJSON(request,response,ok);

}

Resulterror=Result.error();

29

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论