- 新增产品动态时间线接口文档,明确前端调用规范 - 定义接口请求参数、响应结构和字段语义说明 - 提供请求示例和错误码说明 - 添加左侧筛选项映射规则和时间格式说明 feat(product): 实现产品首页动态时间线功能 - 重构产品首页布局结构,采用档案横幅型设计 - 新增对象基础概述横幅模块 - 实现产品动态时间线面板组件 - 集成需求池管理概览和最近变化区域 - 添加扩展信息区预留模块位 chore(docs): 更新代理工作说明和前端测试策略 - 添加前端任务测试策略说明 - 更新代理工作流程规范 - 明确git操作执行边界 - 优化组件类型声明更新
8.1 KiB
产品对象首页改版设计说明
日期:2026-04-23
1. 目标
本设计用于收敛 RDMS 产品对象上下文默认首页的改版方向。
本轮目标不是继续做“说明型占位页”,而是明确把当前 /product/dashboard?objectId=... 改成一个真正可用的产品对象首页:
- 第一眼先让用户知道当前看的是什么产品
- 第二眼能快速判断对象最近发生了什么
- 第三眼能看出需求池现在的经营状态和最近变化
- 底部为后续业务模块保留正式挂载位,而不是临时拼接入口
2. 已确认诉求
基于本轮对话,已确认以下用户诉求:
- 首页顶部必须先展示产品基础概述,而不是先铺统计卡片
- 基础概述至少包含:名称、编号、团队、产品经理等对象基础信息
- 页面需要一块明显的时间线,用于承接产品对象与团队变更动态
- 页面需要承接需求池管理情况,重点看总量、状态、待处理等统计信息
- 需求相关事件不要混入对象时间线,应单独作为需求池最近变化区域
- 快捷入口不要保留
- 底部允许保留后续扩展区,重点预留给里程碑、风险点管理、产品资料等模块
- 能接真实接口就接真实接口,当前没有稳定接口的区域允许先用假数据,但结构必须按正式首页来设计
3. 首页定位结论
本页定位不是:
- 纯报表看板
- 纯审计日志页
- 设置页搬运版
- 导航入口集合页
本页定位应当是:
- 产品对象首页
- 偏统计,也带审计
- 但页面主语始终是“当前产品对象”
换句话说,这个页面要同时回答三个问题:
- 我现在看的是什么产品?
- 这个产品对象最近发生了什么?
- 这个产品的需求池现在处于什么状态?
4. 页面结构
4.1 桌面端结构
桌面端建议采用三层结构:
- 顶部
对象基础概述横幅 - 中部
左时间线 + 右需求池双模块 - 底部
扩展信息区
推荐布局比例:
- 顶部横幅:
24 / 24 - 中部主区:左
16 / 24,右8 / 24 - 底部扩展区:
24 / 24
中部左侧时间线高度应明显高于右侧任一单模块,形成首页主阅读区。
4.2 移动端结构
移动端统一退化为单列纵向布局,顺序为:
- 对象基础概述横幅
- 对象 / 团队动态时间线
- 需求池管理概览
- 需求池最近变化
- 扩展信息区
移动端不强撑左右栏并排,不做卡片墙式压缩。
5. 模块设计
5.1 对象基础概述横幅
顶部采用“档案横幅型”,不采用纯指标卡片型。
横幅左侧承接对象身份信息:
- 产品名称
- 产品编号
- 当前状态标签
- 产品经理
- 团队规模
- 团队角色摘要
- 简短描述或备注
横幅右侧承接 4 个摘要指标:
- 团队人数
- 需求总量
- 待处理需求
- 最近动态时间
设计原则:
- 左侧负责建立对象识别
- 右侧负责快速判断当前概况
- 右侧指标只保留 4 项,不堆成报表卡片墙
5.2 对象 / 团队动态时间线
该区域位于中部左侧,是首页的主阅读区。
这条时间线只承接对象与团队变化,不承接需求事件。
第一版事件范围收敛为:
- 产品创建
- 产品状态变更
- 产品经理变更
- 成员加入
- 成员移出
- 成员角色调整
每条时间线建议展示:
- 事件标题
- 事件类型标签
- 发生时间
- 操作摘要
- 必要时展示原因或备注
表达目标是“业务时间线”,不是后台审计表格。
5.3 需求池管理概览
该区域位于中部右侧上半块,用于表达需求池的经营状态。
第一版首页需要优先看到的内容:
- 需求总量
- 各状态数量
- 待处理数量
- 高优先级待处理数量
展示方式建议为“摘要指标 + 状态分布列表”,不直接在首页展开完整需求表格。
这一块回答的是:
- 需求池是否健康
- 当前待处理压力大不大
- 是否存在需要优先关注的积压
5.4 需求池最近变化
该区域位于中部右侧下半块,与需求池管理概览上下分层,但属于同一侧栏语义。
该区域不重复展示总量,而是展示需求池最近发生的变化。
第一版建议承接:
- 最近新增需求
- 最近状态流转
- 最近关闭或完成
每条记录建议至少展示:
- 需求标题
- 动作类型
- 时间
- 当前状态或状态变更摘要
若当前没有真实数据,仍保留正式模块壳,不退化成“待开发”一句话。
5.5 扩展信息区
底部不再保留快捷入口,改为正式扩展信息区。
当前优先预留 3 类模块位:
- 里程碑
- 风险点管理
- 产品资料
这一层的作用是:
- 为后续对象级信息继续扩展留下稳定挂载位
- 不把中部主结构挤成信息大杂烩
- 避免为了未来模块提前做假导航入口
如果当前没有稳定接口,可先保留正式卡片结构与空态说明。
6. 数据策略
6.1 真实接口优先
当前首页优先消费现有真实接口:
fetchGetProductfetchGetProductSettingsfetchGetProductMembers
这些接口足以支撑:
- 对象基础概述中的名称、编号、状态、产品经理、描述
- 团队人数与角色摘要
- 最近动态中的产品创建、状态变化、成员加入/移出
6.2 假数据使用边界
当前没有稳定真实接口的区域,允许先用假数据,但边界必须明确:
- 需求池管理概览
- 需求池最近变化
- 扩展信息区中的里程碑、风险点管理、产品资料摘要
假数据的使用原则:
- 只补“当前没有稳定接口”的区域
- 不反向污染对象基础信息
- 不把假数据混入对象上下文 store
- 数据源要集中放在概览页自己的 mock 模块中,方便后续替换
6.3 不推荐的做法
以下做法应避免:
- 把需求假数据散落写进页面组件
- 用对象 demo 数据冒充真实产品详情
- 把对象时间线和需求时间线混成一条
- 用快捷入口伪装成首页内容
7. 空态规则
首页至少要区分三种状态:
- 能力未接入,只能先显示正式占位信息
- 能力已接入,但当前该产品暂无业务数据
- 当前用户无权限查看该模块
这三种状态不能共用一套模糊文案。
对需求池和扩展信息区,当前阶段更推荐“正式空态”而不是“待开发”。
8. 页面边界
首页明确不承接以下内容:
- 快捷入口导航区
- 完整团队成员表格
- 完整需求列表表格
- 设置页重表单
- 完整审计日志明细页
首页要做的是概述、判断与阅读,不是重操作页。
9. 实施建议
第一阶段建议先完成结构性改造:
- 重做顶部横幅,建立对象档案感
- 保留中部左高右双块结构
- 用真实接口接通对象概述与对象 / 团队时间线
- 用局部 mock 数据先接通需求池两块和底部扩展区
第二阶段再逐步替换需求池与扩展区数据源:
- 接真实需求池统计接口
- 接真实需求动态接口
- 接里程碑、风险点、产品资料摘要接口
10. 验证标准
本设计是否成立,可按以下标准判断:
- 进入首页后,第一眼能认出当前产品对象
- 用户能自然读到对象 / 团队最近发生了什么
- 右侧能快速判断需求池当前压力与最近变化
- 页面看起来像“对象首页”,而不是“普通后台卡片堆叠页”
- 当前没有真实接口的区域也保留正式结构,不显得像临时占位
- 后续新增里程碑、风险点管理、产品资料等能力时,不需要推翻整页结构
11. 本轮设计结论
本轮最终设计结论如下:
- 首页定位为“产品对象首页”,偏统计,也带审计,但不做纯报表页
- 顶部采用档案横幅型,先立住对象身份信息
- 中部左侧是高权重的对象 / 团队动态时间线
- 中部右侧拆为“需求池管理概览 + 需求池最近变化”上下两块
- 底部去掉快捷入口,改为正式扩展信息区
- 当前有真实接口的模块优先接真实接口
- 当前没有稳定接口的区域允许先用假数据,但必须隔离在概览页局部 mock 数据源中