From d15833cdc255470e53a529bb5776a88ad63e94ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E4=B8=80=E9=B8=A3?= <1000000008@qq.com> Date: Thu, 29 Oct 2026 02:09:55 -0400 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=9A=E6=8C=81=E4=B9=85?= =?UTF-8?q?=E5=8C=96=E6=A1=8C=E9=9D=A2=E8=BF=9E=E6=8E=A5=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=88=B0=20desktops.json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 变更详情:新增桌面连接配置持久化(desktops.json) --- terminal/kiosk-shell/src/desktop_store.h | 37 ++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 terminal/kiosk-shell/src/desktop_store.h diff --git a/terminal/kiosk-shell/src/desktop_store.h b/terminal/kiosk-shell/src/desktop_store.h new file mode 100644 index 0000000..d2869fd --- /dev/null +++ b/terminal/kiosk-shell/src/desktop_store.h @@ -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 +#include + +#include "desktop_session.h" + +namespace vdi { + +class DesktopStore { +public: + static QString storePath(); + + // 读取桌面列表;确保三张默认卡(Windows/Ubuntu/麒麟)始终存在。 + // state 由 endpoint 是否为空推导:有地址=可连接,无地址=待分配。 + static std::vector load(); + + // 保存完整桌面列表 + static bool save(const std::vector& desktops); + + // 更新单张桌面(按 id 匹配),保存成功返回 true + static bool update(const DesktopInfo& info); +}; + +} // namespace vdi + +#endif // KIOSK_SHELL_DESKTOP_STORE_H