﻿# VISTA Link 产品需求文档

| 项目 | 内容 |
|---|---|
| 产品名称 | VISTA Link |
| 文档类型 | 产品需求文档 |
| 当前版本 | V0.253 |
| 最近更新 | 2026-09-09 |
| 所属产品体系 | HOMEVISTA 模块化数字展示产品体系 |
| 关联系统 | HOMEVISTA 统一账号、A 端运营管理端、VISTA ADMIN 装配系统、项目素材数据提供方、HOMEVISTA C 端 |
| 主要用户 | 销售人员、销售经理、营销企划、项目管理员 |
| 文档范围 | VISTA Link 业务后台的账号、项目、客户、现场演示、链接分享、营销跟进和系统设置 |

---

## 术语约定

本 PRD 使用销售人员能够直接理解的名称。页面、Widget 和素材引用关系可以作为内部实现存在，但用户只选择菜单及其可用素材或内容，不接触页面组装和素材维护。

| 术语 | 说明 |
|---|---|
| 当前项目 | 用户在项目选择页选择，或通过有权访问的业务地址进入后正在使用的住宅项目。VISTA Link 一次只使用一个当前项目 |
| 项目内容 | 来源系统已经提供、可用于现场演示或链接分享的项目概览、周边地图、样板间、户型、眺望等功能和业务内容 |
| 素材数据 | 来源系统已经绑定到当前项目和具体菜单、可供演示场景或分享资料选择的数据，例如户型图、眺望图片或 PDF。VISTA Link 用户可以选择素材，但不负责上传、编辑、删除、分类或打标签 |
| 菜单 | 现场演示或分享资料中的一级导航，例如项目概览、周边地图、样板间和户型 |
| 显示内容 | 配置时可以进一步选择的对象总称，可以是具体素材，也可以是带有展示素材的业务条目，例如户型菜单中的 A、B、C 户型。没有内容列表的菜单不提供内部选择 |
| 演示场景 | 当前项目中一套用于现场演示的配置，包含名称、菜单、菜单顺序和显示内容。一个项目可以有多个演示场景 |
| 默认演示场景 | 项目首次具备现场演示条件时由系统建立的初始场景。它不是分享资料，也不会使用户进入「现场演示」后自动开始播放 |
| 分享资料 | 当前项目中一套供客户通过访问地址自行查看的配置，包含名称、菜单、菜单顺序和显示内容。一份分享资料对应一条固定链接 |
| 固定链接 | 一份分享资料唯一且长期不变的客户访问链接。修改并保存分享资料不会改变链接地址，链接始终显示最新保存内容 |
| 客户标识参数 | 销售选择客户后由系统附加到固定链接中的随机参数，用于识别客户，不直接包含客户编号、邮箱或手机号，也不产生新的固定链接 |
| VISTA Link 业务后台 | 面向项目成员的配置和管理端。用于管理客户，配置演示场景和分享资料，取得访问地址，并查看演示与访问记录 |
| HOMEVISTA C 端 | 面向现场展示和购房客户访问的业务前台。包含现场演示模式与客户访问模式，不提供演示场景或分享资料配置 |
| C 端现场演示模式 | 销售从 VISTA Link 选择演示场景并开始后进入的展示模式。销售保持登录，不经过固定链接，也不计入客户自主访问 |
| C 端客户访问模式 | 购房客户通过访问地址进入的展示模式。客户完成必要的身份识别后查看分享资料，不登录 VISTA Link |
| 现场演示 | 销售面对身边客户进行讲解。演示场景在 VISTA Link 配置，实际展示和演示操作发生在 C 端现场演示模式 |
| 现场演示记录 | 记录演示人、项目、演示场景、关联客户、开始与结束情况，以及实际展示的菜单、内容、次数和时长 |
| 客户自主访问 | 客户通过分享资料的访问地址产生的访问，与现场演示分开记录和统计 |
| 项目成员 | 登录用户在一个项目中的成员关系。同一用户可以属于多个项目，并在不同项目拥有不同角色和状态 |
| 项目管理员 | 管理当前项目成员、角色、权限和基础配置；管理项目内演示场景和固定链接，并查看全部分享资料的默认角色 |
| 明确动作 | 客户在分享内容中完成的具有业务含义的操作，例如提交来场预约。普通切换和展开不属于明确动作 |
| 浏览操作 | 客户选择列表条目、切换视角或查看地图地点等普通浏览行为，不表示客户已经预约或准备购买 |

---

## 1. 产品概述

### 1.1 产品背景

HOMEVISTA 已在日本房地产销售市场完成商业测试，累计服务 34 家房地产公司、147 个住宅项目。但随着已交付项目增多，一个新的问题浮现出来：**房地产公司有了展示内容，却不知道这些内容是否真正帮助了销售。**

当前的核心困境是：

```text
已有展示内容分散在不同功能中
→ 销售人员难以快速选择适合现场演示或特定客户查看的内容
→ 内容发出去以后，房地产公司不知道谁看了、看了什么、看了多久
→ 销售跟进缺少依据
→ 销售和销售经理看不清内容是否有用、客户是否有意向
```

普通网站统计只能告诉房地产公司「有多少访问」。但房地产销售需要回答更具体的问题——客户看了哪些样板间？是否比较了户型？有没有提交来场预约？哪些分享资料产生了客户访问？

VISTA Link 正是为解决这些问题而设计。它使用来源系统已经提供的菜单、项目内容和素材数据，不负责制作或维护原始内容。销售可以为现场演示配置演示场景，也可以配置供客户自行查看的分享资料。

### 1.2 产品定位

> **VISTA Link 是为房地产销售人员服务的营销跟进平台。它让销售从现有项目内容中配置现场演示和客户分享，并根据客观记录继续跟进客户。**

VISTA Link 是业务后台，负责客户资料、演示场景、分享资料、固定链接和记录。HOMEVISTA C 端是业务前台，负责现场演示和购房客户查看。VISTA Link 读取当前项目的素材数据，用户在配置时进行选择；VISTA Link 不负责制作和维护素材，也不要求销售理解页面、Widget、模板或渲染结构。

几条核心判断：

1. **这个产品首先为销售人员服务。** 销售是每天使用它的人——现场演示、提供访问地址、查看记录并决定下一步。销售经理查看的团队数据来自销售人员的使用。
2. **不是通用统计工具。** 普通访问统计回答不了某个客户实际浏览了哪些内容。VISTA Link 保存客观记录，但不替销售判断客户意向。
3. **商业目标是帮助 HOMEVISTA 从项目交付延伸到长期服务收入。**

### 1.3 产品目标

| 销售问题 | VISTA Link 的回答 |
|---|---|
| 现场讲什么？ | 选择已保存的演示场景，进入 C 端现场演示模式 |
| 发什么？ | 选择已有分享资料，或配置菜单和显示内容后取得访问地址 |
| 购房客户看了没有？ | 后续通过购房客户追踪查看访问次数、分享资料、浏览内容、访问时长和访问记录 |
| 下一步怎么做？ | 后续根据客户的客观访问行为判断；当前 B 端 MVP 先完成已准备分享资料的选择和固定链接访问 |

### 1.4 产品范围

VISTA Link 包含以下内容：

- 在当前项目内配置演示场景，选择菜单、调整菜单顺序，并在菜单支持时选择具体素材或其他显示内容。
- 销售可以使用演示场景进行现场演示；可以关联已有客户，也可以先作为未关联客户的临时演示，后续再关联客户。
- 在当前项目内配置分享资料并取得固定链接；需要为某个客户限制内容时，新建或复制一份独立分享资料。
- 项目成员从 VISTA Link 独立地址进入，通过 HOMEVISTA 统一账号登录，在进入业务界面前选择项目，并在进入后切换有权访问的项目；已登录用户打开有权访问的具体业务地址时直接进入对应内容。
- 系统提供访问地址复制和二维码展示，不负责发送固定链接或销售消息。
- 维护购房客户基础资料和标签。
- 后续通过购房客户追踪查看客户自主访问；现场演示记录单独保存，不计入客户自主访问统计。
- 后续按当前项目汇总分享资料、访问客户和内容访问表现，并保留访问数据纠正和操作日志。
- 按当前项目维护成员、角色和功能权限。
- 通过标准 API 向内部智能体和已授权外部智能体提供 VISTA Link 能力，具体 AI 功能以独立 PRD 为准。

VISTA Link 不负责项目素材的上传、修改、删除、分类、标签或说明维护，也不提供面向用户的页面、模板、Widget 或独立素材管理。素材选择只出现在演示场景和分享资料配置中。

### 1.5 产品结构

VISTA Link 是 HOMEVISTA 产品体系中的业务后台，HOMEVISTA C 端是业务前台。下面两张图回答不同问题，不能互相替代：

- 产品结构图回答「用户进入 VISTA Link 后可以使用哪些功能」。树枝只表示包含关系，不表示操作顺序或数据流向。
- 系统边界图回答「哪些事情由 VISTA Link 负责，哪些事情由外部系统负责」。箭头只表示信息或操作的去向。

#### 1.5.1 产品结构图

```text
VISTA Link
├─ 账号
│  ├─ 登录
│  ├─ 忘记密码
│  ├─ 修改个人信息
│  ├─ 修改密码
│  └─ 退出登录
├─ 项目选择
│  └─ 选择当前项目
├─ 项目总览
├─ 客户管理
│  ├─ 客户资料
│  │  ├─ 查询客户
│  │  ├─ 创建客户
│  │  ├─ 编辑客户资料
│  │  ├─ 导入客户
│  │  ├─ 导出客户
│  │  ├─ 删除客户
│  │  └─ 恢复客户
│  ├─ 客户负责人
│  │  └─ 调整客户负责人
│  ├─ 客户状态
│  │  ├─ 修改客户当前状态
│  │  └─ 维护客户状态
│  └─ 客户标签
│     ├─ 调整客户标签
│     └─ 维护客户标签
├─ 现场演示
│  ├─ 演示场景管理
│  └─ 开始现场演示
├─ 链接分享
│  ├─ 分享资料
│  │  ├─ 查询分享资料
│  │  ├─ 新建分享资料
│  │  ├─ 复制分享资料
│  │  ├─ 配置分享资料
│  │  └─ 删除分享资料
│  └─ 固定链接
│     ├─ 取得访问地址
│     ├─ 设置公开状态
│     └─ 设置启用状态
├─ 营销跟进
│  ├─ 客户追踪
│  ├─ 演示记录管理
│  ├─ 访问数据纠正
│  ├─ 营销统计
│  └─ 分享资料首次打开通知
└─ 系统设置
   ├─ 项目成员管理
   ├─ 角色管理
   ├─ 功能权限配置
   └─ 查询操作日志
```

这张图只描述功能归属，不描述页面、按钮位置、操作顺序或数据流向。第一层是相互独立的功能模块，下面列出归属于该模块的功能点。功能点必须表示用户能够完成的业务操作，或系统向用户提供的独立结果。同一功能只出现一次，不增加只用于整理图形的分类。

列表、详情、搜索、筛选、预览、二维码和配置中的字段选择，不单独算功能模块。它们只作为查询、配置、恢复或取得访问地址等功能的组成部分。例如「查询客户」包含客户列表、姓名搜索、标签或状态筛选和客户详情；「恢复客户」包含进入已删除客户范围、查看待恢复资料和执行恢复；固定链接的复制和二维码属于「取得访问地址」的输出方式。素材选择属于「配置演示场景」或「配置分享资料」的一部分，因此不设置独立的素材管理模块。

同一对象的正反操作也不拆成两个功能。例如首次选择项目和后续切换项目都归入「选择当前项目」；固定链接的公开或取消公开归入「设置公开状态」；启用或停用归入「设置启用状态」。具体操作和限制在 §4 中说明。

§4 的优先级表会按实施先后拆分列表、搜索、筛选等需求项，但这些需求项不因此成为产品结构图中的独立功能。

- 「账号」包含登录、忘记密码、个人信息、修改密码和退出登录。这些功能都作用于同一个 HOMEVISTA 统一账号。
- 「项目选择」包含登录后的首次选择，也包含进入项目后更换当前项目。两者使用同一项目选择能力，所以「切换项目」不再作为独立功能。
- 「项目总览」是选定当前项目后的首页，不是项目选择的子功能。
- 「现场演示」在 VISTA Link 中只负责管理演示场景并开始演示。进入 C 端后的展示、导航、切换项目和结束演示不列为 VISTA Link 后台功能；演示结果在「营销跟进 > 演示记录」查看。
- 「链接分享」分别管理分享资料和固定链接；选择客户只是取得带客户标识参数的访问地址，不是客户管理功能。
- 一个模块跳转到另一个模块的入口不重复列为功能。例如项目总览进入客户追踪、客户详情开始现场演示，只表示入口位置，不改变功能归属。

现场演示记录虽然由 C 端现场演示产生，但它在 VISTA Link 中的查看和处理入口归入「营销跟进」，不在「现场演示」下重复列出。客户追踪中的「客户现场演示时间线」只表示从客户详情查看已经关联的记录，不是另一套演示记录管理功能。

图中只列 VISTA Link 业务后台的用户功能。以下内容不属于这张产品结构图：

- HOMEVISTA C 端的现场展示和客户访问界面。
- A 端的项目关系和主题维护，以及 VISTA ADMIN 和其他内容系统的项目内容与素材维护。
- 独立 PRD 管理的 AI 与智能体功能。
- 接口、安全、性能、多语言等实现和质量要求。

#### 1.5.2 系统边界图

系统边界图用于确定产品责任，不用于说明页面跳转。图中央是 VISTA Link 应当保存和处理的内容；图外是它依赖或服务的对象。

```mermaid
flowchart LR
    MEMBER["项目成员"]
    ACCOUNT["HOMEVISTA 统一账号"]
    PROJECT["A 端运营管理端"]
    SOURCE["VISTA ADMIN<br/>及其他内容系统"]
    LINK["VISTA Link<br/>项目权限与客户资料<br/>演示场景、分享资料与固定链接<br/>演示记录、访问记录与统计"]
    CEND["HOMEVISTA C 端<br/>现场演示模式<br/>客户访问模式"]
    BUYER["购房客户"]

    MEMBER <-->|"后台配置与结果"| LINK
    ACCOUNT <-->|"登录认证与账号状态"| LINK
    PROJECT -->|"项目关系与当前主题"| LINK
    SOURCE -->|"菜单、可用素材与展示数据"| LINK
    LINK <-->|"演示场景、分享资料与展示记录"| CEND
    MEMBER -->|"现场演示操作"| CEND
    BUYER <-->|"打开访问地址与查看内容"| CEND
```

边界说明：

- A 端运营管理端负责租户、项目关系、首个项目管理员关系和当前项目主题。
- VISTA ADMIN 和其他内容系统负责制作、绑定和维护菜单、原始内容和素材数据。
- VISTA Link 负责读取当前项目的可用素材数据，供用户在演示场景和分享资料中选择，并保存选择结果、固定链接、客户资料和相关记录；它不提供素材维护，也不承担最终展示。
- HOMEVISTA C 端负责最终展示：现场演示模式读取演示场景，客户访问模式读取分享资料，并分别把真实展示记录返回 VISTA Link。
- 购房客户不是 VISTA Link 用户，不进入 B 端。
- VISTA Link 只生成访问地址和二维码；销售通过 LINE、邮件等外部工具发送，不属于 VISTA Link 的发送功能。

### 1.6 数据归属与当前项目

- 用户登录后只看到本人处于启用状态的可访问项目。
- 用户选择项目后进入项目总览；进入业务界面后可以切换项目。
- 客户、演示场景、分享资料、固定链接、演示记录、访问记录、统计和操作日志都归属于项目。
- 业务功能内部不重复提供项目筛选。
- 项目切换后重新读取目标项目的角色、权限和数据。
- 项目内容来自来源系统，VISTA Link 只读取可用内容，不提供维护入口。
- 演示界面内切换项目不改变 VISTA Link 原来的当前项目；无论从现场演示入口还是客户详情进入，返回 VISTA Link 时都回到开始演示前的项目和演示场景列表。
- 一个分享资料对应一条固定链接，一条固定链接可以通过不同客户标识参数关联多个客户。
- 项目成员被停用后，其创建的演示场景、分享资料、固定链接和历史记录继续保留。

### 1.7 总体流程

现场演示与链接分享是两条独立路径：

```mermaid
flowchart TD
    LOGIN["登录"] --> PROJECT["选择项目"] --> OVERVIEW["项目总览"]
    OVERVIEW --> PRESENT["现场演示"]
    PRESENT --> SCENE["选择演示场景"] --> START["开始演示"] --> SHOW["C 端现场演示模式"] --> RECORD["VISTA Link 保存演示记录"]
    OVERVIEW --> SHARE["链接分享"]
    SHARE --> MATERIAL["选择或配置分享资料"] --> ADDRESS["取得访问地址"] --> OPEN["C 端客户访问模式"] --> TRACK["VISTA Link 保存访问记录"]
```

- 从 VISTA Link 当前项目开始演示时不重复选择项目。
- 点击「开始演示」后进入 C 端现场演示模式；该模式允许切换到其他有权演示的项目，但不改变 VISTA Link 的当前项目。
- 链接分享不要求先进行现场演示，也不从演示场景内开始。
- 现场演示不经过固定链接，不计入客户自主访问。
- VISTA Link 提供访问地址和二维码，真实发送仍由销售在外部工具中完成。

---

## 2. 用户角色

### 2.1 默认角色

| 角色 | 使用目标 |
|---|---|
| 销售人员 | 现场演示、分享项目内容、查看客户记录并维护客户状态 |
| 销售经理 | 使用销售功能，并可分配或转移客户负责人 |
| 营销企划 | 查看项目总览和营销统计 |
| 项目管理员 | 管理当前项目的成员、角色、权限、客户标签和客户状态；管理演示场景和固定链接，并查看全部分享资料 |
| 购房客户 | 通过固定链接查看分享资料，不是 VISTA Link 登录用户 |

**角色规则：**
- 销售人员、销售经理、营销企划和项目管理员是系统默认角色
- 销售经理为可配置角色，默认权限可按项目需要调整
- 每个项目可以基于功能权限点创建自己的自定义角色
- 项目成员必须在当前项目绑定一个或多个角色；多个角色的功能权限合并计算
- 同一登录用户在不同项目中的角色和功能权限互不影响
- 角色用于分配功能权限；成员可访问的数据范围限定为当前项目，并继续受各业务对象规则限制
- 项目管理员只对当前项目生效
- A 端负责企业、租户、项目和首个项目管理员关系的开通
- 具备相应功能权限的项目成员可以邀请项目成员，并设置其项目角色
- VISTA ADMIN 及其他来源系统负责项目内容的制作与上线
- 用户只能使用自己可访问范围内的数据和功能
- 购房客户不登录 VISTA Link，只在 HOMEVISTA 展示端访问分享资料

### 2.2 销售人员工作流

销售人员是 VISTA Link 的核心日常用户。VISTA Link 支持销售从现场接待开始，反复进行现场演示、提供客户访问地址、查看客户访问和再次推荐，直到客户签约或不再购买。它不代替预约、通讯、购买申请、贷款和合同系统。

#### 2.2.1 常用销售场景

| 场景 | 销售的实际工作 | VISTA Link 的作用 |
|---|---|---|
| 接待前准备 | 了解客户需求，准备当天要讲的项目、户型、样板间和眺望等内容 | 查找客户，查看资料、标签、状态和历史记录；选择已有演示场景，必要时调整场景中的菜单和内容 |
| 已有客户现场接待 | 面对预约或已经建档的客户介绍项目 | 从客户详情进入演示场景列表，选择场景并开始现场演示；结束后把演示记录放入客户追踪 |
| 临时客户现场接待 | 面对没有预约、尚未建档或暂时不知道身份的客户进行简短介绍 | 选择临时演示并开始；结束后可以创建或选择客户并关联演示记录 |
| 远程咨询与首次发送 | 客户通过电话、LINE、邮件或资料请求了解项目，尚未到访 | 查找或创建客户，选择或配置分享资料，指定客户后取得访问地址；不要求先进行现场演示 |
| 到访后发送资料 | 根据现场反馈，让客户回家后继续查看相关内容 | 独立进入链接分享，选择已有分享资料或复制后调整菜单和内容，再取得客户访问地址；实际发送在外部工具中完成 |
| 根据访问继续推荐 | 查看客户回家后是否打开、反复查看了哪些内容，再决定下一次沟通和推荐 | 在客户追踪中区分现场演示和客户自主访问；查看分享资料、内容、次数和有效时长 |
| 购买申请与签约 | 客户确认候选房源后进行购买申请、资金确认、贷款预审、重要事项说明和合同签署 | 销售只手动更新客户状态；购买申请、贷款、合同和付款仍在外部业务系统中处理 |

