# 01 — 数据模型扩展:SysMenu 加按钮字段 + MenuType + ResourceNode DTO **What to build:** `SysMenu` 实体新增 5 个按钮/权限点相关字段(`description`/`perms`/`denyBehavior`/`status`/`apiUrl`),引入 `MenuType` 枚举将现有 `menuType` tinyint 1/2/3 映射为 CATALOG/MENU/BUTTON,创建 `ResourceNode` DTO 作为 API 层的输入输出载体。纯扩展——不迁移旧接口的调用方式,不破坏现有 `/api/system/menus/*` 端点行为。 **Blocked by:** None — can start immediately. **Status:** ready-for-agent - [ ] `SysMenu` 实体新增 5 列:`description`(varchar 100)、`perms`(varchar 100)、`denyBehavior`(varchar 16)、`status`(varchar 16,缺省 enabled)、`apiUrl`(varchar 200),JPA + MyBatis-Plus 注解与现有列风格一致 - [ ] `MenuType` 枚举:CATALOG(1) / MENU(2) / BUTTON(3),提供 `fromCode(Integer)` 工厂方法 - [ ] `ResourceNode` DTO 包含 PRD 全部字段(type 用 MenuType 枚举、parentId/null、name、sort、description、route、perms、denyBehavior、status、apiUrl、icon),与 `SysMenu` 互转方法 - [ ] 全量测试 78 个无回归,新字段不影响现有 TC