feat: 重构为前后端分离架构并完善设备端演示
- 新增 Web 用户端(登录体系 + 统一 REST API 调用) - 后端增加用户认证、统一 ApiResponse、CORS 支持 - Android 设备端迁移至 MVVM + DataBinding + Retrofit 网络层 - 完善 README 架构说明与密码学原理文档 - 新增 .gitignore 与持久化数据表说明
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
package com.secure.demo.common;
|
||||
|
||||
/**
|
||||
* 统一 API 响应包装(前后端分离约定的标准响应格式)。
|
||||
*
|
||||
* <pre>
|
||||
* {
|
||||
* "code": 0, // 0 = 成功,非 0 = 业务失败
|
||||
* "message": "ok", // 人类可读信息
|
||||
* "data": { ... } // 业务数据(成功时存在)
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* Web 用户端与 Android 设备端都按此格式解析,不再各自约定裸 Map 结构。
|
||||
*/
|
||||
public class ApiResponse<T> {
|
||||
|
||||
public static final int CODE_OK = 0;
|
||||
|
||||
private int code;
|
||||
private String message;
|
||||
private T data;
|
||||
|
||||
public ApiResponse() {
|
||||
}
|
||||
|
||||
public ApiResponse(int code, String message, T data) {
|
||||
this.code = code;
|
||||
this.message = message;
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public static <T> ApiResponse<T> ok(T data) {
|
||||
return new ApiResponse<>(CODE_OK, "ok", data);
|
||||
}
|
||||
|
||||
public static ApiResponse<Void> ok() {
|
||||
return new ApiResponse<>(CODE_OK, "ok", null);
|
||||
}
|
||||
|
||||
public static <T> ApiResponse<T> fail(int code, String message) {
|
||||
return new ApiResponse<>(code, message, null);
|
||||
}
|
||||
|
||||
public boolean isOk() {
|
||||
return code == CODE_OK;
|
||||
}
|
||||
|
||||
// ===== Getters & Setters =====
|
||||
|
||||
public int getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(int code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public T getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public void setData(T data) {
|
||||
this.data = data;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user