#### 2.2.2 销售主流程

```mermaid
flowchart TD
    ENTRY{"客户接触方式"}
    ARRIVE["客户来到现场<br/>预约客户或临时到访"]
    REMOTE["远程咨询或资料请求<br/>查找或创建客户"]
    KNOWN{"是否已有客户资料"}
    CUSTOMER["打开客户详情<br/>查看资料、标签、状态和历史"]
    TEMP["选择临时演示"]
    SCENE["选择演示场景"]
    PRESENT["进入 C 端现场演示模式"]
    FEEDBACK["销售确认现场反馈<br/>关注内容和疑问"]
    FINISH["结束现场演示"]
    LINKED{"是否已经关联客户"}
    BIND["创建或选择客户<br/>关联演示记录"]
    TRACK["演示记录进入客户追踪"]
    UPDATE["销售更新备注、标签和客户状态"]
    SHARE["选择已有分享资料<br/>或复制后调整内容"]
    ADDRESS["指定客户并取得访问地址"]
    SEND["通过 LINE 或邮件发送<br/>在 VISTA Link 外完成"]
    OPEN["客户自主打开分享资料"]
    DATA["记录分享资料、内容、次数和有效时长"]
    REVIEW["销售查看客户追踪<br/>了解客户实际浏览情况"]
    CONTACT["通过电话、LINE 或邮件联系客户<br/>在 VISTA Link 外完成"]
    NEXT{"客户下一步情况"}
    APPLY["按项目状态设置<br/>手动标记购买申请阶段"]
    EXTERNAL["购买申请、资金确认和贷款预审<br/>在外部业务系统完成"]
    CONTRACT{"是否完成签约"}
    SIGNED["把客户状态改为<br/>签约"]
    LOST["把客户状态改为<br/>未签约"]

    ENTRY -->|来到现场| ARRIVE --> KNOWN
    ENTRY -->|尚未到访| REMOTE --> SHARE
    KNOWN -->|已有客户| CUSTOMER --> SCENE --> PRESENT
    KNOWN -->|临时客户| TEMP --> SCENE
    PRESENT --> FEEDBACK --> FINISH --> LINKED
    LINKED -->|已关联| TRACK
    LINKED -->|未关联| BIND --> TRACK
    TRACK --> UPDATE --> SHARE --> ADDRESS --> SEND --> OPEN --> DATA --> REVIEW --> CONTACT --> NEXT
    NEXT -->|继续比较| SHARE
    NEXT -->|再次到访| CUSTOMER
    NEXT -->|准备购买| APPLY --> EXTERNAL --> CONTRACT
    NEXT -->|不再购买| LOST
    CONTRACT -->|暂未签约| SHARE
    CONTRACT -->|完成签约| SIGNED
```

#### 2.2.3 流程规则与产品边界

- 现场演示和客户自主访问分开记录；销售演示不增加客户访问次数。
- 演示场景和分享资料分别保存；销售结束演示后可以单独选择分享资料，不要求从演示场景生成。
- 销售可以根据现场反馈或客户访问记录选择已有分享资料，或复制一份分享资料后调整菜单和内容，再向同一客户提供新的访问地址。
- 销售只选择来源系统已经提供的项目内容，不上传、修改或删除原始内容。
- 访问次数、反复查看和有效时长只能帮助销售了解客户实际看过什么，不能直接证明客户喜欢某个房源、准备购买或已经预约。
- 客户状态由销售根据实际沟通和外部业务结果手动修改，不能由演示记录或访问数据自动改变。
- 「再次到访」「取得新访问地址」「客户打开分享资料」都是已经发生的事情，不作为客户状态。
- VISTA Link 不管理预约、到场人数、电话、LINE、邮件、购买申请、贷款、重要事项说明、合同、付款或交房。
- 销售在外部完成购买申请和合同后，只在 VISTA Link 中把客户状态更新为对应销售进度。

### 2.3 角色与操作路径

不同角色使用相同的功能模块，但日常操作起点不同：

| 角色 | 日常入口 | 主要路径 |
|---|---|---|
| 销售人员 | 项目总览、客户管理、现场演示、链接分享、营销跟进 | 查看客户资料和历史 → 选择演示场景进行现场演示，或选择分享资料取得访问地址 → 查看客户自主访问 → 再次推荐 → 手动更新客户状态 |
| 销售经理 | 项目总览、客户管理、现场演示、链接分享、营销跟进 | 查看项目总体情况 → 查看负责人情况 → 分配或转移客户负责人 → 按权限进入客户追踪或营销统计 |
| 营销企划 | 项目总览、营销跟进 | 查看当前项目总体情况和营销统计 |
| 项目管理员 | 项目总览、现场演示、链接分享、系统设置 | 查看当前项目总体情况 → 管理成员、角色和权限 → 管理演示场景、分享资料和固定链接 |
| 具备多个角色的成员 | 对应角色允许的入口 | 功能权限合并计算，数据范围仍按当前项目和对象规则判断 |

- 用户只能看到自己具备功能权限的模块入口。
- 项目成员的数据范围继续按当前项目和各业务对象规则判断。
- 页面组装、Widget 选择、模板选择和原始素材维护不出现在上述路径中。

## 3. 核心功能

### 3.1 功能结构树

VISTA Link 的完整功能层级以 §1.5.1 产品结构图为准，本节不再重复绘制另一套结构。

### 3.2 模块说明

| 模块 | 范围 | 功能详情 |
|---|---|---|
| **账号** | 使用 HOMEVISTA 统一账号登录或退出，并维护本人账号资料 | §4.9.1、§4.9.2、§4.9.5～§4.9.7 |
| **项目选择** | 登录后选择当前项目，或进入项目后切换当前项目 | §4.9.3、§4.9.4 |
| **项目总览** | 查看当前项目的客户、分享资料、固定链接和团队负责情况 | §4.10 |
| **客户管理** | 管理当前项目的客户资料、负责人、客户状态和客户标签 | §4.1 |
| **现场演示** | 管理演示场景，并从 VISTA Link 开始现场演示 | §4.4；演示记录在营销跟进中的使用见 §4.7.1 |
| **链接分享** | 管理分享资料和固定链接，并取得客户访问地址 | §4.3 |
| **营销跟进** | 查看和处理演示记录与客户自主访问结果，两类记录分别计算 | §4.7；演示记录的产生和结束规则见 §4.4.3、§4.4.4 |
| **系统设置** | 管理当前项目成员、角色和功能权限，并查询操作日志 | §4.8 |

项目内容和素材数据由来源系统维护。VISTA Link 不提供独立素材管理功能，用户只在演示场景或分享资料配置中选择所属菜单下的可用素材或其他内容，也不需要给素材打标签。

---

## 4. 功能详情

---

### 4.1 客户管理

> 客户管理包含客户基础资料、状态、标签、负责人、导入导出和客户与固定链接的关联规则。最近活动时间、最近行为、浏览记录和客户追踪按 §4.7 定义，不属于当前 B 端 MVP。

#### 4.1.1 客户列表

**需求项优先级：**

| 需求项 | 优先级 |
|---|---|
| 浏览客户列表 | P1 |
| 按姓名搜索客户 | P1 |
| 按标签或客户状态筛选客户 | P2-A |
| 查看客户详情 | P1 |
| 从客户详情开始现场演示 | P1 |

**操作：**
- 搜索购房客户：按姓名查找
- 按一个或多个标签筛选购房客户
- 按一个客户状态筛选购房客户
- 购房客户的默认视图是购房客户列表，按创建时间倒序排序
- 打开客户详情
- 从客户详情进入当前项目的演示场景列表；系统预先带入该客户，用户选择场景并点击「开始演示」
- 从客户列表进入编辑客户资料
- 导入客户
- 导出客户列表
- 删除购房客户

**展示字段：**
- 姓名
- 当前状态
- 标签

**规则：**
- 姓名可以重复
- 每个客户在创建时由系统生成一个内部唯一标识；手动创建、CSV 导入和链接访问认证自动创建都遵守同一规则
- 客户内部唯一标识不可修改，不在客户列表中展示
- 列表需分页展示，每页条数可配置
- 无客户时显示空状态提示「暂无客户」
- 不支持批量删除，也不支持勾选部分客户后导出
- 列表中标签过多时，默认展示前 3 个标签，其余标签显示为「+N」
- 完整标签在客户详情中查看和编辑
- 选择多个标签时，客户必须同时包含全部已选标签
- 客户状态一次只能选择一个；状态和标签同时使用时，客户必须同时满足所选状态和全部已选标签

#### 4.1.2 创建客户

- **优先级**：P1

**操作：**
- 新建购房客户

**字段：**
- 姓名
  - 必填
  - 文本
- 联系渠道
  - 选填
  - 手机号
  - 备用电话
  - 邮箱
  - LINE
  - WhatsApp
- 来源
  - 选填
  - 可选值：官网咨询 / 线下活动 / 朋友介绍 / 门店咨询 / 外部 CRM / 其他
- 客户状态
  - 选填
  - 来源：项目内未停用客户状态列表
  - 不选时使用当前项目默认状态
- 负责人
  - 选填
  - 用户引用（单选本项目内处于启用状态的成员）
  - 默认填入当前登录用户
- 购房意向
  - 选填
  - 多行文本
  - 填写提示：例：购房目的：自住改善；预算：8,000 万 - 1.2 亿日元；意向区域：世田谷、目黑；意向户型：3LDK；入住时间：1 年内；付款方式：贷款为主
- 备注
  - 选填
  - 多行文本
- 系统生成
  - 客户编号（内部唯一标识）
  - 创建时间

**规则：**
- 创建客户时只要求姓名必填
- 联系渠道、购房意向和备注由销售按已知信息填写
- 来源、客户状态和负责人由销售按需选择
- 客户状态不填时使用当前项目默认状态
- 创建时间在保存时生成
- 客户编号在保存时生成，不提供填写或修改入口，也不在客户列表中展示
- 手机号、邮箱、LINE、WhatsApp 在项目内必须唯一；备用电话不参与判重
- 手机号和 WhatsApp 比较时将全角数字转为半角，忽略空格、横杠和括号；日本国内 `0` 开头号码与对应的 `+81` 号码视为相同，未填写国家码时按日本号码处理
- 邮箱比较时去除首尾空格且不区分大小写；邮箱内部的横杠、点号、加号等字符必须保留
- LINE ID 比较时只去除首尾空格，不删除或替换内部字符；大小写按 LINE 本身的账号规则处理
- 创建客户、编辑客户、导入客户和客户身份认证分别按上述对应字段规则判断
- 已删除客户不占用手机号、邮箱、LINE ID 和 WhatsApp；再次使用相同联系方式时创建新客户，不继承原客户资料或历史记录
- 保存时如与已有客户重复，只提示重复字段，不展示其他客户的姓名、负责人、完整联系方式或其他资料；不创建客户

#### 4.1.3 编辑客户资料

**需求项优先级：**

| 需求项 | 优先级 |
|---|---|
| 编辑客户基础资料 | P1 |
| 修改客户状态 | P1 |
| 调整客户标签 | P2-A |
| 分配或转移客户负责人 | P2-A |

**操作：**
- 从客户详情进入编辑客户资料

**可编辑字段：**
- 姓名
  - 必填
  - 文本
- 客户状态
  - 选填
  - 来源：项目内未停用客户状态列表
- 联系渠道
  - 选填
  - 手机号
  - 备用电话
  - 邮箱
  - LINE
  - WhatsApp
- 来源
  - 选填
  - 可选值：官网咨询 / 线下活动 / 朋友介绍 / 门店咨询 / 外部 CRM / 其他
  - 由无参数链接访问认证后自动创建的客户，当前来源可显示为「链接访问认证」
  - 销售修改来源时只能选择上述值
- 负责人
  - 选填
  - 用户引用（单选本项目内处于启用状态的成员）
  - 展示客户当前负责人；没有负责人时留空
- 购房意向
  - 选填
  - 多行文本
  - 填写提示：例：购房目的：自住改善；预算：8,000 万 - 1.2 亿日元；意向区域：世田谷、目黑；意向户型：3LDK；入住时间：1 年内；付款方式：贷款为主
- 标签
  - 选填
  - 可选择已有客户标签
  - 可新建客户标签
  - 可从当前客户移除标签
- 备注
  - 选填
  - 多行文本

**只读字段：**
- 创建时间

**规则：**
- 创建时间不可编辑
- 客户状态表示当前项目对客户的整体销售进度，一个客户只有一个当前状态
- 移除标签只影响当前客户
- 家庭情况、生活偏好、学校、通勤、景观、预算敏感等内容不做固定字段，先通过客户标签记录
- 如后续需要按预算筛选或换算，再新增预算下限、预算上限、币种和汇率时间
- 修改客户状态时，系统自动记录状态变更历史（原状态 → 新状态、操作人、操作时间）
- 没有负责人的客户可以分配一名负责人；已有负责人的客户可以转移给其他成员
- 分配或转移负责人只改变该客户的主要跟进人
- 分配或转移负责人不会把固定链接或分享资料转交给新的客户负责人
- 客户已有的固定链接关联关系继续保留
- 成员被停用后，其负责的客户继续保留该负责人，并显示为「姓名（已停用）」
- 已停用成员不出现在新建客户、分配负责人和转移负责人的选择项中
- 成员重新启用后，其原负责客户恢复显示正常负责人名称，不需要重新分配
- 客户负责人只表示主要跟进人，不是客户查看权限；具备「查看客户」功能权限的成员仍可查看当前项目内全部客户，具体操作继续按对应功能权限判断
- 客户资料、客户状态、客户标签、负责人和客户与固定链接的关联关系发生修改时，系统自动记录操作日志：修改项、修改前值、修改后值、操作人或系统来源、操作时间
- 客户与固定链接的关系日志只记录销售指定客户时首次建立关系、无参数链接认证后建立关系，以及删除满 90 天后解除关系，不记录链接内容、链接状态、复制动作或二维码展示
- 上述记录统一从系统设置的操作日志查看，客户详情不提供操作日志入口
- 客户删除和恢复均记录操作人、操作时间和内部删除记录编号；删除后 90 天内，项目管理员查看日志时仍可识别原客户；删除满 90 天完成最终匿名化后，日志不再展示已清除的客户资料，但继续保留操作人、操作时间和内部删除记录编号
- 修改手机号、邮箱、LINE、WhatsApp 时，按 §4.1.2 的对应字段规则比较；如与项目内其他已有客户重复，只提示重复字段，不展示其他客户资料；不保存修改

#### 4.1.4 客户状态管理

**需求项优先级：**

| 需求项 | 优先级 |
|---|---|
| 查看客户状态列表 | P1 |
| 新增客户状态 | P1 |
| 修改客户状态名称 | P2-A |
| 调整客户状态排序 | P2-A |
| 设置默认客户状态 | P2-A |
| 停用客户状态 | P2-A |
| 重新启用客户状态 | P2-A |
| 删除未使用客户状态 | P2-B |

客户状态管理用于维护项目内客户状态列表。客户状态表示当前项目对客户的整体销售进度。

**操作：**
1. 查看客户状态列表
2. 新增状态
3. 修改状态名
4. 调整排序
5. 设置默认状态
6. 停用状态
7. 重新启用状态
8. 删除未使用状态

**规则：**
- 客户状态在项目内生效
- 一个客户只有一个当前状态
- 系统为每个项目自动创建「未设置」「签约」「未签约」三个系统预置客户状态
- 「未设置」是项目初始的默认客户状态
- 当前项目始终只有一个默认客户状态
- 项目管理员可以将任一未停用的客户状态设为默认状态
- 当前默认客户状态不提供「设为默认状态」操作
- 三个系统预置客户状态不能改名或删除，且始终保留
- 当前默认状态不能停用或删除；项目管理员需要先将其他未停用状态设为默认状态
- 项目管理员可以按当前项目的需要维护系统预置客户状态以外的状态名称
- 客户状态名称在当前项目内不能重复
- 新增或修改客户状态名称时，如名称已存在，系统不保存并提示「该状态已存在」
- 未保存过手动排序时，客户状态默认按添加时间倒序显示
- 保存后的顺序用于客户状态列表和所有客户状态选择项
- 新增状态显示在第一位，其他状态保持当前顺序
- 每次修改客户状态时，系统自动记录状态变更历史：原状态、新状态、操作人、操作时间
- 状态变更历史在客户详情中可查看
- 新建客户未选择状态时使用当前项目的默认状态
- 停用状态不能再被选择，已有客户保留原状态
- 停用的客户状态可以重新启用
- 重新启用后，该状态恢复到新建客户和修改客户状态的选择项中
- 重新启用不改变客户状态的显示顺序，不自动设为默认状态，也不修改已有客户的当前状态
- 已使用状态不能删除
- 未被客户使用、不是系统预置状态且不是当前默认状态的客户状态可以直接删除，不要求先停用
- 删除客户状态前，系统展示状态名称并要求项目管理员二次确认
- 不提供合并状态操作
- 新增、修改、排序、默认、停用、重新启用和删除状态属于客户状态维护权限，默认由项目管理员使用
- 销售人员可修改自己可编辑客户的当前状态，但不能维护状态列表

**客户状态在销售流程中的使用：**
- 客户状态由项目管理员按当前项目需要动态维护；除系统预置的「未设置」「签约」「未签约」外，PRD 不规定必须创建哪些中间状态
- 不同项目可以使用不同的状态名称、数量和排序，销售业务流程不依赖某个固定状态名称
- 系统不规定客户状态的变化顺序，也不要求客户必须经过某个中间状态后才能进入其他状态
- 销售可以从当前状态改为任一未停用状态；是否修改以及选择哪个状态，由销售根据实际沟通和外部业务结果判断
- 客户状态不控制现场演示、链接分享、客户追踪或再次推荐；同一状态下可以发生多次演示、分享和客户访问
- 再次到访、发送新访问地址、客户打开分享资料、反复查看或浏览时长变化都不能自动修改客户状态
- 销售完成外部买卖合同后，可以把客户状态改为系统预置的「签约」；本文所说的成交以签约为准
- 客户明确不再购买、申请取消或未完成合同时，销售可以把状态改为系统预置的「未签约」
- 「已接待」「考虑中」「购买申请中」只可作为某个项目配置或销售场景验收的数据示例，不是系统预置状态，也不是所有项目必须采用的状态

#### 4.1.5 客户标签管理

**需求项优先级：**

| 需求项 | 优先级 |
|---|---|
| 查看客户标签库 | P2-A |
| 新增客户标签 | P2-A |
| 修改客户标签名称 | P2-A |
| 搜索客户标签 | P2-B |
| 合并客户标签 | P2-B |
| 删除未使用客户标签 | P2-B |

客户标签管理只用于维护项目内客户标签，与来源系统中的项目内容分类无关。

**操作：**
1. 查看客户标签列表
2. 新增客户标签
3. 搜索客户标签
4. 查看标签使用人数
5. 修改标签名
6. 合并重复标签
7. 删除未使用标签

