﻿# PRD：C-2.11 / B-1.27 / 后台-1.38 资料集文件夹挂导航展示开关与删除限制

## 1. 需求背景

当前 HOME VISTA 支持由后台运营人员将资料集文件夹挂载到 C 端页面导航，客户可从导航直接进入对应资料内容。

现阶段客户存在两类不同诉求：

1. 部分客户希望：已挂在导航上的资料集文件夹，不再在 C 端资料集页面重复展示，避免出现两个入口。
2. 部分客户希望：即使资料集文件夹已挂在导航上，仍保留其在 C 端资料集页面中的展示，以便客户从资料集页统一浏览。

此外，曾出现过误删已挂导航资料集文件夹的情况，导致导航入口无法访问，影响客户使用。

因此，本次需求需要在保留现有“资料集文件夹可挂导航”能力及既有客户查看权限逻辑的前提下：

- 在运营后台增加配置开关，用于控制 C 端资料集页面是否隐藏已挂导航的资料集文件夹；
- 增加删除保护，防止已挂导航资料集文件夹被直接删除。

本次需求**不再考虑具体文件挂在导航上的场景**，完全以“资料集文件夹挂导航”为准。

## 2. 需求目标

| 目标 | 说明 |
|---|---|
| 展示可配置 | 通过运营后台开关，控制已挂导航资料集文件夹是否在 C 端资料集页面隐藏 |
| 适配不同场景 | 满足不同客户对“是否保留两个入口”的差异化需求 |
| 防误删除 | 已挂导航的资料集文件夹禁止直接删除，避免导航出现坏入口 |
| 不影响既有逻辑 | 本次需求不调整既有客户查看权限逻辑，仅在其结果基础上调整 C 端展示与管理端删除限制 |

## 3. 适用范围

| 项目 | 说明 |
|---|---|
| 版本 | C-2.11 / B-1.27 / 后台-1.38 |
| 端 | C 端 / B 端 / 后台 |
| 涉及对象 | 资料集文件夹、页面导航菜单、运营后台展示开关、C 端展示、删除操作 |
| 涉及页面 | C 端页面导航、C 端资料集页面、B 端资料管理删除入口、运营后台项目基本信息、后台导航配置、后台资料集管理 |
| 不涉及 | 具体文件挂导航逻辑、既有客户查看权限逻辑改造、客户自行配置导航、资料内容编辑能力改造 |

## 4. 术语定义

| 术语 | 定义 |
|---|---|
| 资料集文件夹 | 资料集页面中的文件夹内容单元，客户可进入查看文件夹下资料 |
| 导航菜单 | C 端页面左侧或主导航中的入口项 |
| 挂导航文件夹 | 已被后台配置到某个导航菜单上的资料集文件夹 |
| 客户查看权限 | 客户对资料集文件夹的既有访问权限结果。本次需求不调整该逻辑，仅基于该结果决定 C 端是否显示文件夹 |
| 隐藏开关 | 运营后台新增配置项，用于控制“已挂导航资料集文件夹”是否在 C 端资料集页面隐藏 |
| 解除关联 | 后台取消“资料集文件夹 - 导航菜单”的挂载关系 |

## 5. 用户用例

以下仅保留与**本次新增/调整范围**直接相关的用例。  
“资料集文件夹挂导航”属于既有能力，本章节仅描述本次新增或调整的展示与删除限制场景。

### 用例 1：运营后台配置隐藏导航资料集文件夹开关

| 项目 | 内容 |
|---|---|
| 用户 | 运营后台管理员 |
| 场景 | 运营人员需要根据客户项目诉求，配置 C 端资料集页面是否隐藏已挂导航的资料集文件夹 |
| 前置条件 | 当前项目的 VISTA C 端版本 >= 2.11 |
| 用户目标 | 通过项目配置控制 C 端资料集页面是否展示已挂导航的资料集文件夹 |
| 操作路径 | 进入运营后台项目基本信息 -> 在计算器开关下方找到“隐藏导航资料集文件夹”开关 -> 开启或关闭开关 -> 保存配置 |
| 结果 | 开关状态保存成功；开启后，C 端资料集页面隐藏已挂导航文件夹；关闭后，C 端资料集页面继续显示已挂导航文件夹 |

### 用例 2：运营后台开启隐藏开关后，C 端不显示重复入口

