登陆
- 登陆采用的是邮箱登陆,在登陆页面使用js进行空值验证、邮箱格式验证以及密码格式验证
并且在登陆时调用华为云滑块api进行滑动验证。背景采用了bing今日美图api进行每日替换
注册
- 注册功能与登陆功能较为相似。
找回密码
- 在找回密码时先输入账号,然后点击发送验证码,系统将发送一封验证码至用户注册的邮箱中
用户根据验证码进行找回。此处由于发送验证码速度过慢,所以在点击发送时会在前端先进行反馈
若失败则会再次弹出提示框,若成功则不会。其他则与登陆模块相似
文件显示
- 文件显示以列表形式,每页显示八条数据,当数据超出八条则进行分页,则左侧的导航栏中可进行
类别的切换 - 主页顶部实现单击上传按钮直接进行上传,顶部搜索框支持按内容模糊搜索。
- 实现单击文件名进行下载文件
- 用户有权在共享空间(主页)中删除自己上传的文件,但无权删除其他人上传的文件。
数据分析
- 数据分析采用百度前端框架echarts实现饼图进行简单的数据分析
- 个人中心支持修改密码,修改用户名和邮箱换绑,邮箱换绑时需要向新邮箱发送一封验证码才能换绑。
后端:
- java jdk11
- hibernate jpa
- lombok 1.18.4(jdk11适配)
前端
- thymeleaf
- bootstrap 3.7
- jquery
- echarts
数据库
- mysql 8.0.11
IDE
- idea 2019
Q: 为什么使用hibernate jpa而不是mybatis
A: 因为做课设的时候需要自己又负责前端又负责后端,所以使用了操作更简便的jpa
Q: 使用邮箱验证时是否遇到了麻烦?
A: 是的,本身使用邮箱验证并不是一个特别复杂的过程,但是不知道为什么在这个过程中
在yml文件中的配置似乎一直失效,后面改成在把配置嵌入到代码中(这很不好),但我后来
把yml中的配置删除以后(已经在代码中配置过了),启动springboot时又报错了,这使我迷惑。
Q: 关于ResponseBody你有哪些困惑
A:我一开始以为只要返回null就会进入ajax.error,后来发现好像不是这样的,我后面改成了抛出异常
才成功进入ajax.error,这引起了我更多对于ajax错误码的思考,也许下一次我能弄得更明白一些。
Q: 这次你还有哪些做不好的地方?
A1: 我在前后传输数据的时候比较少的使用json格式,我希望下一次我能使用更多的json而不是model
A2: 这次写代码的时候很多地方写的还不够简洁,出现了部分的冗余代码,希望我下一次在书写代码时能更好的规划