﻿# 05B-顾客详情页

## 1. 文档定位

本文定义顾客详情页的整体结构，包含 `概要` tab 和 `権限` / `編集` tab 的模块边界。

本文不定义顾客列表页和新增顾客页，分别见：

- `05A-顾客列表页.md`
- `05D-新增顾客.md`

`権限` / `編集` tab 的标签权限、内容权限选择和保存规则见 `05C-顾客权限页.md`。

同步识别、匹配、绑定、VISTA 侧新增保存信息清单、字段快照、访问字段回写、权限判定与日志分类统一在 `04-统一顾客联动同步流程.md`、`07-同步日志与追溯.md`、`09-C端顾客访问权限接口.md`。

## 2. 页面目标

- 尽量沿用现有 HOME VISTA 顾客详情页的信息结构，减少对既有业务和 UI 的侵入。
- `概要` tab 只读展示顾客分享链接、基础信息、KASIKA 联动状态、当前标签和访问统计。
- `権限` / `編集` tab 支持 B 端用户编辑 VISTA 本地顾客基础信息、标签和内容权限。
- 对 KASIKA 绑定顾客，保护绑定一致性：邮箱不可在本页修改。
- 在 `概要` tab 新增 KASIKA 联动模块，展示关联字段和关联状态；本期不提供手工解除 KASIKA 绑定按钮。

## 3. 页面内容

### 3.1 页面 tab

顾客详情页只保留两个 tab：

- `概要`：查看态，展示分享链接、基础信息、KASIKA 联动模块、当前标签和访问统计。
- `権限` / `編集`：编辑态，展示基础信息编辑表单、标签选择和内容权限选择。

不得从左侧导航或其他入口再打开第二个独立“顾客权限编辑页”。顾客列表点击顾客名后进入同一个顾客详情页，并通过 tab 切换查看与编辑。

### 3.2 概要 tab：顾客基础信息模块

顾客情报模块保持当前线上 HOME VISTA 顾客详情页 UI 和字段结构，不因 KASIKA 联动调整布局、字段顺序或展示样式。概要 tab 为不可编辑查看态。

展示字段沿用现有页面：

- 顾客名。
- フリガナ。
- 顾客分享链接。
- メールアドレス。
- 电话番号。
- 担当スタッフ。
- 登録日時。
- 初回アクセス日時。
- 最終アクセス日時。
- 流入経路。
- 共有有効期限。
- 共有メモ。

展示规则：

1. 顾客分享链接沿用当前线上 `URL + 共有` 的展示方式。
2. 基础信息模块不放编辑输入框，编辑入口进入 `権限` / `編集` tab。
3. 禁止为了展示 KASIKA 信息而在顾客基础信息模块内部新增 KASIKA 字段；KASIKA 信息进入独立联动模块。

### 3.3 概要 tab：KASIKA 联动模块

在顾客基础信息模块下方或相邻区域新增 KASIKA 联动模块，用于展示当前顾客与 KASIKA 的关联状态。

展示内容：

- KASIKA `customer_id` / `cid`。
- KASIKA メール。
- KASIKA `customer_status`。
- 关联状态。
- 最近同步时间 / 最近同步结果。

展示和操作规则：

1. 未绑定顾客展示未关联状态。
2. 已绑定顾客展示当前关联字段和状态。
3. 本期不提供手工解除绑定、重新绑定、改绑、手工同步或前端重试入口。
4. 如需清理有效 KASIKA 绑定关系，仅通过删除 VISTA 顾客触发；删除规则见本文件“删除顾客”和 `04-统一顾客联动同步流程.md`。

### 3.4 概要 tab：当前标签模块

在顾客基础信息和 KASIKA 联动模块之后展示当前标签模块。概要 tab 只展示当前顾客标签，不承担编辑职责。

展示内容：

- 当前顾客已拥有的 VISTA 标签 chip。

展示规则：

1. 标签模块不插入顾客基础信息模块内部。
2. 概要 tab 不提供标签新增、删除、选择或保存操作。
3. 标签不区分来源，不展示自动标签 / 手动标签 / KASIKA 来源说明。
4. 概要页不展示“当前权限合成结果 / 現在の権限合成結果”、模板数量、模板由来数量、个人追加数量或最终可访问内容数量。
5. 标签编辑进入 `権限` / `編集` tab。

