38 lines
2.0 KiB
Markdown
38 lines
2.0 KiB
Markdown
# 代码审核问题 Checklist(给其他 AI)
|
||||
|
|
|
|||
|
|
完整说明见:`Doc/CODE_REVIEW_ISSUES_2026-05-29.md`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## P0
|
|||
|
|
|
|||
|
|
- [ ] **ISSUE-10** `SimpleLite/Persistence/Repositories/CarRepository.cs` — `CarTypeBinder` 白名单过严,可能拦 `System.String`/`System.Int32` 等,导致 `DeserializeObject(car)` 失败。修复:放宽安全 BCL 类型或缩小 `TypeNameHandling.Auto` 范围;用真实 DB 回归。
|
|||
|
|
|
|||
|
|
## P1
|
|||
|
|
|
|||
|
|
- [ ] **ISSUE-05** `SimpleLite/Web/ReflectionApiController.cs` — `SetProjectField` / `SetAppConfigField` 未检查 `[FieldMember].writableViaApi`,与 `MapObjectFactory.TryApplyField` 不一致。修复:writableViaApi=false → 403。
|
|||
|
|
|
|||
|
|
- [ ] **ISSUE-04** 未跟踪文件需 `git add`:`MiGu.Server/Launcher/*`、`WorkspaceToolbarApiController.cs`、`MonitorVisibilityConfig.cs`、`CurveControlPointDragService.cs`。
|
|||
|
|
|
|||
|
|
## P2(可选)
|
|||
|
|
|
|||
|
|
- [ ] **ISSUE-01** `AuthController.Login` — `MaybeStart` 仍可能阻塞 ~8s。
|
|||
|
|
- [ ] **ISSUE-02** `Me`/`SwitchScope` — 复用外部 SimpleLite 时 RunMode 可能不准。
|
|||
|
|
- [ ] **ISSUE-03** `appsettings.json` — 默认 admin 密码,生产需覆盖。
|
|||
|
|
- [ ] **ISSUE-06** `GetMonitorConfig` — GET 写 `Configuration.conf.monitorVisibility`。
|
|||
|
|
- [ ] **ISSUE-07** `PostMonitorConfig` — POST 即写 `simple.json`。
|
|||
|
|
- [ ] **ISSUE-08** `WorkspaceToolbarApiController.GetState` — 响应格式与 `ReflectionEnvelope` 不一致。
|
|||
|
|
- [ ] **ISSUE-09** MapEdit vs Toolbar 录制/图层 API 重复,易漂移。
|
|||
|
|
- [ ] **ISSUE-11** `SimpleSceneRenderer` — 极端高频 redraw 竞态(观察)。
|
|||
|
|
- [ ] **ISSUE-12** `Car.OnlineCar`/`OfflineCar` — Web 反射权限确认。
|
|||
|
|
- [ ] **ISSUE-13** `WorkspacePickSession` — `realtime=true` 待 CycleGUI。
|
|||
|
|
- [ ] **ISSUE-14** `WorkspaceViewModeService.TryBind2DPanOnly` — 依赖 CycleGUI 版本。
|
|||
|
|
- [ ] **ISSUE-15** `WorkbenchTableRowUi` — 双击 400ms 模拟(低优)。
|
|||
|
|
- [ ] **ISSUE-16** 底栏 CAD 已移除 — 产品确认。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 推荐顺序
|
|||
|
|
|
|||
|
|
`ISSUE-10` → `ISSUE-05` → `ISSUE-04` → 其余 P2
|