178 lines
8.9 KiB
Markdown
178 lines
8.9 KiB
Markdown
# 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(经纪人) | 置业顾问仅作为「内置角色名」使用 |
|
||
|
||
**规则说明:**
|
||
1. PRD User Story 的 **As a** 部分:使用中文称谓(`Tenant Admin(租户管理员)`、`Agent(经纪人)`)
|
||
2. 权限矩阵、DATA_MODEL 注释:使用 Persona Code(`TENANT_ADMIN`、`AGENT`)
|
||
3. 角色名称(置业顾问、店管、总经等)**仅在角色管理相关语境中**出现,不作为用户身份称谓
|
||
4. `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` |
|