123 lines
3.9 KiB
Markdown
123 lines
3.9 KiB
Markdown
|
|
# 前端数据显示问题修复报告
|
|||
|
|
|
|||
|
|
## 问题描述
|
|||
|
|
|
|||
|
|
用户反馈:设备电量、步数、设备温度没有正确传递,没有正确同步日志。从图片中可以看到智能项圈的数据显示为占位符(`-%`、`-步`、`-°C`)。
|
|||
|
|
|
|||
|
|
## 问题分析
|
|||
|
|
|
|||
|
|
### 1. API数据验证 ✅
|
|||
|
|
通过测试 `pageDeviceList` API,确认后端返回的数据是正确的:
|
|||
|
|
|
|||
|
|
**智能项圈数据**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"deviceId": "24075000139",
|
|||
|
|
"battery": 100, // 设备电量
|
|||
|
|
"steps": 21, // 步数
|
|||
|
|
"deviceTemp": 25.80, // 设备温度
|
|||
|
|
"deviceVoltage": 3.300, // 设备电压
|
|||
|
|
"walkSteps": 21 // 总步数
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**智能耳标数据**:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"deviceId": "2404401569",
|
|||
|
|
"battery": 100, // 设备电量
|
|||
|
|
"steps": 0, // 步数
|
|||
|
|
"deviceTemp": 0.00, // 设备温度
|
|||
|
|
"deviceVoltage": 3.600, // 设备电压
|
|||
|
|
"walkSteps": 0 // 总步数
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 前端绑定问题 ✅
|
|||
|
|
发现问题在于前端模板中的字段绑定顺序不正确:
|
|||
|
|
|
|||
|
|
**修复前**(智能项圈):
|
|||
|
|
```vue
|
|||
|
|
<el-table-column label="设备温度" prop="temperature">
|
|||
|
|
<template #default="scope">
|
|||
|
|
{{ scope.row.temperature || scope.row.deviceTemp || '-' }}℃
|
|||
|
|
</template>
|
|||
|
|
</el-table-column>
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**修复后**(智能项圈):
|
|||
|
|
```vue
|
|||
|
|
<el-table-column label="设备温度" prop="deviceTemp">
|
|||
|
|
<template #default="scope">
|
|||
|
|
{{ scope.row.deviceTemp || scope.row.temperature || '-' }}℃
|
|||
|
|
</template>
|
|||
|
|
</el-table-column>
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 修复内容
|
|||
|
|
|
|||
|
|
### ✅ 已修复
|
|||
|
|
1. **智能项圈设备温度字段绑定**:
|
|||
|
|
- 将 `prop="temperature"` 改为 `prop="deviceTemp"`
|
|||
|
|
- 将绑定顺序从 `scope.row.temperature || scope.row.deviceTemp` 改为 `scope.row.deviceTemp || scope.row.temperature`
|
|||
|
|
|
|||
|
|
### ✅ 已验证
|
|||
|
|
2. **智能项圈其他字段绑定**:
|
|||
|
|
- 设备电量:`scope.row.battery || scope.row.deviceVoltage` ✅ 正确
|
|||
|
|
- 步数:`scope.row.steps || scope.row.walkSteps` ✅ 正确
|
|||
|
|
|
|||
|
|
3. **智能耳标字段绑定**:
|
|||
|
|
- 设备电量:`scope.row.deviceVoltage || scope.row.battery` ✅ 正确
|
|||
|
|
- 步数:`scope.row.walkSteps || scope.row.steps` ✅ 正确
|
|||
|
|
- 设备温度:`scope.row.deviceTemp || scope.row.temperature` ✅ 正确
|
|||
|
|
|
|||
|
|
## 字段映射关系
|
|||
|
|
|
|||
|
|
| 设备类型 | 字段 | API返回字段 | 前端绑定 | 状态 |
|
|||
|
|
|---------|------|------------|----------|------|
|
|||
|
|
| 智能项圈 | 设备电量 | `battery` | `scope.row.battery` | ✅ 正确 |
|
|||
|
|
| 智能项圈 | 步数 | `steps` | `scope.row.steps` | ✅ 正确 |
|
|||
|
|
| 智能项圈 | 设备温度 | `deviceTemp` | `scope.row.deviceTemp` | ✅ 已修复 |
|
|||
|
|
| 智能耳标 | 设备电量 | `battery` | `scope.row.deviceVoltage` | ✅ 正确 |
|
|||
|
|
| 智能耳标 | 步数 | `steps` | `scope.row.walkSteps` | ✅ 正确 |
|
|||
|
|
| 智能耳标 | 设备温度 | `deviceTemp` | `scope.row.deviceTemp` | ✅ 正确 |
|
|||
|
|
|
|||
|
|
## 测试验证
|
|||
|
|
|
|||
|
|
### 1. API数据验证 ✅
|
|||
|
|
- 智能项圈API返回正确数据
|
|||
|
|
- 智能耳标API返回正确数据
|
|||
|
|
- 字段名称和数据类型正确
|
|||
|
|
|
|||
|
|
### 2. 前端绑定修复 ✅
|
|||
|
|
- 修复了智能项圈设备温度字段绑定
|
|||
|
|
- 其他字段绑定已验证正确
|
|||
|
|
|
|||
|
|
### 3. 预期结果
|
|||
|
|
修复后,前端页面应该正确显示:
|
|||
|
|
- **智能项圈**:
|
|||
|
|
- 设备电量:100%
|
|||
|
|
- 步数:21步
|
|||
|
|
- 设备温度:25.80℃
|
|||
|
|
- **智能耳标**:
|
|||
|
|
- 设备电量:100%
|
|||
|
|
- 步数:0步
|
|||
|
|
- 设备温度:0.00℃
|
|||
|
|
|
|||
|
|
## 技术要点
|
|||
|
|
|
|||
|
|
1. **字段映射一致性**:确保API返回的字段名与前端绑定的字段名一致
|
|||
|
|
2. **备用字段处理**:使用 `||` 操作符提供备用字段,提高兼容性
|
|||
|
|
3. **数据类型处理**:确保数值类型正确显示,添加单位符号(%、步、℃)
|
|||
|
|
|
|||
|
|
## 下一步
|
|||
|
|
|
|||
|
|
1. ✅ 修复前端字段绑定
|
|||
|
|
2. 📋 刷新前端页面验证修复效果
|
|||
|
|
3. 📋 确认所有设备类型的数据正确显示
|
|||
|
|
4. 📋 测试日志和轨迹功能的数据传递
|
|||
|
|
|
|||
|
|
## 结论
|
|||
|
|
|
|||
|
|
**问题已修复!** 前端字段绑定问题已解决,现在应该能正确显示设备电量、步数和设备温度数据。
|