﻿# HOMEVISTA C端最小功能模块 PRD

## 修订记录

| 版本 | 日期 | 修改人 | 修改内容 |
|---|---|---|---|
| v0.1 | 2026-07-02 | 唐雷 | 建立文档大纲 |
| v0.2 | 2026-07-03 | Codex | 暂停等级划分，改按模块类型整理 |
| v0.3 | 2026-07-05 | Codex | 建立最小模块清单和模块资产关系表 |
| v0.4 | 2026-07-07 | Codex | 按模块组重构最小功能模块清单 |
| v0.5 | 2026-07-07 | Codex | 补充模块边界定义、户型卡片判断和 26 个模块详细说明 |
| v0.6 | 2026-07-07 | Codex | 新增来场预约模块，并明确其为转化 / 登记动作模块 |
| v0.7 | 2026-07-08 | Codex | 新增身份认证模块，明确其不依赖内容资产但依赖认证配置和权限规则 |
| v0.8 | 2026-07-08 | Codex | 增加模块类型分类，区分内容展示模块和功能性模块 |
| v0.9 | 2026-07-08 | Codex | 修正模块类型分类，按能力来源区分内容资产驱动、配置流程驱动和外部承载驱动 |
| v0.10 | 2026-07-08 | Codex | 精简文档结构，删除独立输入来源表和数据结构模板，压缩配置侧说明 |
| v0.11 | 2026-07-08 | Codex | 将配置侧要求摘要合并进模块定义标准，进一步精简章节结构 |
| v0.12 | 2026-07-08 | Codex | 合并对象列表和卡片边界说明，减少模块定义标准中的局部补丁感 |
| v0.13 | 2026-07-08 | Codex | 收窄卡片边界说明，将户型卡片与户型及住户卡片关系回收至模块详细说明 |
| v0.14 | 2026-07-08 | Codex | 将模块启用与配置原则改为模块启用状态口径，明确启用、隐藏、降级和不可用状态 |
| v0.15 | 2026-07-08 | Codex | 删除独立模块分类章节，将分类保留为模块清单属性 |
| v0.16 | 2026-07-08 | Codex | 按模块分类重排功能模块清单，并明确模块编号作为稳定引用 ID |
| v0.17 | 2026-07-08 | Codex | 将 M-13 调整为户型及住户卡片，明确户型必需、住户可选 |
| v0.18 | 2026-07-08 | Codex | 明确 M-10 与 M-13 相互独立，并将户型卡片表达归入通用组件 |
| v0.19 | 2026-07-08 | Codex | 根据 DeepSeek 评审补充能力来源、列表降级规则、资产口径和 M-26 候选范围 |
| v0.20 | 2026-07-08 | Codex | 新增导航模块，并收口免责声明、平面色彩切换和来场预约自动认证口径 |
| v0.21 | 2026-07-09 | Codex | 将访问认证与导航入口合并为系统能力分类，避免按单一能力膨胀分类 |
| v0.22 | 2026-07-09 | Codex | 将来场预约并入系统能力分类，统一承载非内容展示型流程模块 |
| v0.23 | 2026-07-09 | Codex | 删除功能模块清单中的能力来源列，避免与定义标准和模块详细说明重复 |
| v0.24 | 2026-07-09 | Codex | 删除功能模块清单中的模块分类列，以小节标题承载分类信息 |
| v0.25 | 2026-07-09 | Codex | 新增空间对比和户型卡片对比模式模块 |
| v0.26 | 2026-07-09 | Codex | 新增通用对比系统能力，并明确业务对比模块与通用机制的边界 |
| v0.27 | 2026-07-09 | Codex | 整理待确认问题章节，删除已收口问题并重写保留项 |
| v0.28 | 2026-07-09 | Codex | 将 M-24 更名为单文件夹引用展示，并调整资料展示边界 |
| v0.29 | 2026-07-09 | Codex | 新增模块说明项规范，明确模块级交互输入的补齐要求 |
| v0.30 | 2026-07-09 | Codex | 按模块说明项规范补齐第四章模块级交互输入 |
| v0.31 | 2026-07-09 | Codex | 将身份认证和通用对比调整为通用组件，不再作为独立功能模块 |
| v0.32 | 2026-07-09 | Codex | 重新压实模块编号，移除组件化后遗留的编号缺口 |
| v0.33 | 2026-07-09 | Codex | 删除空间对比和户型卡片对比模式模块，统一归入对象对比组件 |
| v0.34 | 2026-07-09 | Codex | 收口价格与费用公开规则，明确其受 B端价格控制开关影响且非必填 |
| v0.35 | 2026-07-09 | Codex | 明确周边地图 POI、路线时间、地图图层和政府公开数据来源口径 |
| v0.36 | 2026-07-09 | Codex | 明确 VISTA 装配数据默认可面向顾客展示，删除周边地图公开性待确认问题 |
| v0.37 | 2026-07-09 | Codex | 收口住户销售状态规则，并删除资料公开性待确认问题 |
| v0.38 | 2026-07-09 | Codex | 将三方页面嵌入调整为外部页面嵌入正式模块，并收口不可访问处理规则 |
| v0.39 | 2026-07-09 | Codex | 收口第五章待确认问题，将身份验证方式转入权限规则，并缩窄预约与导航待确认项 |
| v0.40 | 2026-07-09 | Codex | 收口来场预约最小字段、时间段、提交状态和 B端处理责任 |
| v0.41 | 2026-07-09 | Codex | 将导航从功能模块移出，归入通用组件说明 |
| v0.42 | 2026-07-09 | Codex | 根据 DeepSeek 评审同步第五章模块级待确认汇总，并修正对比与预约用词残留 |
| v0.43 | 2026-07-09 | Codex | 收口第五章模块级待确认问题，并补充到对应模块规则 |
| v0.44 | 2026-07-10 | Codex | 明确来场预约可选时间范围与 30 分钟时间槽规则 |
| v0.45 | 2026-07-10 | Codex | 将对比组件统一命名为对象对比组件，避免误解为页面模板 |
| v0.46 | 2026-07-10 | Codex | 调整住户销售状态口径为仅展示 B端配置状态和说明文案 |
| v0.47 | 2026-07-10 | Codex | 明确单文件夹引用展示与资料集文件夹相互独立，仅要求引用已配置文件夹 |
| v0.48 | 2026-07-10 | Codex | 收窄外部页面嵌入为全屏独立页面承载模块，不负责引用内容交互体验 |
| v0.49 | 2026-07-10 | Codex | 明确费用计算器支持顾客勾选可选费用并汇总预估费用 |
| v0.50 | 2026-07-10 | Codex | 补充资料不完整状态的统一降级展示口径 |
| v0.51 | 2026-07-10 | Codex | 将户型图大图查看形态从独立模块回收到户型卡片相关查看形态，并重排模块编号 |
| v0.52 | 2026-07-12 | Codex | 收紧模块文档边界，删除重复的“待确认：无”，并明确页面承载信息仅作为调用提示 |
| v0.53 | 2026-07-16 | Codex | 为 04-01 Landing 实施补齐 M-01、M-02、M-20、M-23、M-26 的顾客判断、最小内容、动作结果与页面可调用降级契约；不改变模块边界。 |
| v0.54 | 2026-07-28 | 产品确认 / Codex | **重大模块边界变更：项目联系方式组件化。** `M-02 项目联系方式`退出 Widget 清单，改由 `06` 的项目联系页脚通用组件承接；组件固定消费项目级公共联系资料，不支持逐页装配、排序或启停，来场预约仍由 M-26 独立承接。 |
| v0.55 | 2026-07-28 | 产品确认 / Codex | **重大第一阶段范围确认。** 新增 `02-MVP-Widget开发规格/00-第一阶段MVP范围与开发顺序.md`，锁定 M-01 项目概览、M-20 周边地图、M-10 户型卡片列表为第一阶段 Widget；本文件继续作为全量目录与共通边界，不替代各 Widget 的开发规格。 |

## 一、文档目的

定义 C端最小功能模块的产品边界、调用资产、模块状态和可被页面调用的能力。

本文件是全量 Widget 的目录与共通边界，不直接作为单个 Widget 的开发输入。第一阶段 MVP 的范围和顺序以 `02-MVP-Widget开发规格/00-第一阶段MVP范围与开发顺序.md` 为准；后续各 MVP Widget 的数据来源与使用规则、A端配置、交互状态与验收标准，在该目录下分别细化。

本文档承接 `01-内容资产字典.md`，用于回答：

- 哪些内容资产需要被 C端功能模块调用。
- 最小 C端体验应由哪些功能模块组成。
- 每个模块依赖哪些资产，哪些资产是必需，哪些资产是可选。
- 哪些内容属于模块能力，哪些应留给页面模板、页面 PRD、权限或后续定制场景处理。

本文档不是页面设计稿，也不是技术实现方案。模块只定义能力边界和资产调用关系，不直接决定页面排版、视觉样式、权限规则和具体展示顺序。

## 二、模块定义标准

本 PRD 中的“功能模块”，是指可以被页面、弹层、全屏工具或页面模板承载，围绕一个明确用户任务形成最小闭环的产品能力单元。功能模块不必全部调用内容资产，也不要求必须与其他模块组合成页面，但必须有明确输入、启用条件、异常状态和边界归属。

### 2.1 模块、页面、组件的边界

模块不是页面，也不是组件。三者的判断口径如下：

| 对象 | 主要回答的问题 | 本文档是否定义 | 示例 |
|---|---|---|---|
| 功能模块 | 顾客要完成什么任务、调用哪些资产、启用条件是什么、缺失时如何处理 | 是 | 住户表、3D 大楼、平面色彩切换、费用计算器 |
| 页面模板 / 页面 PRD | 用户从哪里进入、一个页面组合哪些模块、模块出现顺序和访问路径是什么 | 否，页面模板索引进入 `03-页面模板索引与通用规则.md`，单页完整需求进入 `04-xx` 页面 PRD | 项目卖点 Landing 页、周边地图页、推荐住户展示页 |
| 通用组件 | 模块内部复用什么交互、控件、卡片、按钮、标签和播放器机制 | 否，进入 `06-通用组件说明.md` | 标签、按钮、筛选器、缩略图、卡片交互 |

因此，本文档只定义模块的产品能力边界，不定义页面排版、视觉风格、组件样式、权限对象或埋点事件。部分模块可以采用独占页面、全屏工具或弹层承载，但这只说明承载形态，不改变其作为功能模块的产品边界。

### 2.2 模块完整性判断