**规则：**
- 客户标签在项目内生效
- 客户标签库默认按创建时间倒序展示；没有客户标签时显示空状态
- 搜索客户标签时，名称包含关键词即为匹配
- 销售人员在给自己可编辑客户打标签时，可以选择已有客户标签，也可以新增客户标签
- 是否允许销售人员新增客户标签由当前项目权限配置决定，默认允许
- 修改标签名、合并标签、删除未使用标签属于客户标签库维护权限，默认由项目管理员使用
- 新增客户标签时，需要检测项目内是否已有同名标签；已有同名标签时不允许保存
- 修改标签名时，需要检测项目内是否已有同名标签；已有同名标签时不允许保存
- 新增客户标签后，使用人数为 0
- 新增客户标签不会自动加到任何客户身上
- 修改标签名会影响所有带有该标签的客户
- 合并标签时，旧标签会替换为目标标签
- 合并标签时，目标标签必须是项目内已存在的其他客户标签，不能是当前标签
- 确认合并前，系统展示源标签、目标标签和受影响的客户数量，并要求项目管理员确认
- 合并后，如同一客户同时带有旧标签和目标标签，只保留目标标签
- 已使用标签不能直接删除，需先从客户身上移除或合并到其他标签
- 删除未使用客户标签前，系统展示标签名称并要求项目管理员二次确认
- 客户标签用于记录不适合做固定字段、但销售判断时常用的信息，如「有子女」「学区房」「三代同堂」「年轻夫妇」「首次置业」「预算有限」「通勤优先」「眺望」

#### 4.1.6 客户导入

- **优先级**：P2-A

**操作：**
1. 在客户列表点击导入客户
2. 上传 CSV 文件
3. 预览客户数据和检查结果
4. 确认导入

**导入字段：**
- 姓名
- 手机号
- 备用电话
- 邮箱
- LINE
- WhatsApp
- 来源
- 购房意向
- 备注

**规则：**
- 客户导入只用于批量新增客户，不更新已有客户
- 姓名必填，缺少姓名的行不能导入
- 创建时间使用导入时间
- 每条成功导入的客户记录由系统生成客户编号
- 来源为空时保持为空
- 导入创建的客户使用当前项目默认状态，不自动添加客户标签

**判重规则：**
- 系统在当前项目和本次导入文件中，按 §4.1.2 的手机号、邮箱、LINE、WhatsApp 对应字段规则检查重复
- 姓名不参与判重
- 任一联系方式与当前项目已有客户重复时，该导入行不可导入
- 任一联系方式在本次导入文件中重复时，所有使用该字段值的导入行均不可导入

**重复处理：**
- 导入预览中标记重复行，展示原文件行号和重复字段名称；不展示系统中其他客户的姓名、负责人、完整联系方式或其他资料
- 重复行自动不导入，不提供覆盖或跳过选项
- 重复行不修改系统中的已有客户
- 其他通过检查的数据继续导入

#### 4.1.7 客户导出

- **优先级**：P2-A

**操作：**
1. 在客户列表点击导出
2. 确认导出范围和字段
3. 导出 CSV 文件

**导出字段：**
- 姓名
- 客户状态
- 手机号
- 备用电话
- 邮箱
- LINE
- WhatsApp
- 来源
- 负责人
- 标签
- 购房意向
- 备注
- 创建时间

**规则：**
- 导出客户需要「导出客户」功能权限
- 默认导出当前筛选结果
- 不支持勾选部分客户后导出
- 导出范围不得超出用户当前可查看的客户
- 「已删除客户」不进入普通客户导出
- 每次最多导出 10,000 条；超过时提示用户缩小筛选范围
- 不脱敏
- 导出操作记录到操作日志，包括操作人、操作时间、筛选条件和导出条数；日志不保存导出文件或具体客户资料

#### 4.1.8 删除与恢复客户

- **优先级**：P2-A

**删除操作：**
1. 在客户列表或客户详情中点击删除客户
2. 系统弹出二次确认，提示删除后的影响：客户将从普通客户列表移除，完整资料保留 90 天且仅项目管理员可以查看和恢复；原客户标识参数和浏览器识别结果立即失效；90 天后自动清除个人资料且不能恢复
3. 确认后删除该客户

**恢复操作：**
1. 项目管理员打开「已删除客户」
2. 系统展示尚未超过 90 天的已删除客户
3. 项目管理员查看被删除客户的原姓名、客户编号、删除人、删除时间、删除前负责人和删除前客户资料
4. 项目管理员选择恢复客户
5. 系统按 §4.1.2 的对应字段规则重新检查手机号、邮箱、LINE 和 WhatsApp
6. 检查通过后，系统恢复客户，并继续使用原客户编号

**规则：**
- 删除客户需要二次确认，不能直接删除
- 删除后客户进入「已删除客户」，不再出现在普通客户列表中，不立即执行最终匿名化
- 完整客户资料从删除时间起保留 90 天，仅项目管理员可以查看和恢复
- 删除日志记录被删除客户、删除人和删除时间
- 删除后，该客户对应的客户标识参数以及浏览器 Cookie / 会话中的客户识别结果立即失效
- 删除后暂时保留客户与固定链接的关系；恢复客户时继续使用原客户编号，但不恢复原客户标识参数或浏览器访问状态，销售需要重新取得访问地址
- 恢复时任一联系方式已被当前项目其他客户使用，系统提示冲突字段且不恢复客户；项目管理员处理冲突后可以再次恢复
- 删除客户不限制访客再次打开仍启用的固定链接；访客再次访问时需要重新验证身份
- 访客重新验证身份后，系统不自动恢复已删除客户；没有其他现有客户匹配时，系统创建新客户并生成新的客户编号
- 新客户不与已删除客户合并，已删除客户的链接关联关系和其他历史数据不转入新客户
- 删除满 90 天后，系统自动执行最终匿名化：清空姓名、手机号、备用电话、邮箱、LINE、WhatsApp、来源、购房意向、标签和备注，解除负责人和固定链接关系，不再允许恢复
- 最终匿名化后，系统继续保留内部客户标识、所属项目、创建时间和删除时间，用于连接匿名历史记录和统计；这些字段不作为客户资料向用户展示
- 数据追踪功能启用后，删除客户的历史记录和统计按 §4.7.3 保留，并统一显示为「已删除客户」
- 最终匿名化后，删除日志继续保留删除人、删除时间和内部删除记录编号，不保留已经清除的客户资料

---

### 4.2 项目内容与素材数据来源

- **优先级**：P0（读取已准备的分享资料所需内容和素材数据）；P1（配置演示场景和分享资料时选择内容或素材）

项目内容和素材数据由 VISTA ADMIN 或其他正式内容系统制作、绑定和维护。VISTA Link 读取这些数据，并在演示场景和分享资料配置中按所属菜单展示可选项。本节是数据依赖说明，不是 VISTA Link 的独立素材管理功能。

VISTA Link 不提供独立素材列表、素材详情、素材上传、素材编辑、素材删除、素材分类、素材标签或素材说明维护。用户不能给素材打标签，也不能改变素材所属项目和菜单。

#### 4.2.1 可用内容和素材

- VISTA Link 只读取当前项目已经上线且允许用于展示的菜单、内容和素材数据。
- 内容可以是项目概览、周边地图、户型、楼层、样板间、公共空间、眺望、WALK、VR、三维建筑、文件夹或其他已注册功能。
- 不同菜单是否包含可选素材或其他内容，由来源系统提供的业务结构决定。
- 项目概览等完整功能不因为只有一个内容而显示内部选择。
- 户型、眺望等包含列表的功能，在配置演示场景或分享资料时显示具体可选素材或其他内容。
- 可选项至少包含稳定标识、用户可理解的名称、所属菜单、可用状态和展示所需数据；需要帮助用户识别时，可以显示户型、面积、楼层等已有业务信息。
- 销售只能勾选或取消勾选可选项，不能修改素材名称、分类、标签、文件、所属关系和结构化业务数据。

#### 4.2.2 内容状态

- 新配置只允许选择当前可用内容和素材。
- 来源内容或素材更新后，VISTA Link 读取最新可用数据。
- 内容或素材下线、删除或不再允许展示后，不再出现在新的选择列表中。
- 已有演示场景或分享资料使用不可用内容时，系统指出对应菜单和内容；用户移除或替换后才能再次保存。
- 已保存的分享资料只有部分内容不可用时，客户访问时跳过不可用内容；某个菜单已无可用内容时隐藏该菜单。只要仍有至少一个可显示菜单，固定链接保持原状态并继续显示其余内容。
- 已保存的分享资料已经没有任何可显示菜单时，固定链接状态不自动改变，客户打开后显示「内容暂时无法查看」；销售仍需进入配置页移除或替换不可用内容。
- 上述访问处理不自动修改分享资料保存的选择。用户完成调整并再次保存后，固定链接才读取新的选择。
- 历史演示和访问记录保留发生时的内容名称、标识、必要参数和时间，不保存可重新展示的旧内容副本。

#### 4.2.3 内部数据

页面、Widget、素材引用和渲染参数可以作为系统内部数据使用。VISTA Link 用户界面只显示菜单、素材或其他业务内容的名称及必要信息，不显示页面结构、Widget、素材标签维护或渲染参数。

演示场景和分享资料不保存独立项目主题，也不让用户选择主题。HOMEVISTA C 端按照当前项目正在使用的主题显示现场演示和客户访问内容；主题更新不要求重新保存演示场景或分享资料，也不改变固定链接。

---

### 4.3 链接分享

链接分享用于准备客户可以自行查看的内容。它与现场演示分别进入、分别保存，不要求先选择演示场景或进行现场演示。

#### 4.3.1 分享资料列表

- **优先级**：P0（查看已准备的分享资料）；P1（新建、复制、配置和删除）
- P0 包含打开已保存详情、只读预览客户看到的结果和复制可用的无参数固定链接。
- P1 包含按名称搜索，新建、复制、配置和删除分享资料，配置过程中的保存前预览，取得指定客户访问地址，以及二维码、设置公开状态和手动停用或启用固定链接。

列表展示当前项目内用户有权查看的分享资料。

**展示内容：**
- 分享资料名称。
- 已选菜单和内容摘要。
- 固定链接状态：启用 / 停用；以及公开状态。
- 创建人、创建时间和最后修改时间。

**支持操作：**
- 按名称搜索。
- 新建分享资料。
- 打开分享资料详情。
- 配置自己有权修改的分享资料。
- 复制已有分享资料为一份独立资料。
- 取得无参数固定链接或指定客户访问地址。
- 停用或启用固定链接。
- 删除自己有权管理的分享资料。

删除分享资料前必须二次确认。删除在业务上不可恢复，不提供回收站或恢复入口；固定链接和历史数据按 §4.3.3 与 §4.7.3 处理。

#### 4.3.2 分享资料配置

- **优先级**：P1

- 新建时填写分享资料名称。
- 选择要显示的菜单并调整菜单顺序。
- 菜单包含素材或其他内容列表时，当前可用项默认全选，用户可以取消不需要的项。
- 菜单没有内容列表时，不显示内部选择。
- 一份分享资料至少选择一个菜单。包含内容列表的已选菜单至少选择一项内容；没有内容列表的菜单本身即为一项可显示菜单，不要求再选内部内容。
- 素材选择直接显示在对应菜单下，不进入独立素材管理页面，也不要求用户先搜索、分类或给素材打标签。
- 用户保存的是当时明确选中的菜单和内容。保存后来源系统新增的内容不会自动进入已有分享资料；用户再次配置时可以主动选入。
- 来源系统更新同一内容的名称、文件或业务数据时，分享资料继续引用该内容并显示最新可用结果；这不等于自动加入新的内容。
- 再次配置时保留上次保存的选择。移除某个菜单后重新加入时，按照加入当时的可用内容重新默认全选。
- 排在第一位的菜单是客户打开后的初始菜单。只有一个菜单时不显示跨菜单导航，直接显示该功能。
- 选择内容只限制客户可以访问的内容范围，不改变功能本身的布局和交互。即使只选择一个户型，也仍按户型功能原有方式显示，VISTA Link 不决定是否直接进入详情。
- 销售不选择页面结构、Widget、模板、展示形式或功能内部控件。
- 保存前预览客户最终会看到的菜单和内容。
- 保存后，固定链接立即显示最新保存内容，不设置单独的草稿和发布步骤。
- 未保存修改不影响固定链接中的现有内容。
- 指定客户时只生成该分享资料的客户识别地址，不在分享时临时改变菜单和内容。
- 如果现有分享资料也供其他客户使用，而 A 客户只需查看一个菜单或其中一项内容，销售需要新建分享资料，或复制现有分享资料后缩小内容范围，再把新资料的访问地址提供给 A 客户。原分享资料和其他客户的访问地址保持不变。

#### 4.3.3 固定链接

- **优先级**：P0（随预置分享资料读取固定链接状态、复制无参数地址及客户访问）；P1（取得指定客户地址、手动设置公开状态、停用或启用，以及显示二维码）

- 一份分享资料始终只有一条固定链接。
- 分享资料首次保存成功时自动创建固定链接，默认启用且默认不公开。
- 修改分享资料不会改变固定链接地址。
- 客户每次打开时显示该分享资料最新保存内容。
- 销售可以直接复制无参数固定链接，也可以选择客户后复制带客户标识参数的访问地址。
- 带客户标识参数的地址不是新链接，不单独保存为分享资料或固定链接。
- 同一固定链接与同一客户只保留一个有效客户标识参数；重复选择该客户时返回同一访问地址。
- 客户标识参数只对当前固定链接和目标客户的关系有效，不能移到其他固定链接使用。
- 当前不提供按客户单独停用参数的操作。
- 一条固定链接可以关联多个客户，同一客户可以关联多份分享资料。
- VISTA Link 不记录链接已通过外部工具成功发送。
- 停用固定链接前必须二次确认，并说明无参数地址和全部带客户标识参数的地址都会停止访问。
- 停用链接后，无参数和带客户参数的地址都不能访问；重新启用后恢复。
- 固定链接停用期间不能复制、不能为客户生成访问地址，也不显示二维码。
- 固定链接不能单独删除；不再使用时通过停用处理。
- 删除分享资料后固定链接自动停用且不能重新启用；历史客户关系、客户标识参数和访问记录继续保留。

#### 4.3.4 客户识别与访问

- **优先级**：P0

- 有效客户标识参数用于识别指定客户。
- 无有效参数时，公开链接直接显示内容；非公开链接先检查客户访问会话，仍未识别时要求邮箱验证码认证。
- 邮箱验证码为 6 位数字，发送后 10 分钟失效且只能成功使用一次；发送成功 60 秒后可以重发，重发后旧验证码立即失效。
- 同一项目、同一邮箱连续 24 小时内最多发送 10 次；连续输错 5 次后锁定 30 分钟，验证成功后清除错误次数。
- 验证成功后，当前浏览器在当前项目内保留 30 天客户访问会话；客户删除、访客切换身份或清除浏览器数据后，原会话立即失效。
- 客户识别成功且分享资料显示成功后才开始记录一次自主访问。
- 客户只能看到该分享资料已保存并仍然可用的菜单和内容。
- 客户自主访问不与现场演示记录合并。

#### 4.3.5 权限与可见范围

- 用户只能查看当前项目内有权访问的分享资料。
- 创建人可以配置和删除自己创建的分享资料。
- 项目管理员可以查看当前项目全部分享资料，并管理全部固定链接的启停和公开状态。
- 项目管理员查看其他成员创建的分享资料，不代表可以配置、复制或删除。
- 创建人和项目管理员以外的成员不能查看或复制该分享资料；拥有相同功能权限不会扩大这一数据范围。
- 分享资料创建人被停用后，原资料继续保留。项目管理员可以停用其固定链接，但不能接管、复制、改写或删除原资料；需要替换时重新新建一份分享资料。
- 选择客户并取得带客户标识参数的访问地址，需要同时具备「查看客户」权限；没有该权限时不显示客户选择入口。

#### 4.3.6 现场演示与链接分享的关系

- 链接分享不从演示场景内开始。
- 结束现场演示后，销售需要给客户发送内容时，独立进入链接分享并选择已有分享资料，或新建分享资料。
- 演示场景和分享资料不共用固定链接。
- 演示场景只能复制为新的演示场景，分享资料只能复制为新的分享资料，不支持在两种对象之间直接转换。复制后形成独立对象，后续修改互不影响。

---

### 4.4 现场演示

- **优先级**：P1，不属于当前内部 MVP

现场演示用于销售在售楼处、样板间、房地产沙龙、展会或其他接待地点向身边客户进行讲解。房地产沙龙只是使用地点之一，VISTA Link 不管理场地和设备。

本章所说的场景列表、场景配置、客户选择、启动入口和演示记录属于 VISTA Link 业务后台；点击「开始演示」后的展示界面属于 HOMEVISTA C 端现场演示模式。下文的「演示界面」均指该 C 端模式。

#### 4.4.1 演示场景列表

- 用户从 VISTA Link 当前项目进入现场演示，系统打开该项目的演示场景列表。
- 一个项目可以有多个演示场景。
- 项目至少存在一个允许展示的菜单后，即具备现场演示条件。具备条件的项目第一次由有现场演示权限的成员打开演示场景列表时，系统检查并自动建立一次「默认演示场景」；用户不需要另行创建。默认场景按来源系统提供的菜单顺序选中当时全部可用菜单，有内容列表的菜单默认选择全部内容。
- 默认演示场景作为当前项目的公共初始场景，所有具备现场演示权限的成员都可以查看和使用；具备「配置演示场景」权限的成员可以修改。
- 默认演示场景只是系统建立的公共初始配置。用户进入「现场演示」后先看到场景列表，不自动开始；默认场景排在第一位并默认选中，用户仍需点击「开始演示」。具备「配置演示场景」权限的成员可以修改其名称、菜单、素材和其他内容选择。当前不提供把其他场景设为默认的操作。
- 默认演示场景不生成固定链接，也不作为链接分享的默认内容。
- 列表支持新建、配置、复制和开始演示。
- 当前不提供演示场景的删除、停用或启用。已保存场景继续显示；菜单或内容不可用时，按项目内容状态显示并要求调整。
- 每个场景展示名称、是否默认、菜单摘要和最后修改时间。
- 场景配置使用与分享资料相同的菜单、素材和其他内容选择规则；素材选择直接显示在所属菜单下，不进入独立素材管理页面。
- 场景保存的是当时明确选中的菜单和内容；来源系统新增内容不会自动进入已有场景，同一内容更新后继续显示最新可用结果。
- 演示开始后首先显示场景中排在第一位的菜单。只有一个菜单时不显示跨菜单导航；所选内容只限制可访问范围，不改变功能自身的布局和交互。
- 配置场景时不提供页面结构、Widget、模板、展示形式或功能内部控件。
- 新开始的演示使用场景最新保存内容；未保存修改不影响演示。

#### 4.4.2 开始演示

- 用户首次从 VISTA Link 开始演示时已经选定当前项目和场景，进入演示界面时不再重复选择。演示开始后的跨项目切换按下述规则重新选择目标项目和场景。
- 从现场演示入口进入时，开始前可以选择当前项目已有客户，也可以选择临时演示。从客户详情进入时，系统先打开当前项目的演示场景列表并预先带入该客户，用户仍需选择场景并点击「开始演示」。
- 点击「开始演示」时重新检查场景内容。部分内容不可用时跳过该内容，已无可用内容的菜单不显示，存在其他可显示菜单时允许开始；全部菜单均无法显示时禁止开始，并提示项目管理员调整场景。
- 同一销售在所有设备和浏览器中同时只能有一条进行中的演示记录。开始时如已有进行中的记录，系统展示原记录并要求选择「继续演示」或「结束演示」，不能创建第二条。
- 演示界面只显示场景中已经保存的菜单和内容，不显示配置功能。
- 演示界面提供「切换项目」「返回 VISTA Link」和「结束演示」。
- 「切换项目」打开用户有权演示的项目列表。用户选择目标项目和场景后，需要选择该项目中的客户或选择临时演示；原项目客户不会带入目标项目。
- 用户确认切换后，系统结束原项目的演示记录，并为目标项目创建一条新演示记录；用户取消切换时继续原演示。
- 演示界面切换项目不改变 VISTA Link 原来的当前项目。
- 「返回 VISTA Link」先结束当前演示记录，再回到开始演示前的项目和演示场景列表。

#### 4.4.3 演示记录

