springboot+vue项目之实现登录操作

一、登录逻辑分析

  登录的身份分为管理员和商家,管理员可以管理用户等信息,而商家只能管理自己的相关信息,如商品信息等。要实现不同的身份登录,使用简单工厂模式实现。简单工厂模式参考文章设计模式 | 简单工厂模式及典型应用 - 知乎 (zhihu.com)进行介绍学习。本项目中创建一个后端登录接口AdminLoginService.java,让管理员EmployeeService和商家MerchandiserService分别继承接口,对其中的方法分别进行实现。如下图所示:

图1-1 登录之简单工厂模式 

  Controller层接收前端发的请求,通过调用Service的方法,识别不同的身份,返回不同的数据,实现登录操作。

二、具体实现之基础准备

1、后台登录模型 LoginReq.java

@Getter
@Setter
@ApiModel(value = "后台登录模型")
public class LoginReq {
    @NotBlank(message = "账号不能为空")
    @ApiModelProperty(value = "账号",required = true)
    private String account;

    @NotBlank(message = "密码不能为空")
    @ApiModelProperty(value = "密码",required = true)
    private String password;

    @NotBlank(message = "验证码不能为空")
    @ApiModelProperty(value = "验证码",required = true)
    private String code;

    @NotBlank(message = "验证码令牌不能为空")
    @ApiModelProperty(value = "验证码令牌",required = true)
    private String uuid;

    @NotBlank(message = "账号类型不能为空")
    @ApiModelProperty(value = "账号类型(admin管理员,merchandiser商家)",required = true)
    private String type;
}

2、后台登录响应模型  AdminLoginResp.java

@Getter
@Setter
@ApiModel(value = "后台登录响应模型")
public class AdminLoginResp {
    @ApiModelProperty(value = "主键")
    private Long  id;

    @ApiModelProperty(value = "用户名")
    private String name;

    @ApiModelProperty(value = "头像")
    private String avatar;

    @ApiModelProperty(value = "权限(admin管理员,merchandiser商家)")
    private List<String> permissions;

    @ApiModelProperty(value = "令牌")
    private String uuid;

    @ApiModelProperty(value = "令牌过期时间")
    private Date expired;

    @ApiModelProperty(value = "是否超级管理员")
    private Long root;

    /**
     * 是否是管理员 Jso
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值