Files
client-web/src/modules/tenant-management/AGENTS.md
T

2.8 KiB
Raw Blame History

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。