Files
fquiz/tmp_req_313321162778084110_batch.json
T
2026-04-24 15:50:52 +08:00

7 lines
4.6 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[
{
"requirementId": "313321162778084110",
"descr": "【分析语境】\n- 需求ID313321162778084110\n- 当前状态:PENDING_ANALYSIS,按新分析处理,非PENDING_REVISION\n- 页面路径:/admin/git-desktop\n\n一、目标\n1. 基于Ant Design统一/admin/git-desktop页面的组件与交互体验。\n2. 在不改后端接口协议和业务语义前提下,保持筛选、详情、领取、流转、删除链路可用。\n3. 明确该路由与需求管理页的复用关系,降低认知歧义。\n\n二、现状\n1. 路由实现:web/src/app/admin/git-desktop/page.tsx仅导出requirements页面,实际复用web/src/app/admin/requirements/page.tsx。\n2. 页面实现:已使用ui-antd包装组件,但Table在web/src/components/ui-antd.tsx中仍为原生table封装,未使用AntD Table能力。\n3. 交互现状:列表请求由TanStack Query + fetchWithAuth完成,行操作通过RowActionMenu与mutation处理claim、transition、delete。\n4. 体验问题:关键词筛选缺少可见label、加载态为纯文本、空态引导不足、删除使用window.confirm、错误块样式class重复、Git管理菜单与页面标题语义不完全一致。\n\n三、范围\n【范围内】\n- /admin/git-desktop命中页面的UI组件改造与交互反馈统一。\n- 筛选区、列表区、操作区、反馈区的Ant Design化。\n- 保持现有权限判断与接口调用路径不变。\n\n【非范围】\n- 后端接口、数据库结构、状态机规则变更。\n- requirement详情页与新建页的大范围重构。\n- RBAC菜单和权限模型调整。\n\n四、实现思路\n1. 第一阶段最小改动:保留数据请求与业务逻辑,仅替换交互容器为AntD标准组件。\n2. 第二阶段结构优化:列表迁移为AntD Table列配置模式,增强empty、loading、响应式和可维护性。\n3. 第三阶段语义补充:在/admin/git-desktop入口增加文案说明,体现Git管理复用需求流程。\n\n五、UI/UX专项评估(ui-ux-pro-max结论整合)\n【执行摘要】\n- 高优先修复删除确认与加载空错反馈一致性问题。\n- 列表信息需语义化,提升可扫描性。\n- 筛选控件补齐可访问性语义。\n- 保持移动端横向滚动兜底并突出核心字段。\n\n【P0】\n- P0-1 删除确认:window.confirm改为Popconfirm或Modal.confirm,统一交互风格。位置:web/src/app/admin/requirements/page.tsx。\n- P0-2 反馈标准化:加载改Skeleton或Spin,空态改Empty并提供动作,错误改Alert或Result并支持重试。位置:web/src/app/admin/requirements/page.tsx。\n- P0-3 语义对齐:补充Git管理与需求列表复用关系的页面说明。位置:web/src/app/admin/git-desktop/page.tsx及requirements页头部。\n\n【P1】\n- P1-1 表格升级:原生table封装迁移为AntD Table。位置:requirements/page.tsx、ui-antd.tsx。\n- P1-2 状态优先级语义化:文本改Tag映射颜色并保证对比度。位置:requirements/page.tsx。\n- P1-3 筛选可访问性:增加可见label或Form.Item标签,补齐aria-label。位置:requirements/page.tsx。\n\n【P2】\n- P2-1 关键词筛选加debounce,减少抖动请求。\n- P2-2 行操作分层,高频动作前置,低频保留菜单。\n- P2-3 清理重复class并统一间距与状态样式token。\n\n六、影响点\n1. 主要文件:\n- web/src/app/admin/git-desktop/page.tsx\n- web/src/app/admin/requirements/page.tsx\n- web/src/components/row-action-menu.tsx\n- web/src/components/ui-antd.tsx\n2. 影响类型:前端展示与交互层;后端接口与数据不受影响。\n\n七、风险与疑问\n1. 是否长期保持/admin/git-desktop与/admin/requirements同页复用?若未来拆分,应先确认信息架构。\n2. 若直接改全局Table封装,可能影响其它页面;建议先在本页局部落地再抽象。\n3. 验收若仅写组件替换可能口径不一致,建议绑定交互反馈与可访问性验收条款。\n\n八、建议验收标准\n1. 路由可用:/admin/git-desktop访问正常,筛选、详情、领取、流转、删除可用。\n2. 反馈完整:加载、空态、错误、删除确认均为统一可视化组件反馈。\n3. 视觉一致:按钮、表单、表格、提示反馈使用统一Ant Design体系。\n4. 可访问性:筛选控件具备可见标签或等价aria语义,键盘可操作关键动作。\n5. 回归通过:请求参数、接口调用路径和业务结果与改造前一致。\n\n九、快速落地Quick Wins\n1. 删除确认改Popconfirm。\n2. 空态接入Empty并提供新建需求入口。\n3. 状态和优先级改Tag展示。\n4. 列表加载改Skeleton或Spin。"
}
]