8.9 KiB
8.9 KiB
Fonrey 系统角色 Persona 定义
版本:v1.0
状态:已定稿
作者:产品团队
最后更新:2026-04-30
本文档是 Fonrey 所有 PRD、DATA_MODEL、PERMISSION_SEED 等文档的角色命名唯一权威来源。
所有其他文档中的角色称谓必须以本文档为准,禁止自造名称或混用。
一、角色层级概览
┌─────────────────────────────────────────────────────────┐
│ Fonrey SaaS 平台 │
│ │
│ ① Platform Admin(平台超级管理员) │
│ └── 管理所有租户:开通、暂停、配置、版本升级 │
│ │
│ ─ ─ ─ ─ ─ ─ ─ 租 户 边 界 ─ ─ ─ ─ ─ ─ ─ ─ ─ │
│ │
│ ② Tenant Admin(租户管理员) │
│ └── 管理本租户:组织架构、账号、权限、系统配置 │
│ │
│ ③ Agent(经纪人) │
│ └── 日常业务操作:录入房源、跟进客源、查看数据 │
│ │
└─────────────────────────────────────────────────────────┘
二、Persona 详细定义
P1 — Platform Admin(平台超级管理员)
| 属性 | 值 |
|---|---|
| Persona 名称 | Platform Admin |
| 中文称谓 | 平台超级管理员 |
| Persona Code | PLATFORM_ADMIN |
| 所属层 | 平台层(Platform) |
| 账号归属 | 平台运营团队(Fonrey 公司内部人员) |
| 账号数量 | 极少,手动创建,不通过租户系统管理 |
| 认证入口 | 独立管理后台(非租户客户端) |
| Schema 归属 | public(跨所有租户) |
职责范围:
- 创建、暂停、注销租户(Tenant)
- 为租户初始化 Tenant Admin 账号
- 管理平台版本、发布客户端安装包
- 监控系统健康状态、查看平台级日志
- 配置平台级参数(短信网关、OSS、第三方集成等)
不涉及:
- 不进入任何租户的业务数据
- 不参与租户内部的权限分配、组织管理
关键约束:
- Platform Admin 走独立认证体系,不纳入租户 RBAC 权限模型
- 无需在
permission_definitions中注册权限项
P2 — Tenant Admin(租户管理员)
| 属性 | 值 |
|---|---|
| Persona 名称 | Tenant Admin |
| 中文称谓 | 租户管理员 |
| Persona Code | TENANT_ADMIN |
| 所属层 | 租户层(Tenant) |
| 账号归属 | 各租户(房产经纪公司)的系统管理员 |
| 账号数量 | 每个租户 1~3 个,由 Platform Admin 创建初始账号 |
| 认证入口 | 与经纪人相同的租户客户端(Electron App) |
| 登录账号 | 平台运营分配的自定义字符串(不限于手机号格式) |
| 初始密码 | 平台统一固定初始密码,首次登录强制修改 |
| Schema 归属 | 租户 Schema(tenant_{id}) |
职责范围:
- 维护组织架构(部门/门店树)
- 办理员工入职、离职、调动
- 创建和管理员工系统账号
- 配置角色与权限(角色创建、权限分配、个人权限调整)
- 配置系统枚举值(Lookup Items)、房源录入规则、客源规则
- 查看全租户范围的业务数据(受数据权限规则约束)
不涉及:
- 不能跨租户操作
- 不能修改平台级配置(版本、短信网关等)
与「经纪人」的区别:
- Tenant Admin 是管理身份,不从事日常房源/客源业务操作
- 在系统内显示为「管理员」身份,拥有全模块管理权限
- 可以同时持有某个业务角色(如总经),但账号性质以 Tenant Admin 为主
在 PRD 中的出现场景:
- 组织人事管理模块的主操作者
- 权限管理模块的主操作者
- 系统配置模块的主操作者
- 在楼盘管理、发布管理中执行管理操作的用户
P3 — Agent(经纪人)
| 属性 | 值 |
|---|---|
| Persona 名称 | Agent |
| 中文称谓 | 经纪人 |
| Persona Code | AGENT |
| 所属层 | 租户层(Tenant) |
| 账号归属 | 各租户的在职员工 |
| 账号数量 | 每个租户 N 个,由 Tenant Admin 创建 |
| 认证入口 | 租户客户端(Electron App) |
| 登录账号 | 手机号(由 Tenant Admin 录入员工时自动创建) |
| 初始密码 | 系统统一固定初始密码,首次登录强制修改 |
| Schema 归属 | 租户 Schema(tenant_{id}) |
内部岗位子类型(Agent Sub-roles):
Agent 是统称,内部通过「角色」区分岗位权限层级。系统内置以下角色(不可删除):
| 角色名称 | Role Code | 典型岗位 | 数据权限范围 |
|---|---|---|---|
| 置业顾问 | ROLE_AGENT |
一线经纪人 | 仅自己的数据 |
| 店管 | ROLE_STORE_MGR |
门店店长 | 本门店数据 |
| 区管 | ROLE_AREA_MGR |
区域经理 | 本区域数据 |
| 区总 | ROLE_AREA_DIR |
区域总监 | 本区域+下属区数据 |
| 副总 | ROLE_VP |
副总经理 | 全公司数据(部分) |
| 总经 | ROLE_GM |
总经理 | 全公司数据 |
| 其他职能 | ROLE_OTHER |
行政/财务/HR | 按需配置 |
在 PRD 中的出现场景:
- 房源管理模块的主操作者
- 客源管理模块的主操作者
- 楼盘管理模块的查看用户
- 登录模块的主要使用者
三、命名规范与替换对照表
以下为历史文档中出现的混乱称谓,与标准称谓的对照关系:
| 历史称谓(禁止继续使用) | 应替换为 | 说明 |
|---|---|---|
| 超级管理员 | Platform Admin(平台超级管理员) | 仅指平台层 |
| 平台管理员 | Platform Admin(平台超级管理员) | 同上 |
| 系统管理员 | Tenant Admin(租户管理员) | 租户层管理员 |
| 管理员(泛称) | Tenant Admin(租户管理员) | 明确指向租户层 |
| HR 管理员 | Tenant Admin(租户管理员) | 同一人,不区分子角色 |
| HR 行政 | Tenant Admin(租户管理员) | 同上 |
| 一线经纪人 | Agent(经纪人) | 统称,角色层面才区分岗位 |
| 置业顾问(作为用户称谓) | Agent(经纪人) | 置业顾问仅作为「内置角色名」使用 |
规则说明:
- PRD User Story 的 As a 部分:使用中文称谓(
Tenant Admin(租户管理员)、Agent(经纪人)) - 权限矩阵、DATA_MODEL 注释:使用 Persona Code(
TENANT_ADMIN、AGENT) - 角色名称(置业顾问、店管、总经等)仅在角色管理相关语境中出现,不作为用户身份称谓
Platform Admin在各 PRD 中尽量少出现,其功能属于「系统管理模块」,不在各子模块 PRD 内展开
四、快速索引
| 场景 | 使用 |
|---|---|
| PRD User Story 主语 | Tenant Admin(租户管理员) / Agent(经纪人) |
| 错误提示文案(面向用户) | 「请联系您的租户管理员」 |
| DATA_MODEL 注释 | created_by: 创建该记录的 Agent(经纪人)用户 ID |
| 权限矩阵行标题 | 使用角色名(置业顾问 / 店管 / 总经 ...) |
| 代码注释 / 枚举值 | PLATFORM_ADMIN / TENANT_ADMIN / AGENT |
| 日志、审计记录 | operator_type: PLATFORM_ADMIN / TENANT_ADMIN / AGENT |