﻿# VISTA Scene 1.4.0 产品需求文档

**版本**：1.4.0

**创建日期**：2026-09-10

## 修订记录

| 修订日期 | 版本 | 修订内容 |
|---|---|---|
| 2026-09-10 | 1.4.0 | 增加素材 UP 检查页分享、邮箱验证码登录、素材制作人以及运营和系统管理员别名。 |

本版本补充以下四项功能。本文未写明的规则继续沿用 VISTA Scene 1.3.2 及之前版本。

1. 素材 UP 检查页独立分享。
2. 邮箱邀请和验证码登录。
3. 为单个素材指定 CG 制作人员。
4. 客户侧使用运营和系统管理员别名。

## REQ-001 素材 UP 检查页独立分享

**优先级**：P0

### 使用场景

客户 A 正在检查素材 X 的 UP3，需要邀请客户其他部门的同事、广告公司人员或建筑设计院人员一起检查。

客户 A 从 UP3 检查页发出邀请。客户 B 通过邀请进入时，首先打开 UP3，但客户 B 获得的是素材 X 的访问权限，不是只能查看 UP3。

客户 B 可以查看素材 X 中客户侧可见的历史 UP、CB、问题、评论和附件。以后 UP4 向客户侧发布后，客户 B 也可以查看 UP4，但原邀请地址仍打开 UP3。

### 功能规则

1. 运营、客户、客户负责人和服务商可以从有权查看的任意一轮 UP 检查页发起分享。系统管理员、内部制作、制作负责人和通过素材邀请进入的外部用户不显示分享入口。
2. 发出邀请时，系统记录当前 UP，并生成指向该 UP 检查页的邀请地址。
3. 邀请地址的起始页不随新 UP 发布而改变。
4. 访问权限绑定素材，受邀人可以查看该素材中客户侧可见的全部 UP、CB、问题、评论和附件。
5. 制作中且尚未向客户侧发布的 UP 不可分享，受邀人也不可查看。
6. 新 UP 向客户侧发布后，受邀人不需要重新接受邀请即可查看。
7. 素材邀请不会把受邀人加入项目，也不会授予项目列表、其他素材、项目成员页或系统管理页的访问权限。
8. 受邀账号本身已有项目权限时，原有权限不受影响。
9. 受邀人不作为项目成员显示，在素材的受邀人列表中单独管理。列表显示邮箱、访问权限和邀请状态。
10. 已经有权访问该素材的用户都可以查看受邀人列表；未登录或无该素材访问权限的用户不能查看。

### 无权访问时的页面处理

#### 情况一：检查登录状态和受邀邮箱

1. 受邀人未登录时，系统自动向受邀邮箱发送验证码，并显示邮箱验证页。页面提示“验证码已发送至 xxx 邮箱”，邮箱经过隐藏处理。
2. 用户已经登录时，系统先检查当前账号自身是否有权访问目标页面。有权时直接打开目标页面，不要求切换到受邀邮箱。
3. 当前账号无权访问目标页面，且与受邀邮箱不一致时，页面显示“xxx 账号已经登录，是否使用 xxx 邮箱登录？”。第一个 xxx 显示当前账号的显示名称，第二个 xxx 显示经过隐藏处理的受邀邮箱。
4. 页面提供“使用 xxx 邮箱登录”和“取消”按钮。受邀人点击“使用 xxx 邮箱登录”后，系统退出当前账号并打开邮箱验证码登录页；受邀邮箱由邀请记录带入，不允许修改，系统自动向该邮箱发送验证码。
5. 邮箱验证码登录成功后，系统重新打开原邀请地址并检查该账号的素材权限。有权时打开目标页面；无权时显示“无法访问此页面”和“当前账号没有该页面的访问权限”。

#### 情况二：已登录，但没有目标页面的访问权限

1. 素材邀请权限和账号原有权限都不允许访问时，系统不加载目标页面内容，显示独立的无权限页面。
2. 页面显示“无法访问此页面”和“当前账号没有该页面的访问权限”。
3. 页面提供“返回受邀素材”按钮，点击后打开邀请时指定的 UP 检查页。
4. 无权限页面不显示无权项目或素材的名称、UP、CB、问题、评论或成员信息。

#### 情况三：邀请已被移除

1. 邀请已被移除，且账号没有其他有效权限时，系统不加载原受邀素材的内容，显示邀请已失效页面。
2. 页面显示“该邀请已失效”和“当前账号已没有此素材的访问权限”。
3. 页面不提供“返回受邀素材”按钮。
4. 邀请已失效页面不显示原受邀素材的名称、UP、CB、问题、评论或成员信息。

### 验收标准

