6.6 KiB
6.6 KiB
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:
- 点击"添加 DDNS"按钮
- 查看弹出的对话框
- 检查表单字段
预期字段:
- 服务名称
- 服务类型(固定为 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️⃣ 验证全功能模式的字段联动
操作:
- 切换到"全功能 DDNS 服务"
- 选择不同的记录类型
选择 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️⃣ 测试表单验证
测试基础设施模式:
- 不填写任何字段,直接提交
- 应该提示:
- "请输入服务名称"
- "请选择 DNS 服务商"
- "请输入域名"
测试全功能模式 - A 记录:
- 切换到全功能模式
- 选择 A 记录
- 不填写字段,直接提交
- 应该提示:
- "请输入服务名称"
- "请选择 DDNS 配置"
- "请选择记录类型"
- "请输入主机记录"
- "请输入目标 IP"
- "请输入检测端口"
测试 TXT 记录名称格式:
- 选择 TXT 记录类型
- 填写 TXT 记录名称为:"test_invalid!@#"
- 提交应该提示:
- "只能包含字母、数字、点、下划线和连字符"
9️⃣ 检查浏览器控制台
操作:
- 按 F12 打开开发者工具
- 切换到 Console 标签
- 执行上述所有操作
预期:
- 无红色 JavaScript 错误
- 无 Vue 警告
- 无组件未定义错误
🔟 检查 Network 请求
操作:
- 开发者工具 → Network 标签
- 清空之前的请求
- 填写表单并提交
检查请求:
- URL:
/api/v1/services - Method: POST
- Status: 200 OK
- Response 包含返回的数据
检查请求体(基础设施模式示例):
{
"name": "测试 DDNS",
"type": "DDNS",
"config_mode": "infrastructure",
"provider": "cloudflare",
"domain": "example.com",
"token": "***",
"enabled": true,
"timeout": 10
}
检查请求体(全功能模式示例):
{
"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
验证人员: _____________
验证状态: ⏳ 进行中 / ✅ 已完成 / ❌ 阻塞