模块不要求独立成为一个完整页面，也不要求必须与其他模块组合成页面。模块是否成立，取决于它是否能围绕一个用户任务形成最小闭环：

- 有明确对象：项目、建筑、楼层、公共空间、户型、样板间、住户、资料或周边环境关系。
- 有明确任务：浏览、识别、选择、比较、查看、体验、计算或联系。
- 有明确输入资产或配置：内容资产驱动模块能从 `01-内容资产字典.md` 找到主要资产来源；配置流程驱动模块应有明确配置、流程规则、目标页面或操作结果；外部承载驱动模块应有明确外部对象配置和责任边界。
- 有启用条件：资产或必要配置不存在时可以关闭、隐藏、拦截或降级。
- 有边界：不把页面组合、权限判断、视觉样式、技术播放方案和数据追踪混入模块定义。

例如，`住户表` 不需要成为一个完整页面才是模块；它的任务是让顾客比较具体住户并选择对象。`3D 大楼` 或 `平面色彩切换` 可能采用独占页面或全屏工具承载，但它们仍然是在定义“查看 3D 建筑”或“比较色彩方案”的能力，不等于页面模板。`日影` 不等于日影页面；它的任务是展示项目整体日照与遮挡关系。

因此，不能再把“是否调用内容资产”作为模块是否成立的唯一标准。内容资产驱动模块必须能追溯到内容资产；配置流程驱动模块和外部承载驱动模块可以不调用内容资产，但必须能说明它完成什么操作、依赖什么配置、失败时怎么处理，以及哪些规则由其他文档决定。

### 2.3 模块能力来源分类

模块能力来源用于判断模块主要依赖什么输入成立。模块所属分类只作为清单中的辅助索引；能力来源回答“模块主要依赖内容资产、流程配置，还是外部承载对象”。

| 能力来源 | 定义 | 输入来源 | 当前模块 | 判断规则 |
|---|---|---|---|
| 内容资产驱动模块 | 以展示、选择、查看、比较、体验内容资产为主要目标的模块 | `01-内容资产字典.md` 中的内容资产，可叠加少量模块配置 | 项目概览、建筑与空间、空间体验、住户产品、周边环境、资料内容中的资料查看类模块、活动日历 | 必须能找到主要内容资产；资产缺失时应隐藏、关闭或降级 |
| 配置流程驱动模块 | 以完成表单提交、访问拦截、登记或其他流程闭环为主要目标的模块 | 表单配置、验证组件配置、隐私 / 同意说明、提交后处理规则、权限规则或页面模板规则 | 来场预约 | 可以没有必需内容资产，但必须有明确配置、流程入口、成功 / 失败状态、异常处理和不做边界 |
| 外部承载驱动模块 | 以承载已确认的外部页面、三方应用或合作方内容为主要目标的模块 | 外部嵌入对象配置、来源说明、可访问性规则、权限边界和免责声明 | 外部页面嵌入 | 不应把外部页面默认当作资料文件；必须配置对象、场景、责任主体和不可访问时的处理方式 |

因此，之前“内容展示模块 / 功能性模块”的二分方向基本正确：它解决了“不是所有模块都必须调用内容资产”的问题。但二分法不应继续粗化使用，因为 `外部页面嵌入` 不是普通内容展示，也不是表单或认证流程。它应作为外部承载驱动模块单独处理。

当前不继续细分转化类等子类。`来场预约` 归入配置流程驱动模块。身份验证没有独立用户场景，不作为功能模块，归入 `06-通用组件说明.md` 和 `07-权限与访问控制规则.md`。导航、返回、页面内锚点、模块入口和对象跳转不作为独立功能模块，归入 `06-通用组件说明.md`；功能模块只声明自身可被哪些入口调用、可跳向哪些目标，不自行定义页面信息架构、菜单样式、路由技术实现和埋点口径。

### 2.4 列表、卡片与组件边界

列表和卡片不天然等于模块。判断它们是否成立为模块，应看它们是否承担独立用户任务，而不是看页面上是否出现多个对象或一个视觉卡片。

对象列表可以成立为模块，但必须承担“浏览、识别、选择对象并进入后续模块”的用户任务，而不只是把多个卡片排在一起。

本 PRD 中，以下模块属于对象列表入口模块：

| 模块 | 为什么成立 | 不承担什么 |
|---|---|---|
| 共有部列表 | 帮助顾客浏览公共空间、识别空间类型，并进入空间体验或资料查看 | 不承担 WALK / VR 播放器能力 |
| 户型卡片列表 | 帮助顾客快速浏览户型方案，并查看户型图大图或住户选择 | 不承担具体住户比较和费用判断 |
| 样板间列表 | 帮助顾客浏览样板间，并进入 WALK / VR 或样板间素材查看 | 不承担空间体验本身 |
| 资料集文件夹 | 帮助顾客按文件夹浏览资料，并进入 PDF、图片或视频查看 | 不承担文件解析或播放器技术 |

卡片是否成立为模块也按同一原则判断。若卡片只是列表里的视觉重复单元，应归入通用组件；若它承担单个对象的摘要、状态判断、多入口聚合和跨页面复用，才可以作为模块。具体到户型卡片和户型及住户卡片的关系，进入对应模块详细说明，不在定义标准中单独展开。

### 2.5 模块成立标准

一个模块至少应满足以下标准：

| 判断项 | 说明 |
|---|---|
| 有明确用户任务 | 例如了解项目、查看户型、判断住户、查看周边、联系销售 |
| 有明确输入资产或配置 | 内容资产驱动模块应能从 `01-内容资产字典.md` 中找到主要输入资产；配置流程驱动模块应有明确表单、认证、目标对象或操作结果配置；外部承载驱动模块应有明确外部对象配置 |
| 可被页面模板承载 | 可以出现在项目概览页、住户详情页、资料页、活动页等页面中 |
| 可独立配置启用 | 某项目可根据资产或表单配置完整度启用或关闭该模块 |
| 有空数据处理 | 当资产或必要配置缺失时，应能隐藏、降级或显示替代内容 |
| 不承担权限判断 | 是否展示、对谁展示、访问限制由权限与页面规则决定 |

本阶段不把以下内容定义为最小 C端功能模块：

| 不纳入对象 | 原因 | 推荐归属 |
|---|---|---|
| CAVE、VR、大屏等定制演示场景 | 属于定制场景开发，不属于当前 C端最小模块 | 后续定制场景或演示配置 PRD |
| 分享人追踪、绑定销售、获客归属 | 属于 B端获客策略 | 销售分享 / B端获客模块 |
| 页面主题、视觉模板、组件样式 | 当前阶段不定义 UI 视觉；页面主题进入页面 PRD，视觉样式后续进入设计阶段 | `04-xx` 页面 PRD / 后续 UI 设计文档 |
| 权限、指定客户可见、访问控制 | 属于权限规则 | `07-权限与访问控制规则.md` |
| 埋点事件、统计口径、转化结果 | 属于数据追踪 | `08-埋点与统计规则.md` |

### 2.6 模块启用状态口径

模块是否展示，不只取决于模块是否存在，还取决于必需资产、必要配置和目标入口是否完整。本文档只定义产品状态口径，不定义数据库字段、接口字段、前端组件 props 或后台配置页面结构。

各模块在详细说明中应按以下状态判断：

| 状态 | 触发条件 | 产品处理 |
|---|---|---|
| 可启用 | 必需资产或必需配置完整，模块能完成核心用户任务 | 模块可被页面、弹层、全屏工具或入口承载 |
| 不可启用 | 必需资产或必需配置缺失，模块无法完成核心用户任务 | 不展示模块入口，不展示空模块 |
| 降级展示 | 核心任务可完成，但部分可选资产、说明文案或关联资料缺失 | 保留核心能力，隐藏缺失内容或展示资料不完整状态 |
| 隐藏入口 | 目标模块未启用、目标资产不存在，或关联关系不成立 | 不展示跳转入口，避免进入空页面或错误对象 |
| 不可用提示 | 外部页面、文件、全景、验证码等运行时对象暂不可访问 | 显示不可用状态和返回路径，不绕过限制，不默认展示未确认内容 |

资料不完整状态：当核心任务可完成但部分可选字段、素材、说明文案或关联资料缺失时，模块可降级展示。C端应隐藏缺失字段，或使用统一的“资料补充中 / 资料待补充”类提示，不得把缺失内容展示为空值、默认值、免费、可售、已确认或其他可能误导顾客的结论。

VISTA 中完成装配并启用的数据，默认视为可面向顾客展示的数据；模块不需要逐项重复确认“是否可公开”。待确认资料、过期资料、内部资料不得默认进入 C端装配或启用。页面组合、权限策略、销售分配、分享人追踪和统计口径不由模块自行决定。

价格与费用资料允许面向顾客公开展示，但受 B端价格控制开关控制；价格控制关闭时，C端不得展示价格和费用金额。价格与费用不是企业必填资料，未录入时应隐藏对应字段、入口或费用模块，不得默认展示为空、免费或待售判断依据。

住户销售状态和说明文案均以 B端配置并允许 C端展示的内容为准。C端不自行限定状态枚举、不二次映射销售状态、不根据价格、费用或资料完整度推断销售状态。销售状态缺失时不得默认判断为可售，应隐藏状态或标记资料不完整。

免责声明、说明文案或可选提示缺失时，除非该说明是合规、隐私同意、价格风险或外部责任边界的必需项，否则只隐藏对应说明区块，不影响模块核心能力启用。涉及个人信息收集、价格判断、风险提示或外部页面责任的必需说明缺失时，不得启用对应流程或正式展示。

### 2.7 模块说明项规范

本节用于规范第四章各模块的产品说明结构，不定义数据库字段、接口字段、后台配置项或前端组件属性。第四章每个模块应尽量按同一说明项补齐，确保后续页面模板、页面 PRD 和页面交互原型可以复用。