1. 运营、客户、客户负责人和服务商可以从有权查看的 UP 检查页发出邀请，其他角色不显示分享入口。
2. 从 UP3 发出的邀请地址始终先打开 UP3；受邀人可以查看该素材中客户侧可见的历史和后续内容，但不能因此进入项目列表、其他素材或项目成员页。
3. 尚未向客户侧发布的 UP 不显示分享入口，受邀人也不能通过地址访问。
4. 有权访问素材的用户可以查看该素材的受邀人列表；无素材权限的账号只能看到无权限页面或邀请已失效页面。

## REQ-002 邮箱邀请、验证码登录与访问权限

**优先级**：P0

### 使用场景

客户 A 邀请客户 B 查看素材 X。客户 A 填写客户 B 的邮箱，并选择“参与检查”或“负责确认”。系统以 VISTA Scene 的名义向该邮箱发送邀请邮件。

邀请邮件不包含验证码。客户 B 在未登录的状态下打开访问地址时，系统自动向客户 A 填写的邮箱发送验证码。验证页提示验证码已发送到经过隐藏处理的邮箱。

客户 B 首次通过验证时，如果该邮箱还没有账号，需要填写自己的显示名称。系统随后创建一个使用邮箱验证码登录的外部用户账号。客户 B 发布的问题、评论和其他操作都记录在该账号下。

### 邀请表单

邀请表单包含“受邀邮箱”和“访问权限”。邀请人根据受邀人需要做的事选择权限，不选择受邀人的系统角色。

| 访问权限 | 允许操作 |
|---|---|
| 参与检查 | 查看素材、提出问题、上传附件、评论、回复、修改问题状态 |
| 负责确认 | 包含“参与检查”的全部操作，并可以提交当前 CB、确认可渲染、确认纳品 |

1. 邀请人为客户时，只显示“参与检查”。
2. 邀请人为运营、客户负责人或服务商时，显示“参与检查”和“负责确认”。
3. 每个选项同时显示名称和允许操作。
4. 受邀人可以使用的功能同时受访问权限和素材当前状态限制。
5. 同一邮箱在同一素材中只能有一条有效邀请。
6. 邀请记录保存受邀邮箱、指定素材、访问权限、邀请人、邀请时间和邀请状态。

### 邮件与验证

1. 邀请邮件包含以下内容：
   - 项目名称。
   - 素材名称。
   - 系统默认文案：“您已受邀参与素材检查。请打开以下访问地址，并使用受邀邮箱完成验证。”
   - 访问地址。

   邀请邮件不包含验证码，也不提供邀请人自定义留言。
2. 邀请邮件和验证码邮件均以 VISTA Scene 的名义发送，正文中不显示邀请人、素材制作人或其他人员的真实用户名和别名。
3. 邀请人可以复制访问地址发给受邀人。访问地址本身不能代替邮箱验证。
4. 受邀人未登录或登录状态已失效时，系统自动向邀请记录中的邮箱发送一次性验证码，并显示邮箱验证码登录页。受邀邮箱由邀请记录带入，不允许修改。
5. 用户已经登录时，系统先检查当前账号自身是否有权访问目标页面。有权时直接打开目标页面。
6. 当前账号无权访问目标页面，且与受邀邮箱不一致时，页面显示“xxx 账号已经登录，是否使用 xxx 邮箱登录？”。第一个 xxx 显示当前账号的显示名称，第二个 xxx 显示经过隐藏处理的受邀邮箱。
7. 受邀人点击“使用 xxx 邮箱登录”后，系统退出当前账号并打开邮箱验证码登录页，自动向受邀邮箱发送验证码。点击“取消”时，保持当前账号的登录状态并停留在提示页。
8. 系统发送验证码成功后，页面提示“验证码已发送至 xxx 邮箱”，其中邮箱经过隐藏处理，不显示完整地址。发送失败时，页面提示“验证码发送失败，请稍后重试”，不显示技术错误信息。
9. 验证码自发送成功起 10 分钟内有效，验证成功后立即失效。
10. 受邀人提交验证码时，系统检查验证码是否正确且仍在有效期内。验证码错误时，用户停留在邮箱验证码登录页，页面提示“验证码错误，请重新输入”；验证码已过期时，页面提示“验证码已过期，请重新获取”。
11. 验证码发送成功后的 60 秒内不能重新获取，页面显示剩余秒数。60 秒后显示“重新获取验证码”。新验证码生成后，原验证码失效。
12. 同一邮箱连续输入错误验证码 3 次后，从第三次错误开始，1 小时内不再接受该邮箱提交的验证码，页面提示“验证码错误次数过多，请 1 小时后重试”。重新获取验证码不清除错误次数；验证成功或限制期结束后，错误次数清零。
13. 验证时邀请已被移除，且账号没有其他有效权限时，页面提示“该邀请已失效”和“当前账号已没有此素材的访问权限”。
14. 邮箱验证完成前，受邀人只能看到邮箱验证码登录页，不能查看受邀素材的任何内容。