| 项目 | 内容 |
|---|---|
| 用户 | C 端客户 |
| 场景 | 客户进入项目页面查看资料 |
| 前置条件 | 某资料集文件夹已被配置到导航，客户对该文件夹有查看权限，且运营后台隐藏开关为开启 |
| 用户目标 | 只看到一个有效入口，不被重复入口干扰 |
| 操作路径 | 客户从导航进入对应内容，或进入资料集页面 |
| 结果 | 该文件夹在导航中保留直接入口，在资料集页面文件夹列表中隐藏 |

### 用例 3：运营后台关闭隐藏开关后，C 端保留资料集页面入口

| 项目 | 内容 |
|---|---|
| 用户 | C 端客户 |
| 场景 | 客户进入项目页面查看资料 |
| 前置条件 | 某资料集文件夹已被配置到导航，客户对该文件夹有查看权限，且运营后台隐藏开关为关闭 |
| 用户目标 | 在导航和资料集页面中都可进入该资料集文件夹 |
| 操作路径 | 客户进入资料集页面 |
| 结果 | 该文件夹在导航中保留入口，同时在资料集页面文件夹列表中继续显示 |

### 用例 4：B端尝试删除已挂导航资料集文件夹

| 项目 | 内容 |
|---|---|
| 用户 | B 端销售 / 运营人员 |
| 场景 | 用户在 B 端资料管理中删除文件夹 |
| 前置条件 | 该文件夹已关联一个或多个导航菜单 |
| 用户目标 | 系统阻止误删，避免影响前台访问 |
| 操作路径 | 用户点击删除 |
| 结果 | 系统拦截删除，并通过弹窗提示该文件夹已关联导航，需先解除导航关联后再删除 |

### 用例 5：B端批量删除文件夹时包含禁止删除项

| 项目 | 内容 |
|---|---|
| 用户 | B 端销售 / 运营人员 |
| 场景 | 用户在 B 端资料管理中批量选择多个资料集文件夹并点击删除 |
| 前置条件 | 批量选择的文件夹中，至少有一个文件夹已关联导航菜单 |
| 用户目标 | 系统阻止误删已挂导航文件夹，并明确告知哪些文件夹需要先解除导航关联 |
| 操作路径 | 用户勾选多个文件夹 -> 点击批量删除 |
| 结果 | 系统拦截批量删除，并通过弹窗提示所选内容中存在已关联导航的资料集文件夹，展示禁止删除的文件夹名称；已挂导航文件夹不得被删除 |

### 用例 6：管理端解绑导航后，C 端按文件夹权限显示

| 项目 | 内容 |
|---|---|
| 用户 | C 端客户 |
| 场景 | 运营人员已解除资料集文件夹与导航的关联后，客户再次浏览资料集页面 |
| 前置条件 | 该文件夹已解除与全部导航菜单的关联 |
| 用户目标 | 文件夹按普通资料集查看权限规则展示，不再受隐藏开关影响 |
| 操作路径 | 运营解除导航关联 -> 客户进入资料集页面 |
| 结果 | 若客户有该文件夹查看权限，则在资料集页显示；若无查看权限，则不显示 |

### 用例 7：解除关联后，B端可删除文件夹

| 项目 | 内容 |
|---|---|
| 用户 | B 端销售 / 运营人员 |
| 场景 | 用户需要删除一个曾经挂导航的资料集文件夹 |
| 前置条件 | 该文件夹已解除与全部导航菜单的关联 |
| 用户目标 | 在不影响导航有效性的前提下完成删除 |
| 操作路径 | 完成导航关联解除 -> 用户在 B 端执行删除 |
| 结果 | 文件夹可正常删除，不影响其他未解除关联的导航数据 |

## 6. 核心规则总览

| 状态 | 运营后台隐藏开关 | C 端导航显示 | C 端资料集页显示 | 管理端删除 |
|---|---|---|---|---|
| 文件夹未挂导航 | 不适用 | 不显示对应导航 | 按普通资料集显示逻辑处理：有查看权限则显示，无查看权限则不显示 | 可正常删除 |
| 文件夹已挂导航，且客户有查看权限 | 开启 | 显示对应导航 | 隐藏该文件夹 | 禁止直接删除 |
| 文件夹已挂导航，且客户有查看权限 | 关闭 | 显示对应导航 | 显示该文件夹 | 禁止直接删除 |
| 文件夹已挂导航，但客户无查看权限 | 开启 / 关闭 | 不显示对应导航 | 不显示该文件夹 | 禁止直接删除 |
| 文件夹已解除导航关联 | 开启 / 关闭 | 不再按挂导航规则处理 | 按普通资料集显示逻辑处理：有查看权限则显示，无查看权限则不显示 | 可正常删除 |

