273 lines
6.6 KiB
Markdown
273 lines
6.6 KiB
Markdown
# 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
|
||
**验证人员**: _____________
|
||
**验证状态**: ⏳ 进行中 / ✅ 已完成 / ❌ 阻塞
|