Files
wecom_it_smart_desk/docs/10-项目管理/任务说明书/任务说明书-87-P0-3-快捷申请空白气泡修复.md
T

3.5 KiB
Raw Blame History

任务说明书 — P0-3 快捷申请按钮空白气泡修复

版本: v1.0 | 日期: 2026-07-17


📋 基本信息

项目 内容
任务名称 P0-3 InputBox 快捷申请按钮空白气泡修复(新 all-categories-card 端点)
任务ID #87
优先级 🔴 P0
类型 Bug修复
状态 待开始
负责人 宋献
创建日期 2026-07-17
计划完成日期 2026-07-18

📥 输入项来源

问题证据(F1P0 Bug

来源 说明
frontend-h5/src/stores/conversation.ts:900-917 showApprovalCard() 构造 extra_data={approval_type:'',confidence:0}
frontend-h5/src/components/chat/MessageBubble.vue:19 要求 msg.extra_data?.action?.card_datav3.0 纯渲染)
结果 InputBox「快捷申请」按钮点击后渲染空白气泡
frontend-h5/src/components/chat/InputBox.vue:506 快捷申请按钮调用方

技术文档

来源文档 说明
docs/12-重构记录/00-v4.0重构总方案.md D6 决策(快捷申请走新端点)
backend/app/services/approval_matcher.py get_all_categories() 已具备能力(v3.0 已实现)

📤 输出成果要求

交付物清单

# 交付物 类型 说明
1 backend/app/api/approval.py 代码 新增 GET /approval/all-categories-card:调 get_approval_matcher().get_all_categories(),扁平化组装 {card_type:'multiple', title:'审批申请', description:'请选择审批类型', options:[...]}
2 frontend-h5/src/api/conversation.ts 代码 新增 getAllCategoriesCard()
3 frontend-h5/src/stores/conversation.ts 代码 showApprovalCard() 改 async:拉取(store 缓存一次)后插入 msg_type:'approval_card'extra_data:{action:{card_data}}

代码要点

  • 后端端点需鉴权(require_employee 或同等),返回结构必须与前端 CardData 接口一致(card_type/title/description/options[{name,icon,desc,url}]
  • store 缓存:首次点击拉取后存 ref,后续点击直接用,不重复请求

🔧 验证方式

验证项 验证方法 预期结果
端点响应 curl -H "Authorization: Bearer <token>" https://itsupport.servyou.com.cn/api/approval/all-categories-card 200options 数组 ≥18 项,每项含 name/icon/desc/url
快捷申请渲染 H5 点快捷申请按钮 立即出现全量审批卡片(18 项),非空白
选项跳转 点任一选项(如 VPN账号申请) 正确跳转 itsm-bridge/企微审批

完成标准

  • 后端端点上线,响应结构正确
  • 前端 showApprovalCard 改造完成,快捷申请渲染正常
  • 构建部署 H5 新版,端到端验证通过
  • 状态看板已更新

📊 工作分解

子任务 预估工时 状态
后端 all-categories-card 端点 30min
前端 API + store 改造 30min
构建部署 + 端到端验证 30min

📞 依赖与阻塞

依赖 说明 状态
v3.0 ApprovalMatcher.get_all_categories 已实现 已完成

部署顺序:后端先发(端点先上线),前端再发(前端依赖端点)。


📈 变更记录

日期 变更内容 变更人
2026-07-17 创建任务 宋献