| 说明项 | 必须回答的问题 | 编写边界 |
|---|---|---|
| 模块目的 | 这个模块为什么存在，服务哪类顾客任务 | 不写页面口号，不替代页面目标 |
| 用户任务 | 顾客在模块中要完成什么判断、浏览、选择、提交或跳转 | 写用户行为，不写技术流程 |
| 能力来源 | 模块主要依赖内容资产、流程配置，还是外部承载对象 | 使用第二章能力来源分类，不新增随意分类 |
| 调用资产 / 配置 | 模块成立需要哪些内容资产、关联关系、配置或外部对象 | 只引用已定义资产或明确配置，不把未确认资料写成必需项 |
| 本模块展示内容 | 模块需要向顾客展示哪些信息和状态 | 不写视觉样式、组件样式和页面排版 |
| 模块级交互输入 | 默认状态、空数据状态、加载 / 异常状态、模块内主要动作及可返回的来源对象 | 只定义模块完成任务所需的产品交互，不定义页面布局、接口字段或动效细节 |
| 关联目标 | 模块可基于哪些资产关系跳向哪些模块或流程 | 只说明可用关系，不定义页面中的入口位置、模块顺序或页面导航 |
| 空数据 / 降级规则 | 缺资产、缺配置、缺关联、资料不可用时怎么处理 | 不展示空模块，不用未确认内容补齐缺失资料 |
| 不做边界 | 哪些能力明确不属于本模块 | 把权限、埋点、销售分配、页面组合、技术实现等放回对应文档 |
| 验收标准 | 设计、开发、测试如何判断模块是否成立 | 写可验证结果，不写主观感受 |
| 待确认 | 哪些问题不能在当前文档中自行定死 | 只保留会影响模块边界、配置、流程或验收的问题；无事项时不在单模块重复写“无” |

其中，“模块级交互输入”应拆分为以下 6 个子项补充，用于定义模块完成任务时的状态、动作和可关联对象；页面如何承载模块仍由 `03`、`04-xx` 决定。

| 交互输入子项 | 说明 |
|---|---|
| 默认状态 | 模块被正常启用并进入时，默认展示什么对象、信息、排序、选中项或初始视角 |
| 空数据状态 | 必需资产、可选资产、关联对象或配置缺失时，模块隐藏、降级、提示还是回退到其他模块 |
| 加载 / 异常状态 | 素材、文件、外部页面、验证码、表单提交等加载中、失败、过期、不可访问时如何提示和返回 |
| 主要动作 | 顾客可执行的核心动作，例如查看、切换、筛选、选择、对比、提交、播放、打开、返回 |
| 来源对象与返回 | 模块可从哪些对象或模块被调用；完成、取消或失败后可返回哪个来源对象。具体入口位置由 `04-xx` 定义 |
| 可用承载形态 | 仅说明模块可被承载的形态，不构成页面模板、页面结构或优先级定义；以 `03`、`04-xx` 为准 |

## 三、功能模块清单

本章列出 C端最小功能模块，用作模块目录和后续详细说明索引。本章不重复维护每个模块的必需资产、可选资产和配置来源；这些内容进入第四章各模块的“调用资产 / 配置”和“空数据处理”。

模块编号用于稳定引用，不强制表达分类含义。清单按模块分类排列；后续若模块分类调整，优先保持既有编号稳定，除非正式版本前统一重排。

### 3.1 项目基础

| 模块编号 | 功能模块 | 模块目的 | 说明 |
|---|---|---|---|
| M-01 | 项目概览 | 展示项目身份、基础介绍、品牌主体和核心卖点 | 独立功能模块，用于项目入口和项目认知，不作为后续模块的父级模块 |

`M-02 项目联系方式` 已于 v0.54 退出 Widget 清单，编号保留为历史引用，不重新分配。项目级公共联系入口改由 `06-通用组件说明.md` 的“项目联系页脚”承接；它不作为 A端可注册、可编排的 Widget。

### 3.2 建筑与空间

| 模块编号 | 功能模块 | 模块目的 | 说明 |
|---|---|---|---|
| M-03 | 360 转大楼 | 通过建筑外观 360 环视查看项目整体建筑形象 | 对应建筑外观资产中的外观 360° 环视图 |
| M-04 | 3D 大楼 | 通过 3D 大楼查看建筑外观和楼栋关系 | 不等于 CAVE / 大屏等定制演示场景 |
| M-05 | 断面图 / 立面图 | 查看建筑高度、立面关系、楼层垂直关系和空间层次 | CAD 图纸表达模块，不承担 3D 效果展示 |
| M-06 | 楼层信息 | 查看各楼层平面图，并理解楼层与户型、住户、样板间、眺望的关系 | 楼层是关系枢纽，不承接具体房价和费用 |
| M-07 | 共有部列表 | 展示公共空间列表和公共空间基础资料 | WALK / VR 由空间体验模块承载 |

### 3.3 空间体验

| 模块编号 | 功能模块 | 模块目的 | 说明 |
|---|---|---|---|
| M-08 | 空间体验 - WALK | 支持对公共空间和样板间进行 WALK 沉浸式查看 | 跨资产功能模块，适用对象为共有部和样板间 |
| M-09 | 空间体验 - VR | 支持对公共空间和样板间进行 VR 沉浸式查看 | 跨资产功能模块，适用对象为共有部和样板间 |

### 3.4 住户产品

| 模块编号 | 功能模块 | 模块目的 | 说明 |
|---|---|---|---|
| M-10 | 户型卡片列表 | 以卡片形式浏览户型方案 | 面向快速筛选，不等同于住户表 |
| M-11 | 样板间列表 | 查看样板间列表和样板间基础资料 | WALK / VR 由空间体验模块承载 |
| M-12 | 户型及住户卡片 | 展示户型摘要，并在绑定具体住户时叠加房号、销售状态和住户级入口 | 以户型为基础、可叠加住户信息的摘要卡片模块，不等同于住户表 |
| M-13 | 住户表 | 以表格方式查看具体住户，并关联共有部、样板间、户型、眺望和价格费用 | 是具体购买对象的列表比较模块 |
| M-14 | 平面色彩切换 | 在平面 CG 图上切换不同装修色彩方案 | 独立页面级功能组合，至少需要两套可比较方案 |
| M-15 | 3D 色彩切换 | 在样板间全景中查看不同装修风格对比 | 内容资产驱动的交互模块，不定义展示模板 |
| M-16 | 平面家具摆放 | 在户型图上模拟家具摆放方案 | 内容资产驱动的交互模块，不定义展示模板 |
| M-17 | 费用计算器 | 汇总住户价格、项目通用费用、住户费用和顾客勾选的可选费用，辅助顾客理解购买与使用成本 | 支持停车场、自行车场等已配置可选费用勾选；不做复杂贷款、税费和合同计算 |

### 3.5 周边环境

| 模块编号 | 功能模块 | 模块目的 | 说明 |
|---|---|---|---|
| M-18 | 日影 | 展示项目整体日照和周边遮挡关系 | 不关联住户和户型 |
| M-19 | 眺望集 | 展示不同楼层、朝向和拍摄位置的眺望素材集合 | 关联住户和户型为可选 |
| M-20 | 周边地图 | 展示周边点位，并可承载洪水灾害、用途地域信息 | 是否展示风险 / 规划资料由页面模板决定 |

### 3.6 资料内容

| 模块编号 | 功能模块 | 模块目的 | 说明 |
|---|---|---|---|
| M-21 | 资料集文件夹 | 按文件夹分类浏览资料文件 | 对应现有 VISTA 的资料集能力 |
| M-22 | PDF 在线解析 | 在线查看 PDF 类资料 | 只定义资料查看能力，不定义技术解析方案 |
| M-23 | 单文件夹引用展示 | 在页面或模块中引用一个指定资料文件夹，并展示其中可浏览资料 | 与 M-21 资料集文件夹相互独立；只要求引用已配置文件夹，不约束文件夹是否属于资料集目录树 |
| M-24 | 活动日历 | 查看售楼处、项目、案场和周边设施的重要活动 | 活动报名、提醒和资源调度不在本模块处理 |
| M-25 | 外部页面嵌入 | 在 C端中全屏承载企业自有或第三方独立页面 / 应用 | 只负责外部页面引用、全屏承载、不可用提示和返回 C端，不负责引用页面内部交互体验 |

### 3.7 系统能力

| 模块编号 | 功能模块 | 模块目的 | 说明 |
|---|---|---|---|
| M-26 | 来场预约 | 收集顾客来场意向、基础联系信息和来场意向登记信息 | 输入表单型模块，不承担销售分配、CRM 同步和预约资源调度 |

## 四、模块详细说明

本章按统一结构说明 26 个已确认最小功能模块。每个模块均应回答：为什么存在、用户完成什么任务、调用哪些资产或配置、展示哪些内容、模块级状态与动作、可关联的目标、资产或配置缺失时如何处理、哪些内容不在本模块处理，以及如何验收。页面入口位置、模块顺序和页面承载结构由 `03`、`04-xx` 定义。

各模块的调用资产和配置说明应按以下原则书写：

- 内容资产驱动模块只能调用 `01-内容资产字典.md` 中已定义的资产对象。
- 配置流程驱动模块可以不调用内容资产，但必须有明确的必需配置、目标对象、流程规则或操作结果。
- 外部承载驱动模块不得把外部页面默认写成内容资产；必须配置嵌入对象、使用场景、责任主体、权限边界和不可访问时的处理方式。
- 必需资产、必需表单配置、必需身份验证配置或外部嵌入对象配置缺失时，模块默认不可启用，除非后续模块规则中定义降级表现。
- 可选资产缺失时，模块可以继续存在，但对应内容区块应隐藏或降级。
- 模块不决定权限、访问对象和页面位置；这些由权限规则和页面模板决定。
- 模块不定义视觉样式和组件细节；当前阶段只定义模块级交互输入，视觉样式后续进入 UI 设计阶段。
- 模块不定义埋点事件；只保留后续进入 `08-埋点与统计规则.md` 的统计需求。

### 4.1 项目概览

- **模块目的**：让顾客快速识别项目身份、理解项目基础价值和主要卖点。

- **用户任务**：确认这是哪个项目；了解项目位置、品牌主体、基础介绍和核心卖点；判断是否继续查看住户、空间、资料或联系信息。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为项目基本信息；可选资产为销售文案、已关联的项目/周边/资料证据、资料文件、免责声明与注意事项。项目名称、项目主体和至少一项可核验的核心承诺共同构成面向顾客的最小发布内容；其中任一项缺失时，项目概览不得作为 Landing 的主承载模块发布。

- **本模块展示内容**：项目显示名称、Logo / 品牌标识、项目地址、短简介、详细介绍摘要、开发商 / 品牌主体、项目标签、核心卖点或导语、与卖点对应的图片、资料或已核验事实说明、必要说明。卖点必须区分事实信息、营销解释和证据/说明；无证据的营销表达不能被标注为项目事实或效果承诺。

