功能:支持按桌面配置连接参数与多种地址
变更详情:桌面连接可配置化——每卡设置、地址支持 IP/域名/VPN 隧道 - 新增 DesktopStore:~/.config/vdi-terminal/desktops.json 持久化连接参数, 首次启动生成三张默认卡(待分配),老盒子自动从 client.conf 迁移 server 地址 - 新增 DesktopSettingsDialog:按桌面编辑协议/地址/应用名/分辨率/帧率, 置顶显示避免被全屏 kiosk 遮挡 - 桌面列表每张卡增加“设置”按钮;管理菜单 Ctrl+Alt+Shift+M 增加入口 - DesktopService 改为从 store 读取;地址为空的桌面显示待分配且不可连接 - 修复:默认卡未按 endpoint 重算状态导致迁移后仍显示待分配 - 实测真机通过:Windows 自动迁移可连接、对话框显示与保存正常
This commit is contained in:
1 parent
ee6f449bf1
commit
ec1566a80e
10 files changed
+460
-44
No files matched your search
@@ -0,0 +1,37 @@
|
||||
// 桌面连接配置持久化(JSON)
|
||||
//
|
||||
// 每个客户部署环境的桌面地址不同,连接参数不能写死在代码里。
|
||||
// 当前阶段由本地文件维护(现场通过"桌面连接设置"界面配置);
|
||||
// 后续接入管理平台后,本类改为平台下发配置的本地缓存,接口不变。
|
||||
//
|
||||
// 文件:~/.config/vdi-terminal/desktops.json
|
||||
// 兼容:文件不存在时生成默认骨架;老盒子从 client.conf 的 server 迁移 Windows 地址。
|
||||
|
||||
#ifndef KIOSK_SHELL_DESKTOP_STORE_H
|
||||
#define KIOSK_SHELL_DESKTOP_STORE_H
|
||||
|
||||
#include <QString>
|
||||
#include <vector>
|
||||
|
||||
#include "desktop_session.h"
|
||||
|
||||
namespace vdi {
|
||||
|
||||
class DesktopStore {
|
||||
public:
|
||||
static QString storePath();
|
||||
|
||||
// 读取桌面列表;确保三张默认卡(Windows/Ubuntu/麒麟)始终存在。
|
||||
// state 由 endpoint 是否为空推导:有地址=可连接,无地址=待分配。
|
||||
static std::vector<DesktopInfo> load();
|
||||
|
||||
// 保存完整桌面列表
|
||||
static bool save(const std::vector<DesktopInfo>& desktops);
|
||||
|
||||
// 更新单张桌面(按 id 匹配),保存成功返回 true
|
||||
static bool update(const DesktopInfo& info);
|
||||
};
|
||||
|
||||
} // namespace vdi
|
||||
|
||||
#endif // KIOSK_SHELL_DESKTOP_STORE_H
|
||||
Reference in new issue
Block a user