當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。