- **模块级交互输入**：默认状态为展示项目基础识别信息、一项核心承诺和可用的下一步入口；空数据状态为项目基本信息、主体或核心承诺缺失时不可启用，销售文案或证据缺失时仅可保留已核验事实信息；加载 / 异常状态为单个资料入口或图片素材不可用时隐藏该入口或提示不可用，不阻断已加载的主内容；主要动作为查看项目说明、打开关联证据、进入周边地图、建筑空间、住户产品或资料模块。项目联系页脚属于页面固定组件，不作为本模块的跳转目标。动作必须只指向已启用对象，打开关联证据失败时保留原项目概览上下文；来源对象 / 返回由页面模板承载，退出回到上一级页面或来源入口；可用承载形态为项目首页或项目详情页的首屏 / 顶部区块。

- **关联目标**：可引导至建筑与空间、住户产品、资料集文件夹、活动日历等模块；具体入口数量和排序由页面模板决定。项目联系页脚由页面统一承载，不构成模块关联目标。

- **空数据处理**：项目基本信息、项目主体或核心承诺缺失时不可启用；销售文案缺失时只展示事实类项目信息；单项卖点证据缺失时隐藏该卖点的证据入口，不以占位素材替代；资料文件缺失时隐藏资料入口；当前语言版本简介缺失时可降级展示已配置的默认语言简介或隐藏简介字段，不要求所有语言版本同时完整。

- **不做边界**：不定义首页首屏视觉，不定义项目详情页结构，不处理权限、分享追踪、预约表单和埋点。

- **验收标准**：顾客能在不依赖其他模块的情况下识别项目主体、核心承诺及其证据/说明；可选文案缺失不影响基础展示；所有跳转入口只指向已启用模块；涉及价格、距离、效果图等口径时能引用已有免责声明；推荐资料只允许引用已明确关联项目、适用场景为 C端展示或销售分享、且可面向顾客启用的资料文件。


### 4.2 M-02 项目联系方式（历史边界）

自 v0.54 起，本项不再是 Widget，不定义独立装配、启用、排序、页面区块或模块级验收。其项目级公共联系资料仍由 `01-内容资产字典.md` 管理，固定呈现、局部交互、空数据处理和验收标准以 `06-通用组件说明.md` 的“项目联系页脚”为准。

该调整不改变以下边界：个人销售联系方式、分享人追踪、客户线索分配和销售归属仍属于 B端销售分享或运营规则；来场预约的表单、同意、提交和后续受理仍属于 `M-26 来场预约`，不得由页脚替代或伪装。


### 4.3 360 转大楼

- **模块目的**：通过建筑外观 360 环视帮助顾客理解项目整体建筑形象。

- **用户任务**：围绕建筑外观查看不同角度，形成对项目外立面、体量和建筑形象的初步认知。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为建筑外观中的外观 360° 环视图；可选资产为建筑外观说明、建筑外观标签、销售文案。

- **本模块展示内容**：360 环视素材、楼栋名称、建筑外观说明、外观标签、必要的素材说明。

- **模块级交互输入**：默认状态为加载建筑外观 360 环视的默认角度和基础说明；空数据状态为无 360 素材时不可启用，仅有普通图片或视频时回退到单文件夹引用展示或辅助展示；加载 / 异常状态为环视素材加载失败时提示素材不可用并提供返回；主要动作为拖拽 / 切换视角、查看说明、进入关联建筑模块；来源对象 / 返回可从项目概览、建筑空间相关模块进入，退出回到来源模块；可用承载形态为全屏工具、页面大图区域或建筑空间页面主模块。

- **关联目标**：可从项目概览、建筑与空间页、3D 大楼、断面图 / 立面图等模块进入；多楼栋项目可配置多个 360 环视对象，但跨楼栋选择和楼栋位置关系由 3D 大楼、楼层信息或页面 PRD 承接。

- **空数据处理**：无 360 环视图时不可启用；仅有图片或视频时应进入单文件夹引用展示或建筑外观辅助展示，不应伪装为 360 转大楼。

- **不做边界**：不定义 360 素材制作方式、播放器技术方案、CAVE / 大屏演示配置和 3D 模型交互。

- **验收标准**：模块只在存在 360 环视素材时启用；建筑说明与素材匹配；不能把普通建筑图片误标为 360 环视；当前打开的 360 对象必须有明确楼栋或对象名称，不能在本模块内承担完整楼栋关系说明。


### 4.4 3D 大楼

- **模块目的**：通过 3D 大楼展示建筑外观、楼栋关系和项目整体空间形态。

- **用户任务**：查看项目建筑整体、楼栋关系、外观形态，并在需要时进入楼层、住户或建筑说明相关模块。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为建筑外观中的外观 3D 模型；可选资产为楼层信息、销售文案、建筑说明资料。

- **本模块展示内容**：3D 大楼模型、楼栋名称或位置、建筑外观说明、可选楼层提示或楼栋关系说明。

- **模块级交互输入**：默认状态为展示 3D 大楼默认视角和可用楼栋 / 楼层提示；空数据状态为 3D 模型缺失时不可启用，楼层信息缺失时隐藏楼层入口；加载 / 异常状态为模型加载中显示加载状态，加载失败显示不可用提示和返回路径；主要动作为旋转、缩放、选择楼栋或楼层、进入关联模块；来源对象 / 返回可从项目概览、建筑空间页面或楼层相关入口进入，退出回到来源页；可用承载形态为独立页面、全屏工具或建筑空间页面主模块。

- **关联目标**：可关联楼层信息、断面图 / 立面图、项目概览、共有部列表；多楼栋定位可在存在楼栋资产和模型定位信息时支持；是否在 3D 模型内直接进入住户表或具体住户，由对应页面 PRD 和导航与返回组件承接，不在本模块内定义。

- **空数据处理**：无外观 3D 模型时不可启用；楼层信息缺失时不展示楼层入口；说明文案缺失时保留模型查看能力。

- **不做边界**：不定义 3D 引擎、模型加载策略、CAVE / VR / 大屏定制演示和复杂选房交互。

- **验收标准**：3D 大楼只承担建筑整体展示；楼栋、楼层或住户入口存在时必须来自已配置资产关系；不能把定制案场演示需求写入本模块；未配置楼栋定位关系时不得展示可选择楼栋入口。


### 4.5 断面图 / 立面图

- **模块目的**：帮助顾客理解建筑高度、立面关系、楼层垂直关系和空间层次。

- **用户任务**：查看断面图或立面图，理解楼层位置、高度关系、立面方向和建筑结构表达。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为断面图 / 立面图；可选资产为资料文件、图纸说明、图纸标签。

- **本模块展示内容**：图纸名称、图纸类型、对应楼栋、对应楼层范围、图纸文件或图片、图纸说明、标签。

- **模块级交互输入**：默认状态为展示默认图纸及其名称、楼栋和楼层范围；空数据状态为无图纸文件时不可启用，楼层范围缺失时隐藏楼层联动；加载 / 异常状态为图纸加载失败时显示不可用状态并提供返回；主要动作为查看图纸、缩放、切换图纸、进入楼层或 3D 大楼；来源对象 / 返回可从建筑空间、楼层信息、资料入口进入，退出回到来源页；可用承载形态为页面区块、图纸查看页或全屏图纸工具。

- **关联目标**：可关联楼层信息、3D 大楼、项目概览、资料集文件夹。

- **空数据处理**：无图纸文件时不可启用；图纸说明缺失时只展示图纸和基础识别信息；楼层范围缺失时不展示楼层联动入口；涉及尺寸、比例、专业图纸口径或非最终施工资料时，应引用免责声明与注意事项。

- **不做边界**：不定义 CAD 解析、图纸绘制规范、模型生成和技术标注工具。

- **验收标准**：图纸类型清楚；对应楼栋和楼层范围不混淆；模块能独立展示图纸资料，但不替代楼层信息模块；专业图纸存在比例、尺寸、制作口径或法律风险时必须能关联统一说明或免责声明。


### 4.6 楼层信息

- **模块目的**：展示楼栋与楼层结构，帮助顾客理解楼层位置及其与户型、住户、样板间、眺望的关系。

- **用户任务**：查看楼层编号、楼层图、楼层说明；从楼层进入相关户型、住户、样板间或眺望资料。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为楼层信息；可选资产为户型、住户、样板间、眺望与景观、资料文件。

- **本模块展示内容**：楼栋名称、楼层名称 / 编号、楼层图、楼层说明、楼层标签、楼层类型、关联资料文件和可选关联入口。地下层、避难层、配套层等特殊楼层作为楼层类型或楼层标签展示，不另拆模块。

- **模块级交互输入**：默认状态为展示默认楼栋和楼层列表 / 楼层图；空数据状态为楼层信息缺失时不可启用，楼层图缺失时降级为楼层列表和说明；加载 / 异常状态为楼层图或关联入口加载失败时隐藏对应入口或提示不可用；主要动作为切换楼栋 / 楼层、查看楼层图、进入住户表、户型、样板间或眺望；来源对象 / 返回可从 3D 大楼、断面图、项目空间区域进入，退出回到来源模块；可用承载形态为建筑空间页面区块、楼层列表或楼层详情页。

- **关联目标**：可进入住户表、户型卡片列表、样板间列表、眺望集、断面图 / 立面图；入口由资产关联和对应页面 PRD 共同决定。

- **空数据处理**：楼层信息缺失时不可启用；缺少楼层图时可展示楼层列表和说明；缺少关联住户或户型时隐藏对应入口。

- **不做边界**：不承接具体房价、住户费用、客户权限、销售分配和复杂选房逻辑。

- **验收标准**：楼层与楼栋关系清楚；特殊楼层能通过楼层类型或楼层说明与普通楼层区分；楼层入口不会指向不存在的户型、住户或样板间；价格和费用不在楼层模块内直接维护。


### 4.7 共有部列表

- **模块目的**：让顾客浏览项目公共空间，理解公共配套、共享空间和体验入口。

- **用户任务**：查看公共空间列表；识别空间类型、位置和亮点；选择某个公共空间进入素材查看或 WALK / VR 体验。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为公共空间；可选资产为资料文件、销售文案、空间体验 - WALK、空间体验 - VR。

- **本模块展示内容**：公共空间名称、类型、位置、空间说明、标签、平面素材摘要、可用体验入口。

- **模块级交互输入**：默认状态为展示公共空间列表和每个空间的基础摘要；空数据状态为无公共空间时不可启用，单个空间资料不完整时降级展示；加载 / 异常状态为素材或体验入口不可用时隐藏对应入口或提示不可用；主要动作为浏览、筛选 / 分组、选择公共空间、进入 WALK / VR 或资料展示；来源对象 / 返回可从项目概览、建筑空间或周边空间页面进入，退出回到页面模块区域；可用承载形态为列表区块、空间页面辅助模块或公共空间入口页。默认分组优先使用空间类型；楼层分组或推荐顺序可由页面 PRD 或项目配置覆盖。

