
桌面应用【免费下载链接】ZoneDeckThe Ultimate Workspace Manager, Switch between work and life, seamlessly生活工作无缝切换专业的桌面工作区管理助手项目地址https://gitcode.com/gh_mirrors/bo/ZoneDeck点击查看免费下载ZoneDeck 的「关于与反馈」集中承载了桌面工作区管理器的版本更新、服务公告、匿名使用统计与反馈上报能力。本篇基于 docs/en/guide/update.md 展开并结合前端界面组件、Tauri 命令层与 Rust 端 Verhub 客户端的源码实现讲清每项功能的入口、行为与底层原理读完即可自如完成更新管理、预览版尝鲜、公告阅读、隐私决策与问题反馈上报。功能总览「关于与反馈」标签页设置窗口中的About Feedback关于与反馈标签页是更新、公告、反馈三类功能的统一入口界面实现位于 AboutPanel.svelte。它自上而下分为四个区块更新Update手动检查新版本、接收预览版开关公告Announcements服务端下发的公告列表按时间从新到旧排列置顶公告带置顶徽标反馈Feedback评分、反馈正文、联系方式与同时转换为 GitHub Issue选项项目信息与协议版本号、项目主页 / 仓库 / 文档外链以及 MIT 开源协议全文。打开这个标签页有两个入口托盘菜单 → 关于About设置窗口 → 关于与反馈标签页。此外启动设置窗口时若以--about参数启动也会直接打开该标签页见 lib.rs 的单实例事件分发。检查更新手动与自动点击检查更新按钮即可向服务端请求最新版本信息包括版本号、发布说明Markdown与下载地址。若存在新版本界面会显示发现新版本 {version}并提供查看详情按钮跳转下载若已是新版本则显示已是最新版本。两个触发途径触发方式行为差异手动点击检查更新无论成功与否都会给出结果提示设置窗口启动时自动检查一次失败时静默不打扰用户这一差异在前端 state.svelte.js 中由checkForUpdate(manual)的manual参数体现手动检查的manualtrue启动时的自动检查发生在 App.svelte 的loadAll()完成后调用checkForUpdate()。检查期间按钮会进入检查中…禁用态防止重复请求。底层调用链更新检查的前后端完整链路如下前端调用 verhub.js 的checkUpdate(includePreview)通过 Tauri IPC 调用verhub_check_update命令Tauri 命令层 verhub_check_update 以编译期版本号env!(CARGO_PKG_VERSION)作为当前版本连同include_preview与当前界面语言一起发给 Rust 端客户端客户端模块 verhub.rs 构造CheckUpdateInput { current_version, current_comparable_version, include_preview, locale }调用verhub-sdk的公开更新检查接口服务端判断是否需要更新、是否强制更新、该升到哪个版本返回CheckUpdateDTOshould_update/required/target_version/latest_version等字段见 verhub.rs。值得注意的是target_version服务端可能建议升级到某个里程碑版本而非最新版前端发现新版本提示用的正是target_version。若服务端标记requiredtrue强制更新界面会在提示后追加强制更新字样见 AboutPanel.svelte 的updateText派生逻辑。接收预览版Pre-release默认情况下更新检查只考虑稳定版发布。若想在正式发布前试用新功能可在更新区块打开接收预览版Receive preview releases开关此后更新检查会把-rc这类预览版一并纳入候选。该开关对应配置项verhub.include_preview默认false见 config.rs 的Verhub结构与 config-reference.md 的参数表切换后即时生效checkForUpdate每次读取app.config?.verhub?.include_preview见 state.svelte.js下一次检查即按新范围判断风险提示预览版包含未经完整测试的功能稳定性低于正式版建议谨慎使用——仅在需要提前体验时开启日常保持关闭。服务公告AnnouncementsZoneDeck 可以通过服务端下发公告用于传达重要更新提示、已知问题等消息。行为要点新公告自动弹出启动时若存在比已读公告更新的公告会弹窗展示已读过的公告不再重复弹出置顶优先存在置顶公告时优先弹出置顶公告否则弹出最新一条见 state.svelte.js 的loadAnnouncements({ popNew })逻辑关闭即已读弹窗关闭含 Esc / 点击遮罩即记为已读记录在配置verhub.seen_announcement_id中见 AnnouncementModal.svelte 与markAnnouncementSeen隐藏公告不展示后端在 verhub.rs 拉取公告列表时即过滤掉is_hidden的条目版本与平台过滤公告请求带上当前版本号与平台Windows只返回本平台、本版本可见范围内的公告见 lib.rs 的verhub_announcementslimit被钳制在 1–50。公告列表在关于页内同样展示每条含标题、置顶徽标、发布时间与 Markdown 渲染的正文见 AboutPanel.svelte。公告与发布说明的语言适配公告与发布说明均按当前界面语言获取并且在切换语言后立即重新获取前端每次请求都携带当前语言checkUpdate(includePreview, locale)、announcements(limit, locale)见 verhub.js语言切换事件触发 refreshLocalizedContent重新拉取项目信息、公告与更新说明已存在的更新结果按新语言重取但不会重复弹更新提示Rust 端通过 content_locale 校验语言标签界面传的标签无效或缺失时回落到当前生效语言服务端对没有对应译文的内容回落到原文展示。匿名使用统计采集边界与退出首次启动时ZoneDeck 会询问是否共享匿名使用统计。在你明确回答之前一个字节的统计数据都不会被采集——这一约束由 SDK 的require_consent: true在 analytics.rs 中硬性保证其文件头注释更是写明了三条硬性约束未授权不采、只报白名单事件、敏感内容一律不出现在事件里。会发送什么各功能开关是开是关规则与白名单条目数量、其中使用正则的数量、常设的热键组合应用版本、界面语言、运行方式是否为便携模式等一个随机生成的匿名 ID不携带任何设备特征。绝不发送什么隐藏了哪些窗口、绑定了哪些进程、何时发生的隐藏窗口标题、进程名、文件路径、正则表达式本身与反馈正文姓名、邮箱等一切可指向个人身份的信息。源码级边界保障事件白名单只允许上报 EVENTS 列表内登记的事件features、setting_changed、update_checked等未登记的事件名一律丢弃属性清洗sanitize只保留布尔值、数字与短字符串字符串截断至 64 字符属性总数上限 40对象、数组、null 一律剔除见 analytics.rs从实现上杜绝夹带窗口标题、路径等敏感信息相关行为有 单元测试 验证唯一字符串例外热键组合是唯一允许的字符串属性因为它属于产品设计信息指不回具体的人见 analytics.rs 注释。同意与退出机制授权状态存于配置verhub.analyticsnull表示尚未询问首次启动弹窗征求同意true同意false拒绝verhub.analytics_consent_sent记录同意是否已上报过同一台设备只报一次见 config.rs可在常规 → 隐私中随时关闭。一旦关闭后续不再发送任何数据本设备的匿名 ID 也会一并删除见 analytics.rs 的revoke_consent再次同意时会生成全新的匿名标识不接回之前拒绝前的那条序列事件采用攒批发送约 60 秒一个批次FLUSH_INTERVAL设置窗口关闭前调用analytics_flush补发最后一批状态文件位于数据目录下的verhub_analytics.json见 analytics.rs。反馈与问题报告你可以从About Feedback标签页直接发送反馈或问题报告也可以在 GitHub 仓库直接提交 Issue。表单结构见 AboutPanel.svelte字段规则评分可选1–5 星可随时取消选择反馈正文必填最长 4000 字符联系方式最长 120 字符不留联系方式则无法收到直接回复如何写一份有效的报告为帮助开发者快速定位建议在报告尤其是问题报告中包含ZoneDeck 版本操作系统版本反馈提交时后端会自动附带app_version与os描述见 lib.rs复现步骤相关日志文件。关于日志核心运行日志按天存储在程序目录内的logs文件夹保留天数可在常规 → 日志中配置关闭 / 3 / 7 / 14 / 30 天默认 7 天日志级别默认为警告详见 options.md。反馈前可临时把日志级别调低到调试复现一次问题再调回默认关于与反馈页还提供自动摘取最近一次运行日志的能力由 current_session_log 从核心日志截取截取预算为 4096 字节的 3/5优先保留出错现场见 verhub.rs 与truncate_log。将反馈转换为 GitHub Issue反馈框下方提供同时转换为 GitHub Issue选项由 Verhub 机器人自动把反馈转成 GitHub Issue。该选项是否可用由服务端决定服务端未开放时自动隐藏前端通过feedbackOptions()拉取github_forward_available见 verhub.js。使用前请注意勾选时会弹出使用须知对话框见 AboutPanel.svelte无需特殊网络设置、无需登录 GitHub联系方式必填且应为你的 GitHub 账号形如IvanHanloth——只有这样才能在 Issue 中跟进你提交的内容将公开可见避免在正文中包含个人隐私信息若 Issue 创建失败该条反馈不会以任何形式记录此时请手动在 GitHub 提交。源码层面后端 verhub_submit_feedback 会校验正文非空、转发时联系方式必填normalize_contact将纯空白视为未填写见 verhub.rs再调用verhub-sdk的create_feedbackforward_to_github为真时 SDK 会保证Issue 创建失败则整条反馈丢弃的语义。直接在 GitHub 提交 Issue你也可以直接打开 GitHub 仓库提交 Issue。仓库提供bug report与feature request两种模板按模板填写能帮助维护者更快理解你的问题对于功能请求与 bug官方也更推荐转为 Issue 以便统一跟进。附录verhub配置段速查上述更新、公告、统计相关状态全部落在配置文件config.json的verhub段参数与默认值如下详见 config-reference.md字段默认值说明include_previewfalse更新检查是否纳入预览版seen_announcement_id已读的最新公告 id用于判断新公告是否弹出analyticsnull匿名使用统计授权null未询问、true同意、false拒绝analytics_consent_sentfalse同意参与是否已上报过同一台设备只报一次未知字段会被忽略、缺失字段回退默认值因此即使手动编辑配置也不影响新版本程序读取。赞分享桌面应用【免费下载链接】ZoneDeckThe Ultimate Workspace Manager, Switch between work and life, seamlessly生活工作无缝切换专业的桌面工作区管理助手项目地址https://gitcode.com/gh_mirrors/bo/ZoneDeck点击查看免费下载相关推荐Agent Zero 更新检查机制深度解析check_version() 的版本判定、匿名上报与通知链路Agent Zero 更新检查机制深度解析check_version 的版本判定、匿名上报与通知链路 Agent ZeroA0内置了一套轻量的 更新检查人工智能大模型AI AgentAgent 框架自主智能体多智能体工具调用MCP 服务浏览器控制QtScrcpy终极版本更新系统自动检查与增量更新完整指南QtScrcpy终极版本更新系统自动检查与增量更新完整指南 QtScrcpy作为一款功能强大的Android实时投屏软件为用户提供了便捷的手机屏幕投射体验。桌面应用音视频FeHelper版本更新指南自动检查与一键更新的完整教程FeHelper版本更新指南自动检查与一键更新的完整教程 想要让你的FeHelper浏览器插件始终保持最新状态获得最新功能和性能优化吗本指南将详细介绍Fe开发工具前端上一篇Axure RP 11 汉化完整指南四步换回纯中文界面下一篇一台OBS多平台同时直播Multi RTMP插件完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考