diff --git a/.env b/.env new file mode 100644 index 0000000..e04ccbe --- /dev/null +++ b/.env @@ -0,0 +1 @@ +GH_TOKEN=0f8ce868776fa1af5908d0353cc175663908ff5f \ No newline at end of file diff --git a/package.json b/package.json index e9a5891..3e4bb50 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "dependencies": { "axios": "^0.19.0", "core-js": "^2.6.5", + "electron-updater": "^4.2.0", "nedb": "^1.8.0", "view-design": "^4.0.2", "vue": "^2.6.10", diff --git a/src/background.js b/src/background.js index 2c48f49..de4238a 100644 --- a/src/background.js +++ b/src/background.js @@ -4,6 +4,7 @@ import { app, protocol, ipcMain, BrowserWindow } from 'electron' import { createProtocol } from 'vue-cli-plugin-electron-builder/lib' +import { autoUpdater } from 'electron-updater' const isDevelopment = process.env.NODE_ENV !== 'production' @@ -23,8 +24,7 @@ function createWindow () { webPreferences: { webSecurity: false, nodeIntegration: true - }, - icon: `${__static}/app.ico` + } }) if (process.env.WEBPACK_DEV_SERVER_URL) { @@ -35,6 +35,7 @@ function createWindow () { createProtocol('app') // Load the index.html when not in development win.loadURL('app://./index.html') + autoUpdater.checkForUpdatesAndNotify() } win.on('closed', () => { diff --git a/vue.config.js b/vue.config.js index df318c3..7f24c89 100644 --- a/vue.config.js +++ b/vue.config.js @@ -8,7 +8,8 @@ module.exports = { mac: { icon: './public/app.png' }, - productName: 'ZY Player' + productName: 'ZY Player', + publish: ['github'] }, chainWebpackRendererProcess: config => { if (process.env.NODE_ENV === 'development') { diff --git a/yarn.lock b/yarn.lock index 04a2e28..4401966 100644 --- a/yarn.lock +++ b/yarn.lock @@ -821,6 +821,11 @@ resolved "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" integrity sha1-aQoUdbhPKohP0HzXl8APXzE1bqg= +"@types/semver@^6.0.2": + version "6.2.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.2.0.tgz#d688d574400d96c5b0114968705366f431831e1a" + integrity sha512-1OzrNb4RuAzIT7wHSsgZRlMBlNsJl+do6UblR7JMW4oB7bbR+uBEYtUh7gEc/jM84GGilh68lSOokyM/zNUlBA== + "@vue/babel-helper-vue-jsx-merge-props@^1.0.0": version "1.0.0" resolved "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.0.0.tgz#048fe579958da408fb7a8b2a3ec050b50a661040" @@ -2017,6 +2022,14 @@ builder-util-runtime@8.3.0: debug "^4.1.1" sax "^1.2.4" +builder-util-runtime@8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.4.0.tgz#3163fffc078e6b8f3dd5b6eb12a8345573590682" + integrity sha512-CJB/eKfPf2vHrkmirF5eicVnbDCkMBbwd5tRYlTlgud16zFeqD7QmrVUAOEXdnsrcNkiLg9dbuUsQKtl/AwsYQ== + dependencies: + debug "^4.1.1" + sax "^1.2.4" + builder-util@21.2.0, builder-util@~21.2.0: version "21.2.0" resolved "https://registry.npm.taobao.org/builder-util/download/builder-util-21.2.0.tgz#aba721190e4e841009d9fb4b88f1130ed616522f" @@ -3466,8 +3479,8 @@ ejs@~2.5.6: electron-builder@^21.2.0: version "21.2.0" - resolved "https://registry.npm.taobao.org/electron-builder/download/electron-builder-21.2.0.tgz#b68ec4def713fc0b8602654ce842f972432f50c5" - integrity sha1-to7E3vcT/AuGAmVM6EL5ckMvUMU= + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-21.2.0.tgz#b68ec4def713fc0b8602654ce842f972432f50c5" + integrity sha512-x8EXrqFbAb2L3N22YlGar3dGh8vwptbB3ovo3OF6K7NTpcsmM2zEoJv7GhFyX73rNzSG2HaWpXwGAtOp2JWiEw== dependencies: app-builder-lib "21.2.0" bluebird-lst "^1.0.9" @@ -3524,6 +3537,20 @@ electron-to-chromium@^1.3.306: resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.314.tgz#c186a499ed2c9057bce9eb8dca294d6d5450facc" integrity sha1-wYakme0skFe86euNyilNbVRQ+sw= +electron-updater@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.2.0.tgz#f9ecfc657f65ead737d42b9efecf628d3756b550" + integrity sha512-GuS3g7HDh17x/SaFjxjswlWUaKHczksYkV2Xc5CKj/bZH0YCvTSHtOmnBAdAmCk99u/71p3zP8f0jIqDfGcjww== + dependencies: + "@types/semver" "^6.0.2" + builder-util-runtime "8.4.0" + fs-extra "^8.1.0" + js-yaml "^3.13.1" + lazy-val "^1.0.4" + lodash.isequal "^4.5.0" + pako "^1.0.10" + semver "^6.3.0" + electron@7.1.7: version "7.1.7" resolved "https://registry.yarnpkg.com/electron/-/electron-7.1.7.tgz#520e2bc422e3dfd4bae166dd3be62101f2cbdc52" @@ -6047,6 +6074,11 @@ lodash.defaultsdeep@^4.6.1: resolved "https://registry.npm.taobao.org/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" integrity sha1-US6b1yHSctlOPTpjZT+hdRZ0HKY= +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + lodash.kebabcase@^4.1.1: version "4.1.1" resolved "https://registry.npm.taobao.org/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" @@ -7090,7 +7122,7 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" -pako@~1.0.2, pako@~1.0.5: +pako@^1.0.10, pako@~1.0.2, pako@~1.0.5: version "1.0.10" resolved "https://registry.npm.taobao.org/pako/download/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" integrity sha1-Qyi621CGpCaqkPVBl31JVdpclzI=