- 新增登录与注册接口控制器 AuthController - 创建登录表单数据类 LoginForm - 定义用户实体类 User 并实现 UserDetails 接口 - 添加用户持久层接口 UserMapper- 实现认证服务 AuthServiceImpl 包含登录和注册逻辑 - 配置 Spring Security 安全策略并禁用 CSRF - 引入 BCrypt 加密算法用于密码处理 - 添加全局异常处理器 ExceptionFilter 捕获业务异常 - 创建统一响应模型 R 封装返回结果 - 集成 MyBatis Plus依赖并配置数据源信息
56 lines
1.4 KiB
Java
56 lines
1.4 KiB
Java
package com.kane.animo.model;
|
|
|
|
import lombok.Data;
|
|
|
|
/**
|
|
* 统一返回结果
|
|
* @author Kane
|
|
* @since 2025/11/7 14:50
|
|
*/
|
|
@Data
|
|
public class R<T> {
|
|
private int code;
|
|
private String message;
|
|
private T data;
|
|
private long timestamp;
|
|
public static <T> R<T> success(T data) {
|
|
R<T> r = new R<>();
|
|
r.setCode(200);
|
|
r.setMessage("success");
|
|
r.setData(data);
|
|
r.setTimestamp(System.currentTimeMillis());
|
|
return r;
|
|
}
|
|
public static <T> R<T> success(String message, T data) {
|
|
R<T> r = new R<>();
|
|
r.setCode(200);
|
|
r.setMessage(message);
|
|
r.setData(data);
|
|
r.setTimestamp(System.currentTimeMillis());
|
|
return r;
|
|
}
|
|
public static <T> R<T> error(String message) {
|
|
R<T> r = new R<>();
|
|
r.setCode(500);
|
|
r.setMessage(message);
|
|
r.setTimestamp(System.currentTimeMillis());
|
|
return r;
|
|
}
|
|
public static <T> R<T> build(int code, String message) {
|
|
R<T> r = new R<>();
|
|
r.setCode(code);
|
|
r.setMessage(message);
|
|
r.setTimestamp(System.currentTimeMillis());
|
|
return r;
|
|
}
|
|
public static <T> R<T> build(int code, String message, T data) {
|
|
R<T> r = new R<>();
|
|
r.setCode(code);
|
|
r.setMessage(message);
|
|
r.setData(data);
|
|
r.setTimestamp(System.currentTimeMillis());
|
|
return r;
|
|
}
|
|
|
|
}
|