- 开始演示后创建演示记录，保存演示人、所属项目、演示场景、关联客户和开始时间。
- 临时演示结束后可以关联演示记录所属项目的已有客户，或在该项目创建客户后关联。
- 系统记录实际打开的菜单、显示内容、第一次和最后一次打开时间、打开次数及可靠展示时长。
- 记录同时保存首次开始时间、恢复时间、最后可靠记录时间、结束时间、异常处理时间和结束方式。
- 菜单和内容展示时长只计算演示界面实际处于前台的时间；多个内容同时显示时不能重复相加。
- 演示记录只表示销售展示了什么，不表示客户关注、喜欢或准备购买。
- 现场演示不经过固定链接，不产生客户访问会话，不增加客户自主访问次数，也不触发分享资料打开邮件通知。
- 已关联客户的演示记录显示在该客户的客户追踪中；未关联记录只显示在演示人的演示记录中。
- 「演示记录」是营销跟进中的次级内容，默认只显示当前销售在当前项目发起的记录，不作为左侧一级菜单或团队排行。
- 销售可以把自己的已结束记录标记为「无效演示」；操作前必须二次确认并填写理由。无效记录保留原始结果和处理信息，不进入客户追踪，不能恢复、继续或再次修改客户关联。
- 演示人可以在演示中或结束后修改客户关联，但只能选择演示记录所属项目中的未删除客户，并必须填写理由。系统保留修改前客户、修改后客户、理由、操作人和操作时间。

#### 4.4.4 结束与异常中断

- 用户点击「结束演示」后正常结束，并查看客户、开始时间、结束时间和展示内容摘要。
- 页面关闭、设备断电、网络中断或异常退出导致结束结果未保存时，记录标记为「未正常结束」。
- 系统不根据固定的无操作时间自动结束演示。
- 销售下次进入演示时如果存在未正常结束记录，需要选择继续或结束原记录。
- 未正常结束期间没有可靠结果的时间不计入展示时长。
- 继续演示时使用同一条记录，首次开始时间不变，另行保存恢复时间，展示时长按各段可靠时长相加。
- 结束异常记录时，结束时间取异常发生前的最后可靠记录时间，本次处理时间另记为异常处理时间。
- 演示中场景保存了新配置时，当前展示不立即跳转；用户刷新或重新请求内容后使用场景最新保存结果。部分内容不可用时跳过该内容，已无可用内容的菜单不再显示；仍有其他可显示菜单时继续演示，全部菜单均无法显示时停止演示并保留可靠记录。
- 项目访问、账号或演示权限失效时，系统停止演示并保留已经可靠记录的内容。
- 演示中的客户被删除时可以继续结束，客户显示为「已删除客户」；不能将新演示关联到已删除客户。
- 演示人的项目访问被停用后，项目管理员只能处理该成员留下的未正常结束、未关联客户或需要标记无效的记录，不能浏览该成员的其他正常记录；处理时必须填写理由并记录处理人和时间。

---

### 4.5 AI 内容制作系统集成（后续）

AI 内容制作不属于当前 B 端需求范围，后续单独评审。历史内容见 [VISTA Link AI 相关历史需求](./archive/VISTA_Link_AI相关历史需求.md)。

### 4.6 AI 与智能体

AI 与智能体的产品目标、使用方式、业务能力、页面准备与保存、客户画像、统计问答、语言、权限、确认和验收规则，见独立的 [VISTA Link AI 与智能体产品需求文档](./VISTA_Link_AI与智能体产品需求文档.md)。

VISTA Link 标准业务页面右下角提供全局 AI 对话图标。用户点击后，在当前页面右侧打开对话面板，不跳转到独立一级菜单；登录、项目选择、购房客户访问和现场演示页面不显示该入口。对话面板的项目、对象、权限和关闭规则以独立 AI PRD 为准。

该独立文档是 AI 与智能体功能的产品需求依据，但不改变本文已经定义的客户、项目内容、演示场景、分享资料、固定链接、客户追踪、营销统计、系统设置和语言规则。AI 与智能体功能不属于当前 B 端 MVP，实施范围按独立文档处理。历史内容见 [VISTA Link AI 相关历史需求](./archive/VISTA_Link_AI相关历史需求.md)。

AI 准备演示场景或分享资料时，只能选择现有菜单和业务内容。AI 可以帮助查找菜单和内容、生成配置并提供预览；用户只检查菜单、内容和客户最终看到的结果，不接触页面结构、Widget、模板、展示形式或素材候选规则。

---

### 4.7 营销跟进

> 本节是后续数据追踪、购房客户追踪、营销统计和分享资料打开邮件通知的产品依据，不属于当前 B 端 MVP。各功能优先级在对应小节中标明。

#### 4.7.1 购房客户追踪

- **优先级**：P1

购房客户追踪用于查看单个客户的累计访问情况、时间变化、内容浏览分布、每次访问过程和已经关联客户的现场演示。固定链接关系只用于筛选客户自主访问记录，不代表销售已经发送，也不代表客户已经收到。现场演示在同一时间线中展示，但不进入客户自主访问累计数据。

**待跟进客户列表：**
- 列表展示当前项目内产生过客户自主访问记录，或已经关联现场演示记录的客户
- 已删除客户不进入待跟进客户列表
- 待跟进客户列表不是客户状态，不新增「待跟进」或「已跟进」状态
- 列表默认按最近活跃时间倒序展示
- 列表展示客户姓名、负责人、最近活跃时间和一条最近行为
- 最近活跃时间取客户最近一次自主访问的最后活跃时间或最近一次现场演示结束时间中的较晚者；未正常结束的讲解使用最后一个可靠记录时间
- 最近行为使用最近一次自主访问中最后一条已上报的内容浏览或客户操作记录，或最近一次现场演示摘要中的较晚者
- 最近行为展示实际素材或内容名称和客观行为；内容浏览存在有效时长时显示时长，客户操作显示操作名称
- 最近行为来自现场演示时必须显示「现场演示」标识，不得表现为客户自主浏览或客户操作
- 无效演示不用于计算最近活跃时间或最近行为
- 普通浏览操作只在客户追踪详情的访问过程中展示，不作为待跟进客户列表的最近行为
- 列表不根据停留时长自行标记「需要关注」、「长时间停留」等行为类型
- 客户没有负责人时，负责人字段留空
- 通过链接访问认证自动创建的客户进入列表后，销售经理或项目管理员可以从客户详情为其分配负责人

**权限规则：**
- 打开购房客户追踪需要「查看客户」和「购房客户追踪查看」功能权限
- 购房客户追踪显示当前项目内全部客户的追踪信息和浏览记录
- 分享资料访问记录从分享资料详情进入
- 打开分享资料访问记录需要「购房客户追踪查看」功能权限
- 用户必须可以查看目标固定链接
- 分享资料未删除时，分享资料详情中的访问记录入口还受分享资料查看范围限制
- 分享资料已删除时，历史访问记录继续在购房客户追踪中展示，原分享资料名称标记「分享资料已删除」
- 系统不向缺少「购房客户追踪查看」功能权限的用户展示待跟进客户列表、客户追踪入口或分享资料访问记录入口
- 这类用户直接访问上述内容时，系统拒绝访问

**客户追踪详情顶部：**
- 展示客户姓名和负责人
- 展示以下 6 项累计数据：
  - 访问次数
  - 浏览分享资料数
  - 浏览内容数
  - 平均访问时长
  - 首次访问时间
  - 最近访问时间
- 未选择固定链接时，6 项数据按该客户在当前项目的全部历史记录计算，不受详情页时间筛选影响
- 选择固定链接后，6 项数据改为按该客户通过该链接产生的全部历史记录计算，仍不受详情页时间筛选影响
- 浏览分享资料数按客户实际打开过的分享资料去重计算，同一分享资料重复打开只计 1 个
- 浏览内容数按「分享资料 + 实际内容」去重计算，同一分享资料中的同一项内容重复浏览只计 1 个
- PDF 是 Widget 可以选择的素材，不作为 Widget 类型单独统计

**固定链接筛选：**
- 默认展示该客户全部固定链接的浏览记录
- 客户关联两条以上固定链接时显示筛选；只有一条或没有关联固定链接时不显示筛选
- 筛选项包含该客户关联的全部固定链接，并展示对应的分享资料名称和实际链接地址
- 分享资料已删除时，筛选项保留原名称并标记「分享资料已删除」；该固定链接仍可用于查看历史浏览记录，但不能打开已删除的分享资料
- 选择一条固定链接后，只展示该客户通过该链接产生的浏览记录
- 清除筛选后，恢复展示全部固定链接的浏览记录
- 已关联但尚未访问的固定链接仍可选择，选择后显示无浏览记录的空状态
- 停用的固定链接仍可用于查看历史浏览记录
- 固定链接筛选不改变客户基本信息
- 固定链接筛选同时作用于顶部累计数据、访问趋势、内容浏览情况和访问记录
- 选择固定链接后不展示现场演示记录，因为现场演示不通过固定链接；清除固定链接筛选后恢复展示

**时间筛选：**
- 时间筛选只作用于访问趋势、内容浏览情况、访问记录和现场演示记录，不作用于顶部累计数据
- 默认显示最近 30 天
- 可选择最近 7 天、最近 30 天、全部时间或自定义开始和结束日期
- 详情页时间筛选独立于营销统计页的时间筛选

**访问趋势：**
- 位于顶部累计数据下方
- 使用折线图，横轴为日期，纵轴为该客户当天的访问次数
- 同一客户同一天访问 3 次，图中当天显示 3 次
- 不区分首次访问和回访
- 所选时间内没有访问的日期显示为 0
- 点击某个日期后，下方访问记录只显示该日期的记录

**内容浏览情况：**
- 位于访问趋势下方，先按分享资料分组，再展示该分享资料中客户实际浏览的内容
- 分享资料分组展示名称、访问次数和累计有效访问时长
- 素材或内容项展示访问发生时的名称、素材类型和有业务意义的主要参数
- 户型图的主要参数可包含户型名称、结构和面积；其他素材按素材类型展示适合销售识别的主要参数
- 每一项按「分享资料 + 实际内容或素材」统计浏览次数和累计有效浏览时长
- 分享资料内的内容默认按累计有效浏览时长从高到低排列
- 点击某一项后，下方访问记录只显示与该项有关的记录
- 来场预约等已经定义的明确动作在页面中统一以「客户操作」展示，并显示操作名称、发生次数和最近发生时间
- 某项没有有效浏览时长但产生了客户操作时，保留操作记录，不补造浏览时长
- 购房客户追踪页面不向销售展示 Widget 名称、Widget 类型或 Widget 实例编号

**访问记录：**
- 按每次访问展示分享资料名称、实际固定链接地址、进入时间和本次访问总时长
- 访问数据部分缺失时，该次访问显示「数据不完整」，并只展示和计算能够确认的记录
- 访问数据进入待检查时，该次访问显示「待检查」，并显示已提交的问题类型
- 可以查看访问记录的项目成员可以报告归属错误、重复计算、异常时长、非客户访问或其他数据问题
- 具备「纠正访问数据」功能权限的项目成员可以在访问记录中处理待检查数据
- 从分享资料访问记录进入时，按该分享资料的固定链接展示不同客户的访问记录，并显示客户姓名
- 单次访问过程按「发生时间 + 客观行为 + 具体对象 + 有效浏览时长」展示；只有该条记录包含完整有效时长时才显示时长
- 具体对象优先使用客户实际看到的内容、素材、列表条目、命名视角或地图地点名称，不显示技术事件名称
- 补充信息只展示对象在访问发生时的结构化参数，参数必须同时显示名称和值，并按对应内容类型的固定顺序排列
- 同一对象名称或参数值不得在同一条记录中重复展示；主行已经展示点击对象时，补充信息不再重复该对象
- 客户操作只展示操作名称、操作对象和发生时间，不显示第二行，也不展示预约时间、联系方式、处理结果等实际业务信息
- 每次访问按进入时间倒序展示，同一次访问内的行为按发生时间顺序展示

**访问记录的数据来源：**
- 分享资料名称、实际固定链接地址、进入时间、本次访问总时长和访问数据状态来自单次访问记录
- 客户实际浏览或操作过的内容、素材名称、分类和主要参数来自对应的访问行为记录，不读取当前对象来改写历史记录
- 浏览操作和客户操作的名称、具体对象与发生时间来自 HOMEVISTA C 端客户访问模式按照对应 Widget 需求实际上报的结果
- Widget 实例只在系统内部用于确定记录所属的内容区域、还原顺序和计算数据，不作为销售页面的展示内容

**现场演示记录：**
- 已关联当前客户的现场演示与客户自主访问按时间顺序显示在同一时间线中，并使用「现场演示」标签明确区分
- 现场演示主记录展示演示场景、演示人、开始时间、结束时间、结束状态和总展示时长
- 演示详情展示实际打开过的菜单和内容、打开次数及展示时长
- 现场演示不显示固定链接，不使用客户访问来源、客户访问会话或客户身份认证字段
- 现场演示记录不能增加或改写顶部 6 项累计访问数据、访问趋势和内容浏览情况
- 未关联客户的临时演示不进入客户追踪；演示人后续关联客户后，记录才出现在该客户时间线中
- 演示人修改客户关联后，记录从原客户时间线移除并进入新客户时间线；客户追踪不展示修改前客户和修改理由，这些信息只保留在演示记录中
- 标记为「无效演示」的记录从客户时间线移除，不再进入任何客户的购房客户追踪

**空状态和错误状态：**
- 所选时间内没有访问时，顶部累计数据保持不变，访问趋势、内容浏览情况和访问记录显示空状态
- 客户只有现场演示、没有自主访问时，顶部 6 项累计访问数据按无访问显示；时间线正常展示现场演示记录
- 选择客户尚未访问的固定链接时，显示「该客户还没有通过这条链接访问」，不显示错误
- 数据读取失败时显示错误提示和重试操作，不得显示为没有访问

**其他规则：**
- 单次访问使用三层记录：第一层是分享资料和固定链接，包含进入时间与本次访问总时长；第二层是分享资料中的内容区域，在系统内部对应 Widget 实例；第三层是该内容区域实际产生的内容浏览、浏览操作或明确动作
- 每个 Widget 分别定义需要上报的内容浏览、浏览操作和明确动作，并提供面向销售的对象名称、主要参数及是否具备可计算的有效时长；不同 Widget 不要求上报相同的内部操作
- VISTA Link 只使用 HOMEVISTA C 端客户访问模式实际提供的记录，不根据页面结构、列表内容或相邻记录推断客户没有上报的行为
- 列表型 Widget 中存在多个条目，不表示客户逐项浏览了全部条目；只有具体条目的记录实际产生并上报后，该条目才进入访问过程
- 列表条目只有点击记录时，展示点击时间和具体对象，不推断详情已成功打开，也不补造浏览时长；只有另有完整的详情浏览记录时，才展示详情浏览及有效时长
- 3D 建筑外观只展示 Widget 实际上报的整体浏览、命名视角或立面等记录；旋转、缩放、拖动等未上报操作不展示
- 周边地图只展示 Widget 实际上报的整体浏览、地点分类、具体地点、路线或详情等记录；平移、缩放、回到中心等未上报操作不展示
- 同一具体对象多次产生并上报记录时，访问过程分别展示，汇总统计按实际记录次数计算
- 浏览操作不作为「客户操作」汇总；只有来场预约等已经定义的明确动作进入「客户操作」
- 客户追踪数据在内部保留 Widget 实例编号，用于区分内容所在位置和计算浏览数据，但不在销售页面展示 Widget 概念
- 每条历史明细保留访问发生时的分享资料名称、实际内容或素材名称、素材类型和用于展示的主要参数；分享资料或来源内容后续修改或删除时，不改写已有历史明细
- 浏览操作和明确动作使用各 Widget 实际上报的名称、对象和发生时间；无法关联到具体对象时，只展示实际操作名称和所在内容区域，不补造对象
- 本次访问总时长、内容区域有效浏览时长和具体对象有效浏览时长是不同层级的记录；上层时长可以包含下层时长，不能把不同层级的时长相加
- 只有点击或切换记录时不产生有效浏览时长；有效浏览时长使用 C 端提供的开始、结束和有效时长结果，不根据点击时间推算
- 浏览记录必须标明固定链接和原分享资料名称
- 未删除的分享资料名称可以进入分享资料详情；是否可以查看详情按分享资料查看权限判断
- 分享资料已删除时，历史访问记录保留，原分享资料名称标记「分享资料已删除」，且不能进入原资料详情或预览
- 客户识别来源、最后活跃时间和推定离开时间作为系统记录保留，不在购房客户追踪主界面展示
- 带客户标识参数的访问可以关联到对应客户与固定链接的关系；访问记录不对应某次链接复制或二维码展示
- 对来场预约等已经定义的操作，系统记录客户触发的结果；当前访问记录不保存或展示预约时间、联系方式、处理结果等实际业务信息
- 推定离开时间根据 HOMEVISTA C 端客户访问模式最后一次有效行为确定，只用于计算本次访问总时长
- 行为记录不影响客户正常浏览
- 客户通过有效客户标识参数、邮箱验证码或已有浏览器会话完成识别，浏览行为自动归入该客户
- 一条链接可关联多个客户，每个客户的浏览行为各自独立归入
- 公开链接允许未识别访客查看，但匿名访问不进入购房客户追踪或营销统计；非公开链接的未识别访客不能查看
- 客户编号继续作为系统内部唯一标识，不在购房客户追踪和分享资料访问记录中展示
- 分享资料访问记录只展示客户姓名，不展示联系方式、备注等其他客户资料
- 客户已删除时，历史访问记录中的客户显示为「已删除客户」

#### 4.7.2 营销统计

- **优先级**：P2-A

营销统计用于查看当前项目在所选时间内的客户访问情况，不按角色显示不同统计内容。进入该菜单的用户看到相同的当前项目数据。

**权限规则：**
- 营销统计只使用一个功能权限：「查看营销统计」
- 具备该权限的用户可以进入营销统计并查看当前项目的全部统计
- 页面内不再按销售人员、销售经理或营销企划区分可见内容
- 不具备该权限时隐藏营销统计菜单；直接访问时系统拒绝访问
- 客户负责人筛选只是查看条件，不是数据权限

**页面筛选：**
- 页面使用一个公共时间筛选，默认显示本月
- 可选择本周、本月或自定义开始和结束日期
- 本周从本周一开始，统计至当天
- 本月从当月 1 日开始，统计至当天
- 修改时间后，整体访问情况、分享资料排行和客户排行按所选时间更新；进入分享资料统计详情时，详情使用相同的时间条件
- 提供「客户负责人」筛选，默认选择「不限负责人」
- 客户负责人选项包括「不限负责人」、当前项目中的负责人和「未分配」
- 「不限负责人」表示不按客户负责人限制统计范围，仍只统计产生过有效访问的数据，并包含未分配负责人客户的有效访问
- 负责人只按客户资料中的当前负责人判断，不按分享资料创建人、固定链接创建人或其他操作人判断
- 客户没有明确的专人负责人时归入「未分配」

**整体访问情况：**
- 位于营销统计页顶部
- 汇总当前项目全部分享资料；首次访问和回访按客户在当前项目的历史有效访问判断，不按单份分享资料分别计算
- 展示访问客户数、首次访问客户数和回访客户数
- 访问客户数按所选时间内产生过有效访问的客户去重计算
- 首次访问客户数按客户在当前项目的首次历史有效访问发生在所选时间内的客户去重计算
- 回访客户数按客户在当前项目的首次历史有效访问早于所选时间，且在所选时间内再次产生有效访问的客户去重计算
- 首次访问客户数和回访客户数互不重复，两者之和等于访问客户数
- 按日期展示当前项目全部分享资料的访问客户数，不区分首次访问客户和回访客户
- 同一客户同一天访问一个或多个分享资料、访问一次或多次，均只计 1 位访问客户
- 整体访问情况不展示内部页面、Widget 或素材数量
- 不展示环比、同比、增加或下降比例，也不自动判断表现好坏

**分享资料排行：**
- 统计当前项目内各分享资料在所选时间内的访问情况
- 展示分享资料名称、访问客户数、访问次数、平均访问时长和最近访问时间
- 默认按访问次数从高到低排列；访问次数相同时，依次按访问客户数和最近访问时间排列
- 点击分享资料进入该分享资料的统计详情
- 分享资料已删除时保留历史统计，名称标记「分享资料已删除」；仍可进入历史统计详情，但不能打开已删除的分享资料

