2.8 KiB
2.8 KiB
Client 企业设置模块指引
路径基准与读取顺序
- 本文件适用于
src/modules/tenant-management/,代码路径相对本目录;应用公共规则见../../../AGENTS.md,层级与权限语义见../../../docs/平台客户层级与权限契约.md。 - 本模块承载企业资料、成员、角色与权限(
company/profile、organization/*);账号与登录标识归backend auth/,接入侧实现归backend iam/。 - 模块对外只暴露
public.ts与contracts.ts,其他模块不得穿透内部views/、store/。
页面与入口
| 目标 | 页面/路由 | API 与后端 |
|---|---|---|
| 企业资料、资质上传与状态 | views/CompanyProfileView.vue;编辑为 views/CompanyProfileEditView.vue、company/profile/edit;文件工具为 utils/qualificationFile.ts、utils/qualificationStatus.ts |
api/merchantIam.ts;iam/、file/ |
| 企业成员管理 | 列表 views/MembersView.vue、organization/members;新增/编辑 views/MemberEditorView.vue、organization/members/create、organization/members/:memberId/edit |
页面经 store/tenantAdministration.ts → api/merchantIam.ts;iam/、auth/ |
| 企业角色 | views/RolesView.vue;organization/roles |
页面经 store/tenantAdministration.ts → api/merchantIam.ts;iam/ |
| 角色权限分配 | views/PermissionsView.vue;organization/permissions |
页面经 store/tenantAdministration.ts → api/merchantIam.ts;权限码常量见 contracts.ts |
| 跨页状态与稳定契约 | store/tenantAdministration.ts、contracts.ts、public.ts |
服务端 DTO |
关键边界
- 企业资料编辑、成员新增/编辑使用独立路由页面;角色新增/编辑使用居中弹框;权限分配保持独立页面。资质上传、文件预览、密码重置沿用专项弹框。当前承载依据见 Client 界面样式规范 的“企业设置承载方式”。
- 企业资料只修改
contactPhone等企业联系信息,不提交或回填成员登录手机号;两者独立维护。 - 成员登录手机号可选;修改时由 IAM/Auth 同步并撤销该账号现有会话,前端不互相回填或联动提交。
- 审核必填资质仅营业执照与统一社会信用代码;法人身份证选填,可在已有营业执照后单独补传或替换。
- 企业成员、角色与权限只能管理当前企业范围;前端隐藏不是安全控制,服务端必须重复校验租户与权限。
- 认证与会话统一经
../../api/http.ts、../../api/session.ts;页面不读写 Token,不自行处理 401 刷新。
验证
- 定向:
pnpm test src/modules/tenant-management/<目标测试>;成员或权限字段变化同时运行pnpm typecheck。 - 本文件或索引变更后,从后端根运行
./scripts/agents-index-contract.ps1。