PRD 模板概述
产品需求文档(Product Requirements Document, PRD)是产品开发过程中的核心文档, 它定义了产品的目标、功能、特性和行为,是产品团队、设计团队、开发团队和测试团队之间的沟通桥梁。
1.1 模板特点
✅ 完整性
覆盖产品需求的各个方面,从用户故事到技术实现,从业务流程到 API 协议,确保无遗漏。
🏗️ 结构化
清晰的层次结构和编号体系,便于阅读、理解和追溯,支持大型复杂产品的需求管理。
🧪 可测试
每个需求都有明确的验收标准和测试场景,确保需求可验证、可测试、可交付。
🔗 可追溯
建立用户故事→功能需求→测试用例的完整追溯链,支持影响分析和变更管理。
🎯 灵活性
支持不同规模和复杂度的产品,可根据项目特点裁剪或扩展特定章节。
🤖 AI 友好
结构化数据格式便于 AI 自动生成和处理,支持 AI Coding 全流程自动化。
📦 多格式
支持 JSON、Markdown、HTML、Excel 等多种导出格式,满足不同场景需求。
👥 协同性
明确的利益相关者和审批流程,支持多人协作和版本控制。
1.2 适用场景
🌐 Web 应用
企业级 SaaS 平台、电商网站、内容管理系统等
📱 移动应用
iOS/Android原生应用、小程序、混合应用等
🔌 API 服务
RESTful API、GraphQL、微服务、开放平台等
🤖 AI 系统
大模型应用、智能助手、推荐系统、自动化流程等
1.3 模板结构总览
| 章节 | 内容 | 关键产出 | 主要参与者 |
|---|---|---|---|
| 1. 文档信息 | 元数据、版本控制、审批流程 | 文档标识、变更记录 | 产品经理 |
| 2. 产品概述 | 愿景、目标、范围、受众 | 产品定位、边界定义 | 产品 + 业务 |
| 3. 用户研究 | 画像、故事、旅程地图 | 用户需求洞察 | 产品 + UX |
| 4. 业务流程 | 流程图、用例、参与者 | 业务逻辑梳理 | 产品 + 业务 |
| 5. 功能需求 | 详细功能描述、验收标准 | 可实现的功能规格 | 产品 + 开发 |
| 6. 非功能需求 | 性能、安全、可靠性等 | 质量属性指标 | 架构 + 开发 |
| 7. 原型设计 | 线框图、交互、视觉规范 | UI/UX设计方案 | UX/UI设计师 |
| 8. 数据模型 | 实体、关系、约束 | 数据库设计基础 | 架构 + DBA |
| 9. API 协议 | 接口定义、请求响应 | 前后端契约 | 后端开发 |
| 10-15. 其他 | 集成、合规、风险、发布等 | 全面保障 | 全员参与 |
文档信息与元数据
📝 文档元数据结构
| 字段 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
prd_id |
String | ✅ | PRD 唯一标识符 | PRD-20260313-001 |
title |
String | ✅ | PRD 标题 | 电商平台用户中心 PRD |
version |
String | ✅ | 版本号(语义化版本) | 1.0.0 |
status |
Enum | ✅ | 文档状态 | 草稿/评审中/已批准/已归档 |
created_date |
Date | ✅ | 创建日期 | 2026-03-13 |
last_updated |
Date | ✅ | 最后更新日期 | 2026-03-13 |
author |
String | ✅ | 作者/负责人 | 张三(产品经理) |
stakeholders |
List<String> | ✅ | 利益相关者列表 | ["李四(技术)", "王五(设计)"] |
approvers |
List<String> | ✅ | 审批人列表 | ["赵六(产品总监)"] |
tags |
List<String> | ⭕ | 标签(便于检索) | ["电商", "用户中心", "2026Q1"] |
📋 示例:文档元数据
{
"prd_id": "PRD-20260313-001",
"title": "电商平台用户中心产品需求文档",
"version": "1.0.0",
"status": "评审中",
"created_date": "2026-03-13",
"last_updated": "2026-03-13",
"author": "张三(高级产品经理)",
"stakeholders": [
"李四(技术负责人)",
"王五(UX 设计师)",
"赵六(运营负责人)",
"钱七(客服主管)"
],
"approvers": [
"周八(产品副总裁)",
"吴九(CTO)"
],
"tags": ["电商", "用户中心", "CRM", "2026Q1"]
}
2.1 变更日志规范
变更记录表结构
| 版本 | 日期 | 作者 | 变更类型 | 变更描述 | 影响范围 | 审批人 |
|---|---|---|---|---|---|---|
| 1.0.0 | 2026-03-13 | 张三 | 新增 | 初始版本创建 | 全部章节 | 周八 |
| 1.1.0 | 2026-03-15 | 张三 | 修改 | 根据评审意见更新功能需求 | 第 5 章 | 周八 |
| 1.2.0 | 2026-03-18 | 张三 | 补充 | 添加 API 协议和数据模型 | 第 8-9 章 | 周八 |
产品概述
3.1 执行摘要
编写要点
- 长度:200-300 字,简洁明了
- 内容:核心价值主张、目标市场、预期影响
- 读者:高管、投资人、新加入团队成员
- 目的:快速了解产品全貌,决定是否深入阅读
📋 示例:执行摘要
本产品是一个面向中小企业的智能化电商用户中心解决方案,旨在帮助企业提升客户管理效率和用户满意度。 通过整合用户数据、优化服务流程、提供个性化推荐,我们预计可将客户留存率提升 30%, 客服响应时间缩短 50%。产品将服务于 1000+ 中小企业,覆盖电商、零售、服务业等多个行业, 预计在上线后 12 个月内实现 10 万 + 活跃用户。
3.2 问题陈述
问题陈述框架
- 现状描述:当前用户面临的具体情况
- 痛点分析:存在的问题和挑战
- 影响评估:问题带来的负面影响
- 机会识别:解决后的潜在价值
📋 示例:问题陈述
现状:目前中小企业在用户管理方面普遍使用分散的工具和手工流程,
导致数据孤岛严重、客户信息不完整、服务响应慢。
痛点:
- 客户数据分散在多个系统中,无法形成统一视图
- 客服响应时间长,平均需要 24 小时
- 缺乏个性化服务能力,客户体验差
- 营销转化率低,复购率不足 20%
机会:通过一体化用户中心,整合数据、优化流程、智能服务,可显著提升客户满意度和商业价值。
3.3 产品愿景
📋 示例:产品愿景
成为中小企业首选的智能化用户管理平台,让每一家企业都能像大公司一样专业地服务客户。 通过 AI 驱动的数据洞察和自动化流程,帮助用户实现:
- 客户数据 100% 整合,形成完整的 360°视图
- 客服响应时间缩短至 2 小时内
- 个性化推荐转化率提升至行业平均水平的 2 倍
- 客户年留存率提升至 80%+
3.4 目标和目的(SMART 原则)
SMART 目标示例
| 目标 | S 具体 | M 可衡量 | A 可实现 | R 相关性 | T 时限性 |
|---|---|---|---|---|---|
| 目标 1 | 提升客户留存率 | 从 60% 提升至 80% | 基于行业标杆 | 直接关联收入 | 2026 年底前 |
| 目标 2 | 缩短响应时间 | 从 24h 降至 2h | 自动化流程支持 | 提升满意度 | 2026 Q3 前 |
| 目标 3 | 提高转化率 | 从 2% 提升至 5% | AI 推荐引擎 | 增加营收 | 2026 Q4 前 |
3.5 范围界定
✅ 包含范围 (In-Scope)
- 用户注册与登录(含第三方登录)
- 个人资料管理与头像上传
- 订单历史查询与追踪
- 收藏夹和购物车功能
- 优惠券和积分管理
- 在线客服与工单系统
- 消息通知中心(邮件/短信/推送)
- 数据导出功能(PDF/Excel)
❌ 排除范围 (Out-of-Scope)
- 商家后台管理系统(单独 PRD)
- 供应链和库存管理
- 财务结算和对账系统
- 移动端原生 App(Phase 2)
- 线下门店 POS 集成
- 跨境电商多语言支持(Phase 3)
- 区块链积分系统(研究中)
用户研究
4.1 用户画像 (User Personas)
用户画像模板
| 字段 | 说明 | 示例 |
|---|---|---|
| ID | 唯一标识 | PERSONA-001 |
| 姓名 | 拟人化名称 | 购物达人小李 |
| 角色 | 职业/身份 | 25 岁白领,电商重度用户 |
| 人口统计 | 年龄、性别、地域、收入等 | 25-30 岁,女性,一线城市,月收入 15k+ |
| 目标 | 使用产品想要达成什么 | 快速找到心仪商品、享受优惠、便捷售后 |
| 痛点 | 当前遇到的问题 | 商品信息不透明、客服响应慢、退货流程复杂 |
| 行为特征 | 使用习惯、偏好 | 移动端为主、晚间活跃、重视评价、价格敏感 |
| 代表性引言 | 真实用户语录 | "我就想简单买个东西,别让我找半天还找不到客服" |
4.2 用户故事 (User Stories)
用户故事格式
标准格式: 作为 [用户角色],我想要 [功能/特性],以便 [实现价值/解决问题] 示例: 作为 注册用户,我想要 通过手机号验证码快速登录,以便 无需记住密码即可访问我的账户 作为 购物者,我想要 查看订单实时物流信息,以便 了解包裹何时送达 作为 消费者,我想要 一键申请退货退款,以便 在不满意时快速处理
用户故事优先级排序(MoSCoW 法则)
| 优先级 | 含义 | 占比建议 | 示例 |
|---|---|---|---|
| M Must Have | 必须有,否则产品无法发布 | 40-50% | 用户注册登录、浏览商品、下单支付 |
| S Should Have | 应该有,重要但不是必须 | 20-30% | 收藏夹、优惠券、订单追踪 |
| C Could Have | 可以有,锦上添花 | 15-25% | 个性化推荐、积分商城、社交分享 |
| W Won't Have | 本次不会有,留待未来 | 5-10% | AR 试穿、语音购物、区块链积分 |
4.3 验收标准 (Acceptance Criteria)
Gherkin 格式示例(Given-When-Then)
用户故事: 作为用户,我想要通过手机号验证码登录,以便快速访问账户 验收标准: Scenario 1: 正常登录流程 Given 用户已注册且手机号有效 When 用户输入手机号并请求验证码 Then 系统发送 6 位数字验证码到手机 And 验证码 5 分钟内有效 Scenario 2: 验证码验证成功 Given 用户已收到有效验证码 When 用户输入正确的验证码 Then 系统验证通过并跳转到首页 And 自动登录用户账户 Scenario 3: 验证码错误 Given 用户输入错误的验证码 When 用户提交验证 Then 系统提示"验证码错误,请重新输入" And 允许用户重新尝试(剩余次数显示) Scenario 4: 验证码过期 Given 验证码已超过 5 分钟有效期 When 用户尝试使用该验证码 Then 系统提示"验证码已过期" And 提供"重新发送验证码"选项 Scenario 5: 防刷限制 Given 同一手机号 1 分钟内已请求 3 次验证码 When 用户再次请求验证码 Then 系统提示"操作过于频繁,请稍后再试" And 60 秒后才允许重新请求
业务流程
5.1 业务流程模板
流程定义要素
| 要素 | 说明 | 示例(订单处理流程) |
|---|---|---|
| 流程 ID | 唯一标识 | BP-ORDER-001 |
| 流程名称 | 简洁描述 | 订单创建与支付流程 |
| 流程描述 | 详细说明 | 用户从加入购物车到完成支付的完整流程 |
| 阶段 | 流程各阶段 | 加购 → 结算 → 支付 → 确认 |
| 参与者 | 涉及角色 | 用户、支付网关、订单系统、库存系统 |
| 输入 | 流程启动条件 | 用户点击"去结算"、购物车中有商品 |
| 输出 | 流程结果 | 已支付订单、库存扣减、支付记录 |
| 异常 | 可能的异常情况 | 支付失败、库存不足、网络超时 |
5.2 用例 (Use Cases)
用例模板示例
UC-001: 用户下单 参与者: 注册用户 前置条件: - 用户已登录 - 购物车中有商品 - 商品有库存 主流程: 1. 用户进入购物车页面 2. 用户选择要购买的商品 3. 用户点击"去结算" 4. 系统显示订单确认页面(含商品清单、金额、收货地址) 5. 用户确认订单信息并选择支付方式 6. 用户点击"立即支付" 7. 系统调用支付网关 8. 用户完成支付操作 9. 支付网关返回支付成功 10. 系统创建订单并扣减库存 11. 系统显示订单成功页面 12. 系统发送订单确认通知(邮件/短信) 备选流程: A1: 用户修改收货地址 - 在步骤 4,用户可以点击"修改地址" - 系统弹出地址选择器 - 用户选择新地址并确认 - 返回步骤 4,更新显示 A2: 用户使用优惠券 - 在步骤 5,用户可以点击"使用优惠券" - 系统显示可用优惠券列表 - 用户选择优惠券 - 系统重新计算订单金额 - 继续步骤 6 异常流程: E1: 支付失败 - 在步骤 8,支付网关返回失败 - 系统提示支付失败原因 - 提供"重新支付"或"更换支付方式"选项 - 用户可选择重试或取消订单 E2: 库存不足 - 在步骤 6,系统检测到某商品库存不足 - 系统提示"XX 商品库存不足" - 提供"移除商品"或"继续选购"选项 - 用户调整后重新开始流程 后置条件: - 订单状态为"已支付" - 库存数量已扣减 - 用户账户生成订单记录 - 支付记录已保存
功能需求
6.1 功能需求模板
FR 结构详解
| 字段 | 说明 | 填写指南 |
|---|---|---|
id |
唯一标识符 | FR-{模块}-{序号},如 FR-USER-001 |
title |
功能标题 | 简洁明确,10 字以内概括功能 |
description |
详细描述 | 200-500 字,说明功能是什么、做什么用 |
type |
需求类型 | 功能性/非功能性/业务/用户/系统/合规 |
priority |
优先级 | P0 关键 / P1 高 / P2 中 / P3 低 |
user_story_ids |
关联用户故事 | 追溯到具体的 US-ID,建立追溯链 |
acceptance_criteria |
验收标准 | 可测试的条件列表,每条独立可验证 |
business_rules |
业务规则 | 业务逻辑约束、计算公式、判断条件 |
data_requirements |
数据需求 | 需要存储/处理/展示的数据字段 |
ui_requirements |
UI 需求 | 界面元素、布局、交互方式 |
api_requirements |
API 需求 | 需要的接口、数据格式、调用频率 |
constraints |
约束条件 | 技术限制、业务限制、法律合规要求 |
assumptions |
假设条件 | 功能实现的前提假设 |
📋 完整功能需求示例
FR-USER-001: 手机号验证码登录
描述:
用户可以通过输入手机号和短信验证码的方式快速登录系统,无需记忆密码。
系统会向用户手机发送 6 位数字验证码,用户在有效期内输入正确验证码即可完成登录。
该功能支持新用户自动注册和老用户直接登录的无缝体验。
类型: 功能性需求
优先级: P0 - 关键
关联用户故事: ["US-LOGIN-001", "US-REGISTER-001"]
验收标准:
1. 用户输入有效手机号后,可以点击"获取验证码"按钮
2. 系统在 10 秒内发送 6 位数字验证码到用户手机
3. 验证码有效期为 5 分钟,超时后自动失效
4. 用户输入正确验证码后,系统在 2 秒内完成验证并登录
5. 新用户首次登录自动创建账户,老用户直接进入首页
6. 同一手机号 1 分钟内最多请求 3 次验证码
7. 同一手机号每天最多接收 20 条验证码
8. 验证码输入错误 5 次后,该验证码失效,需重新获取
9. 登录成功后,系统记录登录日志(时间、IP、设备)
10. 支持验证码语音播报功能(无障碍需求)
业务规则:
- 验证码格式:6 位纯数字
- 验证码生成算法:加密随机数生成
- 手机号格式校验:符合中国大陆手机号规则(11 位,1 开头)
- 自动注册规则:新用户登录后,系统自动创建账户,默认用户名=手机号
- 登录态有效期:7 天免登录(本地存储 Token)
- 频次限制:基于 IP+ 手机号双重限制
数据需求:
- 用户表:mobile(手机号), verify_code(验证码), code_expire_time(过期时间),
verify_attempts(验证尝试次数), last_login_time(最后登录时间)
- 验证码发送记录:mobile, send_time, ip_address, device_id, status(成功/失败)
- 登录日志:user_id, login_time, ip_address, device_info, login_type
UI 需求:
- 登录页面包含:手机号输入框、验证码输入框、获取验证码按钮、登录按钮
- 手机号输入框:实时格式校验,错误时红色边框提示
- 验证码输入框:6 个独立格子或连续输入框,支持自动聚焦下一格
- 获取验证码按钮:点击后进入 60 秒倒计时,期间禁用
- 登录按钮:输入完整前禁用,输入完成后启用
- 错误提示:输入框下方红色文字提示具体错误原因
- 加载状态:登录过程中按钮显示 loading 动画并禁用
- 成功反馈:登录成功后显示绿色对勾动画,然后跳转
API 需求:
- POST /api/v1/auth/send-code: 发送验证码
请求:{mobile: string}
响应:{success: boolean, message: string}
- POST /api/v1/auth/verify-code: 验证验证码
请求:{mobile: string, code: string}
响应:{success: boolean, token: string, user: object}
- 速率限制:每个接口独立限流,防止恶意调用
约束条件:
- 技术约束:必须使用公司指定的短信服务商(阿里云短信)
- 安全约束:验证码在数据库中必须加密存储
- 合规约束:必须符合《网络安全法》实名制要求
- 性能约束:验证码发送延迟<10 秒,验证响应时间<2 秒
- 兼容性约束:支持 iOS Safari、Android Chrome、微信内置浏览器
假设条件:
- 假设短信服务商可用性>99.9%
- 假设用户输入的手机号为其本人所有
- 假设用户手机能正常接收短信
- 假设网络环境稳定,无严重丢包
非功能需求
7.1 非功能需求分类
⚡ 性能 (Performance)
响应时间、吞吐量、并发能力、资源利用率
示例:页面加载<2 秒,API 响应<200ms
🔒 安全 (Security)
认证授权、数据加密、漏洞防护、审计日志
示例:HTTPS 传输、密码哈希存储
📈 可扩展性 (Scalability)
水平扩展、垂直扩展、弹性伸缩
示例:支持 10 倍流量增长的弹性架构
🛡️ 可靠性 (Reliability)
可用性、容错性、恢复能力
示例:99.9% 可用性,故障自动恢复
👁️ 可用性 (Usability)
易用性、学习曲线、用户满意度
示例:新用户 5 分钟内完成首次操作
♿ 无障碍 (Accessibility)
残障人士支持、WCAG 合规
示例:符合 WCAG 2.1 AA 标准
🌍 国际化 (Internationalization)
多语言、多时区、本地化
示例:支持中英双语,自动时区转换
📊 可维护性 (Maintainability)
代码质量、文档完善度、监控能力
示例:代码覆盖率>80%,全链路监控
7.2 NFR 模板示例
NFR 结构
NFR-PERF-001: API 响应时间 类别: Performance 标题: API 接口响应时间要求 描述: 所有对外提供的 API 接口必须在规定负载条件下满足响应时间要求, 确保用户体验和系统性能。 度量指标: 平均响应时间、P95 响应时间、P99 响应时间 目标值: - 平均响应时间:< 200ms - P95 响应时间:< 500ms - P99 响应时间:< 1000ms - 错误率:< 0.1% 测量方法: - 使用 APM 工具(如 New Relic/DataDog)持续监控 - 压测工具(如 JMeter/k6)定期压力测试 - 按接口维度统计,区分读/写操作 - 数据统计周期:按小时聚合,按天报告 优先级: P0 - 关键 测试场景: 1. 基准测试:单用户、理想网络条件下的响应时间 2. 负载测试:1000 并发用户,持续 30 分钟 3. 压力测试:逐步增加并发直到系统崩溃,找出瓶颈 4. 稳定性测试:80% 最大负载,持续 24 小时 5. 峰值测试:模拟促销活动时的突发流量(10 倍正常流量) 依赖条件: - 网络延迟:< 50ms(国内) - 数据库响应:< 50ms - 缓存命中率:> 90% 例外情况: - 文件上传/下载接口不适用此标准 - 复杂报表生成接口单独定义(<5 秒) - 第三方 API 调用时间不计入(但需监控)
7.3 安全需求示例
🔒 NFR-SEC-001: 数据安全
类别: Security 标题: 用户数据加密存储与传输 描述: 所有敏感用户数据必须在存储和传输过程中进行加密, 防止数据泄露和未授权访问。 度量指标: 加密覆盖率、密钥轮换周期、安全审计通过率 目标值: - 敏感数据加密存储率:100% - HTTPS 覆盖率:100% - 密钥轮换周期:≤90 天 - 安全漏洞修复时间:高危<24 小时,中危<7 天 测量方法: - 代码审查检查加密实现 - 渗透测试验证安全性 - 自动化扫描工具检测漏洞 - 安全审计报告跟踪 优先级: P0 - 关键 测试场景: 1. 数据传输抓包分析,验证 HTTPS 加密 2. 数据库直接查询,验证敏感字段加密存储 3. 中间人攻击模拟测试 4. SQL 注入、XSS、CSRF 等常见攻击防护测试 5. 权限绕过测试 合规要求: - 符合《网络安全法》要求 - 符合 GDPR 数据保护规定(如适用) - 符合 PCI DSS 支付卡行业标准(如处理支付)
原型与设计规范
8.1 原型保真度级别
三种保真度对比
| 级别 | 特点 | 用途 | 工具 | 耗时 |
|---|---|---|---|---|
| 低保真 (Low-Fi) |
草图、线框图 黑白灰、简单形状 无交互或简单跳转 |
早期概念验证 快速迭代想法 内部讨论 |
纸笔、Balsamiq Figma 线框模式 |
分钟~小时 |
| 中保真 (Mid-Fi) |
接近最终布局 基本颜色和字体 可点击交互原型 |
用户测试 利益相关者评审 交互流程验证 |
Figma、Sketch Adobe XD、Axure |
小时~天 |
| 高保真 (Hi-Fi) |
与最终产品一致 完整视觉设计 真实内容和动效 |
最终评审 开发参考 市场宣传 |
Figma、Sketch + Principle/ProtoPie |
天~周 |
8.2 原型规范模板
原型定义要素
| 要素 | 说明 | 示例 |
|---|---|---|
| 原型 ID | 唯一标识 | PROTO-CHECKOUT-001 |
| 名称 | 原型名称 | 结账流程原型 |
| 保真度 | Low/Mid/High | Mid-Fi(中保真) |
| 屏幕列表 | 包含的所有页面 | 购物车页、地址选择页、支付页、成功页 |
| 交互说明 | 用户操作与系统响应 | 点击"去结算"→跳转地址选择页 |
| 用户流程 | 完整任务路径 | 查看购物车→选择地址→选择支付方式→确认支付→完成 |
| 设计系统组件 | 使用的 UI 组件 | 按钮、输入框、卡片、导航栏等 |
| 无障碍要求 | Accessibility 考虑 | 键盘导航、屏幕阅读器支持、色盲友好 |
| 响应式断点 | 适配的屏幕尺寸 | Mobile (<768px)、Tablet (768-1024px)、Desktop (>1024px) |
8.3 设计规范
🎨 设计系统要素
色彩系统: - 主色:#6366f1 (Indigo) - 用于主要按钮、链接、重要图标 - Hover 状态:#4f46e5 (加深 10%) - Active 状态:#4338ca (加深 20%) - 辅助色:#8b5cf6 (Purple) - 用于次要操作、装饰元素 - 强调色:#06b6d4 (Cyan) - 用于提示、高亮、特殊状态 - 成功色:#10b981 (Green) - 用于成功提示、完成状态 - 警告色:#f59e0b (Amber) - 用于警告提示、注意信息 - 危险色:#ef4444 (Red) - 用于错误提示、删除操作 - 中性色: - 文字主色:#1e293b - 文字次要:#64748b - 边框色:#e2e8f0 - 背景色:#f8fafc 字体系统: - 英文字体:Inter, system-ui, sans-serif - 中文字体:'PingFang SC', 'Microsoft YaHei', sans-serif - 字号规范: - 超大标题:32px / 2.5rem (H1) - 大标题:24px / 2rem (H2) - 中标题:20px / 1.5rem (H3) - 小标题:16px / 1.25rem (H4) - 正文:14px / 1rem (Base) - 辅助文字:12px / 0.875rem (Small) - 字重: - Regular: 400 - Medium: 500 - Semibold: 600 - Bold: 700 间距系统: - 基于 8px 网格系统 - 间距值:4, 8, 12, 16, 24, 32, 48, 64, 96, 128 px - 组件内边距:16px (标准), 24px (大) - 组件外边距:24px (标准), 32px (大) 圆角规范: - 小圆角:4px (按钮、输入框) - 中圆角:8px (卡片、弹窗) - 大圆角:16px (模态框、特殊组件) - 全圆角:9999px (头像、徽章) 阴影层级: - Shadow Sm: 0 1px 2px rgba(0,0,0,0.05) - Shadow Md: 0 4px 6px rgba(0,0,0,0.1) - Shadow Lg: 0 10px 15px rgba(0,0,0,0.1) - Shadow Xl: 0 20px 25px rgba(0,0,0,0.15) - Shadow 2xl: 0 25px 50px rgba(0,0,0,0.25) 动效规范: - 缓动函数:cubic-bezier(0.4, 0, 0.2, 1) - 持续时间: - 快速:150ms (Hover、Focus) - 标准:300ms (一般过渡) - 慢速:500ms (大型动画) - 动效原则: - 有意义:每个动画都有明确目的 - 自然:符合物理规律 - 克制:不过度使用动画
数据模型
9.1 实体定义模板
数据模型结构
| 字段 | 类型 | 必填 | 默认值 | 说明 | 示例 |
|---|---|---|---|---|---|
id |
UUID / BIGINT | ✅ | auto | 主键 ID | 550e8400-e29b-41d4-a716-446655440000 |
created_at |
DATETIME | ✅ | NOW() | 创建时间 | 2026-03-13 10:30:00 |
updated_at |
DATETIME | ✅ | NOW() | 更新时间(自动) | 2026-03-13 11:45:00 |
is_deleted |
BOOLEAN | ✅ | FALSE | 软删除标记 | false |
version |
INT | ⭕ | 1 | 乐观锁版本号 | 1 |
📊 示例:用户实体
DM-USER-001: User (用户表)
描述: 存储系统注册用户的基本信息和账户状态
属性:
| 字段名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| id | UUID | ✅ | auto | 主键 ID |
| mobile | VARCHAR(11) | ✅ | - | 手机号(唯一) |
| email | VARCHAR(255) | ⭕ | NULL | 邮箱地址 |
| password_hash | VARCHAR(255) | ⭕ | NULL | 密码哈希(第三方登录为空) |
| nickname | VARCHAR(50) | ⭕ | NULL | 昵称 |
| avatar_url | VARCHAR(500) | ⭕ | NULL | 头像 URL |
| gender | TINYINT | ⭕ | 0 | 性别:0-未知,1-男,2-女 |
| birthday | DATE | ⭕ | NULL | 生日 |
| registration_source | VARCHAR(20) | ✅ | - | 注册来源:SMS/WECHAT/WEIBO |
| last_login_at | DATETIME | ⭕ | NULL | 最后登录时间 |
| last_login_ip | VARCHAR(45) | ⭕ | NULL | 最后登录 IP |
| status | TINYINT | ✅ | 1 | 状态:0-禁用,1-正常,2-注销 |
| created_at | DATETIME | ✅ | NOW() | 创建时间 |
| updated_at | DATETIME | ✅ | NOW() | 更新时间 |
| is_deleted | BOOLEAN | ✅ | FALSE | 软删除标记 |
| version | INT | ✅ | 1 | 乐观锁版本 |
索引:
- PRIMARY KEY (id)
- UNIQUE INDEX idx_mobile (mobile)
- INDEX idx_email (email)
- INDEX idx_status (status)
- INDEX idx_created_at (created_at)
关系:
- 1:N → Order (用户有多个订单)
- 1:N → Address (用户有多个收货地址)
- 1:1 → UserProfile (用户详情,一对一扩展)
约束:
- mobile 必须唯一且符合中国手机号格式
- email 必须符合邮箱格式(如果提供)
- status 默认为 1(正常)
- 软删除:is_deleted=true 的记录对业务不可见
示例数据:
```json
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"mobile": "13800138000",
"email": "user@example.com",
"nickname": "张三",
"avatar_url": "https://cdn.example.com/avatars/001.jpg",
"gender": 1,
"birthday": "1990-01-01",
"registration_source": "SMS",
"last_login_at": "2026-03-13T10:30:00Z",
"last_login_ip": "192.168.1.100",
"status": 1,
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-03-13T10:30:00Z",
"is_deleted": false,
"version": 1
}
```
9.2 ER 图规范
- 在线工具:dbdiagram.io、DrawSQL、Lucidchart
- 桌面工具:MySQL Workbench、DataGrip、Navicat
- 代码生成:Prisma Schema、TypeORM Entities
最佳实践:将 ER 图导出为 PNG/SVG 嵌入 PRD 文档,并提供可编辑源文件链接(如 Figma/dbdiagram)。
API 接口协议
10.1 API 设计原则
🔧 RESTful 风格
- 使用名词复数表示资源:/users, /orders
- HTTP 方法表达操作:GET/POST/PUT/DELETE
- 状态码准确反映结果:200/201/400/404/500
- 版本控制:/api/v1/resource
📦 统一响应格式
{
"success": true,
"data": {...},
"message": "操作成功",
"timestamp": "2026-03-13T10:30:00Z",
"request_id": "uuid"
}
🔐 认证授权
- JWT Bearer Token
- OAuth 2.0(第三方登录)
- API Key(服务端调用)
- 刷新 Token 机制
⚡ 性能优化
- 分页:?page=1&size=20
- 字段过滤:?fields=id,name,email
- 缓存:Cache-Control headers
- 批量操作:减少请求次数
10.2 API 协议模板
API 定义要素
| 要素 | 说明 | 示例 |
|---|---|---|
| API ID | 唯一标识 | API-USER-001 |
| 端点 | URL 路径 | /api/v1/users/{id} |
| 方法 | HTTP Method | GET / POST / PUT / DELETE |
| 描述 | 接口功能说明 | 获取指定用户的详细信息 |
| 请求头 | Required Headers | Authorization, Content-Type |
| 路径参数 | Path Parameters | id: 用户 ID (UUID) |
| 查询参数 | Query Parameters | fields: 字段过滤 |
| 请求体 | Request Body (JSON) | POST/PUT 时的数据结构 |
| 成功响应 | 2xx Response | 状态码 + 数据结构 |
| 错误响应 | 4xx/5xx Response | 错误码 + 错误信息 |
| 认证方式 | Authentication | JWT Bearer Token |
| 速率限制 | Rate Limits | 100 requests/minute |
| cURL 示例 | 调用示例 | 完整的命令行示例 |
🔌 完整 API 示例
API-USER-001: 获取用户信息
端点: GET /api/v1/users/{id}
描述: 获取指定用户的详细信息,包括基本信息和扩展资料
认证: JWT Bearer Token(需要登录)
权限: 用户只能查看自己的信息,管理员可查看所有用户
速率限制: 100 requests/minute per user
路径参数:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | UUID | ✅ | 用户 ID |
查询参数:
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|------|------|------|--------|------|
| fields | String | ⭕ | all | 字段过滤,逗号分隔 |
| include | String | ⭕ | none | 关联数据,如:orders,addresses |
请求头:
```
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Content-Type: application/json
```
成功响应 (200 OK):
```json
{
"success": true,
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"mobile": "138****8000",
"email": "user@example.com",
"nickname": "张三",
"avatar_url": "https://cdn.example.com/avatars/001.jpg",
"gender": 1,
"birthday": "1990-01-01",
"registration_source": "SMS",
"last_login_at": "2026-03-13T10:30:00Z",
"created_at": "2026-01-01T00:00:00Z"
},
"message": "获取成功",
"timestamp": "2026-03-13T12:00:00Z",
"request_id": "req-abc123"
}
```
错误响应 (404 Not Found):
```json
{
"success": false,
"error": {
"code": "USER_NOT_FOUND",
"message": "用户不存在",
"details": {
"user_id": "550e8400-e29b-41d4-a716-446655440000"
}
},
"timestamp": "2026-03-13T12:00:00Z",
"request_id": "req-abc123"
}
```
错误码说明:
| 状态码 | 错误码 | 说明 |
|--------|--------|------|
| 400 | INVALID_USER_ID | 用户 ID 格式无效 |
| 401 | UNAUTHORIZED | 未登录或 Token 过期 |
| 403 | FORBIDDEN | 无权查看该用户信息 |
| 404 | USER_NOT_FOUND | 用户不存在 |
| 429 | RATE_LIMIT_EXCEEDED | 请求频率超限 |
| 500 | INTERNAL_ERROR | 服务器内部错误 |
cURL 示例:
```bash
curl -X GET 'https://api.example.com/api/v1/users/550e8400-e29b-41d4-a716-446655440000?fields=id,nickname,avatar_url' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' \
-H 'Content-Type: application/json'
```
SDK 示例 (JavaScript):
```javascript
const response = await fetch('/api/v1/users/550e8400-e29b-41d4-a716-446655440000', {
method: 'GET',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
}
});
if (response.ok) {
const { data } = await response.json();
console.log('用户昵称:', data.nickname);
} else {
const { error } = await response.json();
console.error('获取失败:', error.message);
}
```
风险评估与假设
11.1 风险评估矩阵
风险等级评估
| 概率 ↓ \ 影响 → | 影响程度 | ||
|---|---|---|---|
| 低 (Low) | 中 (Medium) | 高 (High) | |
| 高 (High) | 中等风险 监控 |
高风险 优先处理 |
极高风险 立即行动 |
| 中 (Medium) | 低风险 接受 |
中等风险 制定计划 |
高风险 优先处理 |
| 低 (Low) | 低风险 接受 |
低风险 接受 |
中等风险 监控 |
11.2 风险评估模板
风险登记册结构
| 字段 | 说明 | 示例 |
|---|---|---|
| ID | 风险唯一标识 | RISK-TECH-001 |
| 风险描述 | 清晰描述风险事件 | 短信服务商可能不稳定,导致验证码发送失败 |
| 类别 | Technical/Business/Operational/Compliance | Technical |
| 概率 | Low/Medium/High | Medium |
| 影响 | Low/Medium/High | High(影响用户登录) |
| 风险值 | 概率×影响 | High(中×高) |
| 缓解策略 | 预防措施 | 接入备用短信服务商,实现自动切换 |
| 应急计划 | 发生后的应对 | 手动切换到备用服务商,发送故障公告 |
| 负责人 | Risk Owner | 李四(技术负责人) |
| 状态 | Open/Mitigated/Closed | Open |
| 最后更新 | 最后评审日期 | 2026-03-13 |
📋 风险评估示例
RISK-TECH-001: 短信服务商不稳定 类别: Technical 描述: 当前仅依赖单一短信服务商(阿里云短信),如果该服务商出现故障或限流, 将导致用户无法接收验证码,直接影响登录注册功能,造成用户流失。 概率: Medium(历史上曾发生过 2 次故障,每次约 30 分钟) 影响: High(登录注册是核心功能,故障期间新用户无法注册,老用户无法登录) 风险值: High(中 × 高) 触发条件: - 短信发送成功率 < 95% - 平均发送延迟 > 30 秒 - 服务商返回错误率 > 5% 缓解策略: 1. 【短期】接入备用短信服务商(腾讯云短信),实现双通道 2. 【中期】建立智能路由系统,根据成功率自动切换服务商 3. 【长期】建立短信发送监控告警系统,提前发现异常 实施计划: - Week 1: 完成腾讯云短信账号申请和资质审核 - Week 2: 开发双通道发送逻辑,支持手动切换 - Week 3: 开发智能路由和监控告警系统 - Week 4: 灰度测试,观察效果后全量上线 应急计划: 1. 监控系统检测到故障后,自动切换到备用服务商 2. 发送告警通知给值班工程师(电话 + 短信 + 邮件) 3. 如备用服务商也故障,启动降级方案: - 已登录用户不受影响(Token 续期) - 新用户引导使用邮箱验证码或第三方登录 - 官网首页发布公告,告知预计恢复时间 4. 联系主服务商技术支持,跟进故障修复进度 负责人: 李四(后端开发负责人) 状态: Open(缓解策略进行中) 最后更新: 2026-03-13 下次评审: 2026-03-20(每周评审一次,直到关闭) RISK-BIZ-001: 用户增长不及预期 类别: Business 描述: 产品上线后,如果市场推广效果不佳或产品吸引力不足,可能导致用户增长缓慢, 无法达到预期的 10 万活跃用户目标,影响商业价值和投资回报。 概率: Medium(市场竞争激烈,获客成本上升) 影响: High(直接影响收入和估值) 风险值: High 缓解策略: 1. 制定多元化获客渠道:SEO、SEM、社交媒体、KOL 合作 2. 建立用户推荐机制:老带新奖励、邀请有礼 3. 优化产品体验:降低使用门槛、提升转化率 4. 数据驱动运营:A/B 测试、漏斗分析、用户分群 应急计划: 1. 如果首月新增用户 < 目标的 50%,启动应急预案 2. 加大市场投入,增加广告预算 50% 3. 推出拉新活动:注册送优惠券、首单立减 4. 调整产品策略,聚焦核心功能和目标用户群 负责人: 王五(运营负责人) 状态: Open
11.3 假设条件
常见假设类型
| 类型 | 说明 | 示例 |
|---|---|---|
| 技术假设 | 技术可行性和性能 | 假设 Redis 集群可支撑 10 万 QPS |
| 资源假设 | 人力、预算、时间 | 假设项目团队保持 10 人满编 |
| 市场假设 | 市场需求和竞争 | 假设目标市场规模年增长 20% |
| 用户假设 | 用户行为和偏好 | 假设 80% 用户使用移动端访问 |
| 合规假设 | 法律法规不变 | 假设现行政策在一年内无重大变化 |
📝 假设条件列表示例
- 技术假设:
- 假设云服务商(阿里云)可用性≥99.9%
- 假设 MySQL 主从复制延迟<1 秒
- 假设 CDN 节点覆盖全国 95% 地区
- 假设第三方 API(支付、物流)响应时间<2 秒
- 资源假设:
- 假设项目预算 500 万充足,无追加需求
- 假设核心团队(产品 2+ 设计 2+ 开发 8+ 测试 3)稳定
- 假设办公场地和设备按时到位
- 假设外包团队(UI/安全审计)按时交付
- 时间假设:
- 假设项目按计划 2026-03-01 启动,2026-09-30 上线
- 假设各阶段评审按时完成,无重大返工
- 假设法定节假日不影响关键里程碑
- 假设供应商按时交付(服务器、域名备案等)
- 市场假设:
- 假设目标市场规模保持 20% 年增长率
- 假设主要竞争对手无颠覆性产品发布
- 假设获客成本控制在 100 元/用户以内
- 假设用户付费转化率≥5%
发布计划
12.1 分阶段发布策略
典型发布阶段
| 阶段 | 时间 | 目标 | 功能范围 | 发布策略 |
|---|---|---|---|---|
| Phase 0 内部 Alpha |
上线前 4 周 | 功能验证 Bug 修复 |
核心功能 (20%) |
仅限内部员工 (50 人) |
| Phase 1 封闭 Beta |
上线前 2 周 | 用户体验 性能测试 |
MVP 功能 (60%) |
邀请制用户 (500 人) |
| Phase 2 公开 Beta |
上线日 | 市场验证 用户增长 |
完整功能 (100%) |
限量开放 (1 万人) |
| Phase 3 正式发布 |
上线后 2 周 | 规模增长 商业化 |
全部功能 + 优化 |
全量开放 (无限制) |
| Phase 4 持续迭代 |
上线后每月 | 功能增强 体验优化 |
新功能 (按月发布) |
灰度发布 (10%→50%→100%) |
12.2 发布计划模板
📅 Phase 1 - MVP 发布计划
阶段名称: Phase 1 - MVP(最小可行产品) 目标日期: 2026-06-30 发布时间窗: 2026-06-30 02:00-06:00(凌晨低峰期) 功能范围: ✅ 包含功能: - 用户注册登录(手机号验证码) - 个人资料管理 - 商品浏览和搜索 - 购物车功能 - 下单支付(微信支付、支付宝) - 订单管理和物流追踪 - 基础客服(在线客服 + 工单) ❌ 不包含: - 优惠券和积分系统 - 个性化推荐 - 社交分享功能 - 移动端 App(仅 H5) 成功指标: - 注册转化率 ≥ 30%(访问→注册) - 下单转化率 ≥ 5%(注册→下单) - 支付成功率 ≥ 95% - 页面加载时间 < 3 秒 - 系统可用性 ≥ 99.5% - 用户满意度 ≥ 4.0/5.0 - 首周新增用户 ≥ 5000 人 发布策略: 1. 灰度发布: - Day 1: 10% 流量(500 用户) - Day 2: 30% 流量(1500 用户) - Day 3: 60% 流量(3000 用户) - Day 4: 100% 流量(全量) 2. 监控指标: - 实时错误率(目标<0.1%) - API 响应时间(P95<500ms) - 服务器 CPU/内存使用率(<70%) - 数据库连接数(<80%) - 业务指标(注册数、订单数、支付金额) 3. 值班安排: - 发布总指挥:张三(产品负责人) - 技术负责人:李四(后端 Lead) - 运维值班:王五 + 赵六(轮班) - 客服值班:钱七 + 孙八(轮班) - 应急响应:全员 on-call 回滚计划: 触发条件: - 致命 Bug 导致核心功能不可用(登录/支付) - 错误率 > 5% 且 30 分钟内无法修复 - 系统性能严重下降(响应时间>10 秒) - 数据错误或丢失 回滚步骤: 1. 发布总指挥决策是否回滚 2. 运维团队执行回滚脚本(10 分钟内完成) 3. 切回到上一个稳定版本(v0.9.5) 4. 验证核心功能恢复正常 5. 发布公告告知用户(官网 + 社交媒体) 6. 问题修复后重新规划发布时间 沟通计划: - 发布前 1 周: 内部全员邮件通知 - 发布前 1 天: 官网发布公告(维护通知) - 发布当天: 实时同步进展(内部群) - 发布成功: 全员庆祝邮件 + 用户感谢公告 - 发布失败: 诚恳道歉公告 + 补偿方案(优惠券) 验收标准: - [ ] 所有 P0/P1 Bug 已修复 - [ ] 性能测试通过(压测报告) - [ ] 安全扫描通过(无高危漏洞) - [ ] 回归测试通过率 100% - [ ] 运维手册和应急预案已准备 - [ ] 客服培训已完成 - [ ] 监控告警系统已配置 - [ ] 回滚演练已完成
成功指标与 KPI
13.1 指标分类
📈 增长指标
- 新增用户数(New Users)
- 活跃用户数(DAU/WAU/MAU)
- 用户增长率(Growth Rate)
- 获客成本(CAC)
💰 营收指标
- 总收入(Revenue)
- 平均订单金额(AOV)
- 用户生命周期价值(LTV)
- 付费转化率(Conversion Rate)
😊 体验指标
- 净推荐值(NPS)
- 客户满意度(CSAT)
- 客户费力指数(CES)
- 用户留存率(Retention)
⚡ 性能指标
- 页面加载时间(Page Load Time)
- API 响应时间(Response Time)
- 系统可用性(Uptime)
- 错误率(Error Rate)
13.2 KPI 定义模板
KPI 卡片结构
| 字段 | 说明 | 示例 |
|---|---|---|
| KPI 名称 | 简洁明确的名称 | 日活跃用户数(DAU) |
| 定义 | 精确定义和计算方法 | 当日至少完成一次登录的独立用户数 |
| 公式 | 计算公式(如适用) | COUNT(DISTINCT user_id WHERE login_count > 0) |
| 数据来源 | 数据采集系统 | 用户行为日志系统 → DataWarehouse |
| 基线值 | 当前水平或起始值 | 5,000 DAU(Beta 测试期间平均) |
| 目标值 | 期望达到的目标 | 50,000 DAU(上线后 3 个月) |
| 测量频率 | 多久统计一次 | 每日统计,每周报告,每月复盘 |
| 负责人 | 负责跟踪和改进的人 | 王五(运营负责人) |
| 警戒线 | 需要干预的阈值 | DAU 连续 7 天下跌>10% |
📊 KPI 示例:用户留存率
KPI 名称: 用户留存率(Retention Rate)
定义:
在某一时间段内新增的用户中,在后续特定时间点仍然活跃的用户比例。
反映产品的用户粘性和长期价值。
公式:
留存率 = (第 N 日仍活跃的新增用户数 / 第 1 日新增用户总数) × 100%
常用留存周期:
- 次日留存(Day 1 Retention)
- 7 日留存(Day 7 Retention)
- 30 日留存(Day 30 Retention)
数据来源:
- 用户登录日志表(user_login_logs)
- 用户注册表(user_registration)
- 数据仓库(Hive/ClickHouse)
SQL 示例(7 日留存):
```sql
SELECT
DATE(registration_date) AS reg_date,
COUNT(DISTINCT u.user_id) AS new_users,
COUNT(DISTINCT CASE WHEN l.login_date BETWEEN DATE_ADD(registration_date, 6) AND DATE_ADD(registration_date, 7)
THEN u.user_id END) AS retained_users,
ROUND(COUNT(DISTINCT CASE WHEN l.login_date BETWEEN DATE_ADD(registration_date, 6) AND DATE_ADD(registration_date, 7)
THEN u.user_id END) * 100.0 / COUNT(DISTINCT u.user_id), 2) AS retention_rate
FROM user_registration u
LEFT JOIN user_login_logs l ON u.user_id = l.user_id
WHERE u.registration_date >= '2026-01-01'
GROUP BY DATE(registration_date)
ORDER BY reg_date;
```
基线值:
- 次日留存:40%(行业平均 35-45%)
- 7 日留存:20%(行业平均 15-25%)
- 30 日留存:10%(行业平均 8-12%)
目标值(上线后 6 个月):
- 次日留存:≥ 50%
- 7 日留存:≥ 30%
- 30 日留存:≥ 15%
测量频率:
- 每日计算前一日新增用户的留存
- 每周汇总周报(按注册日期分组)
- 每月深度分析( cohort analysis)
可视化:
- 折线图:展示留存率趋势变化
- 热力图:Cohort Analysis 矩阵
- 漏斗图:从注册到各留存节点的转化
负责人: 王五(运营负责人)
警戒线:
- 次日留存 < 35% 连续 3 天 → 触发预警
- 7 日留存 < 15% 连续 7 天 → 启动专项优化
改进措施(如低于目标):
1. 新用户引导流程优化(Onboarding)
2. 推送个性化内容和优惠(Push Notification)
3. 建立用户成长体系(签到、任务、成就)
4. A/B 测试关键页面和功能
5. 用户调研和访谈,找出流失原因
附录
14.1 术语表
常用术语解释
| 术语/缩写 | 全称 | 解释 |
|---|---|---|
| PRD | Product Requirements Document | 产品需求文档,定义产品功能和特性的正式文档 |
| US | User Story | 用户故事,从用户角度描述需求的方法 |
| AC | Acceptance Criteria | 验收标准,判断需求是否完成的 condition |
| MVP | Minimum Viable Product | 最小可行产品,用最少的功能验证商业模式 |
| DAU | Daily Active Users | 日活跃用户数,一天内登录或使用产品的用户数 |
| API | Application Programming Interface | 应用程序编程接口,软件系统间交互的约定 |
| JWT | JSON Web Token | 一种开放的令牌标准,用于安全的身份验证和信息传递 |
| SLA | Service Level Agreement | 服务等级协议,定义服务提供商和客户之间的服务质量承诺 |
| NPS | Net Promoter Score | 净推荐值,衡量用户忠诚度和满意度的指标 |
| A/B Test | Split Testing | 将用户分为两组,分别展示不同版本,比较效果的实验方法 |
14.2 参考资料
14.3 变更日志
文档变更记录
| 版本 | 日期 | 作者 | 变更类型 | 变更描述 | 审批人 |
|---|---|---|---|---|---|
| 1.0.0 | 2026-03-13 | 张三 | 新增 | 初始版本创建,完成全部 14 章内容 | 周八 |
| 1.1.0 | 2026-03-15 | 张三 | 修改 | 根据评审意见更新第 5 章功能需求,补充更多示例 | 周八 |
| 1.2.0 | 2026-03-18 | 张三 | 补充 | 添加第 8-9 章数据模型和 API 协议详细内容 | 周八 |
| 2.0.0 | 2026-03-20 | 张三 | major | PRD 评审通过,版本正式发布 | 周八 |