# P9→NS1/RNS1 缺失项 #18:详情页的返回按钮行为 ## 简要结论 - 状态:⚠️ 部分解决 - 风险等级:🟡 低 - customer-service-records 页面有明确的 `navigateBack` 返回逻辑;customer-detail 和 coach-detail 页面依赖小程序默认导航栏返回,未自定义返回行为 ## 详细审查 ### 审查范围 - `apps/miniprogram/miniprogram/pages/customer-detail/customer-detail.ts` - `apps/miniprogram/miniprogram/pages/customer-detail/customer-detail.wxml` - `apps/miniprogram/miniprogram/pages/coach-detail/coach-detail.ts` - `apps/miniprogram/miniprogram/pages/coach-detail/coach-detail.wxml` - `apps/miniprogram/miniprogram/pages/customer-service-records/customer-service-records.ts` ### 发现 1. `customer-service-records.ts` 定义了 `onBack()` 方法,调用 `wx.navigateBack()` 2. `customer-detail.ts` 和 `coach-detail.ts` 均未定义自定义返回方法 3. 两个详情页的 WXML 中均无自定义返回按钮,依赖微信小程序默认导航栏的返回按钮 4. 默认导航栏返回行为是 `navigateBack`(返回上一页),而非 `navigateTo`(返回列表页) 5. 如果用户通过分享链接直接进入详情页(页面栈为空),默认返回按钮无法返回列表页 ### 证据 ```typescript // customer-service-records.ts — 有明确返回逻辑 onBack() { wx.navigateBack() } // customer-detail.ts — 无返回方法 // coach-detail.ts — 无返回方法 ``` ### 建议 - 对于通过分享链接直接进入的场景,建议在详情页添加返回兜底逻辑: ```typescript onBack() { if (getCurrentPages().length > 1) { wx.navigateBack() } else { wx.redirectTo({ url: '/pages/customer-list/customer-list' }) } } ``` - 当前依赖默认导航栏返回在正常导航流程中可正常工作,仅在直接进入场景有问题