docs: 补充接口加解密、代码检查与安全配置等开发文档
同步 ledgerly 近期开发改动(接口请求/响应体加解密、代码检查工具、安全与稳定性修复、AI 提示词模板抽取),补齐对应开发文档并修正过时表述,同时在快速开始补充小屏适配说明。 变更内容: - dev/api.md:新增「接口数据加密」小节,说明 RSA + AES-GCM 握手流程、信封格式、会话有效期与失效码、豁免范围及编译期开关。 - dev/architecture.md:请求处理流程补入加密会话拦截器与请求/响应体 Advice,关键设计亮点新增接口数据加密一条。 - dev/development.md:新增「代码检查」小节,登记 Spotless / Checkstyle / SpotBugs 与前端 ESLint / Prettier 配置及运行命令。 - dev/build-deploy.md:新增「安全配置」(JWT_SECRET 覆盖、CORS 放行来源),构建任务链补入前端 lint 校验说明。 - dev/ai.md:修正已重命名的提示词模板名,补充「提示词模板」片段机制与图片记账 SSE 超时、心跳说明。 - dev/project-structure.md:补充 config.crypto / util.crypto 包、prompts 资源目录、crypto-keys.json 运行时文件与交易服务拆分说明。 - guide/getting-started.md:新增「小屏与移动端适配」说明。 - guide/transactions.md:导出说明补充单次 10000 条上限。
This commit is contained in:
+6
-1
@@ -50,10 +50,12 @@ entity 数据库表映射实体
|
||||
|
||||
```text
|
||||
浏览器
|
||||
│ /api/**
|
||||
│ /api/**(可携带加密会话头 X-Crypto-Session)
|
||||
▼
|
||||
AccessLogInterceptor 记录访问日志(方法/路径/耗时/状态/IP/用户)
|
||||
│
|
||||
CryptoSessionInterceptor 解析加密会话(无会话头则按明文处理)
|
||||
│
|
||||
JwtInterceptor 校验 Bearer Token(兼容 ?token= 供 SSE),写入 userId
|
||||
│
|
||||
Controller UserContext.getUserId()
|
||||
@@ -63,6 +65,8 @@ Service → Mapper → 数据库(动态数据源)
|
||||
GlobalExceptionHandler 统一异常 → Result{code,message,data}
|
||||
```
|
||||
|
||||
- **请求/响应体加解密**:`ApiCryptoRequestBodyAdvice` 在参数绑定前解密请求体,`ApiCryptoResponseBodyAdvice` 在写出前加密 `Result` 响应体,二者均依赖 `CryptoSessionInterceptor` 写入的会话。详见 [API 文档 · 接口数据加密](/dev/api#接口数据加密)。
|
||||
|
||||
- 登录、注册、注册状态、数据库状态等接口无需鉴权。
|
||||
- 数据库未配置时,`UnconfiguredDataSource` 抛出的异常会转为业务码 `5031`,前端据此跳转初始化引导页。
|
||||
|
||||
@@ -94,6 +98,7 @@ src/
|
||||
4. **体系化 AI 调用**:13 类调用类型并记录 token 用量,见 [AI 集成](/dev/ai)。
|
||||
5. **SSE 实时能力**:运行日志、邮箱检查进度、图片记账识别进度与数据库配置执行进度实时推送。
|
||||
6. **用户偏好缓存**:`t_user_preference` 的读取走 Spring Cache 进程内缓存(`ConcurrentMapCacheManager`),写入时按用户失效,切换数据源时整体清空。
|
||||
7. **接口数据加密**:`/api/**` 请求/响应体支持 RSA + AES-GCM 端到端加密,握手自动完成、对未加密客户端透明,见 [API 文档](/dev/api#接口数据加密)。
|
||||
|
||||
## 相关文档
|
||||
|
||||
|
||||
Reference in New Issue
Block a user