- **关联目标**：可进入空间体验 - WALK、空间体验 - VR、单文件夹引用展示、资料集文件夹。

- **空数据处理**：无公共空间资产时不可启用；列表中部分公共空间资料不完整时可继续展示完整对象，并将资料不完整对象降级为文字摘要或标记资料不完整；某个公共空间缺少全景素材时隐藏 WALK / VR 入口；缺少平面素材时仍可展示文字资料。

- **不做边界**：不承担 WALK / VR 播放、公共空间预约、空间使用规则和案场动线设计。

- **验收标准**：列表可帮助顾客识别并选择公共空间；体验入口只在对应素材存在时出现；公共空间与样板间不混在同一列表中。


### 4.8 空间体验 - WALK

- **模块目的**：为公共空间和样板间提供 WALK 沉浸式查看能力。

- **用户任务**：进入某个公共空间或样板间，以 WALK 方式浏览空间节点、感受动线和空间氛围。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为公共空间或样板间中的 WALK 全景素材；可选资产为销售文案、免责声明与注意事项。

- **本模块展示内容**：WALK 体验入口、空间或样板间名称、WALK 节点名称、体验说明、必要注意事项和可选讲解文案。

- **模块级交互输入**：默认状态为展示体验对象名称、WALK 入口和默认进入视角；空数据状态为无 WALK 素材时不显示入口；加载 / 异常状态为全景素材加载中显示加载状态，加载失败提示不可用并可返回来源对象；主要动作为进入体验、切换节点、查看说明、返回来源对象；来源对象 / 返回可从共有部、样板间或户型相关模块进入，退出回到来源对象；可用承载形态为全屏沉浸工具或独立体验页。

- **关联目标**：可从共有部列表、样板间列表、户型及住户卡片、户型相关模块进入；可回到来源对象。

- **空数据处理**：无 WALK 全景素材时不可启用；可选讲解文案缺失时仅保留体验能力。

- **不做边界**：不定义 WALK 播放器技术方案、素材制作规范、VR 设备模式和 CAVE / 大屏演示；跨空间串联导览属于自动导览页或页面级导览路径，不属于本模块。

- **验收标准**：同一 WALK 能力可适用于公共空间和样板间；入口对象明确；没有素材的对象不会显示 WALK 入口；节点名称优先使用素材配置名称，缺失时可按节点顺序降级命名。


### 4.9 空间体验 - VR

- **模块目的**：为公共空间和样板间提供 VR 沉浸式查看能力。

- **用户任务**：进入某个公共空间或样板间，以 VR 方式查看空间效果，辅助判断空间尺度、氛围和装修表现。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为公共空间或样板间中的 VR 全景素材；可选资产为销售文案、免责声明与注意事项。

- **本模块展示内容**：VR 体验入口、空间或样板间名称、体验说明、必要注意事项和可选讲解文案。

- **模块级交互输入**：默认状态为展示体验对象名称、VR 入口和进入前提示；空数据状态为无 VR 素材时不显示入口，只有 WALK 素材时回落到 WALK；加载 / 异常状态为 VR 素材或设备能力不可用时提示不可用并保留返回；主要动作为进入 VR、查看说明、退出体验、返回来源对象；来源对象 / 返回可从共有部、样板间或户型相关模块进入，退出回到来源对象；可用承载形态为全屏体验工具或独立体验页，移动端展示需按设备能力降级。

- **关联目标**：可从共有部列表、样板间列表、户型及住户卡片、户型相关模块进入；可回到来源对象。

- **空数据处理**：无 VR 全景素材时不可启用；如果只有 WALK 素材，不应显示 VR 入口；移动端或当前设备不支持 VR 体验时隐藏 VR 入口或降级提示，不影响 WALK 或普通素材展示。

- **不做边界**：不定义 VR 设备适配、播放器技术、头显模式、CAVE / 大屏定制配置。

- **验收标准**：VR 与 WALK 在命名、入口和素材类型上清晰区分；VR 入口只对有 VR 素材且当前设备可支持的对象开放。


### 4.10 户型卡片列表

- **模块目的**：让顾客以卡片列表方式快速浏览户型方案，完成户型初筛。

- **用户任务**：比较多个户型的名称、面积、房型结构、朝向、标签和户型图摘要；选择某个户型继续查看大图、样板间或关联住户。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为户型；可选资产为销售文案、样板间、住户、眺望与景观。

- **本模块展示内容**：户型名称、户型图缩略图、面积、面积口径、房型结构、朝向、户型标签、户型卖点摘要、关联入口。

- **模块级交互输入**：默认状态为展示可售或推荐排序下的户型卡片列表；空数据状态为无户型时不可启用，单个户型资料不完整时降级为文字摘要；加载 / 异常状态为户型图加载失败时保留文字信息并标记资料不完整；主要动作为浏览、筛选、排序、选择户型、查看户型图大图、样板间、住户表或启动对比选择；来源对象 / 返回可从住户产品页面、楼层信息或项目概览进入，退出回到来源页面；可用承载形态为页面列表区块或户型选择页主模块。筛选项不在 `02` 统一写死，应由可用户型字段和页面 PRD 决定。

- **关联目标**：可打开户型图大图查看形态、样板间列表、住户表或户型及住户卡片；入口是否出现取决于资产关系。

- **空数据处理**：无户型资产时不可启用；列表中部分户型资料不完整时可继续展示完整户型，并将资料不完整户型降级为文字摘要或标记资料不完整；单个户型缺少户型图时可展示基础文字信息并标记资料不完整；缺少面积或朝向时隐藏对应信息；户型未关联住户时仍可作为户型方案展示，但不展示房号、销售状态、住户价格和住户级入口。

- **不做边界**：不处理推荐算法，不承担具体住户价格比较，不定义卡片视觉样式；户型图缩略图、放大查看和全屏图纸查看只是本模块的查看形态，不再拆成独立功能模块；列表内单张卡片的 UI 表达由 `06-通用组件说明.md` 中的户型卡片组件承接。对象选择、并列展示和差异提示由 `06-通用组件说明.md` 中的对象对比组件承接，本模块只触发对比选择动作。

- **与户型及住户卡片关系**：本模块与 `M-12 户型及住户卡片` 相互独立，不存在启用依赖。两者可以复用同一个户型卡片通用组件：本模块用于批量浏览户型方案；M-12 用于独立承载单个户型或单个住户摘要。

- **验收标准**：顾客能从列表完成户型初筛；列表卡片中的入口不指向缺失资产；户型与住户职责清晰，不把具体房号状态写入户型本身。

### 4.11 样板间列表

- **模块目的**：让顾客浏览与户型或住户相关的样板间，并选择进入空间体验或素材查看。

- **用户任务**：查看样板间名称、关联户型或住户、体验亮点和可用 WALK / VR 入口。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为样板间；可选资产为户型、住户、销售文案、空间体验 - WALK、空间体验 - VR、资料文件。样板间可以绑定户型，也可以绑定具体住户；只绑定住户时，应通过住户关系展示可追溯的户型信息。

- **本模块展示内容**：样板间名称、关联户型、关联住户、样板间标签、亮点文案、CG 表现素材摘要、WALK / VR 入口。

- **模块级交互输入**：默认状态为展示样板间列表及可用体验入口；空数据状态为无样板间时不可启用，缺少关联户型时作为独立样板间展示并避免误导；加载 / 异常状态为素材或体验入口不可用时隐藏入口或显示不可用提示；主要动作为浏览、选择样板间、进入 WALK / VR、查看关联户型或资料；来源对象 / 返回可从户型、住户产品、空间体验或页面模板进入，退出回到来源对象；可用承载形态为列表区块、样板间入口页或住户产品页面辅助模块。默认排序优先按关联户型，其次按项目推荐顺序或空间类型。

- **关联目标**：可进入空间体验 - WALK、空间体验 - VR、单文件夹引用展示、户型及住户卡片；可打开户型图大图查看形态。

- **空数据处理**：无样板间资产时不可启用；列表中部分样板间资料不完整时可继续展示完整对象，并将资料不完整对象降级为文字摘要或标记资料不完整；某个样板间缺少 WALK / VR 时隐藏对应入口；缺少关联户型时仍可作为独立样板间展示，但需避免误导其适用户型。

- **不做边界**：不承担 WALK / VR 播放器，不定义样板间详情页视觉，不处理样板间预约。

- **验收标准**：样板间与户型 / 住户关联清楚；空间体验入口只在素材存在时出现；列表能支持多个样板间。


### 4.12 户型及住户卡片

- **模块目的**：以户型为基础提供摘要信息，并在存在具体住户时叠加住户级信息和关键后续入口，帮助顾客完成户型初筛或具体房号判断。

- **用户任务**：先查看户型名称、户型图、面积、房型结构、朝向和标签；若卡片绑定具体住户，再查看房号、楼栋、楼层、销售状态、价格 / 费用、眺望和住户级资料入口。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为户型；可选资产为住户、样板间、眺望与景观、价格与费用、免责声明与注意事项、销售文案。

- **本模块展示内容**：户型名称、户型图摘要、面积、面积口径、房型结构、朝向、户型标签、推荐标签、推荐理由、户型图入口；绑定住户时展示房号、单元、楼栋、楼层、销售状态、可选价格 / 费用摘要、样板间入口、眺望入口、费用入口。

- **模块级交互输入**：默认状态为展示户型摘要，绑定住户时叠加住户级状态和入口；空数据状态为户型缺失时不可启用，住户未绑定时隐藏住户级信息；加载 / 异常状态为户型图或关联入口加载失败时保留卡片基础信息并隐藏失败入口；主要动作为查看户型摘要、查看户型图大图、样板间、眺望、费用或住户相关模块；来源对象 / 返回可从户型列表、住户表、推荐住户或销售分享进入，退出回到来源列表或页面；可用承载形态为卡片区块、推荐卡片、住户摘要卡或页面侧栏模块。

- **关联目标**：可从户型卡片列表、住户表、推荐住户、销售分享、户型相关模块进入；可打开户型图大图查看形态、样板间列表、眺望集、费用计算器。

- **空数据处理**：户型缺失时不可启用；未绑定住户时不展示房号、楼栋、楼层、销售状态、住户价格、住户费用和住户级入口；价格或费用未录入、价格控制关闭、样板间或眺望缺失时隐藏对应字段或入口；销售状态缺失时隐藏状态或标记资料不完整，不得默认可售。

