新增 29 个模块级 AGENTS.md,补齐入口表指向,使 33 个业务模块均可从入口直达页面与接口。 - 每个模块指引统一为:路径基准 / 页面与入口表 / 关键边界 / 验证入口 - 入口表 35 行改为指向 modules 下的 AGENTS.md,补齐费用项目、审计日志、尺寸配置、装柜照片等缺失词条 - 详细索引最长行从 1315 字符压缩到 699 字符,规则正文移入新增的“货柜工作台规则”小节 - 仅索引文档,未改动业务代码
2.5 KiB
2.5 KiB
Admin 平台用户与权限模块指引
路径基准与读取顺序
- 本文件适用于
src/modules/iam/,代码路径相对本目录;应用公共规则见../../../AGENTS.md,权限语义见../../../docs/平台客户层级与权限契约.md。 - 本模块是平台侧用户、角色与权限资源维护入口;客户侧成员与角色归
backend iam/,账号与登录标识归backend auth/,前端守卫在../core/access/。 - 后端只查
iam/(平台 RBAC、菜单资源、客户与成员)与auth/(账号与会话撤销)。
页面与入口
| 目标 | 页面/路由 | API 与后端 |
|---|---|---|
| 平台用户列表、PDA 人员与海外仓绑定 | pages/InternalUsersView.vue;system/users |
api/platformIam.ts;iam/、auth/ |
| 角色与角色成员 | pages/RolesView.vue;system/roles |
api/platformIam.ts;iam/ |
| 权限资源与菜单 | pages/PermissionsView.vue、utils/permissionTree.ts;system/permissions |
api/platformIam.ts;iam/ 菜单资源 |
| 客户作用域选择器 | components/PlatformTenantSelector.vue |
iam/ 客户主档 |
| 权限判定与展示 | utils/platformPermission.ts、../core/access/ |
服务端权限快照;前端不替代鉴权 |
| 模块密度样式 | iamDensity.css |
按公共密度规范接入 |
关键边界
- 平台用户选择
OVERSEAS_WAREHOUSE_PDA_OPERATOR时必须选择唯一实际海外收货仓;其他角色不得提交overseasWarehouseId;编辑时保留已绑定仓库,长整型 ID 按字符串透传。 - 国内
CN_FIRSTLEG_PDA_OPERATOR与海外OVERSEAS_WAREHOUSE_PDA_OPERATOR互斥;候选来自国内 Warehouse 平台仓库 API 的公共OVERSEAS + ACTIVE + RECEIVING收货仓。 - 列表权限
*:list同时授权列表与详情只读;create、edit、delete、status、approve等保持独立,不保留旧*:view。 - 供应商固定使用
platform:supplier:list;platform:supplier:view不得重新启用以兼容旧调用。 - 菜单、路由与权限资源三处必须同步:改权限码时同时核对 Controller
@PreAuthorize、OpenAPI、模块权限 SQL 与菜单资源。 - 前端守卫只改善体验,服务端必须重复校验租户、角色与数据范围。
验证
- 定向:
pnpm test src/modules/iam/<目标测试>;权限码或菜单资源变更同时核对iam菜单 SQL 与权限契约测试。 - 本文件或索引变更后,从后端根运行
./scripts/agents-index-contract.ps1。