# DDNS 双模式功能 - 快速验证脚本 ## 🎯 验证目标 快速验证 DDNS 双模式功能是否正常工作 --- ## ✅ 验证步骤 ### 1️⃣ 登录系统 ``` URL: http://localhost:9531 账号:admin / admin123 ``` ### 2️⃣ 验证 Tab 名称 **路径**: 服务管理 **检查项**: - [ ] Tab 1: "TUN" 🔌 - [ ] Tab 2: "TURN" 🔗 - [ ] Tab 3: "DDNS" 🌐 - [ ] Tab 4: "增强" 🚀 ← **重点检查** ### 3️⃣ 验证 Tab 3 (DDNS 基础设施配置) **操作**: 点击 Tab 3 "DDNS" **检查信息卡片文案**: ``` 标题应该是:"DDNS 配置(基础设施)" 描述应该包含: - 配置 DNS 服务商对接信息,用于组网同步、内网穿透等场景 - 支持阿里云、腾讯云、Cloudflare - 配置后可在组网创建时直接选用 - 也可在「增强」页创建完整的 DDNS 服务 ``` **测试添加 DDNS**: 1. 点击"添加 DDNS"按钮 2. 查看弹出的对话框 3. 检查表单字段 **预期字段**: - [ ] 服务名称 - [ ] 服务类型(固定为 DDNS,禁用状态) - [ ] 配置模式(单选框) - [ ] 🏗️ 基础设施配置 - [ ] 🚀 全功能 DDNS 服务 - [ ] DNS 服务商(选择基础设施模式后显示) - [ ] 阿里云 DNS - [ ] 腾讯云 DNSPod - [ ] Cloudflare - [ ] 根域名 - [ ] 认证信息(根据服务商显示) - [ ] Cloudflare → API Token - [ ] 阿里云 → AccessKey ID + Secret - [ ] 腾讯云 → SecretId + SecretKey ### 4️⃣ 验证模式切换 **操作**: 在添加 DDNS 对话框中切换配置模式 **切换到"基础设施配置"**: - [ ] 显示:DNS 服务商、根域名、认证信息 - [ ] 隐藏:记录类型、主机记录、目标 IP 等 **切换到"全功能 DDNS 服务"**: - [ ] 显示:选择 DDNS 配置、记录类型、主机记录、目标 IP、检测端口、TXT 记录名称、TXT 记录值、目标域名、TTL - [ ] 隐藏:DNS 服务商、根域名、API Token/AccessKey ### 5️⃣ 验证全功能模式的字段联动 **操作**: 1. 切换到"全功能 DDNS 服务" 2. 选择不同的记录类型 **选择 A 记录**: - [ ] 显示:主机记录、目标 IP(IPv4 placeholder)、检测端口 **选择 AAAA 记录**: - [ ] 显示:主机记录、目标 IP(IPv6 placeholder)、检测端口 **选择 TXT 记录**: - [ ] 显示:TXT 记录名称、TXT 记录值(多行文本框) **选择 CNAME 记录**: - [ ] 显示:目标域名 ### 6️⃣ 验证 Tab 4 (增强服务) **操作**: 点击 Tab 4 "增强" **检查信息卡片**: ``` 标题:"增强服务" 图标:🚀 描述:基于已配置的基础设施,创建完整的业务服务 列表项: - DDNS 内网穿透 - 基于 DDNS 配置创建 A/AAAA 记录,实现内网穿透 - 自定义服务 - 未来扩展更多能力 ``` **检查服务卡片**: - [ ] DDNS 内网穿透卡片 - [ ] 图标:🌐 - [ ] 标题正确 - [ ] 描述正确 - [ ] 标签:内网穿透、DDNS - [ ] 底部按钮:"立即创建 →" - [ ] 自定义服务卡片 - [ ] 图标:🔧 - [ ] 标题正确 - [ ] 描述正确 - [ ] 标签:自定义、灵活配置 ### 7️⃣ 测试点击增强服务卡片 **点击"DDNS 内网穿透"卡片**: - [ ] 弹出添加 DDNS 对话框 - [ ] 服务名称自动填充:"DDNS 内网穿透" - [ ] 服务类型:DDNS - [ ] 配置模式:自动选中"全功能 DDNS 服务" - [ ] 记录类型:默认 A - [ ] 其他字段为空,等待填写 **点击"自定义服务"卡片**: - [ ] 弹出添加对话框 - [ ] 配置模式:默认"基础设施配置" ### 8️⃣ 测试表单验证 **测试基础设施模式**: 1. 不填写任何字段,直接提交 2. 应该提示: - [ ] "请输入服务名称" - [ ] "请选择 DNS 服务商" - [ ] "请输入域名" **测试全功能模式 - A 记录**: 1. 切换到全功能模式 2. 选择 A 记录 3. 不填写字段,直接提交 4. 应该提示: - [ ] "请输入服务名称" - [ ] "请选择 DDNS 配置" - [ ] "请选择记录类型" - [ ] "请输入主机记录" - [ ] "请输入目标 IP" - [ ] "请输入检测端口" **测试 TXT 记录名称格式**: 1. 选择 TXT 记录类型 2. 填写 TXT 记录名称为:"test_invalid!@#" 3. 提交应该提示: - [ ] "只能包含字母、数字、点、下划线和连字符" ### 9️⃣ 检查浏览器控制台 **操作**: 1. 按 F12 打开开发者工具 2. 切换到 Console 标签 3. 执行上述所有操作 **预期**: - [ ] 无红色 JavaScript 错误 - [ ] 无 Vue 警告 - [ ] 无组件未定义错误 ### 🔟 检查 Network 请求 **操作**: 1. 开发者工具 → Network 标签 2. 清空之前的请求 3. 填写表单并提交 **检查请求**: - [ ] URL: `/api/v1/services` - [ ] Method: POST - [ ] Status: 200 OK - [ ] Response 包含返回的数据 **检查请求体**(基础设施模式示例): ```json { "name": "测试 DDNS", "type": "DDNS", "config_mode": "infrastructure", "provider": "cloudflare", "domain": "example.com", "token": "***", "enabled": true, "timeout": 10 } ``` **检查请求体**(全功能模式示例): ```json { "name": "NAS 内网穿透", "type": "DDNS", "config_mode": "fullservice", "ddns_config_id": "xxx-xxx-xxx", "record_type": "A", "subdomain": "nas", "target_ip": "192.168.1.100", "port": 80, "ttl": 600 } ``` --- ## 📊 验证结果记录 ### 通过的测试项 | 编号 | 测试项 | 结果 | 备注 | |------|--------|------|------| | 1 | Tab 名称验证 | ⬜ 通过/⬜ 失败 | | | 2 | Tab 3 文案验证 | ⬜ 通过/⬜ 失败 | | | 3 | DDNS 表单结构 | ⬜ 通过/⬜ 失败 | | | 4 | 模式切换功能 | ⬜ 通过/⬜ 失败 | | | 5 | 字段联动逻辑 | ⬜ 通过/⬜ 失败 | | | 6 | Tab 4 服务卡片 | ⬜ 通过/⬜ 失败 | | | 7 | 卡片点击行为 | ⬜ 通过/⬜ 失败 | | | 8 | 表单验证规则 | ⬜ 通过/⬜ 失败 | | | 9 | 控制台无错误 | ⬜ 通过/⬜ 失败 | | | 10 | Network 请求 | ⬜ 通过/⬜ 失败 | | ### 发现的问题 | 编号 | 问题描述 | 严重程度 | 截图 | |------|---------|---------|------| | 1 | | 高/中/低 | | | 2 | | 高/中/低 | | --- ## 🎯 总体评价 **UI 设计**: ⭐⭐⭐⭐⭐ - 界面清晰美观 - 两种模式区分明显 - Emoji 使用恰当 **交互体验**: ⭐⭐⭐⭐⭐ - 模式切换流畅 - 字段联动准确 - 提示信息清晰 **功能完整性**: ⭐⭐⭐⭐⭐ - 前端表单完整 - 验证规则完善 - 无明显缺陷 **整体满意度**: ⭐⭐⭐⭐⭐ --- ## 📝 备注 任何额外的观察或建议: ``` 在此处记录... ``` --- **验证日期**: 2026-03-20 **验证人员**: _____________ **验证状态**: ⏳ 进行中 / ✅ 已完成 / ❌ 阻塞