112 lines
2.6 KiB
Markdown
112 lines
2.6 KiB
Markdown
|
|
# 头像上传问题排查步骤
|
||
|
|
|
||
|
|
## 问题现象
|
||
|
|
点击头像上传时,仍然显示"头像上传功能开发中"
|
||
|
|
|
||
|
|
## 已确认的信息
|
||
|
|
- ✅ 小程序使用的是 `src` 目录下的文件
|
||
|
|
- ✅ `src/user-package/pages/user/profile.vue` 中已经有完整的 `uploadAvatar` 方法
|
||
|
|
- ✅ 代码中没有"头像上传功能开发中"的提示
|
||
|
|
|
||
|
|
## 排查步骤
|
||
|
|
|
||
|
|
### 步骤1: 清除小程序缓存
|
||
|
|
1. 打开微信开发者工具
|
||
|
|
2. 点击顶部菜单: **工具** → **清缓存**
|
||
|
|
3. 选择: **清除全部缓存**
|
||
|
|
4. 点击确定
|
||
|
|
|
||
|
|
### 步骤2: 重新编译
|
||
|
|
1. 清除缓存后,开发工具会自动重新编译
|
||
|
|
2. 查看控制台,确认编译成功
|
||
|
|
3. 查看是否有编译错误
|
||
|
|
|
||
|
|
### 步骤3: 检查后端服务
|
||
|
|
1. 确认后端服务正在运行
|
||
|
|
2. 访问: `http://192.168.1.50:8080/api/user/profile`
|
||
|
|
3. 应该返回401(未授权)或用户信息,而不是404
|
||
|
|
|
||
|
|
### 步骤4: 检查代码文件
|
||
|
|
确认修改的是正确的文件:
|
||
|
|
```
|
||
|
|
✅ 正确: peidu/uniapp/src/user-package/pages/user/profile.vue
|
||
|
|
❌ 错误: peidu/uniapp/user-package/pages/user/profile.vue
|
||
|
|
```
|
||
|
|
|
||
|
|
### 步骤5: 查看控制台日志
|
||
|
|
1. 点击头像
|
||
|
|
2. 选择图片
|
||
|
|
3. 查看控制台输出
|
||
|
|
4. 是否有错误信息?
|
||
|
|
5. 是否调用了 `uploadAvatar` 方法?
|
||
|
|
|
||
|
|
## 可能的原因
|
||
|
|
|
||
|
|
### 原因1: 前端缓存未清除
|
||
|
|
**解决方案**: 按步骤1清除缓存
|
||
|
|
|
||
|
|
### 原因2: 修改了错误的文件
|
||
|
|
**解决方案**: 确认修改的是 `src` 目录下的文件
|
||
|
|
|
||
|
|
### 原因3: 后端接口未启动
|
||
|
|
**解决方案**:
|
||
|
|
```bash
|
||
|
|
cd peidu/backend
|
||
|
|
mvn spring-boot:run
|
||
|
|
```
|
||
|
|
|
||
|
|
### 原因4: 后端接口地址错误
|
||
|
|
**当前地址**: `http://192.168.1.50:8080`
|
||
|
|
**检查方法**:
|
||
|
|
1. 查看后端启动日志
|
||
|
|
2. 确认端口是否为8080
|
||
|
|
3. 确认IP地址是否正确
|
||
|
|
|
||
|
|
### 原因5: Token问题
|
||
|
|
**检查方法**:
|
||
|
|
1. 查看控制台是否有401错误
|
||
|
|
2. 确认用户已登录
|
||
|
|
3. 确认token有效
|
||
|
|
|
||
|
|
## 调试方法
|
||
|
|
|
||
|
|
### 方法1: 添加console.log
|
||
|
|
在 `changeAvatar` 方法开头添加:
|
||
|
|
```javascript
|
||
|
|
changeAvatar() {
|
||
|
|
console.log('=== changeAvatar 被调用 ===')
|
||
|
|
uni.chooseImage({
|
||
|
|
// ...
|
||
|
|
})
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
### 方法2: 添加alert
|
||
|
|
```javascript
|
||
|
|
changeAvatar() {
|
||
|
|
uni.showToast({ title: '开始上传', icon: 'none' })
|
||
|
|
// ...
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
### 方法3: 检查uploadAvatar是否被调用
|
||
|
|
在 `uploadAvatar` 方法开头添加:
|
||
|
|
```javascript
|
||
|
|
async uploadAvatar(filePath) {
|
||
|
|
console.log('=== uploadAvatar 被调用 ===')
|
||
|
|
console.log('文件路径:', filePath)
|
||
|
|
// ...
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
## 下一步
|
||
|
|
|
||
|
|
如果以上步骤都完成了,但问题仍然存在,请提供:
|
||
|
|
1. 控制台的完整日志
|
||
|
|
2. 点击头像后的所有输出
|
||
|
|
3. 是否有错误信息
|
||
|
|
4. 后端控制台的日志
|
||
|
|
|
||
|
|
## 创建时间
|
||
|
|
2026-01-28
|