feat: 重构为前后端分离架构并完善设备端演示

- 新增 Web 用户端(登录体系 + 统一 REST API 调用)
- 后端增加用户认证、统一 ApiResponse、CORS 支持
- Android 设备端迁移至 MVVM + DataBinding + Retrofit 网络层
- 完善 README 架构说明与密码学原理文档
- 新增 .gitignore 与持久化数据表说明
This commit is contained in:
TongTongStudio
2026-08-21 04:34:58 +08:00
parent eda03d241d
commit 93499fa189
63 changed files with 4398 additions and 455 deletions

View File

@@ -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;
}
}