peixue-dev/Archive/[一次性]测评师预约路由错误修复-2026-02-01.md

3.4 KiB

测评师预约路由错误修复

问题描述

用户在测评详情页面选择测评师时,出现路由错误:

navigateTo:fail page "/pages/booking/teacher-booking?teacherId=1&serviceType=assessment&assessmentType=talent\" is not found"

问题分析

表面现象

  • URL末尾有多余的反斜杠和引号 \"
  • 页面跳转失败

根本原因

经过仔细检查发现:页面文件存在,但没有在 pages.json 中注册

  1. 页面文件存在: peidu/uniapp/src/pages/booking/teacher-booking.vue
  2. 页面未注册: pages.jsonpages 数组中没有该页面配置

修复方案

1. 在 pages.json 中注册页面

在主包的 pages 数组中添加页面配置:

{
  "path": "pages/booking/teacher-booking",
  "style": {
    "navigationBarTitleText": "预约陪伴员"
  }
}

位置: 在 pages/booking/quick-booking 之后添加

2. 参数编码优化(已完成)

assessment/detail.vue 中使用 encodeURIComponent 编码参数:

// viewTeacherDetail 方法
const teacherId = teacher.id
const serviceType = 'assessment'
const assessmentType = encodeURIComponent(this.assessmentType || 'talent')

uni.navigateTo({
  url: `/pages/booking/teacher-booking?teacherId=${teacherId}&serviceType=${serviceType}&assessmentType=${assessmentType}`
})

// bookAssessment 方法
const teacherId = this.teachers[0].id
const serviceType = 'assessment'
const assessmentType = encodeURIComponent(this.assessmentType || 'talent')

uni.navigateTo({
  url: `/pages/booking/teacher-booking?teacherId=${teacherId}&serviceType=${serviceType}&assessmentType=${assessmentType}`
})

3. 清除缓存并重新编译

执行批处理文件:

Archive/[一次性]清除缓存重新编译-测评师预约-2026-02-01.bat

修复步骤

  1. pages.json 中注册 teacher-booking 页面
  2. 创建清除缓存的批处理文件
  3. 执行批处理文件清除缓存
  4. 在微信开发者工具中重新编译
  5. 测试页面跳转功能

测试步骤

  1. 打开家长端小程序
  2. 进入测评详情页面(天赋测评或兴趣测评)
  3. 点击测评师卡片
  4. 验证是否成功跳转到预约页面
  5. 检查页面是否正常显示
  6. 验证教师信息是否正确加载

预期结果

  • 页面跳转成功
  • 预约页面正常显示
  • 教师信息正确加载
  • 所有功能正常工作

相关文件

  • peidu/uniapp/src/pages.json - 页面配置文件(已修改)
  • peidu/uniapp/src/pages/booking/teacher-booking.vue - 预约页面
  • peidu/uniapp/src/service-package/pages/assessment/detail.vue - 测评详情页(已修改)
  • Archive/[一次性]清除缓存重新编译-测评师预约-2026-02-01.bat - 清除缓存脚本

经验总结

问题排查思路

  1. 检查URL格式 - 发现参数编码问题
  2. 检查页面文件 - 确认文件存在
  3. 检查页面注册 - 发现根本原因!

关键点

  • uni-app 中所有页面都必须在 pages.json 中注册才能使用
  • 即使页面文件存在,如果没有注册也无法访问
  • 页面注册的位置会影响页面的加载顺序

预防措施

  • 创建新页面时,立即在 pages.json 中注册
  • 使用 uni-app 的页面创建工具,自动完成注册
  • 定期检查页面文件和注册配置的一致性

修复时间: 2026-02-01
修复人员: Kiro AI
问题级别: 高(影响核心功能)
修复状态: 已完成,待测试