Appearance
权限叶节点策略(菜单 vs API code)
与 permission-api-unification.md、permission-matrix.md 配套。
约定
| 场景 | 策略 |
|---|---|
| 用户绑定多个角色 | API 鉴权用 permission.code 并集(loadUserPermissionCodes),见单测 permission-menu-leaf.spec.ts |
| 仅勾选目录、未勾叶节点 | 不自动继承写权限;须显式勾选 btn_* 或对应 menu_acc_*(档案类菜单即维护权) |
| PC 侧栏 | MeRoutesService 按 platform=pc 权限树;与 API code 同源 sys_permissions,但解析入口分离 |
| 小程序壳应用 | mobile + /pages/* 路由权限;写操作仍受 btn_* / 业务码约束 |
开发检查
- 新 Acc
POST:@AccRoutePermission(...)+ ServiceassertAcc*+ 种子/权限树行;再跑codegen:acc-route-registry。 - 提交前:
pnpm --filter taskflow-backend run check:route-registry。 - 预发/生产:开启
ACC_ROUTE_GUARD_STRICT/SYS_ROUTE_GUARD_STRICT后复测 permission-staging-checklist.md。
默认角色
新站点执行 db:sync-roles-perms 后,按 permission-role-templates.md 绑定 ACC_PC_OPERATOR、MINI_RECORDER_POST 等,避免只勾菜单却无 btn_*。