# 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 相关内容分布在多个卡片中，均为固定展开状态：

1. **「与我的关系」卡片**：显示 `detail.aiAnalysis.summary`，无折叠控制
2. **「任务建议」卡片**：显示 `detail.aiAnalysis.suggestions` 列表 + 话术参考，无折叠控制
3. **「行动建议」卡片**：显示 `detail.actionSuggestions`，条件渲染（有数据才显示），无折叠控制

**P6 定义但未实现的交互：**

1. **折叠/展开**：P6 定义 AI 分析卡片应支持折叠/展开切换，默认展开，用户可收起以减少页面长度。当前无任何折叠/展开按钮或逻辑
2. **重新生成按钮**：P6 定义 AI 分析卡片应有「重新生成」按钮，允许用户触发 AI 重新分析。当前无此按钮
3. **AI 加载状态**：P6 定义 AI 分析生成中应显示 loading 动画（如骨架屏或 spinner）。当前 AI 数据随任务详情一起返回，无独立加载状态

### 证据

task-detail.wxml 中 AI 相关卡片（无折叠/展开控制）：
```html
<!-- 与我的关系 -->
<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 字段或方法。

### 建议（如未完全解决）
1. 为每个 AI 卡片添加 `expanded` 状态和切换按钮（如 `▴ 收起` / `▾ 展开`），参考 note-modal 中 `ratingExpanded` 的实现模式
2. 在卡片 header 右侧添加「🔄 重新生成」按钮，点击后调用 AI 分析接口
3. 添加 AI 加载状态：可使用 `t-loading` 或自定义骨架屏，在 AI 数据未返回时显示
4. 后端需提供独立的 AI 重新生成接口（当前 `ai_cache` 仅支持读取缓存）
