# 审核状态页面"未找到申请信息"问题修复 ## 问题现象 - 提交陪伴员申请后,弹窗显示"审核中" ✅ - 点击"查看审核状态"进入审核状态页面,显示"未找到申请信息" ❌ ## 问题原因 ### 根本原因 **数据读取顺序错误** 原来的逻辑: ``` 1. 先尝试从后端API获取数据 2. API失败后,才从本地存储读取 ``` 但实际情况: ``` 1. 提交申请时,只保存到本地存储(模拟提交,没有调用后端API) 2. 查询时,先调用后端API → 失败(API不存在或返回空) 3. 降级到本地存储 → 但可能已被清除或丢失 4. 最终显示"未找到申请信息" ``` ### 代码分析 **提交申请** (`teacher/apply.vue`): ```javascript // 模拟提交,只保存到本地 const application = { ...this.form, role: 'teacher', status: 'pending', applyTime: new Date().toISOString() } uni.setStorageSync('teacherApplication', application) ``` **查询状态** (`application-status.vue`): ```javascript // 原来的逻辑:先调用API,失败后才读本地 const res = await this.$http.get('/api/teacher/application/status') if (res && res.code === 200) { // 使用API数据 } else { // 降级到本地存储 const localData = uni.getStorageSync('teacherApplication') } ``` ## 解决方案 ### 修改文件 `peidu/uniapp/src/common-package/pages/auth/application-status.vue` ### 修改内容 **调整数据读取顺序**:优先从本地存储读取,如果本地没有再调用API ```javascript async loadApplication() { // 🔥 修复:优先从本地存储读取 const storageKey = `${this.role}Application` const localData = uni.getStorageSync(storageKey) if (localData) { console.log('从本地存储读取申请信息:', localData) this.application = localData return } // 如果本地没有,尝试从后端API获取 const res = await this.$http.get(apiUrl) // ... } ``` ### 修改理由 1. **提交申请时只保存到本地** - 所以本地存储是主要数据源 2. **后端API可能不存在** - 因为是模拟提交,没有真正调用后端 3. **本地存储更可靠** - 在当前实现下,本地存储是唯一的数据来源 ## 测试步骤 ### 1. 清除缓存 - 微信开发者工具 → 工具 → 清缓存 → 清除全部缓存 ### 2. 重新编译 - 保存文件后会自动编译 ### 3. 测试流程 1. 填写陪伴员申请表单 2. 点击"提交申请" 3. 看到"提交成功"弹窗 4. 点击"查看审核状态" 5. **应该能看到申请信息**,不再显示"未找到申请信息" ### 4. 验证内容 - 申请角色: 陪伴员 ✅ - 申请时间: 显示提交时间 ✅ - 联系电话: 显示填写的手机号 ✅ - 状态: 审核中 ✅ ## 后续优化建议 ### 1. 实现真实的后端API 目前是模拟提交,建议实现真实的后端接口: ```java @PostMapping("/api/teacher/application/submit") public Result submitApplication(@RequestBody TeacherApplicationDTO dto) { // 保存到数据库 // 返回申请ID } @GetMapping("/api/teacher/application/status") public Result getApplicationStatus(@CurrentUser Long userId) { // 从数据库查询 // 返回申请状态 } ``` ### 2. 数据同步 - 提交时同时保存到本地和后端 - 查询时优先从后端获取最新状态 - 本地存储作为缓存和降级方案 ### 3. 状态更新 - 管理员审核通过/拒绝后,通过推送通知用户 - 用户打开页面时,自动刷新最新状态 ## 注意事项 1. **本地存储可能丢失** - 用户清除缓存或卸载小程序后会丢失 2. **无法跨设备同步** - 换设备后看不到申请状态 3. **管理员无法审核** - 因为数据只在本地,管理员看不到申请 这些问题都需要通过实现真实的后端API来解决。 ## 创建时间 2026-01-28 ## 修复人员 Kiro AI Assistant