## 7. 运营后台配置规则

以下为现有前置能力说明，本次需求不改动“资料集文件夹可挂导航”的既有逻辑，仅在运营后台增加展示控制开关。

1. 运营后台新增“是否在资料集页面隐藏挂导航资料集文件夹”开关。
2. 开关放置在**项目基本信息**中的**计算器开关下方**。
3. 开关名称为：**隐藏导航资料集文件夹**。
4. 开关用于当前项目/楼盘维度的配置。
5. 仅当项目的 **VISTA C 端版本 >= 2.11** 时，显示该开关。
6. 当项目的 **VISTA C 端版本 < 2.11** 时，隐藏该开关。
7. 当开关为**开启**时，已挂导航的资料集文件夹在 C 端资料集页面中隐藏。
8. 当开关为**关闭**时，已挂导航的资料集文件夹在 C 端资料集页面中继续显示。
9. 开关仅影响 C 端资料集页面中的文件夹展示，不影响导航入口本身。
10. 开关仅影响“已挂导航资料集文件夹”的展示，不改变客户查看权限逻辑。
11. 开关默认值为**关闭**。

## 8. C 端展示规则

### 8.1 展示规则

| 场景 | 规则 |
|---|---|
| 文件夹未挂导航 | 按现有资料集页面规则正常显示 |
| 文件夹已挂导航，隐藏开关开启，且客户有查看权限 | 仅显示导航入口；资料集页面文件夹列表中隐藏该文件夹 |
| 文件夹已挂导航，隐藏开关关闭，且客户有查看权限 | 导航入口保留；资料集页面文件夹列表中继续显示该文件夹 |
| 文件夹已挂导航，但客户无查看权限 | 不显示导航入口，也不显示该文件夹 |
| 文件夹已解除关联 | 恢复普通资料集文件夹展示逻辑：客户有查看权限则显示，无查看权限则不显示 |

### 8.2 具体要求

1. 隐藏开关开启时，已挂导航的资料集文件夹不在资料集页重复展示给客户。
2. 隐藏开关关闭时，已挂导航的资料集文件夹在资料集页继续展示。
3. 无论隐藏开关开启或关闭，客户从导航进入后，访问的都是该资料集文件夹对应内容。
4. 文件夹解除导航关联后，C 端恢复按普通资料集显示逻辑展示：有查看权限则显示，无查看权限则不显示。
5. 未挂导航的其他资料集文件夹保持原有展示逻辑，不受影响。
6. 本次需求只控制“资料集页面中是否隐藏已挂导航文件夹”，不改变客户进入后查看资料内容的原有方式。

## 9. B端删除保护规则

本章节适用于 **B 端资料管理中所有可删除资料集文件夹的入口**。

### 9.1 删除拦截规则

1. 已关联任一导航菜单的资料集文件夹，禁止直接删除。
2. 删除校验需同时在界面层和服务端生效，不能只做前端提示。
3. 无论运营后台隐藏开关为开启还是关闭，只要该文件夹仍挂导航，就不允许直接删除。
4. 必须先解除该文件夹与全部导航菜单的关联，才允许删除对应文件夹。
5. 若文件夹关联多个导航菜单，必须全部解除后才可删除。

### 9.2 删除提示要求

当 B 端用户尝试删除已挂导航文件夹时，系统需使用**弹窗警告**进行拦截提示，不使用仅 Toast 的轻提示方式承载该阻断信息。

弹窗需满足以下要求：

1. 明确告知资料集文件夹已关联导航，当前不可删除。
2. 单个删除与批量删除使用相同弹窗，不区分不同提示文案。
3. 弹窗文案使用国际化 key，不在代码中写死文案。
4. 弹窗中需展示禁止删除的资料集文件夹名称列表，不需要展示关联的导航菜单名称。
5. 国际化参数 `folderNameList` 需包含禁止删除的文件夹名称，数量为 1～N 个。
6. `folderNameList` 中每个文件夹名称均需使用西文双引号包裹；当存在多个文件夹名称时，多个名称直接拼接展示，不使用空格分隔。
7. 弹窗关闭后，不执行删除动作；用户需先联系管理员处理导航关联后重新发起删除。

删除拦截弹窗国际化文案如下：

