企业招聘平台-06-登录注册功能的开发

登录成功页面不显示

页面提示了登录成功,但是页面空白

img

TypeError: Cannot read properties of null (reading ‘id’)

还有一种类似的报错,以后你们遇到了也是同样的原因:

TypeError: Cannot read properties of undefined (reading ‘id’)

这类问题是什么意思呢?

打个比方:我在代码里有这样的一个 user.id,当这个user是null或者undefined的时候,就会报上述的错误了。

if (RoleEnum.EMPLOY.name().equals(account.getRole())) {
    loginAccount = employService.login(account);
}
if (RoleEnum.USER.name().equals(account.getRole())) {
    loginAccount = userService.login(account);
}

登录成功又拉回登录页面

img

定位问题,首先你一定要定位到它的位置。

if (RoleEnum.EMPLOY.name().equals(role)) {
    account = employService.selectById(Integer.valueOf(userId));
}
if (RoleEnum.USER.name().equals(role)) {
    account = userService.selectById(Integer.valueOf(userId));
}

TokenUtils

@Resource
private AdminService adminService;
@Resource
private EmployService employService;
@Resource
private UserService userService;

private static AdminService staticAdminService;
private static EmployService staticEmployService;
private static UserService staticUserService;

@PostConstruct
public void init() {
    staticAdminService = adminService;
    staticEmployService = employService;
    staticUserService = userService;
}
if (RoleEnum.EMPLOY.name().equals(role)) {
    return staticEmployService.selectById(userId);
}
if (RoleEnum.USER.name().equals(role)) {
    return staticUserService.selectById(userId);
}
@PostMapping("/register")
public Result register(@RequestBody Account account) {
    if (RoleEnum.EMPLOY.name().equals(account.getRole())) {
        employService.register(account);
    }
    if (RoleEnum.USER.name().equals(account.getRole())) {
        userService.register(account);
    }
    return Result.success();
}
public void register(Account account) {
    Employ employ = new Employ();
    BeanUtils.copyProperties(account, employ);
    employ.setStatus("待审核");
    add(employ);
}
public void register(Account account) {
    User user = new User();
    BeanUtils.copyProperties(account, user);
    add(user);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值