张恒

添加了updater的示例,但是似乎,更新包安装会有点点问题,待修复

...@@ -55,9 +55,9 @@ let mainConfig = { ...@@ -55,9 +55,9 @@ let mainConfig = {
55 }, 55 },
56 plugins: [ 56 plugins: [
57 new webpack.NoEmitOnErrorsPlugin(), 57 new webpack.NoEmitOnErrorsPlugin(),
58 - new CleanWebpackPlugin({ 58 + // new CleanWebpackPlugin({
59 - cleanOnceBeforeBuildPatterns: resolve('dist/electron') 59 + // cleanOnceBeforeBuildPatterns: resolve('dist/electron')
60 - }) 60 + // })
61 ], 61 ],
62 resolve: { 62 resolve: {
63 alias: { 63 alias: {
......
...@@ -14,3 +14,4 @@ yarn-error.log* ...@@ -14,3 +14,4 @@ yarn-error.log*
14 *.njsproj 14 *.njsproj
15 *.sln 15 *.sln
16 electron-vue-template-ts.7z 16 electron-vue-template-ts.7z
17 +server/client/electron-vue-admin Setup 0.0.1.exe
......
...@@ -1401,6 +1401,11 @@ ...@@ -1401,6 +1401,11 @@
1401 "integrity": "sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg==", 1401 "integrity": "sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg==",
1402 "dev": true 1402 "dev": true
1403 }, 1403 },
1404 + "@types/semver": {
1405 + "version": "6.0.2",
1406 + "resolved": "https://registry.npm.taobao.org/@types/semver/download/@types/semver-6.0.2.tgz",
1407 + "integrity": "sha1-XosJ8OSvUwNLHQ+5l3oneEeDYgU="
1408 + },
1404 "@types/source-list-map": { 1409 "@types/source-list-map": {
1405 "version": "0.1.2", 1410 "version": "0.1.2",
1406 "resolved": "http://r.cnpmjs.org/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz", 1411 "resolved": "http://r.cnpmjs.org/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz",
...@@ -2114,7 +2119,6 @@ ...@@ -2114,7 +2119,6 @@
2114 "version": "1.0.10", 2119 "version": "1.0.10",
2115 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 2120 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
2116 "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 2121 "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
2117 - "dev": true,
2118 "requires": { 2122 "requires": {
2119 "sprintf-js": "~1.0.2" 2123 "sprintf-js": "~1.0.2"
2120 } 2124 }
...@@ -2995,7 +2999,7 @@ ...@@ -2995,7 +2999,7 @@
2995 }, 2999 },
2996 "qs": { 3000 "qs": {
2997 "version": "6.7.0", 3001 "version": "6.7.0",
2998 - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz?cache=0&sync_timestamp=1566009952956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.7.0.tgz", 3002 + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz?cache=0&sync_timestamp=1569207136481&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.7.0.tgz",
2999 "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", 3003 "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=",
3000 "dev": true 3004 "dev": true
3001 } 3005 }
...@@ -3260,7 +3264,6 @@ ...@@ -3260,7 +3264,6 @@
3260 "version": "8.3.0", 3264 "version": "8.3.0",
3261 "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz", 3265 "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz",
3262 "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==", 3266 "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==",
3263 - "dev": true,
3264 "requires": { 3267 "requires": {
3265 "debug": "^4.1.1", 3268 "debug": "^4.1.1",
3266 "sax": "^1.2.4" 3269 "sax": "^1.2.4"
...@@ -3270,7 +3273,6 @@ ...@@ -3270,7 +3273,6 @@
3270 "version": "4.1.1", 3273 "version": "4.1.1",
3271 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 3274 "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
3272 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 3275 "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
3273 - "dev": true,
3274 "requires": { 3276 "requires": {
3275 "ms": "^2.1.1" 3277 "ms": "^2.1.1"
3276 } 3278 }
...@@ -3278,8 +3280,7 @@ ...@@ -3278,8 +3280,7 @@
3278 "ms": { 3280 "ms": {
3279 "version": "2.1.2", 3281 "version": "2.1.2",
3280 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 3282 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
3281 - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 3283 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
3282 - "dev": true
3283 } 3284 }
3284 } 3285 }
3285 }, 3286 },
...@@ -5032,6 +5033,38 @@ ...@@ -5032,6 +5033,38 @@
5032 "integrity": "sha1-Lb658L3/3bFmL5ygDSbEnTHcD34=", 5033 "integrity": "sha1-Lb658L3/3bFmL5ygDSbEnTHcD34=",
5033 "dev": true 5034 "dev": true
5034 }, 5035 },
5036 + "electron-updater": {
5037 + "version": "4.1.2",
5038 + "resolved": "https://registry.npm.taobao.org/electron-updater/download/electron-updater-4.1.2.tgz",
5039 + "integrity": "sha1-RqbmLMjQx9k123r/gyB9oqIf94g=",
5040 + "requires": {
5041 + "@types/semver": "^6.0.1",
5042 + "builder-util-runtime": "8.3.0",
5043 + "fs-extra": "^8.1.0",
5044 + "js-yaml": "^3.13.1",
5045 + "lazy-val": "^1.0.4",
5046 + "lodash.isequal": "^4.5.0",
5047 + "pako": "^1.0.10",
5048 + "semver": "^6.2.0"
5049 + },
5050 + "dependencies": {
5051 + "fs-extra": {
5052 + "version": "8.1.0",
5053 + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz",
5054 + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=",
5055 + "requires": {
5056 + "graceful-fs": "^4.2.0",
5057 + "jsonfile": "^4.0.0",
5058 + "universalify": "^0.1.0"
5059 + }
5060 + },
5061 + "semver": {
5062 + "version": "6.3.0",
5063 + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1565627380363&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
5064 + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
5065 + }
5066 + }
5067 + },
5035 "element-ui": { 5068 "element-ui": {
5036 "version": "2.12.0", 5069 "version": "2.12.0",
5037 "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.12.0.tgz", 5070 "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.12.0.tgz",
...@@ -5610,8 +5643,7 @@ ...@@ -5610,8 +5643,7 @@
5610 "esprima": { 5643 "esprima": {
5611 "version": "4.0.1", 5644 "version": "4.0.1",
5612 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 5645 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
5613 - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 5646 + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
5614 - "dev": true
5615 }, 5647 },
5616 "esquery": { 5648 "esquery": {
5617 "version": "1.0.1", 5649 "version": "1.0.1",
...@@ -8270,7 +8302,7 @@ ...@@ -8270,7 +8302,7 @@
8270 "dependencies": { 8302 "dependencies": {
8271 "supports-color": { 8303 "supports-color": {
8272 "version": "6.1.0", 8304 "version": "6.1.0",
8273 - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", 8305 + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz",
8274 "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", 8306 "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
8275 "dev": true, 8307 "dev": true,
8276 "requires": { 8308 "requires": {
...@@ -8306,7 +8338,6 @@ ...@@ -8306,7 +8338,6 @@
8306 "version": "3.13.1", 8338 "version": "3.13.1",
8307 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", 8339 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
8308 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", 8340 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
8309 - "dev": true,
8310 "requires": { 8341 "requires": {
8311 "argparse": "^1.0.7", 8342 "argparse": "^1.0.7",
8312 "esprima": "^4.0.0" 8343 "esprima": "^4.0.0"
...@@ -8387,7 +8418,6 @@ ...@@ -8387,7 +8418,6 @@
8387 "version": "4.0.0", 8418 "version": "4.0.0",
8388 "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", 8419 "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz",
8389 "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 8420 "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
8390 - "dev": true,
8391 "requires": { 8421 "requires": {
8392 "graceful-fs": "^4.1.6" 8422 "graceful-fs": "^4.1.6"
8393 } 8423 }
...@@ -8443,8 +8473,7 @@ ...@@ -8443,8 +8473,7 @@
8443 "lazy-val": { 8473 "lazy-val": {
8444 "version": "1.0.4", 8474 "version": "1.0.4",
8445 "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz", 8475 "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz",
8446 - "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==", 8476 + "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q=="
8447 - "dev": true
8448 }, 8477 },
8449 "lcid": { 8478 "lcid": {
8450 "version": "1.0.0", 8479 "version": "1.0.0",
...@@ -8701,6 +8730,11 @@ ...@@ -8701,6 +8730,11 @@
8701 "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", 8730 "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
8702 "dev": true 8731 "dev": true
8703 }, 8732 },
8733 + "lodash.isequal": {
8734 + "version": "4.5.0",
8735 + "resolved": "https://registry.npm.taobao.org/lodash.isequal/download/lodash.isequal-4.5.0.tgz",
8736 + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
8737 + },
8704 "lodash.isplainobject": { 8738 "lodash.isplainobject": {
8705 "version": "4.0.6", 8739 "version": "4.0.6",
8706 "resolved": "https://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz", 8740 "resolved": "https://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz",
...@@ -10124,8 +10158,7 @@ ...@@ -10124,8 +10158,7 @@
10124 "pako": { 10158 "pako": {
10125 "version": "1.0.10", 10159 "version": "1.0.10",
10126 "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.10.tgz", 10160 "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.10.tgz",
10127 - "integrity": "sha1-Qyi621CGpCaqkPVBl31JVdpclzI=", 10161 + "integrity": "sha1-Qyi621CGpCaqkPVBl31JVdpclzI="
10128 - "dev": true
10129 }, 10162 },
10130 "parallel-transform": { 10163 "parallel-transform": {
10131 "version": "1.1.0", 10164 "version": "1.1.0",
...@@ -11716,8 +11749,7 @@ ...@@ -11716,8 +11749,7 @@
11716 "sax": { 11749 "sax": {
11717 "version": "1.2.4", 11750 "version": "1.2.4",
11718 "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 11751 "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
11719 - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", 11752 + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
11720 - "dev": true
11721 }, 11753 },
11722 "schema-utils": { 11754 "schema-utils": {
11723 "version": "1.0.0", 11755 "version": "1.0.0",
...@@ -12432,8 +12464,7 @@ ...@@ -12432,8 +12464,7 @@
12432 "sprintf-js": { 12464 "sprintf-js": {
12433 "version": "1.0.3", 12465 "version": "1.0.3",
12434 "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", 12466 "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz",
12435 - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 12467 + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
12436 - "dev": true
12437 }, 12468 },
12438 "sshpk": { 12469 "sshpk": {
12439 "version": "1.16.1", 12470 "version": "1.16.1",
...@@ -13621,8 +13652,7 @@ ...@@ -13621,8 +13652,7 @@
13621 "universalify": { 13652 "universalify": {
13622 "version": "0.1.2", 13653 "version": "0.1.2",
13623 "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 13654 "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
13624 - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 13655 + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
13625 - "dev": true
13626 }, 13656 },
13627 "unpipe": { 13657 "unpipe": {
13628 "version": "1.0.0", 13658 "version": "1.0.0",
...@@ -14193,7 +14223,7 @@ ...@@ -14193,7 +14223,7 @@
14193 "dependencies": { 14223 "dependencies": {
14194 "acorn": { 14224 "acorn": {
14195 "version": "6.3.0", 14225 "version": "6.3.0",
14196 - "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.3.0.tgz", 14226 + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.3.0.tgz",
14197 "integrity": "sha1-AIdQkRn/pPwKAEHR6TpBfmjLhW4=", 14227 "integrity": "sha1-AIdQkRn/pPwKAEHR6TpBfmjLhW4=",
14198 "dev": true 14228 "dev": true
14199 }, 14229 },
...@@ -14228,7 +14258,7 @@ ...@@ -14228,7 +14258,7 @@
14228 }, 14258 },
14229 "cacache": { 14259 "cacache": {
14230 "version": "12.0.3", 14260 "version": "12.0.3",
14231 - "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-12.0.3.tgz", 14261 + "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-12.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-12.0.3.tgz",
14232 "integrity": "sha1-vpmruk4b9d9GHNWiwQcfxDJXM5A=", 14262 "integrity": "sha1-vpmruk4b9d9GHNWiwQcfxDJXM5A=",
14233 "dev": true, 14263 "dev": true,
14234 "requires": { 14264 "requires": {
......
...@@ -16,9 +16,16 @@ ...@@ -16,9 +16,16 @@
16 "build:web": "cross-env BUILD_TARGET=web node .electron-vue/build.js", 16 "build:web": "cross-env BUILD_TARGET=web node .electron-vue/build.js",
17 "pack": "npm run pack:main && npm run pack:renderer", 17 "pack": "npm run pack:main && npm run pack:renderer",
18 "pack:main": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.main.config.js", 18 "pack:main": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.main.config.js",
19 - "pack:renderer": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.renderer.config.js" 19 + "pack:renderer": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.renderer.config.js",
20 + "update:serve":"node server/index.js"
20 }, 21 },
21 "build": { 22 "build": {
23 + "publish": [
24 + {
25 + "provider": "generic",
26 + "url": "http://127.0.0.1:25565/"
27 + }
28 + ],
22 "nsis": { 29 "nsis": {
23 "oneClick": false, 30 "oneClick": false,
24 "allowToChangeInstallationDirectory": true 31 "allowToChangeInstallationDirectory": true
...@@ -59,6 +66,7 @@ ...@@ -59,6 +66,7 @@
59 "dependencies": { 66 "dependencies": {
60 "axios": "^0.19.0", 67 "axios": "^0.19.0",
61 "date-fns": "^1.30.1", 68 "date-fns": "^1.30.1",
69 + "electron-updater": "^4.1.2",
62 "element-ui": "^2.12.0", 70 "element-ui": "^2.12.0",
63 "js-cookie": "^2.2.0", 71 "js-cookie": "^2.2.0",
64 "nedb": "^1.8.0", 72 "nedb": "^1.8.0",
...@@ -115,6 +123,7 @@ ...@@ -115,6 +123,7 @@
115 "eslint-plugin-node": "^9.2.0", 123 "eslint-plugin-node": "^9.2.0",
116 "eslint-plugin-promise": "^4.2.1", 124 "eslint-plugin-promise": "^4.2.1",
117 "eslint-plugin-standard": "^4.0.0", 125 "eslint-plugin-standard": "^4.0.0",
126 + "express": "^4.17.1",
118 "file-loader": "^4.2.0", 127 "file-loader": "^4.2.0",
119 "html-webpack-plugin": "^3.2.0", 128 "html-webpack-plugin": "^3.2.0",
120 "mini-css-extract-plugin": "0.8.0", 129 "mini-css-extract-plugin": "0.8.0",
......
1 +version: 6.0.13
2 +files:
3 + - url: electron-vue-admin Setup 0.0.1.exe
4 + sha512: 6higqp9mFJANIRdE59Cyl/3CgaWuHZU92EaRUfwTjXPi9b/OH/ndiLNhK8AgWB9JIz57xBwnmgXl+eT0xAjUGw==
5 + size: 46775259
6 +path: electron-vue-admin Setup 0.0.1.exe
7 +sha512: 6higqp9mFJANIRdE59Cyl/3CgaWuHZU92EaRUfwTjXPi9b/OH/ndiLNhK8AgWB9JIz57xBwnmgXl+eT0xAjUGw==
8 +releaseDate: '2019-10-18T05:21:25.707Z'
1 +var express = require('express')
2 +var fs = require('fs')
3 +const path = require('path')
4 +var app = express()
5 +
6 +app.use(express.static(path.join(__dirname, './client')))
7 +
8 +var server = app.listen(25565, function () {
9 + var host = server.address().address;
10 + var port = server.address().port;
11 +
12 + console.log('Example app listening at http://%s:%s', host, port);
13 +});
...\ No newline at end of file ...\ No newline at end of file
1 +import { autoUpdater } from 'electron-updater'
2 +import { ipcMain } from 'electron'
3 +/**
4 + * -1 检查更新失败 0 正在检查更新 1 检测到新版本,准备下载 2 未检测到新版本 3 下载中 4 下载暂停 5 下载暂停恢复 6 下载完成 7 下载失败 8 取消下载
5 + * */
6 +function Message (mainWindow, type, data) {
7 + const senddata = {
8 + state: type,
9 + msg: data
10 + }
11 + mainWindow.webContents.send('UpdateMsg', senddata)
12 +}
13 +
14 +export default {
15 + Update (mainWindow) {
16 + // 设置地址要和package中的一样
17 + autoUpdater.setFeedURL('http://127.0.0.1:25565/')
18 +
19 + // 当更新发生错误的时候触发。
20 + autoUpdater.on('error', (err) => {
21 + console.log('更新出现错误')
22 + console.log(err)
23 + Message(mainWindow, -1, err)
24 + })
25 +
26 + // 当开始检查更新的时候触发
27 + autoUpdater.on('checking-for-update', (event, arg) => {
28 + console.log('开始检查更新')
29 + Message(mainWindow, 0)
30 + })
31 +
32 + // 发现可更新数据时
33 + autoUpdater.on('update-available', (event, arg) => {
34 + console.log('有更新')
35 + Message(mainWindow, 1)
36 + })
37 +
38 + // 没有可更新数据时
39 + autoUpdater.on('update-not-available', (event, arg) => {
40 + console.log('没有更新')
41 + Message(mainWindow, 2)
42 + })
43 +
44 + // 下载监听
45 + autoUpdater.on('download-progress', (progressObj) => {
46 + Message(mainWindow, 3, progressObj)
47 + })
48 +
49 + // 下载完成
50 + autoUpdater.on('update-downloaded', () => {
51 + console.log('下载完成')
52 + Message(mainWindow, 4)
53 + })
54 + // 执行自动更新检查
55 + ipcMain.on('check-update', () => {
56 + autoUpdater.checkForUpdates()
57 + })
58 + // 渲染进程执行更新操作
59 + ipcMain.on('confirm-update', () => {
60 + autoUpdater.quitAndInstall()
61 + })
62 + }
63 +}
...@@ -3,6 +3,7 @@ import menuconfig from '../config/menu' ...@@ -3,6 +3,7 @@ import menuconfig from '../config/menu'
3 import config from '@config' 3 import config from '@config'
4 import setIpc from './ipcMain' 4 import setIpc from './ipcMain'
5 import electronDevtoolsInstaller, { VUEJS_DEVTOOLS } from 'electron-devtools-installer' 5 import electronDevtoolsInstaller, { VUEJS_DEVTOOLS } from 'electron-devtools-installer'
6 +import upload from './checkupdate'
6 7
7 const winURL = process.env.NODE_ENV === 'development' ? 'http://localhost:9080' : `file://${__dirname}/index.html` 8 const winURL = process.env.NODE_ENV === 'development' ? 'http://localhost:9080' : `file://${__dirname}/index.html`
8 var loadWindow = null 9 var loadWindow = null
...@@ -35,6 +36,7 @@ function createMainWindow () { ...@@ -35,6 +36,7 @@ function createMainWindow () {
35 mainWindow.loadURL(winURL) 36 mainWindow.loadURL(winURL)
36 37
37 setIpc.Mainfunc(ipcMain, mainWindow, config.IsUseSysTitle) 38 setIpc.Mainfunc(ipcMain, mainWindow, config.IsUseSysTitle)
39 + upload.Update(mainWindow)
38 40
39 if (process.env.NODE_ENV === 'development') { 41 if (process.env.NODE_ENV === 'development') {
40 mainWindow.webContents.once('dom-ready', () => { 42 mainWindow.webContents.once('dom-ready', () => {
......
...@@ -22,15 +22,22 @@ ...@@ -22,15 +22,22 @@
22 <el-button type="primary" round @click="setdata">写入数据</el-button> 22 <el-button type="primary" round @click="setdata">写入数据</el-button>
23 <el-button type="primary" round @click="getdata">读取数据</el-button> 23 <el-button type="primary" round @click="getdata">读取数据</el-button>
24 <el-button type="primary" round @click="deledata">清除所有数据</el-button> 24 <el-button type="primary" round @click="deledata">清除所有数据</el-button>
25 + <el-button type="primary" round @click="CheckUpdate">检查更新</el-button>
25 </div> 26 </div>
26 </div> 27 </div>
27 </main> 28 </main>
29 + <el-dialog title="进度" :visible.sync="dialogVisible" :before-close="handleClose" center width="14%" top="45vh">
30 + <div class="conten">
31 + <el-progress type="dashboard" :percentage="percentage" :color="colors"></el-progress>
32 + </div>
33 + </el-dialog>
28 </div> 34 </div>
29 </template> 35 </template>
30 36
31 <script> 37 <script>
32 import SystemInformation from "./LandingPage/SystemInformation"; 38 import SystemInformation from "./LandingPage/SystemInformation";
33 import api from "../tools/dialog"; 39 import api from "../tools/dialog";
40 +import ipcApi from "../utils/ipcRenderer";
34 export default { 41 export default {
35 name: "landing-page", 42 name: "landing-page",
36 components: { SystemInformation }, 43 components: { SystemInformation },
...@@ -40,8 +47,18 @@ export default { ...@@ -40,8 +47,18 @@ export default {
40 name: "yyy", 47 name: "yyy",
41 age: "12" 48 age: "12"
42 }, 49 },
43 - textarray: [] 50 + textarray: [],
51 + percentage:0,
52 + colors: [
53 + { color: "#f56c6c", percentage: 20 },
54 + { color: "#e6a23c", percentage: 40 },
55 + { color: "#6f7ad3", percentage: 60 },
56 + { color: "#1989fa", percentage: 80 },
57 + { color: "#5cb87a", percentage: 100 }
58 + ],
59 + dialogVisible: true
44 }), 60 }),
61 + created() {},
45 methods: { 62 methods: {
46 // 获取electron方法 63 // 获取electron方法
47 open() { 64 open() {
...@@ -90,6 +107,54 @@ export default { ...@@ -90,6 +107,54 @@ export default {
90 // } 107 // }
91 // api.ErrorMessageBox(dialog,data) 108 // api.ErrorMessageBox(dialog,data)
92 }, 109 },
110 + CheckUpdate() {
111 + const dialog = this.$electron.remote.dialog;
112 + ipcApi.send("check-update");
113 + console.log("启动检查");
114 + ipcApi.on("UpdateMsg", (event, data) => {
115 + console.log(data)
116 + switch (data.state) {
117 + case -1:
118 + const msgdata = {
119 + title: "警告",
120 + message: "更新检查失败!"
121 + };
122 + api.MessageBox(dialog, msgdata);
123 + break;
124 + case 0:
125 + this.$message("正在检查更新");
126 + break;
127 + case 1:
128 + this.$message({
129 + type: "success",
130 + message: "已检查到新版本,开始下载"
131 + });
132 + this.dialogVisible = true
133 + break;
134 + case 2:
135 + this.$message({ type: "success", message: "无新版本" });
136 + break;
137 + case 3:
138 + this.percentage = data.msg.percent.toFixed(1)
139 + break;
140 + case 4:
141 + this.$alert("更新下载完成!", "提示", {
142 + confirmButtonText: "确定",
143 + callback: action => {
144 + ipcApi.send("confirm-update");
145 + }
146 + });
147 + break;
148 +
149 + default:
150 + break;
151 + }
152 + });
153 + },
154 + handleClose(){
155 + this.dialogVisible = false
156 + }
157 +
93 } 158 }
94 }; 159 };
95 </script> 160 </script>
...@@ -152,4 +217,7 @@ main > div { ...@@ -152,4 +217,7 @@ main > div {
152 color: black; 217 color: black;
153 margin-bottom: 10px; 218 margin-bottom: 10px;
154 } 219 }
220 +.conten {
221 + text-align: center;
222 +}
155 </style> 223 </style>
...\ No newline at end of file ...\ No newline at end of file
......