**分享资料统计详情：**
- 展示所选分享资料在当前筛选条件下的访问客户数、访问次数和平均访问时长
- 展示该分享资料中各项实际内容的浏览客户数、浏览次数和累计有效浏览时长
- 内容默认按浏览客户数从高到低排列；浏览客户数相同时，依次按浏览次数和累计有效浏览时长排列
- 展示访问过该分享资料的客户，默认按客户通过该分享资料产生的访问次数从高到低排列
- 点击某项内容后，显示在当前筛选条件下浏览过该项内容的客户
- 点击客户进入该客户的购房客户追踪详情
- 从分享资料统计详情返回时，保留营销统计的时间和客户负责人筛选条件
- 分享资料统计详情不展示单次访问过程

**客户排行：**
- 客户排行包含所选时间内至少产生过 1 次有效访问的客户；同一客户重复访问或访问多份分享资料仍只列 1 行
- 创建或导入但没有访问记录的客户不进入客户排行
- 展示客户姓名、客户负责人、浏览分享资料数、访问次数、平均访问时长、最近访问时间、最近浏览内容和最近客户操作
- 最近浏览内容显示最后一条已上报的实际内容或素材名称，不展示 Widget 名称
- 最近客户操作只展示来场预约等已经定义的客观操作；没有时显示空值
- 默认按访问次数从高到低排列；访问次数相同时按最近访问时间倒序排列
- 支持按客户姓名搜索
- 点击客户进入该客户的购房客户追踪详情
- 用户没有「查看客户」或「购房客户追踪查看」权限时，仍可查看营销统计中的客户数据，但不显示进入客户追踪详情的操作
- 已删除客户在所选时间内产生过有效访问时，继续进入客户排行并显示为「已删除客户」，但不提供进入客户资料或客户追踪详情的操作
- 不展示客户分数、意向等级或系统判断的跟进优先级

**页面规则：**
- 营销统计只使用实际客户访问记录，不使用链接复制次数、二维码展示次数或发送渠道
- 访问数据异常时不进入营销统计；部分缺失时只使用能够确认的访问和行为结果，不推算缺失数据
- 内容统计只使用客户在分享资料中的实际浏览，不统计素材被加入分享资料的次数
- 客户状态和状态变更记录不进入营销统计
- 页面不提供 Excel、CSV、图片或 PDF 导出，也不提供打印或分享筛选结果
- 页面不根据停留时长、访问次数或点击动作推断客户意向
- 所选时间内没有客户访问时，显示「这段时间还没有客户访问」，不显示一排 0 或空图表
- 按客户负责人筛选后没有记录时，显示「该负责人名下暂时没有访问记录」，并提供选择「不限负责人」的操作
- 数据读取失败时显示错误提示和重试操作，不得显示为没有访问
- 页面显示统计数据最后更新时间；该时间表示统计数据最近一次实际生成或更新的时间，与时间范围、客户负责人、客户姓名搜索和页面操作无关

#### 4.7.3 数据记录与计算规则

- **优先级**：P1（C 端访问与 Widget 行为记录）

**一次访问：**
- 客户身份识别成功且分享资料成功打开后，开始一次访问并计入访问次数
- 访问开始时记录客户、分享资料、固定链接和开始时间；内容浏览、浏览操作和明确动作按实际发生分别记录
- 同一次访问中刷新页面或切换 Widget 不增加访问次数
- 客户关闭页面或连续无有效操作达到规定时长后，本次访问结束
- 本次访问结束后再次打开分享资料，新增一次访问
- 客户打开不同分享资料时，各自生成访问记录
- 分享资料成功显示后没有其他有效操作，仍计 1 次访问，本次有效时长为 0

**访问时长：**
- 一次访问从分享资料成功显示开始，到最后一次有效操作或系统判定的结束时间为止
- 超过连续无操作时限后的时间不计入有效访问时长
- 平均访问时长 = 已结束访问的有效访问时长总和 ÷ 已结束访问次数
- 尚未结束的访问不进入平均访问时长计算
- 有效操作、连续无操作时限、异常关闭处理和单次时长上限最终由 C 端需求定义；C 端上报结果需要支持本节已确认的 B 端统计

**计时与记录边界：**
- 同一客户、同一分享资料和同一固定链接已有访问尚未结束时，刷新或重复打开标签页仍算同一次访问
- 分享资料保存新内容后，当前访问在刷新、重新打开或继续请求内容时使用最新保存内容；已发生的访问行为记录不被改写
- 打开不同分享资料时分别生成访问记录
- 同一分享资料在多个标签页中的重叠时间不得重复累计
- Widget 或具体内容切换后的时长必须归入对应内容，不能重复计入两项并列内容
- 计时采集方式、有效操作判断、连续无操作时限、异常关闭处理和单次时长上限由 C 端需求与技术设计确定；B 端只使用最终访问与有效时长结果

**内容统计：**
- 单次浏览过程保留进入、离开、有效时长、Widget 实例和实际内容或素材；具体记录内容以对应 Widget 的需求为准
- Widget 实例用于内部计时和还原单次访问过程，不作为销售页面的展示或分组名称
- 购房客户追踪和营销统计按「分享资料 + 实际内容或素材」汇总；同一素材出现在不同分享资料时分别统计
- PDF 不作为 Widget，只作为某个 Widget 可以选择和展示的素材

**页面公共操作：**
- 展示公共操作指不属于任何具体内容、但有助于销售理解客户访问过程的前台操作
- 当前已确认记录成功切换语言；其他页面公共操作在独立统计定义中逐项审核后补充
- 切换语言记录切换前语言、切换后语言和发生时间，只进入客户追踪的访问时间线，不增加分享资料访问次数、内容浏览次数或客户操作次数
- 具体展示公共操作和各 Widget 面向 B 端统计提供的结果，集中在 [VISTA Link B 端统计需求定义](./VISTA_Link_B端统计需求定义.md) 中逐项确认

**Widget 上报与统一使用规则：**
- 每个 Widget 的需求分别确定需要上报的内容浏览、浏览操作和明确动作，以及对象名称、主要参数和有效时长条件
- 各 Widget 面向 B 端统计提供的具体内容由 [VISTA Link B 端统计需求定义](./VISTA_Link_B端统计需求定义.md) 逐项确认；该文档不替代本节的通用统计规则
- Widget 的具体统计定义尚未确认时，VISTA Link 不假定该 Widget 会提供某项浏览、操作或时长
- 列表条目、3D 命名视角、地图地点等具体对象只有实际产生并上报记录后才进入访问过程和相关统计；页面中存在该对象不等于客户浏览过该对象
- 点击、选择或切换记录只表示该操作已经发生，不表示目标内容已成功打开，也不产生有效浏览时长；详情浏览和有效时长需要对应的完整浏览记录
- 普通浏览操作是否同时形成内容浏览记录，由对应 Widget 的统计定义明确；B 端不能只根据点击、选择或切换记录自行增加内容浏览次数或浏览时长
- 未上报的旋转、缩放、拖动、平移等内部操作不展示、不统计，也不根据其他记录推断
- VISTA Link 保留 Widget 实例用于内部关联和计算，销售页面只展示内容区域、实际对象和客观行为

**客户统计：**
- 活跃客户指所选时间内至少产生过 1 次有效访问的客户
- 浏览分享资料数按实际成功打开过的分享资料去重计算
- 销售页面中的浏览内容数按「分享资料 + 实际内容或素材」去重计算；Widget 实例只在内部记录中保留
- 访问次数、浏览分享资料数、浏览内容数和浏览次数分别计算，不能互相替代

**日期归属：**
- 客户追踪和营销统计的日期范围统一按日本时间计算，开始日期和结束日期均包含在内
- 分享资料访问按进入时间归入日期和筛选范围；内容浏览、浏览操作和明确动作按各自发生时间归入日期和筛选范围
- 一次访问跨越日期时，分享资料访问次数和本次访问总时长归入进入日期；跨日后发生的内容浏览、浏览操作和明确动作归入实际发生日期
- 分享资料访问趋势按访问开始时间统计；内容排行和客户操作按对应记录的实际发生时间统计

**C 端至少需要记录：**
- 访问开始：客户、分享资料、固定链接和开始时间
- 访问结束：最后活跃时间、系统判定结束时间和有效访问时长
- Widget 浏览：进入时间、离开时间、Widget 名称、Widget 实例、实际内容或素材和有效浏览时长
- Widget 浏览操作：面向销售的操作名称、具体对象、发生时间和对应 Widget 定义的结构化参数
- Widget 明确动作：面向销售的操作名称、操作对象和发生时间
- 每条 Widget 浏览、浏览操作或明确动作记录至少能够关联客户、分享资料、固定链接、单次访问和 Widget 实例，并保留实际内容、素材或操作对象在发生时的名称与标识；浏览记录另外提供有效时长，操作记录不根据发生时间推算时长

**访问数据状态：**
- 正常：客户、固定链接、单次访问和实际操作对象能够确认，记录按本节规则进入客户追踪、营销统计和 AI 建议依据
- 部分缺失：本次访问可以确认，但部分浏览、操作、对象或结束结果缺失；系统保留能够确认的访问和行为，不补造缺失记录，并在单次访问中显示「数据不完整」
- 待检查：系统发现数据疑点，或项目成员已报告问题，但尚未确认应保留、纠正还是排除；待检查数据暂不进入营销统计或新的 AI 建议依据
- 异常：数据无法确认到客户、固定链接、单次访问或实际操作对象，或者与已保存记录重复、冲突；该数据不归入其他客户或链接，不进入客户追踪、营销统计或 AI 建议依据
- 已排除：经系统检查或人工确认为机器人、自动监测、内部测试、重复数据或其他无效访问；已排除数据保留排除原因，不进入客户追踪、营销统计或 AI 建议依据
- 延迟到达的数据能够确认归属时，按实际发生时间补入原访问，并更新访问数据状态；不能确认时继续按异常数据处理
- 访问数据状态只说明记录是否完整可用，不表示客户意向、关注程度或购买可能性

**统计数据可靠性：**
- 同一次真实访问只能计算一次；刷新、重复标签页和重复到达的数据不得增加访问次数或重复累计时长
- 每条分享资料访问、内容浏览和客户操作都必须能够确认对应的客户、分享资料、固定链接和单次访问；内容浏览和客户操作还必须能够确认实际对象
- 客户追踪和营销统计使用同一批有效访问记录；明细和汇总不一致时，不得以任一方代替另一方显示为正常结果
- 统计结果必须可以返回构成该结果的客户访问和内容记录；无法返回依据时，该结果标记为不可确认

**非客户访问：**
- 系统应识别机器人、自动监测、内部测试和其他非购房客户产生的访问
- 非客户访问的识别与排除规则由系统统一提供，项目不能自行新增、修改或停用
- 已确认属于非客户的访问不进入客户追踪、营销统计和 AI 建议依据
- 暂时无法确定是否属于非客户的访问进入待检查，不得直接算作正常客户访问
- 非客户访问的具体识别方式、判断条件和误判处理由技术设计确定

**数据问题报告与纠正：**
- 可以查看某条访问记录的项目成员可以报告问题；报告时必须选择问题类型，并可以补充说明
- 问题类型包括归属错误、重复计算、异常时长、非客户访问和其他数据问题
- 问题提交后，访问数据进入待检查；系统保留报告人、报告时间、问题类型和说明
- 具备「纠正访问数据」功能权限的项目成员可以确认原记录有效、更正客户归属，或将重复、非客户及其他无效记录标记为已排除
- 更正客户归属时，只能选择当前项目内未删除客户；无法确认正确客户时，将记录排除，不归入推测的客户
- 数据纠正不提供直接填写访问次数、浏览次数或时长的操作；不可靠的局部记录按对应数据状态保留或排除
- 确认纠正时必须填写理由；系统保留纠正前结果、纠正后结果、操作人、操作时间和理由
- 访问数据纠正只改变该记录后续的归属、展示和计算结果，不删除原始访问事实和已保存的纠正历史

**统计重新计算：**
- 延迟数据补入、访问数据状态改变或纠正确认后，受影响的客户追踪和营销统计必须重新计算
- 重新计算应同时更新访问次数、访问客户数、浏览次数、有效时长、排行和最近活动等受影响结果，不得只修改明细而保留旧汇总
- 重新计算完成前，受影响页面显示「数据更新中」；完成后更新统计数据最后更新时间
- 重新计算失败时，页面显示失败和重试操作，不得将未更新的结果显示为最新数据

**访问基础信息：**
- 每次访问需要保留访问 IP 地址、User-Agent 原始值、解析后的浏览器名称与版本、操作系统名称与版本、设备类型和来源地址（Referer）
- 访问基础信息归属于单次访问记录，不作为访问次数、浏览次数或客户意向等独立统计指标
- Referer 允许为空，也不能单独用于判断固定链接的实际发送渠道
- 这些字段供访问记录还原、问题排查和后续统计使用；当前购房客户追踪和营销统计原型不展示这些详细字段
- 原型只表达已经确认的页面结构和交互，不负责真实采集、解析或保存访问基础信息

**历史记录：**
- 删除客户后保留历史访问和统计，客户统一显示为「已删除客户」
- 时间筛选按本节“日期归属”判断；客户在访问发生后被删除，不影响该访问进入对应时间段的统计
- 多个已删除客户仍按各自原客户标识分别计算，不因界面统一显示为「已删除客户」而合并
- 删除分享资料后保留访问时的名称并标记「分享资料已删除」，不能打开已删除的分享资料
- 分享资料后续移除菜单或内容时，历史记录保留访问时的实际内容或素材名称
- 来源内容删除后保留访问发生时的名称并标记「内容已删除」，不能再打开当前内容
- 停用固定链接不删除历史访问和统计
- 历史记录使用访问发生时保存的名称和对象信息，不因分享资料之后修改而改写
- 已保存的访问行为记录不因分享资料修改、来源内容更新或对象删除而改写
- 删除客户、分享资料或停用链接，不减少已经产生的历史统计；内部结构和内容变化也不改写历史记录

**更新时间：**
- C 端行为事件发生后，应在 5 秒内开始上报；上报失败时自动重试
- 访问开始后，访问次数和活跃客户数据应在 1 分钟内更新
- 访问结束后，有效访问时长、平均访问时长和内容浏览时长应在 5 分钟内更新
- 延迟到达的数据按实际发生时间补入对应历史统计
- 统计页面打开时获取最新数据；页面保持打开时每 1 分钟自动刷新，并提供手动刷新操作
- 统计页面打开、自动刷新和手动刷新均查询当前可用的最新统计；没有产生新的统计数据时，最后更新时间保持不变
- 统计页面不显示客户当前是否在线
- 统计页面显示统计数据最后更新时间
- 数据请求失败时显示错误提示和重试操作，不得显示为没有数据

**不在本节范围内：**
- AI 跟进建议和客户意向判断

#### 4.7.4 分享资料打开邮件通知

- **优先级**：P2-B

分享资料打开邮件通知用于在客户首次通过某条固定链接成功打开分享资料时通知该客户的负责人。通知与营销统计菜单相互独立，不要求收件人具备「查看营销统计」权限。

**触发规则：**
- 客户完成身份识别并成功打开分享资料后才触发判断
- 认证页面、B 端分享内容预览和分享资料打开失败都不发送通知
- 同一客户第一次通过某条固定链接成功打开分享资料时发送一次
- 刷新、重复打开标签页、同一次访问中的 Widget 切换和之后再次访问都不重复发送
- 系统按客户和固定链接去重，邮件重试不能产生重复通知

**收件人：**
- 收件人为该客户的当前负责人
- 客户没有负责人时不发送，也不改发给分享资料创建人或项目管理员
- 收件人账号必须处于启用状态，并同时具备「查看客户」和「购房客户追踪查看」权限
- 收件人不需要具备「查看营销统计」权限
- 客户首次打开时没有负责人，之后才分配负责人，不补发过去的通知

**邮件内容：**
- 客户姓名
- 分享资料名称
- 首次打开时间
- 进入该客户追踪详情的 VISTA Link 地址
- 邮件不展示客户意向、浏览时长或系统判断的关注程度

**异常处理：**
- 邮件发送失败不影响客户浏览
- 邮件服务自动重试时不得重复发送同一次通知

### 4.8 系统设置

#### 4.8.1 账户范围

**需求项优先级：**

| 需求项 | 优先级 |
|---|---|
| 浏览项目成员列表 | P1 |
| 查看项目成员详情 | P2-A |
| 邮件邀请项目成员 | P1 |
| 编辑项目成员显示名称和角色 | P1 |
| 停用或启用项目访问 | P2-A |

A 端运营管理端提供已开通的企业、租户、项目和首个项目管理员关系。其他项目成员由具备「邀请成员」功能权限的项目成员通过邮件邀请。VISTA Link 使用 HOMEVISTA 统一账号，不创建独立账号和密码；VISTA Link 只管理用户可以进入的项目，以及用户在各项目中的角色和权限。

**当前用户信息：**
- 统一账号姓名和绑定邮箱
- 当前项目
- 当前项目角色：一个或多个角色
- 当前项目功能权限
- 当前项目访问状态

**项目成员列表：**
- 当前项目显示名称和统一账号绑定邮箱
- 项目访问状态
- 角色摘要

**规则：**
- 用户必须先完成登录，才能进入项目选择
- 统一账号状态决定用户能否登录 VISTA Link；项目成员状态决定用户能否进入对应项目
- 项目成员关系只代表用户可以进入当前项目，账号由 HOMEVISTA 统一账号管理
- 项目成员状态包括待接受、启用和停用；待接受成员尚不能进入项目
- 系统内置销售人员、销售经理、营销企划和项目管理员 4 个默认角色
- 每个项目可以基于功能权限点创建自己的自定义角色
- 待接受和启用状态的项目成员必须绑定一个或多个当前项目角色
- 角色用于分配功能权限；一个成员绑定多个角色时，功能权限合并计算
- 同一登录用户在不同项目中的成员状态、角色和功能权限互不影响
- 项目成员的数据范围由当前项目和各业务对象规则决定，不在角色中配置
- 用户最终可执行的操作由功能权限和数据权限共同决定
- 具备相应系统设置功能权限的项目成员，可以在当前项目内管理 VISTA Link 项目成员、角色和权限
- 四个默认角色中，只有项目管理员默认具备系统设置功能权限；自定义角色可以按需配置这些权限
- 本节按默认执行角色「项目管理员」描述系统设置操作；自定义角色获得相同功能权限时，也可以执行对应操作
- 项目管理员的成员、角色、权限、基础配置、分享资料和固定链接管理范围均为当前项目
- 邀请项目成员时填写当前项目显示名称和邮箱，并选择一个或多个当前项目角色
- 当前项目显示名称为必填项，去除首尾空格后不能为空
- 当前项目显示名称只在当前项目使用，不修改用户的账号姓名或其他项目中的显示名称
- 邀请邮箱用于识别已有统一账号或创建新统一账号，并在成员管理中只读展示；用户登录时使用统一账号当前支持的登录方式
- 系统先发送项目邀请邮件；发送失败时提示失败并提供重试，不创建项目成员关系，也不在成员列表中显示
- 项目邀请邮件发送成功后，系统创建「待接受」状态的项目成员关系
- 项目邀请邮件包含项目名称、邀请人、VISTA Link 入口和邀请链接；邀请链接有效期为 7 天
- 已有统一账号的用户只收到项目邀请邮件，并使用原账号和密码；新用户同时由统一账号通过另一封邮件获得初始密码
- 新用户使用初始密码登录时必须先设置新密码；初始密码期限和处理方式使用统一账号规则
- 成员管理为待接受成员提供「重发邀请」操作；每次发送成功后等待 60 秒可以再次发送，重发成功后旧邀请链接立即失效
- 一次邀请最多成功发送 10 次，首次发送计入；发送失败不计次数，达到 10 次后不再允许重发，次数不随时间恢复
- 用户通过有效邀请链接完成统一账号登录或首次密码设置后，成员状态从「待接受」变为「启用」
- 同一用户在同一项目中只能有一条项目成员关系
- 具备「调整成员角色」功能权限的项目成员可以修改待接受或启用成员在当前项目中的显示名称，并设置一个或多个角色；成员接受邀请后按当时最新角色获得权限
- 修改成员显示名称时，去除首尾空格后不能为空
- 修改成员显示名称不改变该用户的统一账号姓名、绑定邮箱或其他项目中的显示名称
- 成员显示名称变更记录修改前名称、修改后名称、操作人和操作时间
- 调整成员角色时，不能移除成员的最后一个角色
- 当前成员不能移除自己的项目管理员角色
- 当前项目只剩一名项目管理员时，任何人都不能移除该成员的项目管理员角色
- 角色变更记录目标成员、修改前角色、修改后角色、操作人和操作时间
- 启用状态的项目成员可以被停用；停用不删除项目成员、角色或历史数据
- 当前成员不能停用自己，也不能停用当前项目最后一名处于启用状态的项目管理员
- 停用成员前需要确认；确认内容显示该成员当前负责的客户数量，但不要求先转移客户；启用成员不需要二次确认，选择启用后直接生效
- 停用成员后，该用户不能再选择或切换到当前项目
- 停用成员后，其负责的客户继续保留该负责人，并显示为「姓名（已停用）」；客户资料、固定链接关系、访问地址和历史记录不受影响
- 已停用成员不再出现在新建客户、分配负责人和转移负责人的选择项中
- 重新启用成员后，其原负责客户恢复显示正常负责人名称，不需要重新分配
- 用户正在使用被停用的项目时，系统立即结束该项目上下文并返回项目选择页；其他项目访问不受影响
- 重新启用成员后，该项目重新出现在用户的可访问项目列表中
- 成员状态变更记录目标成员、修改前状态、修改后状态、操作人和操作时间
- A 端负责企业、租户、项目和首个项目管理员关系的开通
- VISTA ADMIN 及其他来源系统负责项目内容的制作与上线
- 项目管理员不能修改其他用户的统一账号姓名、绑定邮箱、密码、账号状态或其他项目的成员关系