### 邮箱验证码登录

1. 登录页增加“邮箱验证码登录”，供通过素材邀请创建的外部用户使用。外部用户不设置密码。
2. 外部用户从普通登录页登录时，填写账号邮箱并获取验证码；验证码通过后登录该邮箱对应的外部用户账号。
3. 用户从邀请地址进入邮箱验证码登录页时，系统自动带入受邀邮箱并发送验证码，验证成功后返回原邀请地址。
4. 没有外部用户账号且没有有效素材邀请的邮箱不能通过验证码创建账号或登录，页面提示“该邮箱暂无可访问的素材”。
5. 外部用户连续 7 天没有操作时，登录状态失效。即使持续使用，登录满 30 天后也必须重新验证。关闭浏览器不会退出登录；用户主动退出后，当前登录状态立即失效。
6. 登录状态只代表账号身份，不代替素材权限。邀请被移除后，即使账号仍处于登录状态，也立即失去对应素材的访问权限。

### 外部用户账号

1. 邮箱是外部用户的唯一登录身份。
2. 邮箱已有账号时，验证成功后使用原账号，不创建重复账号。
3. 邮箱没有账号时，受邀人填写显示名称后创建免密码的外部用户账号。显示名称不得为空，也不直接使用邮箱代替。
4. 创建外部用户账号时，系统使用邀请记录中的受邀邮箱作为账号邮箱。该邮箱不可修改，也不能替换为其他邮箱。只有受邀邮箱验证成功后，才能创建对应账号。
5. 账号、邀请记录和素材权限分开保存。一个外部用户可以被邀请访问多个素材，每个素材单独保存访问权限。
6. 问题、评论、附件和状态变化保存外部用户的稳定用户标识，不使用邀请地址或邮箱文字代替作者身份。
7. 客户侧的问题、评论和操作记录显示外部用户自己填写的显示名称，不显示邮箱。
8. 受邀人第一次以对应邮箱成功打开受邀素材后，邀请状态由“等待接受”变为“已接受”。

### 移除与再次邀请

1. 邀请不设有效期，状态为“等待接受”“已接受”或“已移除”。
2. 邀请人可以从素材的受邀人列表中移除受邀人。
3. 移除后，受邀人立即失去该素材的访问和操作权限。已打开的页面再次读取或保存数据时，系统重新检查权限并拒绝访问。
4. 移除不删除受邀人过去提交的问题、评论、附件和操作记录，原作者保持不变。
5. 移除某个素材的权限，不影响该账号已有的其他素材权限。
6. 需要再次允许访问时，移除原邀请后重新邀请。系统继续使用该邮箱已有的账号。
7. 邀请邮箱填写错误时，邀请人移除原邀请，再使用正确邮箱创建新邀请。

### 验收标准

1. 没有账号的受邀邮箱完成验证并填写显示名称后，系统创建外部用户账号；没有有效邀请的邮箱不能创建外部用户账号。
2. “参与检查”和“负责确认”分别提供表中规定的操作，并继续受素材当前状态限制。
3. 当前账号无权访问目标页面且与受邀邮箱不一致时，页面显示“xxx 账号已经登录，是否使用 xxx 邮箱登录？”；选择使用受邀邮箱后，当前账号退出，验证成功后以受邀邮箱账号返回原邀请地址。
4. 验证码的 10 分钟有效期、60 秒重新获取间隔、连续错误 3 次后限制 1 小时，以及新验证码使原验证码失效均按本需求执行。
5. 外部用户可以从普通登录页使用邮箱验证码登录；连续 7 天没有操作或登录满 30 天后，需要重新验证。
6. 邀请被移除后，该账号立即失去对应素材权限，但过去提交的内容和其他素材权限保持不变。

## REQ-003 为单个素材指定制作人

**优先级**：P0

### 背景

目前，CG 负责人看到客户提交的全部 CB 问题后，需要在系统外通知具体制作人员处理。实际工作中，CG 负责人通常在素材开始制作前就已经确定制作人，该素材后续各轮 CB 也由同一制作人处理。

系统需要为素材记录制作人。运营完成 CB 翻译后，负责该素材的制作人进入系统即可看到自己需要处理的 CB，不需要 CG 负责人再次在系统外分配。

### 使用场景

一个项目中有多名 CG 制作人员。制作负责人将素材 X 指定给 CG 制作人员 A。以后素材 X 的各轮制作由 A 负责，直到制作负责人更换制作人。

### 功能规则

