外观
约束规则
跨端硬性规则。详细规范见
/standards/下各文件,此处只抽取"必须遵守"的决策级规则。
1. 数据库
- 修改数据库结构必须同步改
V1__init_schema.sql,禁止使用 Flyway 迁移脚本(不使用数据迁移原则) - 新增列标记
DEFAULT NULL向后兼容
2. API
- 所有控制器返回值用
ApiResponse<T>,异常由GlobalExceptionHandler统一处理 - 新增 API 后更新
/reference/api.md - 接口变更必须向后兼容(服务器适配,客户端发版)
3. 管理后台
- 新增页面后更新
/reference/admin.md - 使用
adminApi时错误已在request.ts拦截器处理,无需重复 try-catch
4. Android
- 修改 Room 实体后手动增加版本号并写迁移脚本(
assets/migrations/) - OSS 上传:新增业务方法在
FileManager中添加,压缩规则定义在ImageCompressConfig ToastManager.showXxx()必须传具体字符串- 禁止在 Composable 中直接
collectAsState而不处理repeatOnLifecycle - 所有页面必须用
PageTemplate,禁止直接用Scaffold + TopAppBar - 有明确发送方→接收方的跨页通讯用
savedStateHandle或FormStateManager,广播用EventBus - 禁止 Navigation URL 路径参数、Bundle/bundleOf()、全局单例暂存
CameraContainer不包含业务逻辑,新增模式不修改 CameraContainer
5. 文档同步义务
| 操作 | 需同步文档 |
|---|---|
| 改数据库结构 | V1__init_schema.sql + /architecture/data-model.md + 各端功能说明 |
| 增/改 API | /reference/api.md + Android ApiService.kt |
| 新增管理后台页面 | /reference/admin.md |
| 新增 Android 页面/功能 | /reference/android.md |