#### 4.8.2 默认角色

- **优先级**：P2-A

默认角色提供当前项目的初始权限。每个项目可以创建自定义角色，也可以调整本项目默认角色的权限。默认角色名称固定且不能删除。

| 默认角色 | 默认用途 |
|---|---|
| 销售人员 | 查看项目总览；管理客户；配置演示场景和分享资料；进行现场演示；使用固定链接；查看客户追踪和营销统计 |
| 销售经理 | 具备销售人员的默认权限，并可分配或转移客户负责人 |
| 营销企划 | 查看项目总览和营销统计；默认不查看单个客户，不配置演示场景和分享资料 |
| 项目管理员 | 管理当前项目成员、角色和权限；查看操作日志；管理项目内演示场景；查看全部分享资料并管理全部固定链接；只能配置或删除本人创建的分享资料 |

默认项目管理员角色必须保留成员、角色、权限和操作日志的管理权限，避免当前项目失去系统设置入口。

**角色规则：**
- 角色名称为必填项，去除首尾空格后不能为空。
- 默认角色名称固定，不能修改或删除。
- 自定义角色名称在当前项目内不能与默认角色或其他自定义角色重名。
- 创建自定义角色时必须选择至少一个功能权限；默认角色和自定义角色都必须保留至少一个功能权限。
- 已分配给成员的自定义角色不能删除；移除全部成员的角色绑定后才能删除。
- 角色名称、功能权限或删除状态变化时，记录修改前后内容、操作人和操作时间。

#### 4.8.3 功能权限

**需求项优先级：**

| 需求项 | 优先级 |
|---|---|
| 按预设权限限制用户操作 | P0 |
| 浏览角色列表和角色详情 | P2-A |
| 创建自定义角色 | P2-B |
| 修改自定义角色名称 | P2-B |
| 删除角色 | P2-C |
| 配置角色功能权限 | P2-A |

| 对象 | 功能权限 | 默认角色说明 |
|---|---|---|
| 成员 | 查看、邀请、调整角色、停用或启用项目访问 | 默认给项目管理员 |
| 角色 | 查看、创建、修改、删除、配置权限 | 默认给项目管理员 |
| 操作日志 | 查看操作日志 | 默认给项目管理员 |
| 客户 | 查看、创建、编辑、删除、恢复、导入、导出、分配或转移负责人 | 项目管理员、销售经理和销售人员默认可以查看和编辑；负责人分配和转移默认给项目管理员及销售经理 |
| 客户状态与标签 | 修改客户状态、维护状态列表、使用或维护客户标签 | 项目管理员负责列表维护；销售经理和销售人员可以按权限使用 |
| 现场演示 | 查看演示场景、配置演示场景、进行现场演示、查看本人演示记录 | 项目管理员、销售经理和销售人员默认可以使用 |
| 链接分享 | 查看、配置、复制和删除分享资料；查看、复制、公开、停用或启用固定链接；选择客户取得访问地址 | 项目管理员、销售经理和销售人员默认可以使用；分享资料的查看和修改范围按 §4.8.4 判断；营销企划默认不可用 |
| 营销跟进 | 查看客户追踪、查看营销统计、纠正访问数据 | 项目管理员、销售经理和销售人员默认可以查看；营销企划默认只看营销统计；纠正访问数据默认给项目管理员和销售经理 |

现场演示选择或关联客户、链接分享选择客户并取得访问地址时，还需要「查看客户」权限；创建客户时还需要「创建客户」权限。已关联客户的演示记录进入客户追踪后，查看者仍需具备客户和客户追踪权限。

功能权限只说明用户能否执行操作，不能扩大数据范围。默认角色可执行哪些操作，以 §4.8.5 为准；数据范围按 §4.8.4 判断。

**演示与分享权限说明：**
- 开始现场演示需要「进行现场演示」权限，并且用户能够查看目标演示场景。
- 从客户详情开始、选择已有客户、关联客户或修改客户关联时，还需要「查看客户」权限。
- 演示中或结束后创建客户时，还需要「创建客户」权限。
- 演示人可以查看自己的演示记录；未关联客户的临时演示不向其他普通成员展示。项目管理员仅可处理项目访问已停用成员留下的异常记录。
- 已关联客户的演示记录进入客户追踪后，查看者需要同时具备「查看客户」和「购房客户追踪查看」权限。
- 查看、配置、复制或删除分享资料，以及使用固定链接，分别按对应功能权限和数据范围判断。

**客户标签权限说明：**
- 使用客户标签：给自己可编辑的客户添加或移除标签。
- 新增客户标签：给客户添加标签时创建新的项目内标签。
- 维护客户标签库：修改标签名、合并标签、删除未使用标签和查看使用数量。
- 是否允许销售人员新增客户标签，由当前项目权限配置决定，默认允许。

#### 4.8.4 数据权限

- **优先级**：P0

数据权限说明用户能查看或修改哪些数据。数据范围不作为角色字段，也不在角色页面中配置，由系统根据当前项目和业务对象规则判断。

| 数据范围 | 适用规则 |
|---|---|
| 本人创建 | 销售经理和销售人员默认只能配置本人创建的演示场景和分享资料；固定链接的普通成员操作范围跟随对应分享资料 |
| 项目内客户 | 「查看客户」权限允许用户查看当前项目内全部客户；「编辑客户」权限允许用户修改这些客户资料 |
| 当前项目 | 客户、演示场景、分享资料、固定链接、演示记录、访问记录、统计和操作日志只在当前项目内使用 |

**数据权限规则：**
- 查看客户列表和客户详情需要「查看客户」权限；修改客户资料还需要「编辑客户」权限。
- 客户列表和客户详情覆盖当前项目内全部客户，不按客户负责人限制查看范围。
- 导出客户需要「导出客户」权限，导出范围不得超过用户当前可查看的客户。
- 客户负责人只表示主要跟进人，不改变客户查看权限。
- 项目管理员可以查看当前项目内全部演示场景、分享资料和固定链接。
- 销售经理和销售人员可以查看项目内可用的演示场景，默认只能配置本人创建的场景；系统建立的默认演示场景按 §4.8.6 处理。
- 销售经理和销售人员只能查看和管理本人创建的分享资料；项目管理员可以查看全部分享资料，但不能配置、复制或删除其他成员创建的分享资料。
- 分享资料不提供「私有 / 项目共享」切换，也不会因客户负责人转移而改变创建人或管理范围。
- 项目管理员可以管理当前项目内全部固定链接的公开状态和启停状态；普通成员的操作范围跟随本人有权管理的分享资料。
- 用户不能在 VISTA Link 中查看、选择或复制其他项目的客户、演示场景、分享资料或项目内容。
- 项目总览只汇总当前项目数据，不提供跨项目合计或项目筛选。
- 演示界面切换项目只影响本次现场演示，不改变 VISTA Link 原来的当前项目和数据权限。
- 当前项目已停用、删除或用户项目访问被停用时，系统结束当前项目上下文并返回项目选择页。
- 没有目标功能或对象访问权限时进入「401 无权限」；对象已删除时显示「内容不存在或已被删除」。

#### 4.8.5 默认角色权限

| 权限 | 项目管理员 | 销售经理 | 销售人员 | 营销企划 |
|---|---|---|---|---|
| 项目总览 | 可用 | 可用 | 可用 | 可用 |
| 客户管理 | 可查看和编辑项目内全部客户 | 可查看和编辑项目内全部客户 | 可查看和编辑项目内全部客户 | 不可用 |
| 导入客户 | 可用 | 不可用 | 不可用 | 不可用 |
| 导出客户 | 可导出当前有权查看的客户 | 可导出当前有权查看的客户 | 可导出当前有权查看的客户 | 不可用 |
| 删除客户 | 可用 | 不可用 | 不可用 | 不可用 |
| 查看和恢复已删除客户 | 可用 | 不可用 | 不可用 | 不可用 |
| 分配或转移客户负责人 | 可用 | 可用 | 不可用 | 不可用 |
| 修改客户当前状态 | 可用于项目内客户 | 可用于项目内客户 | 可用于项目内客户 | 不可用 |
| 维护客户状态列表 | 可用 | 不可用 | 不可用 | 不可用 |
| 客户标签使用 | 可用于项目内客户 | 可用于项目内客户 | 可用于项目内客户 | 不可用 |
| 新增客户标签 | 可用 | 可用 | 默认可用，可由当前项目关闭 | 不可用 |
| 维护客户标签库 | 可用 | 不可用 | 不可用 | 不可用 |
| 客户追踪 | 可用 | 可用 | 可用 | 不可用 |
| 营销统计 | 可用 | 可用 | 可用 | 可用 |
| 配置演示场景 | 当前项目全部 | 本人创建 | 本人创建 | 不可用 |
| 进行现场演示 | 可用 | 可用 | 可用 | 不可用 |
| 查看分享资料 | 当前项目全部 | 本人创建 | 本人创建 | 不可用 |
| 新建分享资料 | 可用 | 可用 | 可用 | 不可用 |
| 复制分享资料 | 只能复制本人创建 | 只能复制本人创建 | 只能复制本人创建 | 不可用 |
| 配置和删除分享资料 | 只能管理本人创建 | 只能管理本人创建 | 只能管理本人创建 | 不可用 |
| 使用固定链接 | 当前项目全部 | 本人创建的分享资料 | 本人创建的分享资料 | 不可用 |
| 设置公开、停用或启用固定链接 | 当前项目全部 | 本人创建的分享资料 | 本人创建的分享资料 | 不可用 |
| 成员、角色、权限和操作日志 | 可用 | 不可用 | 不可用 | 不可用 |

#### 4.8.6 权限判断规则

- 用户必须同时拥有功能权限和数据权限，才能完成对应操作。
- 用户只有功能权限但没有对象数据权限时，不能操作该对象。
- 用户只有数据权限但没有功能权限时，不能执行对应操作。
- 一个用户绑定多个角色时，功能权限合并计算；数据范围仍按当前项目和对象规则判断。
- 角色和权限只在当前项目内生效，切换项目后使用目标项目的成员状态和角色。
- 权限变更即时生效；成员角色被修改后，当前项目访问状态失效，用户重新进入项目后使用最新权限。
- 用户下一次读取或保存时发现权限已被收回，停止操作并进入「401 无权限」；未保存内容不写入系统，不要求退出统一账号。
- 项目管理员可以配置当前项目内全部演示场景，但只能配置或删除本人创建的分享资料；查看其他成员的分享资料和管理其固定链接不改变分享资料创建人。
- 系统建立的默认演示场景不按个人创建范围判断；具备「配置演示场景」权限的成员可以修改，具备「进行现场演示」权限的成员可以使用。当前不提供把其他场景设为默认的操作。
- 没有权限的模块和操作入口隐藏；直接访问地址时仍按无权限规则处理。
- 默认项目管理员角色必须保留 §4.8.2 指定的系统设置权限。
- 操作日志入口统一放在系统设置中；用户需要具备「查看操作日志」权限。
- 客户导出范围不得超过用户当前有权查看的客户，每次导出记录操作日志。

#### 4.8.7 C 端客户访问模式的固定链接访问规则

- **优先级**：P0

本节描述 HOMEVISTA C 端客户访问模式使用固定链接时必须遵守的访问规则，不是项目成员的功能权限。

购房客户打开固定链接时，系统先检查分享资料是否存在，再检查固定链接的启停状态和公开状态，按以下顺序处理：

- 对应分享资料已删除 → 提示「分享资料已被删除」
- 链接已停用 → 任何人打开都提示已失效
- 客户标识参数有效，但与浏览器会话中的客户不同 → 展示身份确认页面，由访客选择是否切换
- 带有效客户标识参数，且不存在身份冲突 → 识别为参数对应的未删除客户
- 客户标识参数无效或对应客户已删除 → 按无参数固定链接处理
- 无有效客户标识参数，但浏览器中有有效客户访问会话 → 识别为会话对应的客户
- 链接已公开且仍未识别 → 直接展示内容，不创建客户或客户浏览记录
- 链接未公开且仍未识别 → 展示邮箱验证码入口；认证成功后展示内容

**客户识别规则：**
- 邮箱必须通过一次性验证码确认，不能只凭访客输入的邮箱识别客户
- 认证邮箱已存在于当前项目时，识别为已有客户；不存在时在当前项目自动创建客户，姓名取邮箱前缀，来源设为「链接访问认证」，状态使用当前项目默认状态，负责人为空
- 认证邮箱匹配到已有客户时，保留该客户当前的负责人
- 认证后如客户与当前固定链接尚无关联关系，系统建立关系并记录来源为「客户访问认证」
- 认证或客户标识参数识别成功后，系统在当前浏览器保存客户访问会话凭证；该凭证不出现在访问地址中，也不是客户标识参数
- 一条固定链接可关联多个客户，各自保留独立的关联关系
- 公开链接允许未识别访客查看；非公开链接的未识别访客不能查看
- 已删除客户不参与邮箱匹配，新客户不继承已删除客户的历史数据
- 邮箱验证码的详细规则与 §4.3.4 一致

#### 4.8.8 购房客户数据权限

- **优先级**：P0

- 购房客户资料中不展示不必要的个人隐私信息
- 从外部导入的购房客户数据，只保存销售跟进所需字段
- 客户标识参数不得直接展示客户编号、邮箱、手机号等信息
- 操作日志不得记录邮箱验证码或完整客户标识参数

#### 4.8.9 操作日志

- **优先级**：P2-A

- 操作日志统一放在系统设置中；客户详情和其他业务详情不单独提供操作日志入口。
- 只有具备「查看操作日志」权限的项目成员可以查看当前项目内的操作日志。
- 日志范围包括项目成员邀请、成员显示名称、成员角色和状态、角色与权限、客户资料与基础配置、演示场景、分享资料、固定链接和访问数据纠正。
- 项目成员、角色和权限变更记录目标对象、修改项、修改前内容、修改后内容、操作人和操作时间。
- 客户资料、客户状态、客户标签、负责人和客户与固定链接关系的变化，按 §4.1 的规则记录。
- 演示场景的新建、复制和配置，记录场景、修改前后内容、操作人和操作时间。
- 分享资料的新建、复制、配置和删除，记录分享资料、修改前后内容、操作人和操作时间。
- 固定链接公开状态和启停状态变化，记录链接、修改前后状态、操作人和操作时间。
- 销售指定客户并首次建立客户与固定链接的关系时记录；重复取得同一访问地址时不新增记录，也不记录完整客户标识参数。
- 客户通过无参数固定链接完成身份认证并建立关系时，记录固定链接、客户、认证方式和操作时间，不记录邮箱验证码。
- 客户导出记录操作人、操作时间、筛选条件和导出条数，不保存导出文件或完整客户资料。
- 每条日志展示所属功能、对象类型、对象名称或编号、操作内容、修改前内容、修改后内容、操作人或系统来源和操作时间。
- 用户可以按所属功能、对象类型、对象名称或编号、操作人和时间范围筛选；日志按操作时间倒序分页展示。
- 日志只能查看，不能修改或删除。
- 客户删除和恢复记录操作人、操作时间和内部删除记录编号；删除满 90 天完成最终匿名化后，不再展示已清除的客户资料。
- 日志不得记录账号认证信息、邮箱验证码或完整客户标识参数。
- 现场演示的开始、恢复、结束、客户关联及修改、无效标记和展示内容保存在演示记录中，不在操作日志中重复生成相同记录；客户关联修改和无效标记必须保留理由、操作人和操作时间。

---

### 4.9 登录与账号访问

登录与账号访问面向项目成员。VISTA Link 保持独立的产品名称和访问地址，使用 HOMEVISTA 统一账号和统一登录状态。统一账号管理登录方式、账号资料、密码、账号状态和登录安全规则；VISTA Link 管理项目成员关系、项目角色和功能权限。

用户从独立地址或邀请链接进入时，项目选择发生在进入 VISTA Link 业务界面之前；已登录用户打开有权访问的具体业务页面地址时直接进入对应页面。项目切换、个人信息和修改密码发生在业务界面内。购房客户不使用项目成员登录，其身份识别发生在 HOMEVISTA C 端客户访问模式，规则见 §4.3.4。

#### 4.9.1 登录

- **优先级**：P0

**从 VISTA Link 独立地址进入：**
1. 用户打开 VISTA Link 独立地址。
2. HOMEVISTA 统一账号登录状态有效时，系统进入项目选择页。
3. 统一账号登录状态失效时，系统进入 HOMEVISTA 统一登录页；登录页说明登录后将进入 VISTA Link。
4. 用户使用统一账号当前支持的登录方式完成登录。
5. 登录成功后，系统返回 VISTA Link 项目选择页；即使只有一个可访问项目，也先展示项目选择页。

**从邀请链接进入：**
1. 用户打开邀请邮件中的 VISTA Link 地址。
2. 系统检查邀请链接仍有效且成员状态为「待接受」；邀请链接自发送成功起 7 天有效，重发成功后旧链接失效。
3. 用户完成统一账号登录；新用户先完成初始密码修改。
4. 系统把成员状态改为「启用」，再进入项目选择页并展示受邀项目。
5. 邀请链接无效、已过期、达到发送上限或邀请处理失败时，页面说明当前结果。
6. 当前登录账号与受邀账号不一致时，页面提示「当前登录账号与受邀账号不一致，请退出登录后重新打开邀请链接」。

**从 VISTA Link 业务页面地址进入：**
- 统一账号登录状态有效，且用户有权访问地址对应的项目和页面时，系统将该项目设为当前项目并直接进入对应页面
- 统一账号登录状态失效时，用户完成登录后进入项目选择页
- 用户无权访问地址对应的项目或页面时，按项目状态、项目成员状态和页面权限说明结果

**账号与安全规则：**
- 已有 HOMEVISTA 统一账号的用户继续使用原账号和密码
- 新用户使用初始密码登录 VISTA Link 时，需要先设置新密码，再进入项目选择页
- VISTA Link 的登录和修改密码遵循 HOMEVISTA 统一账号规则；需要额外验证、密码不符合要求或账号暂时无法登录时，页面说明原因，并引导用户完成相应操作
- 用户在统一登录页查看并同意 HOMEVISTA 隐私政策和用户条款，VISTA Link 使用该登录结果
- 统一账号状态决定用户能否登录 VISTA Link；项目成员状态决定用户能否进入对应项目
- 登录成功后，系统读取用户处于启用状态的可访问项目
- 用户从独立地址进入且没有可访问项目时，项目选择页提示「当前没有可访问的项目，请联系项目管理员」
- 旧 B 端账号是否纳入统一账号，由现有统一账号规则处理
- 登录服务暂时不可用时，页面说明当前无法登录并提供重试操作
- 账号认证信息不得写入 VISTA Link 操作日志