- **不做边界**：不定义卡片视觉样式，不承担完整住户详情页，不处理客户可见权限、价格控制开关配置、销售分配、预约和线索归属；户型图缩略图、放大查看和全屏图纸查看只是本模块的查看形态，不再拆成独立功能模块。

- **与户型卡片组件关系**：本模块可使用 `06-通用组件说明.md` 中的户型卡片组件表达户型和住户两种状态。户型状态只展示户型公共信息；住户状态在户型信息基础上叠加具体住户对象信息。住户级信息不得回写为户型公共字段。本模块可独立承载单个卡片，不作为 `M-10 户型卡片列表` 的内部组件或启用依赖。

- **验收标准**：户型状态和住户状态可被清楚区分；住户号缺失时仍可作为户型摘要卡片使用；销售状态和说明文案仅按 B端配置并允许 C端展示的内容呈现，C端不自行推断或二次映射销售状态；入口按资产存在情况展示；不会把户型公共信息重复维护为住户字段，也不会把住户级信息回写为户型字段。


### 4.13 住户表

- **模块目的**：以表格方式展示具体住户，支撑顾客对可售对象进行筛选、排序、比较和选择。

- **用户任务**：按楼栋、楼层、户型、面积、朝向、销售状态、价格费用等维度查看住户，并选择目标住户进入详情或摘要模块。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为住户、户型；可选资产为价格与费用、样板间、公共空间、眺望与景观、免责声明与注意事项。

- **本模块展示内容**：房号、楼栋、楼层、单元、户型、面积、朝向、销售状态、推荐标签、可选价格或费用摘要、关联样板间 / 眺望 / 共有部入口。

- **模块级交互输入**：默认状态为展示按楼栋 / 楼层或推荐规则排序的住户表；空数据状态为无住户时不可启用，部分资料不完整时标记待补充或资料异常，价格 / 费用未录入或价格控制关闭时隐藏金额字段；加载 / 异常状态为价格、状态或关联入口加载失败时隐藏字段或显示待确认；主要动作为筛选、排序、选择住户、进入户型及住户卡片、费用、样板间、眺望或楼层信息；来源对象 / 返回可从楼层信息、户型列表、住户产品页面进入，退出回到来源页面；可用承载形态为表格页面、列表区块或选房页主模块。

- **关联目标**：可进入户型及住户卡片、户型图大图查看形态、费用计算器、样板间列表、眺望集、楼层信息。

- **空数据处理**：无住户资产时不可启用；列表中部分住户资料不完整时可继续展示完整住户，并将资料不完整住户标记为待补充或资料异常；户型关联缺失的住户应进入资料异常或待补充状态；价格费用未录入或价格控制关闭时隐藏价格 / 费用列，不能默认免费、空值或待售判断依据。

- **不做边界**：不处理客户可见权限、价格控制开关配置、销售人员分配、真实库存锁定、在线交易、支付和复杂 CRM 逻辑。

- **验收标准**：住户表能展示具体房号对象；筛选 / 排序字段来自已定义资产；销售状态和说明文案仅按 B端配置并允许 C端展示的内容呈现，C端不自行推断或二次映射销售状态；价格 / 费用未录入或价格控制关闭时不会造成误导；住户表与户型卡片列表职责分离。


### 4.14 平面色彩切换

- **模块目的**：作为独立页面级功能组合，在平面 CG 图上切换多套装修色彩方案，帮助顾客比较同一户型或住户的不同空间风格。

- **用户任务**：在同一户型或住户下选择两套或更多色彩方案，比较不同装修风格下的平面效果。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为户型或住户的平面 CG 图及至少两套色彩方案配置；可选资产为户型、住户、销售文案、免责声明与注意事项。

- **本模块展示内容**：色彩方案名称、关联户型或住户、平面 CG 素材、色彩标签、方案说明、方案切换控件和当前方案状态。色彩方案名称以项目配置为准，不要求跨项目统一命名。

- **模块级交互输入**：默认状态为展示默认色彩方案和平面 CG 素材；空数据状态为少于两套方案或无平面 CG 素材时不可启用；加载 / 异常状态为方案图片加载失败时提示不可用并保留可用方案；主要动作为切换方案、查看方案说明、返回户型或住户对象；来源对象 / 返回可从户型图大图、户型及住户卡片、住户表进入，退出回到来源对象；可用承载形态为独立页面级功能组合或全屏工具。默认方案优先使用项目配置；未配置时展示第一套已启用方案。

- **关联目标**：可从户型图大图查看形态、户型及住户卡片、住户表或页面模板中的住户产品区域进入；推荐以独立页面或全屏工具承载。

- **空数据处理**：无平面 CG 素材或少于两套可比较色彩方案时不可启用；单一方案不进入本模块，应作为普通平面素材或资料内容展示。

- **不做边界**：不拆分为图片播放、色彩按钮或方案标签等子模块；不定义展示模板细节、图片生成方式、用户自定义装修编辑和下单选配流程。

- **验收标准**：至少两个可比较方案时才形成切换体验；方案与户型 / 住户适用关系清楚；可在同一对象下完成方案切换；不会把 3D 色彩切换素材混入本模块。


### 4.15 3D 色彩切换

- **模块目的**：在样板间全景中对比不同装修风格，帮助顾客理解立体空间观感差异。

- **用户任务**：选择样板间指定区域和色彩方案，查看不同风格下的全景对比效果。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为样板间 3D / 全景素材及对应色彩方案配置；可选资产为样板间、销售文案、免责声明与注意事项。

- **本模块展示内容**：3D 色彩方案名称、关联样板间、指定区域、全景对比素材、色彩标签、方案说明。

- **模块级交互输入**：默认状态为展示默认 3D / 全景色彩方案和关联样板间；空数据状态为无全景对比素材或少于两套方案时不可启用；加载 / 异常状态为全景素材加载失败时提示不可用并保留返回；主要动作为切换方案、切换区域、查看说明、返回样板间或空间体验；来源对象 / 返回可从样板间、WALK / VR 或户型相关区域进入，退出回到来源对象；可用承载形态为全屏体验工具或独立对比页面。多空间区域可按素材配置支持；与 WALK / VR 同屏联动不作为本模块必需能力。

- **关联目标**：可从样板间列表、空间体验 - WALK / VR、户型及住户卡片或户型相关区域进入。

- **空数据处理**：无全景对比素材时不可启用；无关联样板间时不得展示为样板间功能；只有单一方案时不显示切换能力。

- **不做边界**：不定义全景播放器技术、3D 素材制作、装修方案销售和用户自定义选配；与 WALK / VR 的同屏联动属于页面体验或定制演示能力，不进入最小模块边界。

- **验收标准**：方案与样板间区域对应清楚；切换对象必须是 3D / 全景素材；与平面色彩切换边界清晰。


### 4.16 平面家具摆放

- **模块目的**：通过户型图上的家具摆放方案，帮助顾客理解空间尺度、动线和使用方式。

- **用户任务**：查看不同家具摆放方案，判断某户型或住户是否适合家庭、办公、收纳等生活需求。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为户型或住户的家具摆放平面图及方案配置；可选资产为户型、住户、销售文案、免责声明与注意事项。

- **本模块展示内容**：家具摆放方案名称、关联户型或住户、家具摆放平面图、方案标签、方案说明、比例或尺寸提示、必要免责声明。多套家具方案可在同一户型或住户下切换查看。

- **模块级交互输入**：默认状态为展示默认家具摆放方案和平面图；空数据状态为无家具摆放图时不可启用，说明缺失时仅展示图面和方案名称；加载 / 异常状态为图面加载失败时显示不可用提示并提供返回；主要动作为查看方案、切换方案、放大查看、返回户型或住户对象；来源对象 / 返回可从户型图大图、户型及住户卡片、户型列表或住户表进入，退出回到来源对象；可用承载形态为页面区块、全屏图面工具或户型详情辅助模块。

- **关联目标**：可从户型图大图查看形态、户型及住户卡片、户型卡片列表或住户表进入。

- **空数据处理**：无家具摆放平面图时不可启用；方案说明缺失时展示基础图面和方案名称；只适用于特定住户时不得展示为通用户型方案；涉及比例、尺寸、家具摆放示意或非交付标准时，应引用免责声明与注意事项。

- **不做边界**：不提供家具拖拽编辑、真实尺寸校验、商品下单和装修施工方案。

- **验收标准**：家具方案适用对象清楚；顾客能区分标准户型图与家具摆放图；缺失素材时模块不展示空交互。


### 4.17 费用计算器

- **模块目的**：汇总住户价格、项目通用费用和住户费用，辅助顾客理解购买与持有成本。

- **用户任务**：查看某个住户或户型相关费用，按需要勾选停车场、自行车场等已配置可选费用，理解一次性费用、月度费用、可选费用、预估费用和必要注意事项。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为价格与费用；可选资产为住户、户型、可选费用项、免责声明与注意事项。可选费用项包括停车场、自行车场等由项目配置并允许顾客选择的费用，不由 C端临时创建费用类型。

- **本模块展示内容**：费用名称、费用归属、费用类型、适用对象、金额或金额范围、计费单位、币种、费用口径、有效期、展示状态、费用说明、可选费用勾选项、已选费用汇总、关联免责声明。

- **模块级交互输入**：默认状态为展示适用对象的基础费用汇总、费用口径和可选费用项；空数据状态为无价格与费用资产或价格控制关闭时不可启用，费用待确认时隐藏或标记待确认；加载 / 异常状态为费用计算或配置不可用时显示不可用提示，不默认给出金额；主要动作为查看费用明细、切换费用类别、勾选或取消勾选已配置可选费用、查看已选费用汇总、查看免责声明、返回来源对象；来源对象 / 返回可从户型及住户卡片、住户表、户型模块或联系方式进入，退出回到来源对象；可用承载形态为费用说明页、弹层明细或住户 / 户型页面辅助模块。

- **关联目标**：可从户型及住户卡片、住户表、户型相关模块或项目联系页脚进入。

- **空数据处理**：无价格与费用资产时不可启用；价格控制关闭时不展示费用计算器入口；无可选费用项时隐藏可选费用勾选区，但不影响基础费用展示；费用状态为待确认时不得作为正式展示价格；费用过期时必须显示为待确认或隐藏，不能默认有效。

- **不做边界**：不做复杂贷款试算、税费自动计算、支付流程、在线认购和合同计算；不允许顾客自定义费用类型、编辑费用金额或输入未配置费用；不内置日本项目固定费用类型，费用类型以项目价格与费用资产配置为准。

