Files
nexus/Project/fonrey/PRD/PERSONA_定义.md
2026-04-30 18:40:55 +08:00

178 lines
8.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 |
| **账号归属** | 各租户(房产经纪公司)的系统管理员 |
| **账号数量** | 每个租户 13 个,由 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` |