# P8→NS1/RNS1 缺失项 #7：助教看板卡片点击跳转到 coach-detail

## 简要结论
- 状态：✅ 已解决
- 风险等级：🟡 低
- 助教卡片已实现 bindtap 事件，点击后通过 wx.navigateTo 跳转到 coach-detail 页面并传递 id 参数。

## 详细审查

### 审查范围
- `apps/miniprogram/miniprogram/pages/board-coach/board-coach.wxml`（卡片模板）
- `apps/miniprogram/miniprogram/pages/board-coach/board-coach.ts`（点击事件处理）
- `apps/miniprogram/miniprogram/app.json`（coach-detail 页面注册）

### 发现

1. **WXML 模板中卡片绑定了 bindtap 事件**
   - 每个 `coach-card` 元素绑定了 `bindtap="onCoachTap"`
   - 通过 `data-id="{{item.id}}"` 传递助教 ID
   - 设置了 `hover-class="coach-card--hover"` 提供点击反馈

2. **TS 中实现了跳转逻辑**
   - `onCoachTap` 方法从事件中提取 `id`，使用 `wx.navigateTo` 跳转到 `coach-detail` 页面
   - 跳转 URL 格式：`/pages/coach-detail/coach-detail?id=xxx`

3. **coach-detail 页面已注册且功能完整**
   - `app.json` 的 pages 数组中包含 `pages/coach-detail/coach-detail`
   - `pages/coach-detail/` 目录存在
   - coach-detail 页面已引用 `perf-progress-bar` 组件（进度条在详情页可用）

### 证据

```html
<!-- board-coach.wxml -->
<view class="coach-card"
      wx:for="{{coaches}}"
      wx:key="id"
      data-id="{{item.id}}"
      bindtap="onCoachTap"
      hover-class="coach-card--hover">
```

```typescript
// board-coach.ts
onCoachTap(e: WechatMiniprogram.TouchEvent) {
    const id = e.currentTarget.dataset.id as string
    wx.navigateTo({ url: '/pages/coach-detail/coach-detail?id=' + id })
},
```

```json
// app.json — coach-detail 已注册
"pages": [
    ...
    "pages/coach-detail/coach-detail",
    ...
]
```
