peixue-dev/Archive/[一次性]小程序编译错误完整解决方案-2026-02-01.md

219 lines
4.8 KiB
Markdown
Raw Normal View History

2026-02-28 17:26:03 +08:00
# 小程序编译错误完整解决方案 - 2026-02-01
## 当前错误
```
app.json 文件内容错误: 在项目根目录未找到 app.json
```
## 根本原因
1. **pages.json配置错误**(已修复)
- 配置了不存在的页面路径
- 导致编译失败
2. **编译缓存问题**
- 微信开发者工具正在使用旧的编译文件
- 缓存文件被占用,无法删除
- 需要关闭工具后清除缓存
## 完整解决步骤
### 步骤1: 关闭微信开发者工具 ⚠️
**重要**: 必须完全关闭微信开发者工具,不是最小化!
1. 点击微信开发者工具右上角的 ❌ 关闭按钮
2. 确保工具完全退出(任务栏没有图标)
### 步骤2: 清除编译缓存
**方式1: 使用批处理文件(推荐)**
双击运行: `Archive/[一次性]完整解决编译错误-2026-02-01.bat`
**方式2: 手动删除**
删除以下目录:
```
peidu/uniapp/dist
peidu/uniapp/unpackage
peidu/uniapp/node_modules/.cache
```
使用命令:
```bash
cd peidu/uniapp
rmdir /s /q dist
rmdir /s /q unpackage
rmdir /s /q node_modules\.cache
```
### 步骤3: 重新打开微信开发者工具
1. 打开微信开发者工具
2. 选择"导入项目"
3. 项目路径选择: `peidu/uniapp/dist/dev/mp-weixin`
4. 点击"导入"
### 步骤4: 重新编译
1. 在微信开发者工具中点击"编译"按钮
2. 等待编译完成
3. 查看是否还有错误
## 已修复的问题
### 1. pages.json配置错误 ✅
**文件**: `peidu/uniapp/src/pages.json`
**修复内容**:
```json
// 修复前(错误)
{
"path": "pages/course/detail", // ❌ 路径不存在
"style": {
"navigationBarTitleText": "课程详情"
}
}
// 修复后(正确)
{
"path": "pages/academy/course-detail", // ✅ 正确路径
"style": {
"navigationBarTitleText": "课程详情"
}
}
```
### 2. 游客模式后端配置 ✅
**文件**: `peidu/backend/src/main/java/com/peidu/config/WebMvcConfig.java`
**添加的白名单**:
```java
"/api/special/**",
"/api/special-course/**", // ✅ 新增
"/api/interest/**",
"/api/interest-course/**", // ✅ 新增
```
### 3. 游客模式前端配置 ✅
**文件**: `peidu/uniapp/src/utils/request.js`
**完善的白名单**:
```javascript
const GUEST_ALLOWED_URLS = [
'/api/service/list',
'/api/service/search',
'/api/service/detail',
'/api/special/list',
'/api/special/detail',
'/api/special-course/list',
'/api/special-course/detail',
'/api/interest-course/list',
'/api/interest-course/detail',
'/api/assessment/list',
'/api/assessment/detail',
'/api/growth-planning/list',
'/api/growth-planning/detail',
'/api/teacher/list',
'/api/teacher/detail',
'/api/course/list',
'/api/course/detail',
// ... 其他接口
]
```
## 常见问题
### Q1: 删除缓存时提示"文件被占用"
**原因**: 微信开发者工具还在运行
**解决**:
1. 完全关闭微信开发者工具
2. 检查任务管理器,确保没有相关进程
3. 重新尝试删除
### Q2: 编译后仍然报错
**可能原因**:
1. 缓存没有完全清除
2. 后端服务没有重启
3. 项目路径不正确
**解决**:
1. 再次清除缓存
2. 重启后端服务
3. 确认导入的是 `dist/dev/mp-weixin` 目录
### Q3: 游客模式仍然返回401
**原因**: 后端服务没有重启
**解决**:
1. 停止后端服务端口8089
2. 在IDEA中重新启动 PeiduApplication
3. 等待启动完成
4. 重新测试
## 测试验证
编译成功后,按以下顺序测试:
### 1. 基本功能测试
- [ ] 小程序可以正常启动
- [ ] 首页可以正常显示
- [ ] 轮播图可以正常显示
### 2. 游客模式测试
- [ ] 未登录状态下点击"专项突破"
- [ ] 未登录状态下点击"兴趣培养"
- [ ] 未登录状态下点击"测评师"
- [ ] 未登录状态下点击"成长规划师"
- [ ] 以上页面都应该显示完整数据
### 3. 登录拦截测试
- [ ] 点击"立即预约"提示登录
- [ ] 点击"立即购买"提示登录
- [ ] 登录后可以正常操作
## 注意事项
1. **必须关闭微信开发者工具**
- 不关闭工具无法删除缓存
- 缓存不清除会继续使用旧代码
2. **后端服务必须重启**
- 配置修改后必须重启才能生效
- 确保端口8089可用
3. **项目路径要正确**
- 导入的是 `dist/dev/mp-weixin` 目录
- 不是 `src` 目录
4. **编译需要时间**
- 首次编译可能需要几分钟
- 耐心等待编译完成
## 如果仍然有问题
如果按照以上步骤操作后仍然有问题,请提供:
1. 完整的错误信息截图
2. 微信开发者工具的控制台日志
3. 后端服务的启动日志
## 总结
这次修复涉及三个方面:
1. **配置修复**: 修复了 pages.json 中的错误路径
2. **游客模式**: 完善了前后端的游客模式配置
3. **缓存清除**: 清除了所有编译缓存
按照步骤操作后,小程序应该可以正常编译和运行了。