Springboot+shiro+vue+Mybatis+MySQL
-
登录:登录可以使用手机号或用户名进行登录
-
注册的时候会判断账号是否以及存在,用户名是否已存在。
会判断手机号及邮箱的格式,但不会判断邮箱是否已使用过。
发送短信验证时也会对手机号进行查重,验证码五分钟内有效。
-
重置密码时会验证手机号格式,判断是否存在该用户, 短信验证码五分钟有效。
- 发布商品
- 修改商品
- 商品详情界面
- 首页界面
- 商品列表界面
- 商品搜索界面
- 查看商品下所有评论及回复
- 评论回复以及对应删除操作
- 修改个人信息
- 修改密码
- 分页展示个人各类商品信息 已审核:1,待审核:3,违规:0,已完成:4
- 个人对商品的操作 删除:2 已完成:4
- 更换手机号
- 商品详情界面:收藏商品or取消收藏
- 收藏列表界面取消收藏
- 分页查看用户所有收藏内容
- 查看商品收藏状态
- 用户设置商品为售出状态时存入售出记录
- 用户分页查看所有的售出记录
- 用户删除售出记录
1.可以进行在线聊天 采用的是websocket的方式,实现网络通信。
- 发布公告
- 默认展示最新发布的前三条公告
- 公告详情的展示
- 修改公告及删除公告
- 删除公告
- 管理员登录
- 查看用户列表
- 给予用户封号
- 管理员审核商品
- 管理员分页展示各类商品信息 全部,已审核:1,待审核:3,违规:0 完成:4
- 管理员对商品的操作 违规:0 通过审核:1
- 管理员发布网站公告
- 管理员本人修改或删除公告
- 查看网站公告
- 评论回复、商品审核、私信发送通知
- 设置为管理员或用户发送通知
未实现。
1.使用shiro做授权和认证。
1.使用了阿里巴巴的druid数据库连接池,对sql执行做了日志监控。
1.自定义页面处理错误。
1.统一异常处理
统一了返回的json数据对象。
分为三个VO对象,
ResultVo 一般的json返回数据
PageVo 首页的vo
LayuiVo laiui分页数据vo
使用swagger生成api接口文档。 启动项目,访问地址: 127.0.0.1/swagger-ui.html#
登陆表login,收藏表collect,评论表comment,回应表reply,商品图片信息表commimages,商品信息表commdity,好友表friends,公告表news,商品购买通知表notice,售卖记录表soldrecord,用户信息,用户角色。
采用MVC架构,在dao层使用了Mybatis框架,实现对数据库的curd,service层调用dao层数据接口,拿到数据库的数据,但没有做太多业务逻辑,主要业务逻辑都放在了controller层,控制视图跳转。
1).页面设计包括:index.html,comment.html,list.html,tags.html,replys.html,category.html,specs.html,detail.html,console.html,login.html,newslist.html,relnews.html,updatenews.html,soldrecord.html,about.html,get.html,more.html,theme.html.
2.控制类设计分类:
controller控制器文件分adminController、UserController、聊天控制器ChatController、商品收藏CollectController、商品控制类CommodityController、评论CommentController、公告通知Noticesontroller,卖货记录SoldController 以及IndexConroller(放所有的页面跳转)。
3.统一返回的json格式
将返回json的数据分为四大类,LayuiPageVo(需要分页的数据),PageVo(返回给首页的json数据),ResultVo(操作状态返回类json数据),还有一类是普通自定义JsonObject类json数据。这样返回的数据格式做了有效统一。 LayuiPage类型json数据格式:
@ApiModelProperty(value = "",name = "msg",notes ="描述返回状态" )
private String msg;
@ApiModelProperty(value = "",name = "code",notes ="状态码" )
private Integer code;
@ApiModelProperty(value = "",name = "count",notes ="数量" )
private Integer count;
@ApiModelProperty(value = "",name = "data",notes ="返回数据" )
private T data;
PageVo类型的json数据格式:
@ApiModelProperty(value = "",name = "status",notes ="返回状态码" )
private Integer status; //状态码
@ApiModelProperty(value = "",name = "message",notes ="返回信息" )
private String message; //返回信息
@ApiModelProperty(value = "",name = "pages",notes ="描述返回页数" )
private Integer pages; //返回页数
@ApiModelProperty(value = "",name = "dataNumber",notes ="描述总记录数" )
private Integer dataNumber;//总记录数
@ApiModelProperty(value = "",name = "data",notes ="返回数据" )
private T data; //返回数据
ResultVo类型json数据格式:
@ApiModelProperty(value = "",name = "flag",notes ="描述是否成功" )
private boolean flag; //是否成功
@ApiModelProperty(value = "",name = "status",notes ="描述返回状态码" )
private Integer status; //状态码
@ApiModelProperty(value = "",name = "message",notes ="描述返回信息" )
private String message; //返回信息
@ApiModelProperty(value = "",name = "data",notes ="返回数据" )
private Object data; //返回数据
4.命名规范
类名各单词首字母大写。
方法名 英文都小写。
1.使用idea配置maven
2.修改application-prod.yml配置文件数据库username 和password(阿里云短音验证配置按照自身情况确定是否修改)
3.将项目中shop.sql文件导入数据库,数据库名为shop。(sql文件可能出现版本原因导入出错,建议MySQL5.7)
4.启动运行
5.所有项目登录账户密码都为123456
6.管理员登陆地址 127.0.0.1/admin
3.个人中心
4.在线聊天