diff --git a/UNIFIED_LINK_GENERATOR.md b/UNIFIED_LINK_GENERATOR.md new file mode 100644 index 0000000..68bea2d --- /dev/null +++ b/UNIFIED_LINK_GENERATOR.md @@ -0,0 +1,159 @@ +# 统一链接生成器功能测试 + +## 功能概述 + +新的统一链接生成器将预配置认证信息和设置分享功能合并到一个链接中,用户可以: + +1. 输入命名空间和认证码(预配置认证) +2. 选择需要分享的设置项 +3. 生成包含两种信息的统一链接 + +## 核心特性 + +### ✅ **统一链接生成** +- 同时包含预配置认证参数和设置配置 +- 一个链接完成设备认证和设置应用 +- 自动编码和参数组合 + +### ✅ **智能界面设计** +- 分层式界面:预配置认证 + 设置分享 + 链接生成 +- 实时预览和状态显示 +- 安全提醒和敏感信息保护 + +### ✅ **安全优化** +- 数据源设置和已变更设置默认排除 `server.kvToken` +- 敏感设置项标记和值遮盖 +- 多重安全提醒 + +## 链接格式 + +### 基础预配置链接 +``` +https://domain.com/?namespace=classroom-001&authCode=pass123&autoExecute=true +``` + +### 包含设置的统一链接 +``` +https://domain.com/?namespace=classroom-001&authCode=pass123&autoExecute=true&config=eyJ... +``` + +其中: +- `namespace`: 设备命名空间 +- `authCode`: 认证码(可选) +- `autoExecute`: 是否自动执行认证 +- `config`: Base64编码的设置JSON对象 + +## 使用流程 + +1. **输入预配置信息** + - 命名空间(必填) + - 认证码(可选) + - 是否自动执行认证 + +2. **选择设置项** + - 快速选择:数据源设置、已变更设置、全选 + - 手动选择:通过详细列表选择特定设置 + - 安全保护:敏感设置默认不选中 + +3. **生成统一链接** + - 点击"生成统一链接"按钮 + - 链接实时生成和预览 + - 一键复制和测试 + +## 技术实现 + +### 参数组合逻辑 +```javascript +// 1. 添加预配置参数 +params.append("namespace", namespace); +params.append("authCode", authCode); +params.append("autoExecute", "true"); + +// 2. 添加设置配置 +if (selectedSettings.length > 0) { + const configObj = {}; + selectedSettings.forEach(key => { + configObj[key] = allSettings[key]; + }); + + const base64Config = btoa(JSON.stringify(configObj)); + params.append("config", base64Config); +} +``` + +### 自动更新机制 +- 监听预配置表单变化 +- 监听设置选择变化 +- 实时生成统一链接 + +## 使用场景 + +### 1. **设备批量部署 + 环境配置** +``` +https://classworks.example.com/?namespace=classroom-01&authCode=device01&autoExecute=true&config=eyJzZXJ2ZXIuZG9tYWluIjoiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20ifQ== +``` +- 自动认证为指定设备 +- 自动配置服务器地址等设置 + +### 2. **演示环境快速部署** +``` +https://classworks.example.com/?namespace=demo&autoExecute=true&config=eyJkaXNwbGF5LnRoZW1lIjoiZGFyayIsImVkaXQubW9kZSI6InJlYWRvbmx5In0= +``` +- 自动认证为演示账号 +- 自动应用演示环境设置 + +### 3. **培训环境标准化** +``` +https://classworks.example.com/?namespace=training&authCode=train123&config=eyJkaXNwbGF5LnNob3dIZWxwIjp0cnVlLCJlZGl0LmVuYWJsZUd1aWRlIjp0cnVlfQ== +``` +- 预配置培训账号 +- 启用帮助和引导功能 + +## 安全考虑 + +### ✅ **默认安全** +- Token等敏感信息默认不包含 +- 快速选择按钮智能排除敏感设置 +- 明确的安全警告和提醒 + +### ✅ **用户控制** +- 用户仍可手动选择包含敏感设置 +- 敏感设置有明确标记 +- 提供充分的风险提示 + +### ✅ **传输安全** +- 建议HTTPS传输 +- URL参数会被自动清理 +- 设置信息经过Base64编码 + +## 兼容性 + +- ✅ 向后兼容现有的预配置功能 +- ✅ 向后兼容现有的设置分享功能 +- ✅ 新增统一链接格式 +- ✅ 保持所有现有API接口 + +## 测试建议 + +1. **基础功能测试** + - 仅预配置信息的链接生成 + - 预配置 + 设置的统一链接生成 + - 链接复制和测试功能 + +2. **安全功能测试** + - 验证敏感设置默认不选中 + - 验证敏感设置标记显示 + - 验证安全提醒展示 + +3. **兼容性测试** + - 测试生成的链接是否正常工作 + - 测试预配置认证是否正常 + - 测试设置应用是否正常 + +## 优势总结 + +1. **用户体验**: 一个链接完成所有配置,无需多步操作 +2. **部署效率**: 批量设备部署更加便捷 +3. **管理简化**: 减少链接管理复杂度 +4. **安全平衡**: 在便捷性和安全性之间找到平衡 +5. **功能完整**: 涵盖认证和配置的完整解决方案 \ No newline at end of file diff --git a/src/components/SettingsLinkGenerator.vue b/src/components/SettingsLinkGenerator.vue index ae359a4..2292cec 100644 --- a/src/components/SettingsLinkGenerator.vue +++ b/src/components/SettingsLinkGenerator.vue @@ -1,142 +1,356 @@