当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript electron-updater.AppUpdater类代码示例

本文整理汇总了TypeScript中electron-updater.AppUpdater的典型用法代码示例。如果您正苦于以下问题:TypeScript AppUpdater类的具体用法?TypeScript AppUpdater怎么用?TypeScript AppUpdater使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了AppUpdater类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: validateDownload

export async function validateDownload(updater: AppUpdater, expectDownloadPromise = true) {
  tuneNsisUpdater(updater)
  const actualEvents = trackEvents(updater)

  const updateCheckResult = await updater.checkForUpdates()
  const assets = (updateCheckResult.updateInfo as any).assets
  if (assets != null) {
    for (const asset of assets) {
      delete asset.download_count
    }
  }

  expect(updateCheckResult.updateInfo).toMatchSnapshot()
  if (expectDownloadPromise) {
    expect(updateCheckResult.downloadPromise).toBeDefined()
    const downloadResult = await updateCheckResult.downloadPromise
    if (updater instanceof MacUpdater) {
      expect(downloadResult).toEqual([])
    }
    else {
      await assertThat(path.join((downloadResult)!![0])).isFile()
    }
  }
  else {
    expect(updateCheckResult.downloadPromise).toBeUndefined()
  }

  expect(actualEvents).toMatchSnapshot()
  return updateCheckResult
}
开发者ID:ledinhphuong,项目名称:electron-builder,代码行数:30,代码来源:updaterTestUtil.ts

示例2: trackEvents

export function trackEvents(updater: AppUpdater) {
  const actualEvents: Array<string> = []
  for (const eventName of ["checking-for-update", "update-available", "update-downloaded", "error"]) {
    updater.addListener(eventName, () => {
      actualEvents.push(eventName)
    })
  }
  return actualEvents
}
开发者ID:ledinhphuong,项目名称:electron-builder,代码行数:9,代码来源:updaterTestUtil.ts

示例3: validateDownload

export async function validateDownload(updater: AppUpdater, expectDownloadPromise = true) {
  tuneNsisUpdater(updater)
  const actualEvents = trackEvents(updater)

  const updateCheckResult = await updater.checkForUpdates()
  expect(updateCheckResult.fileInfo).toMatchSnapshot()
  if (expectDownloadPromise) {
    if (updater instanceof MacUpdater) {
      expect(await updateCheckResult.downloadPromise).toEqual([])
    }
    else {
      await assertThat(path.join((await updateCheckResult.downloadPromise)!![0])).isFile()
    }
  }
  else {
    expect(updateCheckResult.downloadPromise).toBeUndefined()
  }

  expect(actualEvents).toMatchSnapshot()
  return updateCheckResult
}
开发者ID:jwheare,项目名称:electron-builder,代码行数:21,代码来源:updaterTestUtil.ts

示例4: bindUpdaterEvents

    bindUpdaterEvents() {
        this.autoUpdater.on('update-available', () => {
            this.dialogService.showYesNoDialog({
                title: 'Update verfĂźgbar',
                message: 'Eine neue Version ist verfĂźgbar. Wollen Sie die Software jetzt aktualisieren?'
            }).subscribe((dialogResult: IDialogResult) => {
                if (dialogResult.result === DialogResult.YES) {
                    this.autoUpdater.downloadUpdate();
                }
            });
        });

        /* NOT WORKING YET, see https://github.com/electron-userland/electron-builder/issues/2521
        this.autoUpdater.on('download-progress', (progressObj) => {
            console.log(`${progressObj.transferred} of ${progressObj.total} bytes (${progressObj.percent}%, ${progressObj.bytesPerSecond} byte/s)`);
        });
        */

        this.autoUpdater.on('update-downloaded', (info) => {
            this.dialogService.showYesNoDialog({
                title: 'Update heruntergeladen',
                message: 'Die aktuellste Version wurde heruntergeladen. Jetzt neu starten?'
            }).subscribe((dialogResult: IDialogResult) => {
                if (dialogResult.result === DialogResult.YES) {
                    this.autoUpdater.quitAndInstall();
                } else {
                    // When installing the new downloaded version is delayed by the user, it should be installed when closing it the next time.
                    // Currently there's an issue with that when the app is intalled for "all users" (e.g. under C:/Program Files/<APP_NAME>).
                    // When it's installed only for current user, it works.
                    // See https://github.com/electron-userland/electron-builder/issues/2363

                    // An alternative could be to force the installation directly after download
                    // (=> remove confirm and just notify that app will be closed and update will be installed)
                    this.autoUpdater.autoInstallOnAppQuit = true;
                }
            });
        });
    }
开发者ID:pschild,项目名称:image-management-tool,代码行数:38,代码来源:electron-update.service.ts

示例5:

            }).subscribe((dialogResult: IDialogResult) => {
                if (dialogResult.result === DialogResult.YES) {
                    this.autoUpdater.quitAndInstall();
                } else {
                    // When installing the new downloaded version is delayed by the user, it should be installed when closing it the next time.
                    // Currently there's an issue with that when the app is intalled for "all users" (e.g. under C:/Program Files/<APP_NAME>).
                    // When it's installed only for current user, it works.
                    // See https://github.com/electron-userland/electron-builder/issues/2363

                    // An alternative could be to force the installation directly after download
                    // (=> remove confirm and just notify that app will be closed and update will be installed)
                    this.autoUpdater.autoInstallOnAppQuit = true;
                }
            });
开发者ID:pschild,项目名称:image-management-tool,代码行数:14,代码来源:electron-update.service.ts

示例6: constructor

 constructor(
     private electronService: ElectronService,
     private dialogService: DialogService
 ) {
     // Conditional imports
     if (this.electronService.isElectron()) {
         // enable autoUpdater for production builds only
         if (AppConfig.production) {
             this.autoUpdater = this.electronService.remote.getGlobal('autoUpdater');
             this.autoUpdater.autoDownload = false;
             this.bindUpdaterEvents();
             this.autoUpdater.checkForUpdates(); // TODO: re-check in certain intervals
         }
     }
 }
开发者ID:pschild,项目名称:image-management-tool,代码行数:15,代码来源:electron-update.service.ts


注:本文中的electron-updater.AppUpdater类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。