52 lines
1.6 KiB
Markdown
52 lines
1.6 KiB
Markdown
## 问题分析
|
||
|
||
当前DNS服务器的解析记录显示存在以下问题:
|
||
1. 前端`logs.js`中使用了`console.log`来调试和显示解析记录
|
||
2. 需要确保API返回的解析记录是正确的JSON格式
|
||
3. 前端需要正确解析API返回的JSON数据来显示解析记录
|
||
|
||
## 解决方案
|
||
|
||
### 1. 优化API返回格式
|
||
|
||
**文件**:`dns/server.go`
|
||
|
||
**修改内容**:
|
||
- 确保`QueryLog`结构体的`Answers`字段正确序列化为JSON
|
||
- 检查`DNSAnswer`结构体的JSON标签是否正确
|
||
|
||
### 2. 清理前端console.log代码
|
||
|
||
**文件**:`static/js/logs.js`
|
||
|
||
**修改内容**:
|
||
- 删除或注释掉第1047、1054行等console.log调试代码
|
||
- 优化解析记录提取逻辑,确保正确处理API返回的JSON数据
|
||
|
||
### 3. 优化解析记录显示逻辑
|
||
|
||
**文件**:`static/js/logs.js`
|
||
|
||
**修改内容**:
|
||
- 完善`extractDNSRecords`函数,确保正确处理各种格式的解析记录
|
||
- 优化解析记录的HTML渲染逻辑,确保显示格式清晰
|
||
- 确保支持`log.answers`字段(小写)和`log.Answers`字段(大写)
|
||
|
||
### 4. 测试验证
|
||
|
||
**步骤**:
|
||
- 重启DNS服务器
|
||
- 使用API测试工具验证`/api/logs/query`返回的解析记录格式正确
|
||
- 测试前端页面解析记录显示正常
|
||
|
||
## 预期效果
|
||
|
||
- API返回的解析记录格式为标准JSON
|
||
- 前端页面不再使用console.log显示解析记录
|
||
- 解析记录显示清晰、格式统一
|
||
- 支持各种情况下的解析记录提取
|
||
|
||
## 关键文件修改
|
||
|
||
1. **`dns/server.go`**:确保解析记录正确序列化
|
||
2. **`static/js/logs.js`**:优化解析记录显示逻辑,移除console.log代码 |