Files
dns-server/.trae/documents/plan_20251225_150849.md
2026-01-14 23:08:46 +08:00

1.6 KiB
Raw Blame History

问题分析

当前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代码