- **验收标准**：费用口径、币种、计费单位和有效期清楚；项目通用费用、住户费用和可选费用可区分；顾客可勾选或取消勾选已配置可选费用，并看到对应费用汇总变化；未配置可选费用时不展示空勾选区；价格控制关闭或未录入费用时不展示金额和费用入口；待确认费用不会被当作正式价格展示；顾客不能自定义费用类型、编辑费用金额或输入未配置费用。


### 4.18 日影

- **模块目的**：展示项目整体日照和周边遮挡关系，帮助顾客理解项目与环境的关系。

- **用户任务**：查看不同时间或季节下日影变化，理解大楼整体采光、遮挡和环境感受。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为日影变化；可选资产为免责声明与注意事项、断面图 / 立面图参考资料。

- **本模块展示内容**：日影图名称、对应楼栋、时间点 / 时间段、季节 / 日期、周边遮挡关系、日影变化图、日照说明、参考图纸说明。

- **模块级交互输入**：默认状态为展示默认日期 / 时间点的日影图和说明；空数据状态为无日影变化图时不可启用，时间或季节信息缺失时标记资料不完整；加载 / 异常状态为图像加载失败时显示不可用提示并保留返回；主要动作为查看时间点、切换季节或时间、查看说明、返回周边或项目页面；来源对象 / 返回可从项目概览、周边环境或资料集进入，退出回到来源页面；可用承载形态为周边环境页面区块、全屏图像工具或独立说明页。动态时间轴可在日影资产提供连续时间点时支持；只有静态图时按时间点切换展示。

- **关联目标**：可从项目概览、周边环境区域、资料集文件夹进入。

- **空数据处理**：无日影变化图时不可启用；时间或季节信息缺失时必须标记资料不完整；官方资料或制作来源缺失时不得标记为官方结论。

- **不做边界**：不关联具体住户和户型，不承担日照权判断，不生成法律或官方评估结论。

- **验收标准**：日影作为项目级环境关系模块展示；不会把单户日照判断写成已确认结论；时间、季节、遮挡说明、官方来源或制作来源清楚。


### 4.19 眺望集

- **模块目的**：展示不同楼层、朝向和拍摄位置的眺望素材集合，帮助顾客理解景观价值。

- **用户任务**：按楼栋、楼层、朝向或景观类型查看眺望素材，并判断与住户或户型的关系。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为眺望与景观；可选资产为住户、户型、免责声明与注意事项、楼层信息。

- **本模块展示内容**：对应楼栋、楼层 / 楼层段、朝向、眺望素材、素材类型、时间段、景观标签、遮挡说明、朝向图、楼层图、眺望说明。素材类型应区分实拍、CG 增强、全景或其他已配置类型。

- **模块级交互输入**：默认状态为展示默认楼层 / 朝向的眺望素材和说明；空数据状态为无眺望素材时不可启用，户型或住户关联缺失时降级为楼层 / 朝向集合；加载 / 异常状态为眺望素材加载失败时显示不可用提示并提供返回；主要动作为切换楼层、楼层段、朝向或素材、查看遮挡说明、进入关联户型或住户；来源对象 / 返回可从户型及住户卡片、住户表、楼层信息或周边区域进入，退出回到来源对象；可用承载形态为图库区块、全屏素材查看工具或眺望集合页。

- **关联目标**：可从户型及住户卡片、住户表、户型相关模块、楼层信息或周边环境区域进入。

- **空数据处理**：无眺望素材时不可启用；住户或户型关联缺失时仍可作为楼层 / 朝向眺望集合展示；遮挡说明缺失时不推断无遮挡。

- **不做边界**：不决定是否在住户详情默认展示，不生成景观评分，不替代现场实际视野确认。

- **验收标准**：眺望素材与楼层、楼层段、朝向关系清楚；实拍、CG 增强和全景素材类型可区分；住户 / 户型关联为可选而非强制；缺少遮挡说明时不作正向承诺。


### 4.20 周边地图

- **模块目的**：展示项目周边点位，并按需要承载 Google 地图能力及政府公开接口提供的洪水浸水风险、灾害、用途地域等环境关系资料。

- **用户任务**：查看交通、商业、教育、医疗、公园、生活配套等点位；理解项目与周边环境、风险和规划条件的关系。

- **能力来源**：内容资产驱动，并依赖外部地图服务和政府公开数据接口。

- **调用资产 / 配置**：必需资产为装配侧标记的周边 POI；必需配置为 Google 地图服务配置。可选资产 / 数据为政府公开接口返回的洪水、灾害、用途地域等资料，以及免责声明与注意事项、销售文案。

- **本模块展示内容**：点位名称、点位分类、位置、距离、所需时间、路线信息、配套说明、点位标签、点位图片 / 视频、地图图层、风险资料或用途地域资料入口。距离或时间必须同时具备可说明的来源/计算口径；不能说明来源时仅展示点位，不将数值作为事实比较依据。

- **模块级交互输入**：默认状态为展示项目锚点、默认点位分类和有限重点点位；空数据状态为无周边 POI 标记时不可启用，路线、距离或时间不可取得时隐藏对应字段；加载 / 异常状态为 Google 地图服务不可用时主地图不可用，点位图片或政府公开接口资料不可用时仅隐藏相应媒体或资料入口；主要动作为查看点位、切换分类、切换地图图层、查看路线 / 时间、打开资料、进入活动或联系方式。打开路线/资料后返回时恢复来源页面的项目上下文；来源对象 / 返回可从项目概览、周边环境、活动或资料模块进入，退出回到来源页面；可用承载形态为地图区块、周边环境页面主模块或独立地图页。

- **关联目标**：可关联单文件夹引用展示、资料集文件夹、活动日历、项目联系页脚。

- **空数据处理**：无周边 POI 标记时不可启用；Google 路线、距离或时间不可取得时隐藏对应字段或显示不可用提示；政府公开接口资料缺失或不可访问时不展示风险 / 灾害 / 用途地域入口。

- **不做边界**：不把 Google 自动搜索结果当作项目确认 POI；不替代 Google 地图、政府防灾资料或用途地域官方资料；不处理地图服务技术方案、接口接入细节和政府数据更新机制。

- **验收标准**：POI 来自装配标记；地图图层、路线和时间信息来自 Google 接口且能说明其来源；洪水、灾害、用途地域等资料来自相应政府公开接口；单个外部资料不可用时不会破坏周边地图主流程；免责声明可关联到相关资料。


### 4.21 资料集文件夹

- **模块目的**：按文件夹分类组织资料文件，方便顾客浏览、查找和打开项目资料。

- **用户任务**：进入资料集，按 CG 画廊、概念集、项目手册、官方公开资料等分类查找资料。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为资料文件；可选资产为免责声明与注意事项、销售文案。

- **本模块展示内容**：文件夹分类、资料名称、资料类型、资料封面 / 缩略图、资料摘要、资料标签、资料来源、更新日期、关联免责声明。

- **模块级交互输入**：默认状态为展示资料文件夹分类和可打开资料列表；空数据状态为无资料文件时不可启用，空文件夹隐藏；加载 / 异常状态为资料封面或文件不可用时标记资料不可用并保留列表；主要动作为浏览文件夹、打开 PDF、进入单文件夹引用展示、查看资料摘要；来源对象 / 返回可从项目概览、住户产品、周边环境或销售分享进入，退出回到来源页面；可用承载形态为资料页主模块、文件夹列表或页面资料区块。

- **关联目标**：可进入 PDF 在线解析、单文件夹引用展示；可从项目概览、住户产品、周边环境和销售分享场景进入。

- **空数据处理**：无资料文件时不可启用；列表中部分资料信息不完整时可继续展示完整资料，并将资料不完整对象降级为文字摘要或标记资料不完整；某文件夹为空时隐藏；资料缺少封面时可用资料名称和类型展示。

- **不做边界**：不定义文件存储、权限控制、下载策略、文件格式转换和内部网盘管理。

- **验收标准**：资料按文件夹分类清楚；文件类型和适用场景明确；资料入口只打开已存在资料。


### 4.22 PDF 在线解析

- **模块目的**：让顾客在线查看 PDF 类资料，减少下载前的阅读门槛。

- **用户任务**：打开项目手册、官方公开资料、说明文件等 PDF，并在线阅读主要内容。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为资料文件中的 PDF 类文件；可选资产为免责声明与注意事项、资料摘要。

- **本模块展示内容**：资料名称、PDF 文件内容、页码、资料摘要、资料来源、更新日期、关联免责声明；如 PDF 包含目录或支持文本索引，可展示目录和搜索入口。

- **模块级交互输入**：默认状态为打开目标 PDF 并展示第一页或上次阅读位置；空数据状态为非 PDF 资料不进入本模块，文件缺失时显示不可用状态；加载 / 异常状态为 PDF 加载中显示加载状态，打不开时显示错误和返回资料集入口；主要动作为翻页、缩放、查看目录 / 搜索、返回资料集；来源对象 / 返回可从资料集、项目概览、周边地图或费用说明进入，退出回到来源资料列表；可用承载形态为独立 PDF 查看页或全屏文档查看工具。

- **关联目标**：可从资料集文件夹、项目概览、周边地图、户型及住户卡片或费用计算器相关说明进入。

- **空数据处理**：资料不是 PDF 时不进入本模块；PDF 文件缺失或不可打开时显示资料不可用状态，并保留返回资料集入口。

- **不做边界**：不定义 PDF 解析技术方案、OCR、全文检索、批注编辑和下载权限；下载入口由资料文件、权限与访问控制规则或页面 PRD 决定，不属于 PDF 在线解析模块必需能力。

- **验收标准**：PDF 资料能与单文件夹引用展示中的普通可浏览资料区分；打不开时有明确不可用状态；至少能展示页码或当前阅读位置；目录和搜索在文件结构或解析能力支持时展示；免责声明按资料适用对象展示。


### 4.23 单文件夹引用展示

- **模块目的**：在指定场景中展示一个已配置资料文件夹的可浏览内容，帮助顾客查看一组相关图片、视频或说明素材。

- **用户任务**：从项目、空间、户型、周边或活动等上下文进入一个被引用的资料文件夹，浏览其中的图片、视频、CG 画廊或说明素材。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为一个已配置的资料文件夹，以及该文件夹中的可浏览资料；可选资产为免责声明与注意事项、资料摘要、封面 / 缩略图、文件排序。被引用文件夹可以是 `M-21 资料集文件夹` 中的文件夹，也可以是不属于 M-21 的独立配置文件夹；本模块不约束文件夹来源，只要求该文件夹具备明确名称、资料内容、展示权限和管理归属。