### 3.5 既有访问设置

如当前页面已有以下 VISTA 本地访问设置，本期保持既有展示和操作方式，不因 KASIKA 联动改变位置或样式：

- 共有リンクの有効期限。
- パスワード設定へのアクセス。

上述设置属于 VISTA 本地顾客访问控制能力，不调用 KASIKA API。

## 4. KASIKA 信息显隐与操作边界

1. 顾客详情页 `概要` tab 展示独立 KASIKA 联动模块。
2. KASIKA 字段不放入顾客基础信息模块内部。
3. 顾客详情页不提供“手工解除绑定”“重新绑定”“改绑”“同步 KASIKA 顾客”“前端重试”等入口。
4. KASIKA 联动模块只展示关联信息和状态，不承担绑定关系编辑职责。
5. KASIKA 绑定关系、结构化关联字段、字段快照和同步日志仍需在后台保存，用于入口页校验、权限标签补充、异常追溯和同步日志查询。
6. 已绑定 KASIKA 顾客的邮箱在 `権限` / `編集` tab 中不可修改。
7. 如 KASIKA 关联信息错误，人工修正、改绑、恢复或禁止再绑定进入后台数据治理、同步日志处置或另立管理恢复需求。

## 5. 单向同步边界

1. KASIKA -> VISTA 是唯一顾客主资料同步方向。
2. VISTA 本地新增、编辑、删除顾客，不向 KASIKA 创建、更新或删除顾客。
3. VISTA 本地修改顾客姓名、电话、担当、标签、权限时，只更新 VISTA 本地。
4. 未绑定 KASIKA 的 VISTA 顾客修改邮箱，只更新 VISTA 本地。
5. 已绑定 KASIKA 的 VISTA 顾客不允许修改邮箱，避免破坏入口页邮箱一致性校验和绑定关系。
6. VISTA 删除顾客时，不向 KASIKA 删除顾客，也不删除或清空 KASIKA 对应顾客自定义字段中的 HOMEVISTA 访问 URL 和访问密码；若该 VISTA 顾客已绑定 KASIKA，删除时必须清理 VISTA 侧有效 KASIKA 绑定关系。
7. 首次绑定或 `08-KASIKA入口页与VISTA首次访问开户.md` 完成后的访问字段回写，是访问入口信息写入，不视为 VISTA -> KASIKA 顾客主资料同步。

## 6. 待处理、绑定异常与接口异常

KASIKA 同步异常处理收敛到同步日志和后台处置，顾客详情页只按绑定状态展示结果，不增加同步、重试或改绑入口。

1. 邮箱匹配到多个候选、手机号匹配到多个候选、候选顾客已绑定其他 VISTA 顾客、KASIKA 侧疑似已删除等问题，进入同步日志或后台待处理。
2. KASIKA 查询失败、鉴权失败、权限不足、网络不可达和调用受限，按 `07-同步日志与追溯.md` 的统一错误字典记录。
3. 当前顾客详情页不提供手工选择绑定、改绑、重新绑定、前端重试或单个顾客同步入口。
4. 权限页和基础信息编辑不依赖 KASIKA API 实时可用；联动异常时仍可编辑 VISTA 本地标签和权限。

## 7. 删除顾客

1. VISTA 顾客删除沿用当前页面既有删除入口、权限控制和二次确认方式。
2. 删除只影响 VISTA 本地顾客记录，不调用 KASIKA 删除接口。
3. 删除不清空 KASIKA 侧 HOMEVISTA 访问 URL 和访问密码。
4. 如果删除对象已绑定 KASIKA，系统必须清理该 VISTA 顾客的有效 KASIKA 绑定关系，并保留历史 KASIKA `customer_id`、KASIKA 邮箱、`customer_status`、原绑定关系、删除操作人和删除时间用于追溯。
5. 删除后的原 VISTA 顾客不得再作为有效绑定对象参与后续 KASIKA 同步或入口页绑定；如该 VISTA 顾客后续被恢复，不自动恢复原 KASIKA 有效绑定。
6. 删除操作按 `07-同步日志与追溯.md` 记录本期未清空 KASIKA 访问字段、有效绑定关系清理和绑定失效状态。

