Files
Meshray-Manager/docs/DDNS 双模式 - 快速验证.md
T
2026-06-30 15:14:37 +08:00

6.6 KiB
Raw Blame History

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 记录:

  • 显示:主机记录、目标 IPIPv4 placeholder)、检测端口

选择 AAAA 记录:

  • 显示:主机记录、目标 IPIPv6 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 包含返回的数据

检查请求体(基础设施模式示例):

{
  "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
验证人员: _____________
验证状态: 进行中 / 已完成 / 阻塞