- **本模块展示内容**：文件夹名称、资料列表、图片或视频内容、封面 / 缩略图、资料摘要、资料来源、更新日期、必要说明。

- **模块级交互输入**：默认状态为展示被引用文件夹的资料列表和首个可浏览资料；空数据状态为未配置引用文件夹、文件夹为空或无可浏览资料时隐藏入口或显示资料不可用；加载 / 异常状态为图片、视频或文件夹内容加载失败时显示不可用状态并保留返回；主要动作为浏览资料、播放视频、切换文件、打开 PDF、返回来源场景。打开资料后返回时恢复引用对象及已选资料；来源对象 / 返回可从资料集、共有部、样板间、周边地图、项目概览或活动进入，退出回到来源模块；可用承载形态为页面资料区块、图库 / 视频查看页或场景内资料弹层。文件排序默认沿用被引用文件夹自身排序，引用场景可配置覆盖排序。

- **关联目标**：可从资料集文件夹、共有部列表、样板间列表、周边地图等模块进入。

- **空数据处理**：未配置引用文件夹时不可启用；文件夹为空或无可浏览资料时隐藏入口或显示资料不可用状态；视频无法播放时显示不可用状态；图片 / 视频如果属于具体资产展示素材，应优先在对应资产模块呈现；PDF 文件可进入 PDF 在线解析，不在本模块内重复定义 PDF 阅读能力。

- **不做边界**：不替代资料集文件夹的目录浏览和权限管理；不要求被引用文件夹必须属于资料集目录树，也不要求 M-21 启用后才能启用本模块；不定义视频转码、播放器技术、自动字幕、素材制作和复杂画廊交互；外链视频只作为资料文件或外部资源入口被打开，不承诺在本模块内统一播放。

- **验收标准**：指定资料文件夹能被页面或模块引用；M-23 与 M-21 相互独立，引用文件夹不受 M-21 启用状态和目录归属约束；文件夹中的图片、视频和 PDF 等可浏览资料能按类型进入合适查看方式；具体资产素材不会被无差别收进资料展示；播放或打开失败有明确状态并可返回来源对象；排序来源清楚。


### 4.24 活动日历

- **模块目的**：展示售楼处、案场、项目和周边设施的重要活动，帮助顾客了解近期可参与事项。

- **用户任务**：查看活动名称、类型、时间、地点、说明和咨询方式；判断是否需要联系项目方。

- **能力来源**：内容资产驱动。

- **调用资产**：必需资产为活动日历；可选资产为项目销售联系信息、周边点位、资料文件、免责声明与注意事项。

- **本模块展示内容**：活动名称、活动类型、活动状态、活动地点、活动时间、主办方 / 关联主体、活动说明、活动素材、活动标签、关联联系信息、关联周边点位、必要说明。

- **模块级交互输入**：默认状态为展示当前和即将发生的活动列表；空数据状态为无活动日历资产时不可启用，过期或取消活动不得展示为正常活动；加载 / 异常状态为活动素材或联系入口不可用时隐藏对应内容或提示不可用；主要动作为浏览活动、查看活动详情、进入周边地图或资料展示；项目联系页脚为固定页面组件，不作为活动模块的进入目标。来源对象 / 返回可从项目概览、周边、资料或页面活动区进入，退出回到来源页面；可用承载形态为活动列表区块、活动详情页或项目页面辅助模块。

- **关联目标**：可进入周边地图、资料集文件夹、单文件夹引用展示；项目联系页脚由页面统一承载。

- **空数据处理**：无活动日历资产时不可启用；过期、取消或待确认活动不得展示为正常活动；联系信息缺失时隐藏咨询入口；周边设施活动默认不展示，只有关联到项目、周边点位或页面场景并被启用时才展示。

- **不做边界**：不处理活动报名流程、提醒规则、报名表单、名额管理和通知发送；如需要收集来场或报名信息，应进入来场预约模块。

- **验收标准**：活动时间、地点和状态清楚；咨询入口来自项目公共联系信息；过期、取消或待确认活动不被展示为正常活动；周边设施活动必须有明确关联对象和启用状态。


### 4.25 外部页面嵌入

- **当前范围**：已确认最小功能模块。适用于需要在 C端以全屏方式承载的企业自有或第三方独立前端页面 / 应用。

- **模块目的**：在 C端中引用并全屏承载一个企业自有或第三方独立页面，使其进入顾客访问路径。

- **用户任务**：在 C端访问路径中打开一个独立外部页面，并能从外部页面承载容器返回 C端来源页面。外部页面内部的查看、体验、表单填写或其他操作由外部页面提供方定义和负责。

- **能力来源**：外部承载驱动。

- **调用资产 / 配置**：无必需内容资产。必需配置为外部页面引用配置，包括对象名称、对象类型、访问地址、页面提供方、责任主体、启用场景、页面级访问规则和不可访问时的处理方式；可选资产为来源说明、免责声明与注意事项、销售文案。承载形态固定为全屏模块，不在页面区块、卡片或普通内容容器内嵌。

- **本模块展示内容**：外部页面名称、对象类型、全屏外部页面承载容器、必要的来源说明、免责声明、不可访问提示和返回入口。

- **模块级交互输入**：默认状态为全屏打开外部页面承载容器；空数据状态为未配置外部页面、访问地址或责任主体时不可启用；加载 / 异常状态为外部页面加载失败、超时、浏览器拦截、iframe 禁止嵌入或可检测的权限失败时显示不可用提示和返回入口；主要动作为打开外部页面、查看来源说明、返回 C端；来源对象 / 返回由页面模板承载，退出必须回到 C端来源页面；承载形态固定为全屏模块。

- **关联目标**：可由项目概览、资料内容、周边环境、空间体验、住户产品或其他页面模板承载；具体出现位置由页面模板和页面 PRD 决定。

- **空数据处理**：未配置外部页面、访问地址或责任主体时不可启用；外部页面可检测为不可访问时显示不可用状态和返回入口；如有替代入口，可引导至项目联系页脚、资料页或对应 C端模块；无法检测外部页面内部状态时，不强行判断其权限、登录态或业务错误。

- **不做边界**：不负责引用页面内部的信息架构、交互体验、加载策略、表单逻辑、权限、登录态、安全策略、支付、外部系统数据同步和外部内容维护；不承诺识别外部页面内部的权限误判、服务异常、登录过期或业务错误；不把外部页面内容拆解为 VISTA 内容资产；不提供非全屏嵌入形态。

- **验收标准**：企业自有和第三方外部页面均可按配置以全屏模块进入 C端访问路径；外部页面名称、访问地址和责任主体清楚；页面级访问规则由页面决定，通常可直接访问；可检测的加载失败、超时、浏览器拦截和禁止嵌入状态有不可用提示和返回路径；不可检测的外部页面内部错误和交互体验由页面提供方负责处理；外部页面不会被误归入资料文件资产。


### 4.26 来场预约

- **模块目的**：以“来场预约”的 C端入口收集顾客来场意向、基础联系信息和希望来场时间。本期实质是来场意向登记，不承诺自动完成案场资源锁定或人工预约确认。

- **用户任务**：填写姓名、手机号、邮箱、来场意向、希望来场日期、希望来场时间段，并同意必要的隐私 / 同意说明；如流程需要确认身份，由系统自动调用身份验证组件；提交后获得“预约申请已提交，待工作人员确认”的明确反馈。

- **能力来源**：配置流程驱动。

- **调用资产**：无必需内容资产；可选资产为项目销售联系信息、活动日历、免责声明与注意事项。隐私 / 同意说明引用 `01-内容资产字典.md` 中的“免责声明与注意事项”资产；表单项、来场日期可选规则、来场时间槽、身份验证触发规则和提交后处理规则属于模块配置，不属于内容资产。来场时间槽固定为 09:00 至 15:00，每 30 分钟一个可选间隔，不允许客户自由输入时间。

- **本模块展示内容**：预约 / 登记表单、姓名、手机号、邮箱、来场意向、希望来场日期、希望来场时间段、联系方式提示、隐私 / 同意说明、提交按钮、提交成功 / 失败状态。

- **模块级交互输入**：默认状态为展示预约 / 登记表单和必填项；必填项为姓名、手机号、邮箱、来场意向、希望来场日期、希望来场时间段、隐私 / 同意勾选；空数据状态为表单配置、隐私 / 同意说明或提交后处理规则缺失时不可启用；加载 / 异常状态为提交中锁定重复提交并显示处理中，提交失败、身份验证不可用或服务异常时不保留未获确认的预约，提示失败并允许重试或返回；主要动作为填写、选择固定日期、选择固定时间段、同意、提交、调用身份验证组件、查看成功 / 失败反馈。提交成功仅表示申请已提交，不表示时间已锁定或人工已确认；来源对象 / 返回可从项目概览、联系方式、活动、住户、资料或分享页面进入，取消、验证失败或提交失败时回到来源页并保留非敏感浏览上下文；可用承载形态为表单页、弹层表单或转化流程页面。

- **关联目标**：可从项目概览、项目联系页脚、活动日历、户型及住户卡片、住户表、资料页或销售分享页面进入；具体入口位置由页面模板索引和对应页面 PRD 决定。

- **空数据处理**：虽然没有必需内容资产，但如果表单配置缺失、隐私 / 同意说明缺失或提交后处理规则缺失，模块不可启用；姓名、手机号、邮箱、来场意向、日期、时间段或隐私 / 同意勾选缺失时不得提交；需要身份验证但验证组件或验证配置不可用时，不得提交预约；项目销售联系信息缺失时隐藏人工联系提示；活动日历缺失时不展示活动关联预约。

- **不做边界**：不处理销售分配、CRM 同步、预约资源调度、名额管理、自动提醒、支付、在线签约和复杂来场排班。提交后的处理责任、销售分配、CRM 同步和预约资源调度均由 B端业务流程承接，C端模块不做约定。

- **验收标准**：顾客能完成一次清晰的预约意向登记提交；需要身份验证时由流程自动调用身份验证组件，用户不需要手动选择验证路径；姓名、手机号、邮箱、来场意向、希望来场日期、希望来场时间段和隐私 / 同意勾选均为必填；日期不得选择过去日期，当天是否可选由项目配置决定；时间段必须从固定可选时间段中选择，可选范围为 09:00 至 15:00，每 30 分钟一个间隔，不允许自由输入不可履约时间；提交成功和失败都有明确反馈；提交成功只表示预约申请已提交，文案口径为“预约申请已提交，工作人员将与您确认具体来场安排”，不默认承诺预约已被人工确认；未配置隐私 / 同意说明时不得收集个人信息。

## 五、待确认问题

暂无。
