智慧教务系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

3.9 KiB

已完成:uniapp/components/service-list-card/index.vue数据问题

  • 前端:已添加完整的Mock数据支持,组件可正常显示测试数据
  • 后端:PHP后端工程师已成功补充测试数据到数据库
  • API测试:接口 /xy/service/list?student_id=1 已验证返回完整数据
  • 最终状态:前端组件可以正常获取和显示真实的服务列表数据

API返回数据包含:

  • 3种不同类型的服务(体测服务、测试服务、1V1+情感沟通)
  • 每个服务包含完整的日志记录、评分、反馈信息
  • 服务状态、教练信息、时间等完整字段
  • 数据结构完全符合前端组件期望格式 已完成:uniapp/components/service-list-card/index.vue弹窗无法关闭问题
  • 问题原因:事件绑定和微信小程序兼容性问题
  • 修复内容:添加了事件防冒泡处理,优化微信小程序环境下的事件响应
  • 解决方案:增强了响应式更新机制,添加了调试功能
  • 验证状态:已修复弹窗关闭功能,支持微信小程序环境

已处理:components/course-info-card/index.vue页面的接口需求分析

  • 已完成接口需求分析,包含完整的数据结构和字段定义
  • 已将详细的接口规格写入 niucloud/PLANNING.md 中
  • 等待PHP后端工程师按照规格开发接口
  • 开发完成后需要进行联调测试 已修复:课程安排、订单列表、服务列表按钮点击无法打开弹窗问题
  • 问题原因:事件冒泡导致按钮点击事件冒泡到遮罩层,立即触发关闭逻辑
  • 修复方案:为所有触发弹窗的按钮添加 .stop 事件修饰符阻止冒泡
  • 涉及组件:主页面、OrderListCard、ServiceListCard等所有弹窗相关按钮
  • 验证状态:弹窗打开和关闭功能均正常,微信小程序环境兼容

已修复:pages/market/clue/clue_info.vue页面所有点击事件失灵问题

  • 问题原因:底部弹窗组件的遮罩层一直存在并覆盖整个视口,拦截所有页面点击
  • 核心问题:遮罩层即使弹窗隐藏时仍然监听点击事件,导致所有操作被误判为遮罩点击
  • 修复方案:
    • 为BottomPopup组件添加 v-if="visible" 条件渲染
    • 关键元素添加 @click.stop 阻止事件冒泡
    • 优化弹窗关闭时的数据重置逻辑
  • 影响范围:修复了页面上所有按钮、标签切换、操作项的点击响应
  • 验证状态:页面交互功能完全恢复正常,微信小程序环境兼容

📋 体测记录PDF附件预览功能需求 背景:体测记录弹窗需要支持PDF附件预览功能,允许用户查看体测报告 需求描述

  1. 体测记录数据中需要包含 pdf_files 字段,包含附件信息
  2. 需要提供PDF文件预览接口,支持在线预览或下载
  3. 前端需要实现PDF预览功能,兼容微信小程序环境

接口需求

  1. 获取体测记录接口需要返回PDF附件信息
  2. 新增PDF文件预览/下载接口
    • 接口路径:/api/fitness/record/pdf/preview
    • 请求方式:GET
    • 请求参数:
      {
        "file_id": "文件ID",
        "record_id": "体测记录ID"
      }
      
    • 响应数据:
      {
        "code": 1,
        "msg": "success",
        "data": {
          "file_url": "PDF文件访问URL",
          "file_name": "文件名称",
          "file_size": 1024000,
          "preview_url": "在线预览URL(可选)",
          "download_url": "下载URL"
        }
      }
      

数据结构扩展: 体测记录数据中的 pdf_files 字段结构:

{
  "pdf_files": [
    {
      "id": "文件ID",
      "name": "体测报告.pdf",
      "size": 1024000,
      "upload_time": "2024-01-15 10:30:00",
      "file_path": "/uploads/fitness/2024/01/xxx.pdf"
    }
  ]
}

前端实现

  • 在 FitnessRecordCard 组件中实现PDF预览按钮
  • 支持微信小程序环境下的PDF预览
  • 提供下载功能作为备选方案