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:
@@ -48,6 +48,39 @@
|
||||
- **对象转换**:实体与 VO 之间统一使用 MapStruct(`converter.VoConverter`),不在 Service 中手写 setter。
|
||||
- **定时任务**:基于 Spring `@Scheduled`,新增调度器直接标注即可。
|
||||
|
||||
## 代码检查
|
||||
|
||||
项目统一引入代码检查工具并挂到构建/打包流程,检查不通过即阻断,详见[构建与部署](/dev/build-deploy)。
|
||||
|
||||
**后端(Gradle)**:
|
||||
|
||||
- **Spotless**:格式化与导入顺序(见「代码规范」),`spotlessCheck` 已挂到 `check` 且为 `compileJava` 前置。
|
||||
- **Checkstyle**:配置 `gradle/checkstyle/checkstyle.xml`、抑制清单 `gradle/checkstyle/suppressions.xml`,`maxWarnings = 0`。
|
||||
- **SpotBugs**:配置 `gradle/spotbugs/exclude.xml`,`effort = MAX`、`reportLevel = MEDIUM`;工具版本固定 `4.8.6`(规避其 BCEL 依赖与 Spring Boot BOM 选定 `commons-lang3` 版本的冲突)。
|
||||
- 仅检查主源码(`checkstyleTest` / `spotbugsTest` 已禁用)。
|
||||
|
||||
```bash
|
||||
# 宿主机
|
||||
./gradlew -I nexus-init.gradle lint # Spotless + Checkstyle + SpotBugs + 前端 ESLint
|
||||
./gradlew -I nexus-init.gradle checkstyleMain spotbugsMain
|
||||
# 容器内(开发模式)
|
||||
docker exec ledgerly-backend-dev gradle -I /project/nexus-init.gradle checkstyleMain spotbugsMain
|
||||
```
|
||||
|
||||
**前端(ESLint + Prettier)**:
|
||||
|
||||
- 配置:`frontend/eslint.config.js`(flat config)、`frontend/.prettierrc.json`、`frontend/.prettierignore`。
|
||||
|
||||
```bash
|
||||
cd frontend
|
||||
npm run lint # eslint .
|
||||
npm run lint:fix # eslint . --fix
|
||||
npm run format # prettier --write .
|
||||
npm run format:check # prettier --check .
|
||||
```
|
||||
|
||||
- Gradle 的 `frontendLint` 在 `frontendBuild` 前执行;`package.sh` 打包前也会执行 `spotlessCheck checkstyleMain spotbugsMain`,任一检查失败都会中断构建与打包。
|
||||
|
||||
## Git 提交规范
|
||||
|
||||
- 提交范围仅包含源码与配置;个人账单原始数据、`docs/`、`reload.sh`、`.gitignore`、`nexus-init.gradle` 及 AI 测试环境基础设施不纳入提交。
|
||||
|
||||
Reference in New Issue
Block a user