## 8. 验收标准

1. 顾客详情页只有 `概要` 与 `権限` / `編集` 两个 tab，不存在第二个独立顾客权限编辑页。
2. 概要 tab 展示顾客分享链接、基础信息、KASIKA 联动模块、当前标签和访问统计。
3. KASIKA 联动模块展示 KASIKA `cid` / `customer_id`、KASIKA 邮箱、`customer_status`、绑定状态和最近同步结果；不展示绑定关系操作按钮。
4. KASIKA 字段不混入基础信息模块。
5. `権限` / `編集` tab 展示基础信息编辑表单；已绑定 KASIKA 的顾客邮箱字段为只读禁用态，保存时也不得被覆盖。
6. `権限` / `編集` tab 展示系统已有标签 chip 选择，不支持销售人员自由新增标签。
7. `権限` / `編集` tab 展示标签权限模板中的内容卡片列表和勾选状态。
8. 页面不展示“現在の権限合成結果”或权限合成明细摘要面板。
9. 修改基础信息、标签或权限只更新 VISTA 本地，不调用 KASIKA API。
10. KASIKA 联动异常或 API KEY 不完整时，基础信息中除已绑定顾客邮箱只读外，VISTA 本地编辑、标签编辑和权限编辑不受影响。
11. VISTA 删除顾客不删除 KASIKA 顾客，不清空 KASIKA 侧访问字段；删除已绑定顾客时清理 VISTA 侧有效 KASIKA 绑定关系并记录日志。

## 9. 用户用例

### 用例 1：查看普通 VISTA 顾客详情
- 前置：顾客未绑定 KASIKA。
- 操作：用户进入顾客详情页。
- 预期：
  - 页面展示既有顾客基础信息模块。
  - 邮箱可按既有规则编辑。
  - KASIKA 联动模块展示未关联状态。
  - 顾客情报模块下方展示当前标签模块。
  - 页面不展示权限合成结果摘要。

### 用例 2：查看 KASIKA 绑定顾客详情
- 前置：顾客已绑定 KASIKA customer_id。
- 操作：用户进入顾客详情页。
- 预期：
  - 页面仍保持当前顾客基础信息 UI。
  - 邮箱字段为只读禁用态，不允许修改。
  - KASIKA 联动模块展示 KASIKA `cid`、KASIKA 邮箱、`customer_status`、绑定状态和最近同步结果，不展示绑定关系操作按钮。
  - 顾客情报模块下方展示当前标签模块。
  - 页面不展示权限合成结果摘要。

### 用例 3：编辑 KASIKA 绑定顾客的基础信息
- 前置：顾客已绑定 KASIKA customer_id。
- 操作：用户修改顾客名、电话、流入経路或共有メモ并保存。
- 预期：
  - 可编辑字段按既有规则保存到 VISTA 本地。
  - 邮箱字段不可编辑，提交保存时不被覆盖。
  - 不向 KASIKA 创建或更新顾客主资料。

### 用例 4：进入权限页调整标签关联权限
- 前置：顾客已有一个或多个 VISTA 标签。
- 操作：用户从详情页点击权限编辑入口。
- 预期：
  - 页面进入 `権限` tab。
  - 用户可增删标签；内容权限区按标签权限模板刷新可选状态，不展示独立权限合成摘要。
  - 保存只更新 VISTA 本地标签和权限，不调用 KASIKA API。

### 用例 5：联动异常时编辑 VISTA 本地权限
- 前置：项目 API KEY 不完整或 KASIKA 连接异常。
- 操作：用户进入顾客详情页或 `権限` tab。
- 预期：
  - 页面不出现 KASIKA 前端重试入口。
  - VISTA 本地基础信息、标签和权限仍可按规则编辑。
  - 已绑定 KASIKA 顾客的邮箱仍保持只读。