1. 每个素材最多指定一名当前制作人。
2. 制作负责人在素材信息编辑中指定或更换制作人。
3. 制作负责人可以从当前项目的内部制作成员中选择，也可以从常用成员中角色为“内部制作”的人员中选择。选择尚未加入当前项目的常用成员时，系统在确认前提示：“该制作人尚未加入当前项目。确认后将以 CG 制作角色加入项目，并负责此素材。”确认后，系统将该人员以“内部制作”角色加入当前项目，并指定为该素材的制作人。制作负责人只能选择常用成员，不能添加、修改或移除常用成员。
4. 素材首次指定制作人前可以显示“未指定”，系统不根据项目成员或最近上传人自动判断。一旦指定制作人，只能更换，不能重新设为“未指定”。
5. 制作负责人可以按照第 3 条的选择范围更换制作人。更换后，素材原有的 UP、CB、阶段、状态、问题、评论和附件保持不变，原制作人不自动退出项目。
6. 系统日志记录每次指定和更换制作人的操作，包含素材、原制作人、新制作人、操作人和操作时间。
7. 运营完成 CB 翻译后，制作人可以通过 AI Agent 查询自己负责的 CB。系统按照素材的当前制作人返回项目、素材、当前 CB、状态和访问地址，不新建固定的制作人 CB 列表页。

### 验收标准

1. 制作负责人可以在素材信息编辑中指定或更换制作人，其他角色不能执行该操作。
2. 选择尚未加入项目的常用成员并确认后，该人员以“内部制作”角色加入项目并成为素材制作人；取消确认时，两项数据都不改变。
3. 制作人通过 AI Agent 查询自己负责的 CB 时，可以获得以自己为当前制作人的素材及其当前 CB、状态和访问地址。
4. 更换制作人后，原素材内容保持不变，AI Agent 的查询结果改为归入新制作人。

## REQ-004 运营和系统管理员别名

**优先级**：P0

### 背景

VISTA Scene 用于日本项目，直接与日本客户沟通的是日本侧人员，系统内参与处理的运营人员可能来自中国。运营或系统管理员在客户可见的问题、评论和回复中操作时，客户不需要看到其真实姓名。因此，客户侧以角色别名代替运营和系统管理员的真实用户名。

### 使用场景

运营人员王某在素材 X 中回复客户评论，客户侧显示“运营”，不显示王某的真实用户名。系统管理员陈某发布客户可见的问题、评论或回复时，客户侧显示“系统管理员”。制作侧人员仍可以看到实际操作者的真实用户名和客户侧别名。

别名只改变客户侧看到的名称，不改变账号、项目角色、操作权限和历史作者。即使多名运营人员都显示“运营”，系统仍能区分每条内容的实际操作者。

### 默认别名

| 角色 | 客户侧默认显示 |
|---|---|
| 系统管理员 | 系统管理员 |
| 运营 | 运营 |

### 功能规则

1. 系统管理员和运营账号按角色生成默认别名。
2. 别名属于账号。同一账号在常用成员列表或项目成员列表中修改别名后，另一处同时更新。
3. 运营可以在常用成员列表或其所在项目的项目成员列表中修改自己的客户侧别名，不能修改其他人员的别名。系统管理员可以在常用成员列表和项目成员列表中修改自己及所有运营人员的客户侧别名。
4. 别名长度为 1 至 20 个字符，可以使用汉字、平假名、片假名、拉丁字母、数字、空格、中点和连字符；系统去掉开头和结尾的空格，不允许换行。不同账号可以使用相同别名。
5. 别名修改后，客户侧已有问题、评论和回复一同显示新别名，实际操作者不变。
6. 系统管理员、运营、内部制作和制作负责人在常用成员列表和项目成员列表中可以查看运营和系统管理员的真实用户名和客户侧别名。
7. 客户、客户负责人、服务商和通过素材邀请进入的外部用户，在问题列表中查看问题、评论和回复的作者时，只看到运营和系统管理员的别名；提问、评论或回复时输入 @，候选人员列表也只显示别名。
8. 除问题列表和输入 @ 后显示的候选人员列表外，客户侧其他页面不因本需求增加运营或系统管理员的名称。
9. 客户侧问题列表、@ 候选人员接口和相关导出内容不得返回运营或系统管理员的真实用户名。
10. 客户侧人员之间仍显示各自账号的显示名称，不使用别名。
11. VISTA Scene 邮件以系统名义发送，正文不显示人员的真实用户名或别名，邮件模板不使用人员名称变量。

### 验收标准

1. 运营可以在常用成员列表或项目成员列表中修改自己的别名，不能修改其他人员的别名；系统管理员可以修改自己及所有运营人员的别名。
2. 别名保存后，常用成员列表和项目成员列表显示同一结果，客户侧已有和新产生的问题、评论、回复同步显示新别名。
3. 客户侧的问题列表和 @ 候选人员列表不显示运营或系统管理员的真实用户名，制作侧的常用成员列表和项目成员列表同时显示真实用户名和别名。
4. 空别名、超过 20 个字符的别名、只包含空格的别名和包含换行的别名不能保存。
