news 2026/7/7 0:45:01

Electron项目使用electron-updater与UpgradeLink接入参考

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Electron项目使用electron-updater与UpgradeLink接入参考

Electron项目使用electron-updater与UpgradeLink接入参考

一、官方组件electron-updater介绍

Electron官方提供的electron-updater组件支持通过更新服务器或静态文件实现应用程序的自动更新,核心功能包括:

  • 兼容Electron更新协议的版本检查
  • 跨平台的安装包下载与安装流程
  • 灵活的更新策略配置

核心资源

  • 官方文档地址: 文档
  • UpgradeLink Api地址: 文档

整体逻辑:通过调用UpgradeLink提供的API获取升级策略,由electron-updater组件执行具体的更新流程,实现与官方更新体系的无缝对接。

接入流程图

二、接入核心步骤

可用来参考的 electron-demo项目地址

1. 安装官方更新组件

  • updater组件使用指南

2. 阅读官方动态更新服务器文档,了解接入流程。文档地址

UpgradeLink 提供了 获取更新 api,完全兼容了官方要求的请求参数与返回结构。可以进行无缝的替换。

3. 添加 dev-update.yml 文件,用来配置出 更新包下载地址

provider: generic updaterCacheDirName: electron-demo-updater # 下载目录

4. 代码替换, 调整检查更新 方法。

基于官方提供的 检查更新 代码,我们只需要在官方提供的 checkForUpdates 方法中,替换为 UpgradeLink 提供的接口地址即可。

// 打印相关参数 console.log(app.getVersion()); console.log(process.platform); console.log(process.arch); const FeedURL = `https://api.upgrade.toolsetlink.com/v1/electron/upgrade?electronKey=kPUtUMDIjBhS48q5771pow&versionName=${app.getVersion()}&appointVersionName=&devModelKey=&devKey=&platform=${process.platform}&arch=${process.arch}`; autoUpdater.setFeedURL({ url: FeedURL, provider: 'generic', }); autoUpdater.requestHeaders = { 'X-AccessKey': 'mui2W50H1j-OC4xD6PgQag', }; const result = await autoUpdater.checkForUpdates(); // 打印返回结果 console.log("result: ",result);

4.代码替换, 调整 下载并更新 方法, 调整下载地址为检查更新接口返回的地址。

const FeedURL = `https://api.upgrade.toolsetlink.com/v1/electron/upgrade?electronKey=kPUtUMDIjBhS48q5771pow&versionName=${app.getVersion()}&appointVersionName=&devModelKey=&devKey=&platform=${process.platform}&arch=${process.arch}`; autoUpdater.setFeedURL({ url: FeedURL, provider: 'generic', }); autoUpdater.requestHeaders = { 'X-AccessKey': 'mui2W50H1j-OC4xD6PgQag', }; const result = await autoUpdater.checkForUpdates(); // 打印检查更新接口返回结果 console.log(result); autoUpdater.setFeedURL({ url: result.updateInfo.path, provider: 'generic', }); console.log('[流程] 下载更新开始,URL:', result.updateInfo.path); try { await autoUpdater.downloadUpdate(); console.log('[流程] 下载更新完成'); } catch (e) { console.error('[流程] 下载更新失败:', e); console.error('[DEBUG] 错误堆栈:', e.stack); throw e; }

更新协议的请求参数(如platformarch)和响应结构,UpgradeLink完全兼容官方规范,可直接替换使用。

以上是接入指南。如果需要调整内容详略或补充特定场景说明,欢迎告知具体需求。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 12:59:39

如何设置最优学习率?Llama-Factory内置超参搜索建议

如何设置最优学习率?Llama-Factory内置超参搜索建议 在大语言模型(LLM)日益普及的今天,微调已成为将通用预训练模型适配到具体业务场景的核心手段。然而,面对动辄数十亿参数的模型,如何高效、稳定地完成这一…

作者头像 李华
网站建设 2026/7/7 15:50:13

LabVIEW终极配置指南:从零到精通的完整教程

想要快速掌握LabVIEW的完整配置流程吗?这篇LabVIEW下载安装终极指南将带你从软件获取到使用,再到日常维护,一站式解决所有配置难题。 【免费下载链接】LabVIEW下载安装和谐与卸载教程 LabVIEW下载、安装、和谐与卸载教程本资源文件提供了LabV…

作者头像 李华
网站建设 2026/7/7 7:50:32

Node.js多版本切换工具终极指南:从零开始高效管理开发环境

在现代Web开发中,Node.js版本管理已成为每个开发者必备的核心技能。面对不同项目对Node.js版本的差异化需求,传统的单一版本安装方式已无法满足开发效率要求。nvm-desktop作为一款专业的桌面应用,为开发者提供了直观便捷的多版本切换工具&…

作者头像 李华
网站建设 2026/7/7 9:09:17

8倍速语音革命:Whisper Turbo如何重塑实时转写生态

8倍速语音革命:Whisper Turbo如何重塑实时转写生态 【免费下载链接】whisper-large-v3-turbo 项目地址: https://ai.gitcode.com/hf_mirrors/openai/whisper-large-v3-turbo 导语 还在忍受会议记录延迟?Whisper Turbo以8倍速突破语音转写效率瓶…

作者头像 李华
网站建设 2026/7/7 21:22:28

Wan2.2-T2V-A14B生成视频的字幕烧录与多语言切换功能实现

Wan2.2-T2V-A14B生成视频的字幕烧录与多语言切换功能实现 在短视频内容爆炸式增长、全球化传播成为标配的今天,企业面临的不仅是“如何做出好视频”,更是“如何快速做出多种语言版本的好视频”。传统流程中,一个中文广告要推向海外市场&#…

作者头像 李华