| 项目 | 内容 |
|---|---|
| 国际化 key | `HOMEVISTA_B.collection.deleteDenied` |
| 文案 | `{folderNameList} 已关联导航菜单，解除后才能删除，请联系管理员。` |
| 参数 | `folderNameList`：禁止删除的资料集文件夹名称列表，支持 1～N 个名称；每个名称均使用西文双引号包裹，多个名称直接拼接展示 |

示例：

| 删除场景 | folderNameList | 弹窗展示 |
|---|---|---|
| 单个删除 | `"コンセプト"` | `"コンセプト" 已关联导航菜单，解除后才能删除，请联系管理员。` |
| 批量删除 | `"コンセプト""動画"` | `"コンセプト""動画" 已关联导航菜单，解除后才能删除，请联系管理员。` |

### 9.3 解除关联后的行为

| 场景 | 结果 |
|---|---|
| 仅解除导航关联，不删除文件夹 | 文件夹保留，恢复普通资料集文件夹逻辑 |
| 解除全部关联后删除文件夹 | 允许删除 |
| 删除导航菜单 | 只删除导航，不删除文件夹 |

## 11. 验收标准

### 11.1 C端验收标准

1. 当开关开启，且客户有该文件夹查看权限时，已挂导航的资料集文件夹在 C 端资料集页面中不再重复显示。
2. 当开关关闭，且客户有该文件夹查看权限时，已挂导航的资料集文件夹在 C 端资料集页面中继续显示。
3. 无论开关开启或关闭，已挂导航的资料集文件夹在 C 端仍保留原有导航入口访问方式。
4. 文件夹解除导航关联后，若客户有该文件夹查看权限，则该文件夹在 C 端资料集页面恢复显示。
5. 文件夹解除导航关联后，若客户无该文件夹查看权限，则该文件夹在 C 端资料集页面不显示。
6. 未挂导航的资料集文件夹，在 C 端资料集页面中保持原有显示方式，不受本次需求影响。
7. 客户无该挂导航文件夹查看权限时，C 端仍按现有逻辑，不显示无权限内容。
8. 本次需求上线后，不得影响既有“资料集文件夹挂导航”与既有客户查看权限逻辑。

### 11.2 B端验收标准

1. 通过 B 端资料管理删除入口尝试删除已关联导航的资料集文件夹时，系统必须阻止删除。
2. 单个删除被拦截时，系统必须使用弹窗警告提示，不得仅使用 Toast 提示。
3. 单个删除拦截弹窗必须使用国际化 key `HOMEVISTA_B.collection.deleteDenied`。
4. 通过 B 端批量删除入口删除多个资料集文件夹时，若所选文件夹中包含已关联导航的文件夹，系统必须阻止删除。
5. 批量删除被拦截时，系统必须使用弹窗警告提示，不得仅使用 Toast 提示。
6. 批量删除拦截弹窗必须与单个删除使用相同国际化 key `HOMEVISTA_B.collection.deleteDenied`。
7. 删除拦截弹窗中，需通过 `folderNameList` 展示禁止删除的文件夹名称；每个文件夹名称均需使用西文双引号包裹，如存在多个禁止删除文件夹，多个文件夹名称直接拼接展示。
8. 删除拦截弹窗不需要展示关联的导航菜单名称。
9. 批量删除被拦截时，已关联导航的文件夹不得被删除。
10. 无论隐藏开关开启或关闭，只要文件夹仍挂导航，均不得通过 B 端直接删除。
11. 解除全部导航关联后，资料集文件夹可通过 B 端正常删除。
12. 删除导航菜单时，不得连带删除资料集文件夹。
13. B 端删除校验需同时覆盖界面层和服务端，不能通过绕过界面的方式删除已关联文件夹。

### 11.3 运营端验收标准

1. 运营后台存在“是否在资料集页面隐藏挂导航资料集文件夹”开关。
2. 该开关显示在**项目基本信息**中的**计算器开关下方**。
3. 开关名称为：**隐藏导航资料集文件夹**。
4. 该开关按项目/楼盘维度生效。
5. 当项目的 **VISTA C 端版本 >= 2.11** 时，显示该开关。
6. 当项目的 **VISTA C 端版本 < 2.11** 时，隐藏该开关。
7. 开关默认值为关闭。
8. 运营人员可在运营后台将该开关由关闭改为开启，并保存成功。
9. 运营人员可在运营后台将该开关由开启改为关闭，并保存成功。
10. 开关状态保存后，C 端资料集页面按最新开关状态生效。
