4.0 KiB
4.0 KiB
RemoteDesk GUI 远程服务列表保存功能
实现概述
为 RemoteDesk 原生 GUI 添加了完整的远程主机管理功能,支持添加、保存、编辑和删除远程服务列表。
新增功能
1. 数据持久化
- SQLite 数据库: 使用
rusqlite存储远程主机配置 - 数据位置:
%LOCALAPPDATA%\RemoteDesk\remotedesk.db - 自动初始化: 首次运行时自动创建数据库和表结构
2. 远程主机管理
- 添加主机: 点击 "➕ Add Host" 按钮打开添加对话框
- 主机信息:
- 名称 (Name)
- 地址 (Address)
- 端口 (Port)
- 协议 (RDP / Linux Agent)
- 用户名 (Username)
- 描述 (Description)
3. 主机列表视图
- All Devices: 显示所有已添加的主机
- Favorites: 显示收藏的主机
- Recent: 显示最近连接的主机(最多10个)
4. 主机操作
- 连接: 点击 "Connect" 按钮连接到远程主机
- 收藏: 点击星标图标 (☆/★) 切换收藏状态
- 删除: 点击垃圾桶图标 (🗑) 删除主机
- 搜索: 使用搜索框快速查找主机
5. 快速连接
- 保留原有的 "🗲 Quick Connect" 功能
- 支持快速输入地址直接连接
数据库结构
CREATE TABLE remote_hosts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
address TEXT NOT NULL,
port INTEGER NOT NULL,
protocol TEXT NOT NULL,
username TEXT NOT NULL,
description TEXT,
is_favorite INTEGER NOT NULL DEFAULT 0,
last_connected INTEGER,
created_at INTEGER NOT NULL
)
技术细节
新增依赖
rusqlite = { version = "0.32", features = ["bundled"] }serde = { version = "1.0", features = ["derive"] }chrono = "0.4"
新增文件
client/native-gui/src/storage.rs: 数据存储模块RemoteHost: 主机数据结构HostProtocol: 协议枚举 (RDP/LinuxAgent)HostStorage: 数据库操作接口
主要方法
add_host(): 添加新主机update_host(): 更新主机信息delete_host(): 删除主机get_all_hosts(): 获取所有主机get_favorites(): 获取收藏主机get_recent(): 获取最近连接toggle_favorite(): 切换收藏状态update_last_connected(): 更新最后连接时间
UI 改进
添加主机对话框
- 居中显示的模态窗口
- 表单式输入界面
- 协议下拉选择 (ComboBox)
- Save/Cancel 按钮
主机卡片增强
- 显示主机缩写图标
- 显示协议类型
- 收藏状态可视化(金色/灰色星标)
- 删除按钮
- 悬停提示
视觉设计
- 深色主题配色 (保持一致)
- 卡片式布局
- 响应式交互
- 清晰的视觉层次
使用方法
添加远程主机
- 启动 RemoteDesk GUI
- 点击顶部 "➕ Add Host" 按钮
- 填写主机信息
- 选择协议类型
- 点击 "Save" 保存
连接到主机
- 在主机列表中找到目标主机
- 点击 "Connect" 按钮
- 系统会自动记录连接时间
管理收藏
- 点击主机卡片上的星标图标即可切换收藏状态
- 在 "Favorites" 标签查看所有收藏的主机
查看历史
- 切换到 "Recent" 标签查看最近连接的主机
- 按连接时间倒序排列
构建和运行
# 构建
cargo build -p remotedesk-native-gui
# 运行
cargo run -p remotedesk-native-gui
# 或直接运行可执行文件
.\target\debug\remotedesk-native.exe
数据安全
- 数据库文件存储在用户的本地应用数据目录
- 仅保存主机配置信息和用户名
- 不存储密码(符合安全最佳实践)
- 凭据应通过 Windows Credential Manager 单独管理
未来增强
可考虑的功能扩展:
- 主机分组/标签
- 导入/导出配置
- 批量操作
- 主机状态检测(在线/离线)
- 连接统计和分析
- 自定义主机图标
- 拖拽排序
测试
构建成功,生成的可执行文件位于:
target\debug\remotedesk-native.exe
所有功能已集成到现有 GUI 中,保持了界面的一致性和流畅性。