#### 4.9.2 忘记密码

- **优先级**：P1

**流程与规则：**
1. 用户从 HOMEVISTA 统一登录页选择「忘记密码」。
2. 用户按统一账号当前提供的方式完成身份确认并设置新密码。
3. 重置成功后，系统返回统一登录页。
4. 用户登录成功后进入 VISTA Link 项目选择页。
- 密码重置方式、身份确认、有效期、频率和结果提示使用统一账号规则

#### 4.9.3 选择项目

- **优先级**：P0

**选择流程：**
1. 系统以卡片形式展示当前用户处于启用状态的可访问项目。
2. 每张卡片展示默认意向图和项目名称；项目编号仅在需要区分同名项目时展示。
3. 用户选择一个项目。
4. 系统确认项目仍可用，且用户在该项目中的成员关系仍为启用。
5. 系统把所选项目设为当前项目。
6. 系统读取用户在当前项目中的角色和功能权限。
7. 系统进入 VISTA Link 业务界面。

用户选择项目后，系统默认进入项目总览。通过有权访问的具体业务页面地址进入时，仍直接进入该页面。

**异常与规则：**
- 即使用户只有一个可访问项目，也先展示项目选择页，不自动进入
- 用户没有可访问项目时，系统不进入业务界面，并提示联系项目管理员
- 用户通过有效邀请链接完成登录或首次密码设置、成员状态变为启用后，受邀项目出现在项目选择页
- 项目已停用、删除或用户项目访问已停用时，该项目不出现在可访问项目列表
- 用户选择项目，或已登录用户打开有权访问的具体业务页面地址后，系统才可以读取和展示该项目业务数据
- 项目选择不改变登录账号，也不改变用户在其他项目中的成员关系和角色
- 项目选择页不得展示用户无权访问的项目

#### 4.9.4 切换项目

- **优先级**：P0

**切换流程：**
1. 用户从左侧栏顶部的项目切换入口打开可访问项目列表。
2. 系统展示当前项目和其他处于启用状态的可访问项目。
3. 用户选择目标项目。
4. 系统确认目标项目仍可用，且用户在目标项目中的成员关系仍为启用。
5. 系统把目标项目设为当前项目。
6. 系统重新读取用户在目标项目中的角色和功能权限。
7. 系统刷新业务界面，只展示目标项目的数据和允许使用的模块。

**规则：**
- 项目切换入口不列出当前用户无权访问或已停用的项目
- 当前项目不作为可再次选择的目标
- 项目切换不复制、移动或修改任何业务数据
- 项目切换后，原项目的客户、演示场景、分享资料、固定链接、统计、系统设置和操作日志不得继续展示
- 同一用户在不同项目中的角色和功能权限分别生效
- 用户存在未保存修改时，系统在切换前提示未保存内容将丢失；用户取消时留在当前项目，确认后放弃未保存内容并继续切换
- 目标项目在确认前已停用、删除或用户项目访问已停用时，系统不切换，并刷新可访问项目列表
- 已登录用户直接打开其他项目的业务页面地址时，系统检查项目状态、项目成员状态和页面权限；检查通过后将目标项目设为当前项目并进入对应页面

#### 4.9.5 个人信息

- **优先级**：P1

**展示与操作：**
- 个人信息页面展示当前用户的统一账号姓名和绑定邮箱
- 用户可以修改自己的统一账号姓名，修改结果作用于 HOMEVISTA 统一账号
- 统一账号绑定邮箱在个人信息页面只读
- 项目管理员可以修改成员在当前项目中的显示名称；项目显示名称只在当前项目中使用

#### 4.9.6 修改密码

- **优先级**：P1

**展示与操作：**
- 账号菜单中的「修改密码」使用独立入口，不要求用户先进入个人信息页面
- 修改密码页面只展示当前密码、新密码和确认密码
- 用户可以提交当前密码、新密码和确认密码，修改 HOMEVISTA 统一账号密码
- 页面展示并检查 HOMEVISTA 统一账号当前的密码要求
- 修改密码成功后给出明确提示；当前密码错误、两次新密码不一致或新密码不符合要求时，在对应字段旁提示

#### 4.9.7 退出登录与登录状态过期

**需求项优先级：**

| 需求项 | 优先级 |
|---|---|
| 退出登录 | P1 |
| 统一账号登录状态过期后要求重新登录 | P0 |

- 用户选择退出登录后，系统结束当前浏览器中的 HOMEVISTA 统一账号登录状态，并返回统一登录页
- 使用该统一登录状态的其他标签页同时退出；其他浏览器和设备保持原有登录状态
- 同一账号允许在多台设备同时登录；关闭浏览器后凭证未过期时，重新打开仍保持登录状态
- 退出后通过浏览器返回、刷新原页面或直接打开原地址时，系统进入统一登录页
- 登录凭证过期规则优先使用 HOMEVISTA 统一账号规则；统一账号没有过期规则时，从最后一次用户操作开始计算，连续 8 小时无操作后过期，不另设持续操作中的绝对最长时限
- 登录信息过期前不提前提醒；过期时页面提示登录信息已经过期并立即退出，不因存在未保存内容阻止退出，未保存内容不保留
- 用户重新登录后进入项目选择页
- 用户在当前项目被停用后，系统立即结束当前项目上下文并返回项目选择页；其他项目访问不受影响
- 用户修改密码后，统一账号相关登录状态立即失效
- 成员角色被修改后，该项目的当前访问状态立即失效；用户重新登录或重新进入项目后使用最新角色和权限

---

### 4.10 项目总览（Dashboard）

- **优先级**：P2-A

项目总览是用户选择项目后进入的统一项目首页，用于快速了解当前项目的客户、分享资料、链接和负责人总体情况。项目总览只展示少量汇总结果，不展示客户活动明细、访问趋势、分享资料排行、内容排行或客户排行。用户需要分析一段时间内的访问情况时进入营销统计，需要查看单个客户时进入客户追踪。

#### 4.10.1 进入规则和项目范围

- 当前项目中处于启用状态的成员都可以进入项目总览，不设置独立的「查看项目总览」功能权限
- 用户选择项目或切换项目后，系统默认进入目标项目的项目总览
- 用户通过有权访问的具体业务页面地址进入时，直接进入对应页面，不先跳转项目总览
- 所有用户看到相同的当前项目总体数据，不按角色显示不同内容
- 项目总览只显示当前项目数据，不提供项目筛选、跨项目合计或公司级汇总

#### 4.10.2 时间范围

- 默认显示本月，可选择本周或本月
- 本周从本周一开始统计至当天；本月从当月 1 日开始统计至当天
- 时间范围只作用于新增客户数、访问客户数和团队访问客户数
- 客户总数、未分配负责人客户数、可访问分享资料数和启用链接数反映当前项目的当前状态，不随时间范围变化
- 页面展示统计数据最后更新时间；修改时间范围不改变该时间

#### 4.10.3 总体数据

项目总览展示以下数据：

- 客户总数：当前项目内尚未删除的客户数量
- 未分配负责人客户数：当前项目内尚未删除且当前负责人为空的客户数量
- 可访问分享资料数：当前项目内尚未删除、已经保存且内容可用的分享资料数量
- 启用链接数：当前项目内尚未删除、已经保存且固定链接处于启用状态的分享资料数量
- 新增客户数：所选时间内在当前项目创建且尚未删除的客户数量
- 访问客户数：所选时间内产生过有效访问的客户去重数量

访问客户数的计算规则与 §4.7.2 相同。项目总览不重复拆分首次访问客户和回访客户，也不展示每日趋势。

#### 4.10.4 团队负责情况

- 按客户当前负责人汇总客户数量和所选时间内访问客户数
- 客户数量反映当前状态，不随时间范围变化；访问客户数随时间范围变化
- 当前没有负责人的客户汇总为「未分配」
- 已停用成员仍负责客户时，负责人显示为「姓名（已停用）」
- 默认按所选时间内访问客户数从高到低排列；相同时按客户数量从高到低排列
- 该区域只说明客户负责和访问情况，不作为销售业绩排名，不展示成交金额、合同数量、跟进完成率或转化率

#### 4.10.5 详情入口

- 用户具备「查看客户」和「购房客户追踪查看」功能权限时，项目总览提供进入客户追踪的入口
- 用户具备「查看营销统计」功能权限时，项目总览提供进入营销统计的入口
- 用户缺少相应权限时，不显示对应入口，但仍可查看项目总览
- 项目总览不直接进入某个客户、分享资料或内容的统计详情

#### 4.10.6 数据状态与限制

- 项目总览打开时读取当前可用的最新统计，并展示最后更新时间
- 数据读取失败且没有旧结果时显示错误提示和重试操作
- 更新读取失败但已有旧结果时保留旧结果、时间条件和最后更新时间，并提供重试操作
- 项目总览只使用 VISTA Link 已有的客户、负责人、分享资料、固定链接和客户访问数据
- 项目总览不展示销售额、合同、成交、销售排名、跟进任务完成率、客户分数、意向等级或系统推断的转化率
- 项目总览不展示客户活动明细、访问趋势、分享资料排行、内容排行或客户排行；这些内容由客户追踪或营销统计提供

---

## 5. 接口约定

本节只说明系统之间必须提供的能力，不规定接口数量、字段命名或技术形式。

| 业务能力 | 说明 |
|---|---|
| 统一账号与账号访问 | 读取 HOMEVISTA 统一账号登录状态和用户身份；完成统一登录、忘记密码、重置密码、初始密码修改、个人姓名修改、密码修改和退出登录 |
| 项目上下文 | 查询当前用户的可访问项目，设置和切换当前项目，并返回目标项目中的成员状态、角色和功能权限 |
| 项目总览 | 返回当前项目的客户、分享资料、固定链接、访问情况和团队负责情况汇总 |
| 客户管理 | 创建、查询、编辑、删除、恢复、导入和导出客户；管理客户状态、标签、负责人，以及客户与固定链接的关系 |
| 项目成员 | 查询当前项目成员；通过邮箱识别或创建统一账号并邀请成员；重发邀请；修改成员显示名称和角色；停用或启用项目访问 |
| 角色权限 | 查询、创建、修改和删除当前项目角色，并配置角色功能权限 |
| 操作日志 | 记录并查询本文定义的成员、角色、客户、演示场景、分享资料、固定链接和访问数据纠正操作 |
| 项目内容读取 | 返回当前项目可用的菜单、菜单顺序、展示方式、素材数据和其他内容。每个菜单必须说明是否包含可选内容列表；包含列表时返回稳定标识、名称、所属菜单、可用状态、必要业务信息和展示数据，不包含列表时不返回空的选择层级 |
| 演示场景 | 当前项目至少有一个可展示菜单，且具备现场演示权限的成员第一次打开演示场景列表时，由系统建立一次默认演示场景；查询、新建、配置和复制演示场景；按保存时的稳定标识记录菜单顺序和选中内容，来源新增内容不自动加入；当前不提供删除、停用、启用或另设默认场景 |
| 现场演示 | VISTA Link 从指定项目和场景启动 C 端现场演示模式；C 端支持继续、切换项目和结束，并返回实际打开的菜单、内容、次数、可靠展示时长、恢复时间及异常处理结果；VISTA Link 保存演示记录 |
| 分享资料 | 查询、新建、配置、复制、删除和预览分享资料；按保存时的稳定标识记录菜单顺序和选中内容，来源新增内容不自动加入；只限制可访问内容，不改变各功能本身的布局和交互 |
| 固定链接 | 为每份分享资料创建唯一固定链接；设置公开和启停状态；为指定客户生成并重复返回同一有效客户访问地址；修改分享资料后继续使用原链接并读取最新保存内容；删除分享资料后自动停用且不能重新启用 |
| 客户访问认证 | 供 HOMEVISTA C 端客户访问模式发送和校验邮箱验证码，建立或切换客户访问会话 |
| 访问与统计 | 接收和查询 §4.7.3 定义的客户自主访问、内容浏览、浏览操作和明确动作，提供客户追踪、营销统计和项目总览所需汇总结果；现场演示数据使用独立演示记录，不写入客户自主访问 |
| 分享资料打开通知 | 按客户和固定链接判断首次成功打开事件，查询客户负责人及其权限，并请求账户邮件服务发送 §4.7.4 定义的通知；发送失败不影响客户访问 |
| AI 与智能体 | 产品范围见独立的 [VISTA Link AI 与智能体产品需求文档](./VISTA_Link_AI与智能体产品需求文档.md) |

与上游系统的数据依赖：

- HOMEVISTA 统一账号提供稳定用户标识、登录状态、账号资料、密码、账号状态和登录安全规则。
- A 端运营管理端提供租户、项目、首个项目管理员关系和当前项目主题。
- VISTA ADMIN 及现有内容系统提供当前项目可用的菜单、素材数据、其他内容、可用状态和展示所需数据，并负责素材上传、编辑、删除、分类和标签维护。
- 来源系统必须明确每个菜单是否包含素材或其他内容列表。包含列表时提供稳定标识、名称、所属菜单、状态、必要业务信息和展示数据；不包含列表时由 VISTA Link 直接把菜单作为一个整体使用。
- HOMEVISTA C 端包含现场演示模式和客户访问模式，两种模式使用同一套展示能力，分别读取演示场景和分享资料，并分别返回现场演示记录和客户自主访问记录。
- 客户批量交换首版只使用 CSV 导入和导出，不包含外部 CRM 实时同步。

---

## 6. 非功能需求

### 6.1 多语言

- 系统界面只支持日文和英文，不向简体中文用户提供中文界面
- 本 PRD 使用简体中文编写，仅用于内部需求评审、设计和开发，不表示产品支持简体中文
- 默认语言可按用户保存
- 项目管理员可设置当前项目默认语言
- 用户输入内容不自动翻译
- 日期、时间、数字展示需适合日本销售场景

### 6.2 时区与日期

- 默认时区为日本时间
- 固定链接和分享资料更新时间必须记录完整时间
- 页面展示时间需使用统一格式

### 6.3 数据隔离

- 不同租户的数据必须隔离
- 同一租户中的不同项目数据必须隔离
- 用户只能访问所属项目内权限范围内的数据
- 用户进入 VISTA Link 后一次只使用一个当前项目；用户可以通过全局项目切换或有权访问的具体业务页面地址进入其他项目
- 客户、客户状态、客户标签、演示场景、分享资料、固定链接、现场演示记录、项目主题、统计、成员、角色、权限和操作日志都必须使用当前项目数据
- 直接访问其他项目的业务地址不能绕过项目成员状态和当前项目检查

### 6.4 安全

- 统一登录、找回密码、项目选择、项目切换、个人信息、修改密码、退出和登录状态过期规则见 §4.9
- VISTA Link 使用 HOMEVISTA 统一账号当前的密码要求、登录保护和额外身份验证规则
- 统一账号要求额外验证时，用户完成相应操作后继续进入 VISTA Link
- 新用户使用初始密码登录 VISTA Link 时，完成密码修改后进入项目选择页
- 账号认证信息不得写入 VISTA Link 操作日志
- 权限变更后，用户下一次操作必须使用新权限判断
- 固定链接停用后，客户打开该链接需看到失效提示
- 客户标识参数必须随机生成，不得直接包含客户编号、邮箱、手机号等信息
- 客户标识参数必须有足够的随机性，不能通过编号递增等方式猜出
- 客户标识参数识别完成后，系统必须建立客户访问会话
- 页面地址不再显示完整客户标识参数，浏览器历史也不得保留完整参数
- 客户标识参数不得进入页面埋点、操作日志或外部跳转来源，服务访问日志中必须隐藏完整参数
- 客户标识参数无效或对应客户已删除时，不得继续识别原客户
- 邮箱验证码必须遵守 §4.3.4 的 6 位数字、10 分钟有效、60 秒重发间隔、连续 24 小时最多发送 10 次、连续输错 5 次锁定 30 分钟及一次性使用规则
- 客户访问会话在当前浏览器和当前项目内保留 30 天；客户删除、身份切换或浏览器数据被清除后，旧会话必须失效
- 客户访问会话凭证不得出现在访问地址、页面埋点、操作日志或外部跳转来源中
- 客户标识参数与浏览器会话中的客户不同时，必须展示身份确认页面，不能直接覆盖当前身份
- 现场演示必须检查 HOMEVISTA 统一账号登录状态、当前项目成员状态和「进行现场演示」权限；不能把演示地址当作客户访问地址使用
- 现场演示中的客户关联和展示记录不得写入客户可见的固定链接地址

### 6.5 操作日志

- 所有操作日志统一从系统设置中的操作日志查看，客户详情和其他业务详情不单独提供操作日志入口
- 成员和角色的变更，需要记录目标对象、修改项、修改前内容、修改后内容、操作人和操作时间
- 具备「查看操作日志」功能权限的项目成员，可以按 §4.8.9 查看当前项目内的记录
- 客户资料、客户状态、客户标签、负责人和客户与固定链接的关联关系发生修改时，需要记录修改项、修改前值、修改后值、操作人或系统来源、操作时间
- 销售指定客户并首次建立客户与固定链接的关系时，记录固定链接、目标客户、操作人和操作时间；重复取得同一访问地址时不新增记录，不记录完整客户标识参数
- 客户通过无参数固定链接完成身份认证并建立关系时，记录固定链接、客户、认证方式和操作时间；不记录邮箱验证码
- 客户状态和客户标签的新增、修改、删除、合并需要记录操作人和操作时间
- 演示场景的创建、配置和复制，以及分享资料的创建、配置、复制和删除，需要记录对象、修改前后结果、操作人和操作时间
- 客户导出需要记录操作人、操作时间、导出时的搜索与筛选条件和导出条数，不记录导出文件或完整客户数据
- 固定链接状态变化需要记录操作人、操作时间、链接和变化前后的状态
- 固定链接公开状态变化需要记录操作人、操作时间、链接和变化前后的公开状态
- 删除客户、删除分享资料需要记录操作人和操作时间
- 客户删除和恢复需要记录操作人、操作时间和内部删除记录编号；删除满 90 天完成最终匿名化时解除客户与固定链接的关系，并保留不含已清除客户资料的内部记录
- 现场演示的开始、恢复、结束、客户关联及修改、无效标记和展示内容保存在演示记录中，不在操作日志中重复生成相同记录；客户关联修改和无效标记必须保留理由、操作人和操作时间

### 6.6 性能

- 常用列表页在正常数据量下应快速打开
- 搜索和筛选需要在用户操作后及时返回结果
- 营销统计首次打开不超过 3 秒
- 修改营销统计的时间或客户负责人筛选后，不超过 2 秒更新
- 项目总览首次打开不超过 3 秒，修改时间范围后不超过 2 秒更新
- 打开客户追踪详情或访问记录不超过 2 秒
- 使用已保存场景开始现场演示或打开演示详情不超过 2 秒

### 6.7 浏览器兼容

- 支持最新版 Chrome
- 支持最新版 Safari
- 支持最新版 Edge
- 移动端浏览器至少需要正常查看主要页面，不要求完整管理操作

### 6.8 可访问性

- 关键操作按钮需要有明确文字
- 删除、停用等高风险操作必须二次确认
- 表单错误需要在字段附近展示

---

## 7. 指标与验收

### 7.1 销售场景与功能验收

以下内容用于验收完整 PRD 是否支持销售连续完成实际工作。标注“后续统计开发”“P1”或“后续单独下发”的项目不属于当前 B 端 MVP 验收；当前内部 MVP 仍按 §8.2 单独验证。

#### 7.1.1 销售场景验收

**验收准备：**
- 一个具备客户、演示场景、分享资料、固定链接、现场演示和购房客户追踪所需权限的销售账号
- 至少两个项目，每个项目至少一个可用演示场景和一份分享资料
- 至少一个包含多个可选内容的菜单，以及一个没有内容列表的菜单
- 一个已有客户，初始状态为「未设置」
- 一个用于临时接待、尚未建立客户资料的测试身份
- 一个与销售端分开的客户浏览器，用于打开销售取得的访问地址
- 项目内至少新增一个用于表示中间销售进度的验收状态；可以使用「已接待」「考虑中」「购买申请中」等示例名称，但不要求采用固定名称、数量或顺序

