包含多个会话的累积代码变更: - backend: AI 聊天服务、触发器调度、认证增强、WebSocket、调度器最小间隔 - admin-web: ETL 状态页、任务管理、调度配置、登录优化 - miniprogram: 看板页面、聊天集成、UI 组件、导航更新 - etl: DWS 新任务(finance_area_daily/board_cache)、连接器增强 - tenant-admin: 项目初始化 - db: 19 个迁移脚本(etl_feiqiu 11 + zqyy_app 8) - packages/shared: 枚举和工具函数更新 - tools: 数据库工具、报表生成、健康检查 - docs: PRD/架构/部署/合约文档更新 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.8 KiB
2.8 KiB
P6→NS1/RNS1 缺失项 #6:AI 分析卡片的折叠/展开交互
简要结论
- 状态:❌ 未解决
- 风险等级:🔴 高
- task-detail 页面中 AI 分析内容以固定展开方式呈现,无折叠/展开交互,无「重新生成」按钮,无 AI 加载状态。
详细审查
审查范围
apps/miniprogram/miniprogram/pages/task-detail/task-detail.wxml— AI 分析卡片模板apps/miniprogram/miniprogram/pages/task-detail/task-detail.ts— AI 分析逻辑apps/miniprogram/miniprogram/pages/task-detail/task-detail.wxss— AI 分析样式
发现
当前实现:
task-detail 页面中 AI 相关内容分布在多个卡片中,均为固定展开状态:
- 「与我的关系」卡片:显示
detail.aiAnalysis.summary,无折叠控制 - 「任务建议」卡片:显示
detail.aiAnalysis.suggestions列表 + 话术参考,无折叠控制 - 「行动建议」卡片:显示
detail.actionSuggestions,条件渲染(有数据才显示),无折叠控制
P6 定义但未实现的交互:
- 折叠/展开:P6 定义 AI 分析卡片应支持折叠/展开切换,默认展开,用户可收起以减少页面长度。当前无任何折叠/展开按钮或逻辑
- 重新生成按钮:P6 定义 AI 分析卡片应有「重新生成」按钮,允许用户触发 AI 重新分析。当前无此按钮
- AI 加载状态:P6 定义 AI 分析生成中应显示 loading 动画(如骨架屏或 spinner)。当前 AI 数据随任务详情一起返回,无独立加载状态
证据
task-detail.wxml 中 AI 相关卡片(无折叠/展开控制):
<!-- 与我的关系 -->
<view class="card">
<view class="card-header">
<text class="section-title title-pink">与我的关系</text>
<ai-title-badge color="{{aiColor}}" />
</view>
<!-- 直接展示,无折叠控制 -->
<view class="card-desc-wrap">
<text class="card-desc">{{detail.aiAnalysis.summary}}</text>
</view>
</view>
<!-- 任务建议 -->
<view class="card">
<view class="card-header">
<text class="section-title title-orange">任务建议</text>
<ai-title-badge color="{{aiColor}}" />
</view>
<!-- 直接展示所有建议,无折叠控制,无重新生成按钮 -->
...
</view>
task-detail.ts 中无任何 AI 折叠/展开相关的 data 字段或方法。
建议(如未完全解决)
- 为每个 AI 卡片添加
expanded状态和切换按钮(如▴ 收起/▾ 展开),参考 note-modal 中ratingExpanded的实现模式 - 在卡片 header 右侧添加「🔄 重新生成」按钮,点击后调用 AI 分析接口
- 添加 AI 加载状态:可使用
t-loading或自定义骨架屏,在 AI 数据未返回时显示 - 后端需提供独立的 AI 重新生成接口(当前
ai_cache仅支持读取缓存)