**场景一：已有客户现场接待。**
1. 销售从已有客户详情进入现场演示，选择一个已保存的演示场景。
2. 销售进入 C 端现场演示模式，打开多个菜单或内容，结束演示，并按当前项目配置把客户改为一个可用的中间状态；验收数据可以使用「已接待」。
3. 客户追踪显示一条与该客户关联的演示记录，包含演示人、实际展示内容、次数和前台展示时长。
4. 本次演示不增加客户自主访问次数、浏览分享资料数、浏览内容数、首次访问时间和最近访问时间，也不触发分享资料打开邮件通知。
5. 销售预览分享资料时不能产生新的演示记录。

**场景二：临时客户现场接待。**
1. 销售从演示场景列表开始临时演示，不先创建客户。
2. 演示结束后，记录只出现在该销售的演示记录中，并显示「未关联客户」。
3. 销售创建或选择客户并关联本次演示后，记录进入该客户的客户追踪。
4. 销售发现关联错误时，选择正确客户并填写修改理由；记录从原客户追踪移除并进入新客户追踪，同时保留修改前后客户、理由、操作人和操作时间。
5. 该过程不生成预约、到场或匿名客户统计。
6. 销售误开始一条不代表真实演示的记录时，可以在结束后经二次确认并填写理由，将其标记为「无效演示」；该记录不进入任何客户追踪或最近活跃数据。

**场景三：根据现场反馈或远程咨询提供分享资料。**
1. 销售根据客户现场提出的问题或远程咨询内容，选择已有分享资料，或新建、复制并配置一份分享资料；没有现场演示时也可以直接执行本场景。
2. 需要只给 A 客户查看一个菜单或一项内容时，销售为 A 客户新建或复制一份独立分享资料，并在配置时限制内容；不能修改仍供其他客户使用的原资料。
3. 销售指定该客户并取得访问地址，通过 LINE 或邮件在 VISTA Link 外发送。
4. 销售根据实际沟通决定是否修改客户状态；需要修改时，从当前项目未停用状态中选择。销售还可以按需要更新备注或标签。
5. 系统保存分享资料、固定链接与客户的关联，但不把复制地址写成已经发送，也不读取外部工具中的消息。
6. 客户尚未打开前，不产生客户自主访问记录。

**场景四：根据客户自主访问继续推荐。**
1. 客户在独立浏览器中打开销售提供的地址，完成需要的身份识别并查看分享资料。
2. VISTA Link 生成客户自主访问记录，保存实际浏览的分享资料、菜单、内容、次数和有效时长。
3. 客户追踪按时间同时展示之前的现场演示和本次客户自主访问，两种记录使用不同标识，数据不合并。
4. 销售根据客观记录和实际沟通选择另一份分享资料，或复制后调整内容，再次取得访问地址。
5. 客户再次打开后形成新的访问记录；旧演示和旧访问明细不能被分享资料的新内容改写。
6. 系统不能根据浏览数据自动修改客户状态，也不能直接显示客户喜欢某个房源或已经准备购买。

**场景五：购买申请到签约。**
1. 客户通过实际沟通确认准备购买后，销售按当前项目配置手动选择对应的中间状态；验收数据可以使用「购买申请中」，但不要求客户此前处于「考虑中」。
2. 购买申请、资金确认、贷款预审和重要事项说明在外部业务中完成，VISTA Link 不保存这些表单、文件和处理结果。
3. 完成买卖合同后，销售把客户状态改为系统预置的「签约」；没有完成合同或客户放弃时，可以改为「未签约」。
4. 客户详情保留每次状态变化的原状态、新状态、操作人和操作时间。
5. 现场演示、取得访问地址和客户自主访问都不能自动修改客户状态，也不能限制销售从当前状态选择其他未停用状态。

以上五个场景连续通过，才表示 VISTA Link 可以支持本 PRD 定义的销售工作。单项功能通过但上述过程无法连续完成时，完整产品验收不能通过。

#### 7.1.2 单项功能验收

| 链路 | 验收条件 |
|---|---|
| 账号访问 | 用户打开 VISTA Link 独立地址 → 已有统一账号登录状态时直接进入项目选择页；登录状态失效时通过统一登录页完成登录 → 选择有权访问的项目 → 按该项目角色和权限进入业务界面 → 退出当前浏览器中的统一账号登录状态 |
| 入口地址 | 从独立地址或邀请链接进入时先到项目选择页；有效邀请对应的项目出现在项目选择页；已登录用户打开有权访问的具体业务地址时直接进入对应内容；未登录用户打开具体业务地址时，登录后进入项目选择页 |
| 统一账号资料 | 个人信息页可以修改统一账号姓名并查看只读的绑定邮箱；修改密码页修改统一账号密码；忘记密码和重置密码在统一登录页完成；新用户使用初始密码时先设置新密码 |
| 项目选择与切换 | 项目选择页只展示启用的可访问项目；用户进入项目后可以切换项目；切换后只显示目标项目数据，并使用目标项目角色和权限 |
| 客户全生命周期 | 创建客户 → 编辑资料 → 打标签 → 导入客户 → 按当前搜索和筛选结果导出 → 导出记录进入操作日志 → 删除（二次确认）→ 90 天内由项目管理员查看并恢复，或满 90 天后最终匿名化；相关操作记录统一在系统设置中查看 |
| 演示场景配置 | 项目首次具备可用菜单后建立默认演示场景；新建或复制场景 → 选择菜单 → 调整菜单顺序 → 菜单有素材或其他内容列表时默认全选并允许改为部分选择 → 没有内容列表时不显示内部选择 → 保存后可以开始演示；全过程没有独立素材管理或素材标签操作 |
| 现场演示（P1） | 从当前项目选择演示场景和已有客户或临时演示 → 进入 C 端现场演示模式 → 记录实际展示菜单、内容、次数和时长 → 正常结束或处理异常记录 → 已关联记录进入客户追踪，未关联记录只进入演示人的演示记录；普通预览不产生演示记录，现场演示不产生客户自主访问数据，同一销售跨设备只能有一条进行中记录 |
| 演示中切换项目 | 在 C 端选择另一个有权访问的项目、演示场景和目标项目客户 → 原项目演示记录结束 → 目标项目创建新的演示记录；取消时继续原演示；返回 VISTA Link 时结束当前记录并回到开始演示前的项目和场景列表 |
| 分享资料配置 | 从「链接分享」新建或复制分享资料 → 选择菜单并排序 → 在对应菜单下选择全部或部分素材及其他内容 → 预览 → 保存 → 自动创建或保留唯一固定链接 → 固定链接立即展示最新保存内容；不要求进入素材列表或给素材打标签 |
| 客户与链接关联 | 为目标客户取得带客户标识参数的访问地址，或由客户通过无参数固定链接完成身份认证 → 建立客户与固定链接的关系 → 在客户详情或分享资料详情查看关联；重复指定同一客户返回同一地址 |
| 项目内容变化 | 来源内容新增时不自动加入已保存的场景或分享资料；同一内容更新时继续按原选择展示最新可用结果；来源内容停用或删除后不能继续选择，已保存配置显示不可用状态并要求调整；历史演示和访问记录保留发生时的名称与结果 |
| 客户浏览追踪（后续统计开发） | 完成客户识别并成功打开分享资料 → 生成客户自主访问记录 → 记录内容浏览、浏览操作和客户操作 → 在客户追踪详情查看累计数据、访问趋势、内容浏览情况和访问记录；销售页面不展示 Widget 概念 |
| 访问数据可靠性与纠正（后续统计开发） | 同一次真实访问只形成一条有效访问记录；机器人、自动监测、内部测试、重复或无效访问不进入统计和新的 AI 处理；项目成员可报告问题，具备权限的成员可填写原因后确认有效、修改客户归属或排除记录，处理后重新计算相关统计并保留处理记录 |
| 营销统计（后续统计开发） | 进入营销统计 → 按时间或客户负责人筛选 → 查看访问客户、首次访问客户和回访客户的变化 → 查看分享资料排行和客户排行 → 从分享资料排行查看内容和访问客户 → 进入客户追踪详情 |
| 项目总览（后续统计开发） | 用户选择或切换项目后进入项目总览 → 查看客户、分享资料和链接总体数据 → 按本周或本月查看新增客户、访问客户和团队负责情况 → 按权限进入客户追踪或营销统计 |
| 统计历史记录（后续统计开发） | 删除客户、分享资料或来源内容，或停用固定链接后，历史访问和统计继续保留，并按 §4.7.3 显示删除标记和访问时名称 |
| 分享资料打开邮件通知（后续统计开发） | 客户首次通过某条固定链接成功打开分享资料 → 向符合权限要求的客户负责人发送一次邮件；刷新、重复打开和后续访问不重复发送；没有负责人时不发送，邮件失败不影响客户浏览 |
| 项目成员管理 | 项目管理员发送邀请 → 发送失败不创建成员并可重试；发送成功后创建「待接受」成员，链接 7 天有效，最多成功发送 10 次 → 用户通过邀请链接完成登录或首次密码设置后变为「启用」；停用后原负责客户仍显示「姓名（已停用）」且其他项目不受影响 |
| 角色与权限管理 | 查看当前项目默认角色和自定义角色 → 创建或修改当前项目自定义角色 → 配置功能权限；默认角色不能删除，已分配给成员的自定义角色不能删除，默认项目管理员角色保留系统设置管理权限 |
| 操作日志 | 具备相应功能权限的项目成员从系统设置集中查看当前项目内的操作记录；可按所属功能、对象、操作人和时间范围筛选；日志按操作时间倒序展示且不能修改或删除 |
| AI 相关能力（独立 PRD） | 按独立 PRD 开发和验收，不纳入本文验收范围 |

### 7.2 质量门禁

所有页面需覆盖以下状态：

- **加载态**：列表、详情加载中提供视觉反馈
- **空状态**：无数据时展示引导文案
- **错误态**：操作失败、数据异常时有错误提示
- **权限错误态**：没有权限或跨项目访问无权对象时进入「401 无权限」页面，展示无权限提示和「返回上一页」；对象已删除时显示「内容不存在或已被删除」
- **账号访问错误态**：覆盖统一账号提示的登录和安全结果、邀请链接无效或已过期、当前账号与受邀账号不一致、没有可访问项目、项目已停用、项目访问已停用和统一账号登录状态过期
- **身份认证错误态**：覆盖验证码错误或过期、发送过于频繁、认证服务暂时不可用、客户标识参数无效、参数身份与浏览器身份冲突
- **现场演示状态**：覆盖场景尚未保存、已有进行中演示、演示异常中断、恢复或结束异常记录、演示中场景被修改、客户已删除、客户关联失败、演示人项目访问停用、演示权限变化和演示记录读取失败
- **边界情况**：删除二次确认、表单必填校验、字段格式校验

### 7.3 性能指标

| 场景 | 指标 |
|------|------|
| 客户列表、演示场景列表、链接分享首次加载 | ≤ 2 秒 |
| 搜索、筛选响应 | ≤ 1 秒 |
| 项目内容选择结果返回 | ≤ 3 秒 |
| 营销统计首次打开（后续统计开发） | ≤ 3 秒 |
| 营销统计筛选更新（后续统计开发） | ≤ 2 秒 |
| 项目总览首次打开（后续统计开发） | ≤ 3 秒 |
| 项目总览筛选更新（后续统计开发） | ≤ 2 秒 |
| 客户追踪详情和访问记录打开（后续统计开发） | ≤ 2 秒 |
| 现场演示开始和演示详情打开（P1） | ≤ 2 秒 |

### 7.4 安全与权限

- HOMEVISTA 统一账号登录状态过期后需重新登录
- 停用项目访问即时生效，用户不得继续访问该项目，但不影响其他项目
- 项目切换后不得继续展示或请求原项目数据
- 权限变更即时生效；角色修改后当前项目访问状态失效，未保存内容不写入系统
- 操作日志覆盖：成员/角色变更、客户资料/状态/标签/负责人/关联链接变更、销售指定客户时首次建立链接关系、客户身份认证后建立关系、客户导出、固定链接公开或启停状态变化和删除客户/分享资料；日志不记录完整客户标识参数或邮箱验证码
- 现场演示必须要求销售保持登录，并检查当前项目和「进行现场演示」权限；分享内容预览、现场演示和客户访问使用不同的访问状态

---

## 8. 发布计划

### 8.1 优先级定义

| 优先级 | 定义 |
|---|---|
| P0 | 内部 MVP 必须具备的功能。缺少任一 P0 功能时，无法完成或验证一次从选择已准备的分享资料到客户打开内容的主要流程 |
| P1 | 不影响内部 MVP 完成，但进入企业试用前需要补充的常用功能 |
| P2-A | P2 中优先处理的功能，主要影响日常使用、账号安全、权限或数据正确性 |
| P2-B | P2 中随后处理的常用功能，缺少时可以暂时使用现有列表或其他入口完成工作 |
| P2-C | P2 中最后处理的功能，当前作用较弱、依赖较多或需求仍需继续明确 |

P2-A、P2-B 和 P2-C 都属于 P2。各功能优先级以 §4 对应的最小功能单元为准。

### 8.2 内部 MVP 验证流程

1. 使用预先准备的销售用户打开 VISTA Link，通过 HOMEVISTA 统一登录页完成登录。
2. 在项目选择页选择目标项目；即使只有一个项目，也必须选择后进入。
3. 进入后确认只显示该项目允许的模块和数据。
4. 切换到另一个可访问项目，再切回目标项目，确认角色、权限和数据随项目变化。
5. 销售在「链接分享」中打开一份预先准备的分享资料。
6. 销售预览客户实际看到的菜单和内容。
7. 销售复制该分享资料的固定链接。
8. 客户打开固定链接，完成需要的身份认证并查看分享资料。

新建、复制和配置分享资料，以及演示场景配置、现场演示和演示记录均按 P1 继续开发，不作为本次内部 MVP 的通过条件。

### 8.3 内部 MVP 准备条件

内部 MVP 开始验证前，提前准备以下数据，不要求通过 P0 管理功能创建：

- 一个租户和至少两个可用于切换验证的项目。
- 一个能够使用 HOMEVISTA 统一账号登录，并在两个项目中处于启用状态的销售用户。
- 该用户在两个项目中分别配置角色和功能权限。
- 当前项目至少提供两个菜单，其中一个包含多个可选内容，另一个不包含内容列表。
- 一份已经保存、固定链接已启用且内容可用的分享资料。该资料由开发或测试人员在测试环境初始化时准备，至少写入名称、已选菜单、已选内容和固定链接；这只是验收数据准备，不是用户可见的产品功能。
- 验证期间该预置资料因来源内容下线而无法显示时，由开发或测试人员更换为仍可用的验收数据后重新开始验证；P0 不为此增加资料配置入口。
- 一个用于验证客户身份认证和自主访问的独立浏览器。

### 8.4 企业试用前销售场景验收

- 当前内部 MVP 通过后，继续完成 §7.1 中依赖 P1 的销售场景。
- 验收必须覆盖分享资料新建和复制、菜单排序、有内容列表时默认全选后改为部分选择、无内容列表时不出现内部选择，以及为单个客户复制独立分享资料。
- 验收必须覆盖默认演示场景、已有客户演示、临时演示、修改客户关联、无效演示、异常中断后的继续或结束、演示中切换项目，以及返回 VISTA Link。
- 验收必须确认现场演示不产生客户自主访问，选择客户不改变分享资料内容，修改一份分享资料不会改变另一份复制资料。
- 客户、客户状态、标签、权限、访问数据纠正和统计按各自章节标注的优先级验收。

### 8.5 当前内部 MVP 不包含的范围

- 新建、复制和配置分享资料。
- 演示场景配置、现场演示、演示记录以及客户追踪中的现场演示记录。
- 数据追踪、购房客户追踪、项目总览、分享资料统计、内容统计和客户行为统计。
- 分享资料打开通知。
- AI 内容制作、外部工具授权和外部工具读写。
- 跨项目复制分享资料、客户或配置。

---

## 9. 风险

| 风险 | 可能影响 | 处理方式 |
|---|---|---|
| 演示场景与分享资料混淆 | 用户误以为必须进入演示后才能分享，或把演示记录当作客户访问。 | 一级导航分别提供「现场演示」和「链接分享」；两者独立创建、独立记录。 |
| 菜单与内部内容关系不明确 | 有些菜单需要选择具体内容，有些菜单没有内容列表，界面可能出现无意义的空层级。 | 来源系统明确菜单是否包含内容列表；有列表时默认全选，无列表时不显示内容选择。 |
| 项目内容来源不稳定 | 菜单或内容停用后，已保存的场景和分享资料无法完整显示。 | 配置页显示不可用状态并要求调整；访问或演示时跳过不可用内容，全部内容不可用时停止显示；历史记录保留发生时信息。 |
| 演示中切换项目造成上下文混乱 | 用户返回后台后不知道当前在哪个项目。 | 演示内切换只影响本次演示；返回 VISTA Link 时回到开始演示前的项目和演示场景列表。 |
| 固定链接被误当成版本 | 用户每次修改分享资料都创建新链接，客户拿到的地址失效。 | 一份分享资料只保留一条固定链接；保存修改后地址不变并显示最新内容。 |
| 公开链接被转发 | 公开链接不要求身份认证，任何取得地址的人都可以查看，匿名访问也不能进入客户追踪。 | 固定链接默认不公开；设置公开时提示访问范围和统计限制，不再需要时停用链接。 |
| 客户访问地址被转发 | 带客户标识参数的地址被其他人打开时，记录可能归到原客户。 | 参数与现有浏览器身份冲突时要求确认；识别完成后从地址中移除参数；界面提示不要转发带参数地址。 |
| 无参数访问需要认证 | 客户首次使用非公开的无参数固定链接或更换浏览器时，可能在邮箱验证码步骤退出。 | 认证成功后保存当前项目的浏览器会话，同一浏览器再次访问时不重复认证。 |
| 现场演示误计入客户访问 | 销售操作会造成客户关注判断失真。 | 现场演示使用独立状态和记录，不经过固定链接，也不写入客户自主访问。 |
| HOMEVISTA 统一账号暂时不可用 | 项目成员无法登录或完成账号操作。 | 登录界面说明当前无法登录并提供重试操作。 |
| 项目切换后残留原项目数据 | 用户可能看到无权访问的客户、配置或统计。 | 切换时重新读取角色和权限，清除原项目界面状态，所有请求继续检查当前项目。 |
| 错误访问数据进入统计 | 重复访问、错误客户归属、机器人或内部测试会使统计失真。 | 区分正常、部分缺失、待检查、异常和已排除数据；支持报告、纠正、重新计算和历史追查。 |
| 被误解为完整 CRM | 产品范围不断扩展到销售任务、报价、合同或付款。 | 本产品只保留客户基础资料、展示、分享和客观访问记录；其他业务由现有系统处理。 |

---

## 10. 外部依赖

| 系统 | 提供的能力 |
|---|---|
| HOMEVISTA 统一账号 | 登录状态、稳定用户标识、账号资料、密码、账号状态、登录安全规则和项目邀请账号识别 |
| A 端运营管理端 | 企业、租户、项目、首个项目管理员关系和当前项目主题 |
| VISTA ADMIN 及现有内容系统 | 制作并发布当前项目内容；提供菜单、内容列表、内容状态和展示数据；VISTA Link 不负责维护这些原始内容 |
| HOMEVISTA C 端 | 作为业务前台提供两种模式：现场演示模式按演示场景的最新保存内容展示并返回独立演示记录；客户访问模式按分享资料的最新保存内容供购房客户浏览，并返回客户自主访问记录。两种记录不得混用 |
| 账户邮件服务 | 发送分享资料首次打开通知；不发送客户分享地址 |
| 邮件验证码服务 | 发送客户访问认证所需的一次性验证码 |

旧 B 端账号是否纳入 HOMEVISTA 统一账号，由现有统一账号规则处理。
