diff --git a/.electron-vue/webpack.main.config.js b/.electron-vue/webpack.main.config.js index f2329d5..478d02d 100644 --- a/.electron-vue/webpack.main.config.js +++ b/.electron-vue/webpack.main.config.js @@ -25,7 +25,17 @@ let mainConfig = { { test: /\.node$/, use: 'node-loader' - } + }, + { + test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, + use: { + loader: 'url-loader', + query: { + limit: 10000, + name: 'imgs/[name]--[folder].[ext]' + } + } + }, ] }, node: { diff --git a/package-lock.json b/package-lock.json index f17ef54..9e8f170 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "rubick2", - "version": "0.0.1", + "version": "0.0.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -38,21 +38,6 @@ "babel-runtime": "^6.26.0" } }, - "@babel/runtime": { - "version": "7.14.6", - "resolved": "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.14.6.tgz?cache=0&sync_timestamp=1623708311372&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.14.6.tgz", - "integrity": "sha1-U1IDvAiS78fexgvcJ7Ls9uQJBi0=", - "requires": { - "regenerator-runtime": "^0.13.4" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz", - "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=" - } - } - }, "@develar/schema-utils": { "version": "2.6.5", "resolved": "http://npmreg.qa.91jkys.com/@develar%2fschema-utils/-/schema-utils-2.6.5.tgz", @@ -65,7 +50,7 @@ }, "@electron/get": { "version": "1.12.4", - "resolved": "http://npmreg.qa.91jkys.com/@electron%2fget/-/get-1.12.4.tgz", + "resolved": "https://registry.npm.taobao.org/@electron/get/download/@electron/get-1.12.4.tgz?cache=0&sync_timestamp=1612577162945&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40electron%2Fget%2Fdownload%2F%40electron%2Fget-1.12.4.tgz", "integrity": "sha1-pZcRE/wb+PoSqHidwgFSpzWfBqs=", "dev": true, "requires": { @@ -82,13 +67,13 @@ "dependencies": { "@sindresorhus/is": { "version": "0.14.0", - "resolved": "http://npmreg.qa.91jkys.com/@sindresorhus%2fis/-/is-0.14.0.tgz", + "resolved": "https://registry.nlark.com/@sindresorhus/is/download/@sindresorhus/is-0.14.0.tgz", "integrity": "sha1-n7OjzzEyMoFR81PeRjLgHlIQK+o=", "dev": true }, "cacheable-request": { "version": "6.1.0", - "resolved": "http://npmreg.qa.91jkys.com/cacheable-request/-/cacheable-request-6.1.0.tgz", + "resolved": "https://registry.nlark.com/cacheable-request/download/cacheable-request-6.1.0.tgz?cache=0&sync_timestamp=1623237504263&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcacheable-request%2Fdownload%2Fcacheable-request-6.1.0.tgz", "integrity": "sha1-IP+4vRYrpL4R6VZ9gj22UQUsqRI=", "dev": true, "requires": { @@ -103,7 +88,7 @@ "dependencies": { "get-stream": { "version": "5.2.0", - "resolved": "http://npmreg.qa.91jkys.com/get-stream/-/get-stream-5.2.0.tgz", + "resolved": "https://registry.nlark.com/get-stream/download/get-stream-5.2.0.tgz", "integrity": "sha1-SWaheV7lrOZecGxLe+txJX1uItM=", "dev": true, "requires": { @@ -112,33 +97,24 @@ }, "lowercase-keys": { "version": "2.0.0", - "resolved": "http://npmreg.qa.91jkys.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "resolved": "https://registry.nlark.com/lowercase-keys/download/lowercase-keys-2.0.0.tgz", "integrity": "sha1-JgPni3tLAAbLyi+8yKMgJVislHk=", "dev": true } } }, "debug": { - "version": "4.3.1", - "resolved": "http://npmreg.qa.91jkys.com/debug/-/debug-4.3.1.tgz", - "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", + "version": "4.3.2", + "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374675284&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", + "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", "dev": true, "requires": { "ms": "2.1.2" } }, - "get-stream": { - "version": "4.1.0", - "resolved": "http://npmreg.qa.91jkys.com/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, "got": { "version": "9.6.0", - "resolved": "http://npmreg.qa.91jkys.com/got/-/got-9.6.0.tgz", + "resolved": "https://registry.npm.taobao.org/got/download/got-9.6.0.tgz?cache=0&sync_timestamp=1614332558999&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgot%2Fdownload%2Fgot-9.6.0.tgz", "integrity": "sha1-7fRefWf5lUVwXeH3u+7rEhdl7YU=", "dev": true, "requires": { @@ -157,31 +133,31 @@ }, "http-cache-semantics": { "version": "4.1.0", - "resolved": "http://npmreg.qa.91jkys.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "resolved": "https://registry.npm.taobao.org/http-cache-semantics/download/http-cache-semantics-4.1.0.tgz", "integrity": "sha1-SekcXL82yblLz81xwj1SSex045A=", "dev": true }, "ms": { "version": "2.1.2", - "resolved": "http://npmreg.qa.91jkys.com/ms/-/ms-2.1.2.tgz", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433872491&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", "dev": true }, "normalize-url": { "version": "4.5.1", - "resolved": "http://npmreg.qa.91jkys.com/normalize-url/-/normalize-url-4.5.1.tgz", + "resolved": "https://registry.nlark.com/normalize-url/download/normalize-url-4.5.1.tgz", "integrity": "sha1-DdkM8SiO4dExO4cIHJpZMu5IUYo=", "dev": true }, "p-cancelable": { "version": "1.1.0", - "resolved": "http://npmreg.qa.91jkys.com/p-cancelable/-/p-cancelable-1.1.0.tgz", + "resolved": "https://registry.nlark.com/p-cancelable/download/p-cancelable-1.1.0.tgz", "integrity": "sha1-0HjRWjr0CSIMiG8dmgyi5EGrJsw=", "dev": true }, "pump": { "version": "3.0.0", - "resolved": "http://npmreg.qa.91jkys.com/pump/-/pump-3.0.0.tgz", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", "dev": true, "requires": { @@ -191,7 +167,7 @@ }, "semver": { "version": "6.3.0", - "resolved": "http://npmreg.qa.91jkys.com/semver/-/semver-6.3.0.tgz", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463641178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", "dev": true } @@ -255,341 +231,6 @@ } } }, - "@jimp/bmp": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/bmp/download/@jimp/bmp-0.16.1.tgz", - "integrity": "sha1-bi2mVbK6Iuch3weVQj806S7xN2g=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "bmp-js": "^0.1.0" - } - }, - "@jimp/core": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/core/download/@jimp/core-0.16.1.tgz", - "integrity": "sha1-aMQoj2738xoPa4Wbo/so2ukw050=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "any-base": "^1.1.0", - "buffer": "^5.2.0", - "exif-parser": "^0.1.12", - "file-type": "^9.0.0", - "load-bmfont": "^1.3.1", - "mkdirp": "^0.5.1", - "phin": "^2.9.1", - "pixelmatch": "^4.0.2", - "tinycolor2": "^1.4.1" - }, - "dependencies": { - "file-type": { - "version": "9.0.0", - "resolved": "https://registry.nlark.com/file-type/download/file-type-9.0.0.tgz", - "integrity": "sha1-po1a0H9IZBTfssiGb3MWGUZxShg=" - } - } - }, - "@jimp/custom": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/custom/download/@jimp/custom-0.16.1.tgz", - "integrity": "sha1-KLZZxZ4goddaDEYGe9P0vTAs+cU=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/core": "^0.16.1" - } - }, - "@jimp/gif": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/gif/download/@jimp/gif-0.16.1.tgz", - "integrity": "sha1-0ffDpY9GZkgnUJM6+Lj0ZmQU88o=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "gifwrap": "^0.9.2", - "omggif": "^1.0.9" - } - }, - "@jimp/jpeg": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/jpeg/download/@jimp/jpeg-0.16.1.tgz", - "integrity": "sha1-O3uwikFz8vbYHzBJslHfPuKsgXU=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "jpeg-js": "0.4.2" - } - }, - "@jimp/plugin-blit": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-blit/download/@jimp/plugin-blit-0.16.1.tgz", - "integrity": "sha1-CeqRn50ybeO5woJv5BVdo33ejts=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-blur": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-blur/download/@jimp/plugin-blur-0.16.1.tgz", - "integrity": "sha1-5hT6ACeX3NZi5wXUzqN259uWi/U=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-circle": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-circle/download/@jimp/plugin-circle-0.16.1.tgz", - "integrity": "sha1-IOMZSmfKKXQKuiYw/U0Kia+idJE=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-color": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-color/download/@jimp/plugin-color-0.16.1.tgz", - "integrity": "sha1-DymLp03ugYtmODTNgNU+VvN1UjM=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "tinycolor2": "^1.4.1" - } - }, - "@jimp/plugin-contain": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-contain/download/@jimp/plugin-contain-0.16.1.tgz", - "integrity": "sha1-PF9cSV/ZuwipcHOdg2lJNPWBI/I=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-cover": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-cover/download/@jimp/plugin-cover-0.16.1.tgz", - "integrity": "sha1-DoyuwWpAq+FbGzLlODpgOjMG3EE=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-crop": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-crop/download/@jimp/plugin-crop-0.16.1.tgz", - "integrity": "sha1-s2JJfIcwQ/5HuogasIYEv3Im9Q8=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-displace": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-displace/download/@jimp/plugin-displace-0.16.1.tgz", - "integrity": "sha1-TdnbUYw+eN6dcj+GojS/mJIq/o0=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-dither": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-dither/download/@jimp/plugin-dither-0.16.1.tgz", - "integrity": "sha1-tH3iwLsJYIvtIotBw80BqF7C1Fs=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-fisheye": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-fisheye/download/@jimp/plugin-fisheye-0.16.1.tgz", - "integrity": "sha1-9iUEe2zb4bg7iekDD9AlqxnNsaQ=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-flip": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-flip/download/@jimp/plugin-flip-0.16.1.tgz", - "integrity": "sha1-epnqIr3oAmQQF+0PJhWHDBRDKbs=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-gaussian": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-gaussian/download/@jimp/plugin-gaussian-0.16.1.tgz", - "integrity": "sha1-CEXjFAhczVLjT62ag5SbwNgaaOg=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-invert": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-invert/download/@jimp/plugin-invert-0.16.1.tgz", - "integrity": "sha1-fm9aFXByVvN3jQaSFnW7zxhUXJc=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-mask": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-mask/download/@jimp/plugin-mask-0.16.1.tgz", - "integrity": "sha1-5/JGDgXDzaevXnbzPMsFefZvkN8=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-normalize": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-normalize/download/@jimp/plugin-normalize-0.16.1.tgz", - "integrity": "sha1-Ay39iO77xN7cixstJDgy5POvMMg=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-print": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-print/download/@jimp/plugin-print-0.16.1.tgz", - "integrity": "sha1-ZrgDVj+dEJgllwcURm5qua5jn/Y=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "load-bmfont": "^1.4.0" - } - }, - "@jimp/plugin-resize": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-resize/download/@jimp/plugin-resize-0.16.1.tgz", - "integrity": "sha1-ZeOdhI7RO6LWxvr4HV1ZA5ZXHRA=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-rotate": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-rotate/download/@jimp/plugin-rotate-0.16.1.tgz", - "integrity": "sha1-U/tdUaSz0Fr5yRwqj//l16GkfIw=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-scale": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-scale/download/@jimp/plugin-scale-0.16.1.tgz", - "integrity": "sha1-ifa6Wf7tNCmEftImrr2jOiQMxkc=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-shadow": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-shadow/download/@jimp/plugin-shadow-0.16.1.tgz", - "integrity": "sha1-p6+JKnQP6/QSEeEKVGfDxcUhoEw=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugin-threshold": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugin-threshold/download/@jimp/plugin-threshold-0.16.1.tgz", - "integrity": "sha1-NPMHj5llFFt64mxToyrXSxGVu/U=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1" - } - }, - "@jimp/plugins": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/plugins/download/@jimp/plugins-0.16.1.tgz", - "integrity": "sha1-nwhUTJcibWRgoWztefV+hb7DJXs=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/plugin-blit": "^0.16.1", - "@jimp/plugin-blur": "^0.16.1", - "@jimp/plugin-circle": "^0.16.1", - "@jimp/plugin-color": "^0.16.1", - "@jimp/plugin-contain": "^0.16.1", - "@jimp/plugin-cover": "^0.16.1", - "@jimp/plugin-crop": "^0.16.1", - "@jimp/plugin-displace": "^0.16.1", - "@jimp/plugin-dither": "^0.16.1", - "@jimp/plugin-fisheye": "^0.16.1", - "@jimp/plugin-flip": "^0.16.1", - "@jimp/plugin-gaussian": "^0.16.1", - "@jimp/plugin-invert": "^0.16.1", - "@jimp/plugin-mask": "^0.16.1", - "@jimp/plugin-normalize": "^0.16.1", - "@jimp/plugin-print": "^0.16.1", - "@jimp/plugin-resize": "^0.16.1", - "@jimp/plugin-rotate": "^0.16.1", - "@jimp/plugin-scale": "^0.16.1", - "@jimp/plugin-shadow": "^0.16.1", - "@jimp/plugin-threshold": "^0.16.1", - "timm": "^1.6.1" - } - }, - "@jimp/png": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/png/download/@jimp/png-0.16.1.tgz", - "integrity": "sha1-8kz8MVKZALE6LdnU/bRGDB5NgU4=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/utils": "^0.16.1", - "pngjs": "^3.3.3" - } - }, - "@jimp/tiff": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/tiff/download/@jimp/tiff-0.16.1.tgz", - "integrity": "sha1-DodWaVaH11dLa8c++rCs1CYLehI=", - "requires": { - "@babel/runtime": "^7.7.2", - "utif": "^2.0.1" - } - }, - "@jimp/types": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/types/download/@jimp/types-0.16.1.tgz", - "integrity": "sha1-DbqzezICMVyRAQ8Wwxdm01ojIsw=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/bmp": "^0.16.1", - "@jimp/gif": "^0.16.1", - "@jimp/jpeg": "^0.16.1", - "@jimp/png": "^0.16.1", - "@jimp/tiff": "^0.16.1", - "timm": "^1.6.1" - } - }, - "@jimp/utils": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/@jimp/utils/download/@jimp/utils-0.16.1.tgz", - "integrity": "sha1-L1Hm8U/4MHxKqD1eGid9oUqf4/c=", - "requires": { - "@babel/runtime": "^7.7.2", - "regenerator-runtime": "^0.13.3" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz", - "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=" - } - } - }, "@malept/cross-spawn-promise": { "version": "1.1.1", "resolved": "http://npmreg.qa.91jkys.com/@malept%2fcross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", @@ -1346,11 +987,6 @@ "warning": "^4.0.0" } }, - "any-base": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/any-base/download/any-base-1.1.0.tgz", - "integrity": "sha1-rhAaYrwIpZe0yatbcInUVmMFSf4=" - }, "any-observable": { "version": "0.3.0", "resolved": "http://npmreg.qa.91jkys.com/any-observable/-/any-observable-0.3.0.tgz", @@ -3065,11 +2701,6 @@ "bluebird": "^3.5.5" } }, - "bmp-js": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/bmp-js/download/bmp-js-0.1.0.tgz", - "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM=" - }, "bn.js": { "version": "5.2.0", "resolved": "http://npmreg.qa.91jkys.com/bn.js/-/bn.js-5.2.0.tgz", @@ -3123,9 +2754,9 @@ "dev": true }, "boolean": { - "version": "3.1.0", - "resolved": "http://npmreg.qa.91jkys.com/boolean/-/boolean-3.1.0.tgz", - "integrity": "sha1-okUIBknruA58DqIYpIDk6RMTYzY=", + "version": "3.1.2", + "resolved": "https://registry.nlark.com/boolean/download/boolean-3.1.2.tgz?cache=0&sync_timestamp=1623318325940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fboolean%2Fdownload%2Fboolean-3.1.2.tgz", + "integrity": "sha1-4w8hCiawJFhIKozDU6sG8mKngMI=", "dev": true, "optional": true }, @@ -5636,11 +5267,6 @@ } } }, - "dom-walk": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/dom-walk/download/dom-walk-0.1.2.tgz", - "integrity": "sha1-DFSL7wSPTR8qlySQAiNgYNqj/YQ=" - }, "domain-browser": { "version": "1.2.0", "resolved": "http://npmreg.qa.91jkys.com/domain-browser/-/domain-browser-1.2.0.tgz", @@ -5843,9 +5469,9 @@ } }, "electron": { - "version": "11.0.2", - "resolved": "http://npmreg.qa.91jkys.com/electron/-/electron-11.0.2.tgz", - "integrity": "sha1-x70rmr3BRG9FeNv6IlcwFLay31g=", + "version": "11.4.10", + "resolved": "https://registry.nlark.com/electron/download/electron-11.4.10.tgz", + "integrity": "sha1-e8vKgoELgsLydlgkxeEeMGEnLqQ=", "dev": true, "requires": { "@electron/get": "^1.0.1", @@ -6716,7 +6342,7 @@ }, "es6-error": { "version": "4.1.1", - "resolved": "http://npmreg.qa.91jkys.com/es6-error/-/es6-error-4.1.1.tgz", + "resolved": "https://registry.npm.taobao.org/es6-error/download/es6-error-4.1.1.tgz", "integrity": "sha1-njr0B0Wd7tR+mpH5uIWoTrBcVh0=", "dev": true, "optional": true @@ -6826,11 +6452,6 @@ "safe-buffer": "^5.1.1" } }, - "exif-parser": { - "version": "0.1.12", - "resolved": "https://registry.npm.taobao.org/exif-parser/download/exif-parser-0.1.12.tgz", - "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=" - }, "exit-hook": { "version": "1.1.1", "resolved": "http://npmreg.qa.91jkys.com/exit-hook/-/exit-hook-1.1.1.tgz", @@ -7053,7 +6674,7 @@ }, "extract-zip": { "version": "1.7.0", - "resolved": "http://npmreg.qa.91jkys.com/extract-zip/-/extract-zip-1.7.0.tgz", + "resolved": "https://registry.nlark.com/extract-zip/download/extract-zip-1.7.0.tgz", "integrity": "sha1-VWzDrp339FLEk6DPtRzDAneUCSc=", "dev": true, "requires": { @@ -7340,7 +6961,7 @@ }, "fs-extra": { "version": "8.1.0", - "resolved": "http://npmreg.qa.91jkys.com/fs-extra/-/fs-extra-8.1.0.tgz", + "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-8.1.0.tgz", "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", "dev": true, "requires": { @@ -7532,15 +7153,6 @@ "assert-plus": "^1.0.0" } }, - "gifwrap": { - "version": "0.9.2", - "resolved": "https://registry.npm.taobao.org/gifwrap/download/gifwrap-0.9.2.tgz", - "integrity": "sha1-NI4obmfXz1eUIXLh5vBacc7nhIk=", - "requires": { - "image-q": "^1.1.1", - "omggif": "^1.0.10" - } - }, "git-clone": { "version": "0.1.0", "resolved": "http://npmreg.qa.91jkys.com/git-clone/-/git-clone-0.1.0.tgz", @@ -7574,18 +7186,9 @@ "is-glob": "^4.0.1" } }, - "global": { - "version": "4.4.0", - "resolved": "https://registry.nlark.com/global/download/global-4.4.0.tgz", - "integrity": "sha1-PnsQUXkAajI+1xqvyj6cV6XMZAY=", - "requires": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, "global-agent": { "version": "2.2.0", - "resolved": "http://npmreg.qa.91jkys.com/global-agent/-/global-agent-2.2.0.tgz", + "resolved": "https://registry.nlark.com/global-agent/download/global-agent-2.2.0.tgz", "integrity": "sha1-VmMxsGRua/eUKaFod2hcSh+/dtw=", "dev": true, "optional": true, @@ -7600,9 +7203,9 @@ }, "dependencies": { "core-js": { - "version": "3.13.1", - "resolved": "http://npmreg.qa.91jkys.com/core-js/-/core-js-3.13.1.tgz", - "integrity": "sha1-MDA/q9U2OIkgYti06ALKx1men7c=", + "version": "3.15.2", + "resolved": "https://registry.nlark.com/core-js/download/core-js-3.15.2.tgz?cache=0&sync_timestamp=1624966102256&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcore-js%2Fdownload%2Fcore-js-3.15.2.tgz", + "integrity": "sha1-dAZg0v9V7zTOZk1+JFURnFvdPWE=", "dev": true, "optional": true } @@ -7668,7 +7271,7 @@ }, "global-tunnel-ng": { "version": "2.7.1", - "resolved": "http://npmreg.qa.91jkys.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", + "resolved": "https://registry.npm.taobao.org/global-tunnel-ng/download/global-tunnel-ng-2.7.1.tgz", "integrity": "sha1-0DtRAt/eOmmRT17n2GdhyjXVfY8=", "dev": true, "optional": true, @@ -7687,7 +7290,7 @@ }, "globalthis": { "version": "1.0.2", - "resolved": "http://npmreg.qa.91jkys.com/globalthis/-/globalthis-1.0.2.tgz", + "resolved": "https://registry.npm.taobao.org/globalthis/download/globalthis-1.0.2.tgz", "integrity": "sha1-KiNdNPTYA2IZ9+NJKbXenhgWa4s=", "dev": true, "optional": true, @@ -8324,11 +7927,6 @@ "minimatch": "^3.0.4" } }, - "image-q": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/image-q/download/image-q-1.1.1.tgz", - "integrity": "sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=" - }, "image-size": { "version": "0.5.5", "resolved": "http://npmreg.qa.91jkys.com/image-size/-/image-size-0.5.5.tgz", @@ -8648,11 +8246,6 @@ "resolved": "http://npmreg.qa.91jkys.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, - "is-function": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-function/download/is-function-1.0.2.tgz", - "integrity": "sha1-Twl/MKv2762smDOxfKXcA/gUTgg=" - }, "is-glob": { "version": "4.0.1", "resolved": "http://npmreg.qa.91jkys.com/is-glob/-/is-glob-4.0.1.tgz", @@ -8954,30 +8547,6 @@ "minimatch": "^3.0.4" } }, - "jimp": { - "version": "0.16.1", - "resolved": "https://registry.nlark.com/jimp/download/jimp-0.16.1.tgz", - "integrity": "sha1-GS+FGjDlyhERKj0KpTE3ZZp4yno=", - "requires": { - "@babel/runtime": "^7.7.2", - "@jimp/custom": "^0.16.1", - "@jimp/plugins": "^0.16.1", - "@jimp/types": "^0.16.1", - "regenerator-runtime": "^0.13.3" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz", - "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=" - } - } - }, - "jpeg-js": { - "version": "0.4.2", - "resolved": "https://registry.npm.taobao.org/jpeg-js/download/jpeg-js-0.4.2.tgz", - "integrity": "sha1-izRbGuSr3mTC2i/mfqIWoRSsJ50=" - }, "js-base64": { "version": "2.6.4", "resolved": "http://npmreg.qa.91jkys.com/js-base64/-/js-base64-2.6.4.tgz", @@ -9063,7 +8632,7 @@ }, "jsonfile": { "version": "4.0.0", - "resolved": "http://npmreg.qa.91jkys.com/jsonfile/-/jsonfile-4.0.0.tgz", + "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz?cache=0&sync_timestamp=1604161844511&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { @@ -9332,28 +8901,6 @@ "figures": "^2.0.0" } }, - "load-bmfont": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/load-bmfont/download/load-bmfont-1.4.1.tgz", - "integrity": "sha1-wPX0cRoeLM/3Jae2B4CHzPzd0+k=", - "requires": { - "buffer-equal": "0.0.1", - "mime": "^1.3.4", - "parse-bmfont-ascii": "^1.0.3", - "parse-bmfont-binary": "^1.0.5", - "parse-bmfont-xml": "^1.1.4", - "phin": "^2.9.1", - "xhr": "^2.0.1", - "xtend": "^4.0.0" - }, - "dependencies": { - "buffer-equal": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/buffer-equal/download/buffer-equal-0.0.1.tgz", - "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" - } - } - }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz", @@ -9803,7 +9350,7 @@ }, "matcher": { "version": "3.0.0", - "resolved": "http://npmreg.qa.91jkys.com/matcher/-/matcher-3.0.0.tgz", + "resolved": "https://registry.npm.taobao.org/matcher/download/matcher-3.0.0.tgz?cache=0&sync_timestamp=1614510084609&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmatcher%2Fdownload%2Fmatcher-3.0.0.tgz", "integrity": "sha1-vZBg9MW3CqgEHMxvgDaHYJlPMMo=", "dev": true, "optional": true, @@ -9813,7 +9360,7 @@ "dependencies": { "escape-string-regexp": { "version": "4.0.0", - "resolved": "http://npmreg.qa.91jkys.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz", "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", "dev": true, "optional": true @@ -9961,7 +9508,8 @@ "mime": { "version": "1.6.0", "resolved": "http://npmreg.qa.91jkys.com/mime/-/mime-1.6.0.tgz", - "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=" + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true }, "mime-db": { "version": "1.48.0", @@ -9987,14 +9535,6 @@ "resolved": "http://npmreg.qa.91jkys.com/mimic-response/-/mimic-response-1.0.1.tgz", "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=" }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npm.taobao.org/min-document/download/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "requires": { - "dom-walk": "^0.1.0" - } - }, "mini-css-extract-plugin": { "version": "0.4.0", "resolved": "http://npmreg.qa.91jkys.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.0.tgz", @@ -10923,11 +10463,6 @@ "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", "dev": true }, - "omggif": { - "version": "1.0.10", - "resolved": "https://registry.npm.taobao.org/omggif/download/omggif-1.0.10.tgz", - "integrity": "sha1-3ar5DUpC9TLp58s6lezdR/F8exk=" - }, "omit.js": { "version": "1.0.2", "resolved": "http://npmreg.qa.91jkys.com/omit.js/-/omit.js-1.0.2.tgz", @@ -11358,7 +10893,8 @@ "pako": { "version": "1.0.11", "resolved": "http://npmreg.qa.91jkys.com/pako/-/pako-1.0.11.tgz", - "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=" + "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=", + "dev": true }, "parallel-transform": { "version": "1.2.0", @@ -11393,30 +10929,6 @@ "safe-buffer": "^5.1.1" } }, - "parse-bmfont-ascii": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/parse-bmfont-ascii/download/parse-bmfont-ascii-1.0.6.tgz", - "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=" - }, - "parse-bmfont-binary": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/parse-bmfont-binary/download/parse-bmfont-binary-1.0.6.tgz", - "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=" - }, - "parse-bmfont-xml": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/parse-bmfont-xml/download/parse-bmfont-xml-1.1.4.tgz", - "integrity": "sha1-AVMZeX4+EvnnOcTVE4cs0vo184k=", - "requires": { - "xml-parse-from-string": "^1.0.0", - "xml2js": "^0.4.5" - } - }, - "parse-headers": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/parse-headers/download/parse-headers-2.0.3.tgz", - "integrity": "sha1-Xo51Ejg9FAugLwx6qfSbQ5nJJRU=" - }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1610966642419&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz", @@ -11545,11 +11057,6 @@ "resolved": "http://npmreg.qa.91jkys.com/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, - "phin": { - "version": "2.9.3", - "resolved": "https://registry.nlark.com/phin/download/phin-2.9.3.tgz", - "integrity": "sha1-+basEKA1Y2+2XfxXaqqhe4dDElw=" - }, "picomatch": { "version": "2.3.0", "resolved": "http://npmreg.qa.91jkys.com/picomatch/-/picomatch-2.3.0.tgz", @@ -11575,14 +11082,6 @@ "pinkie": "^2.0.0" } }, - "pixelmatch": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/pixelmatch/download/pixelmatch-4.0.2.tgz", - "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", - "requires": { - "pngjs": "^3.0.0" - } - }, "pkg-dir": { "version": "2.0.0", "resolved": "http://npmreg.qa.91jkys.com/pkg-dir/-/pkg-dir-2.0.0.tgz", @@ -11666,11 +11165,6 @@ } } }, - "pngjs": { - "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/pngjs/download/pngjs-3.4.0.tgz?cache=0&sync_timestamp=1603548566507&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpngjs%2Fdownload%2Fpngjs-3.4.0.tgz", - "integrity": "sha1-mcp9clll+2VYFOr2XzjxK72/VV8=" - }, "portfinder": { "version": "1.0.28", "resolved": "http://npmreg.qa.91jkys.com/portfinder/-/portfinder-1.0.28.tgz", @@ -12278,7 +11772,8 @@ "process": { "version": "0.11.10", "resolved": "http://npmreg.qa.91jkys.com/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true }, "process-nextick-args": { "version": "2.0.1", @@ -12287,7 +11782,7 @@ }, "progress": { "version": "2.0.3", - "resolved": "http://npmreg.qa.91jkys.com/progress/-/progress-2.0.3.tgz", + "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz", "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", "dev": true }, @@ -13292,7 +12787,7 @@ }, "roarr": { "version": "2.15.4", - "resolved": "http://npmreg.qa.91jkys.com/roarr/-/roarr-2.15.4.tgz", + "resolved": "https://registry.nlark.com/roarr/download/roarr-2.15.4.tgz", "integrity": "sha1-9f55W3uDjM/jXcYI4Cgrnrouev0=", "dev": true, "optional": true, @@ -13307,7 +12802,7 @@ "dependencies": { "sprintf-js": { "version": "1.1.2", - "resolved": "http://npmreg.qa.91jkys.com/sprintf-js/-/sprintf-js-1.1.2.tgz", + "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.1.2.tgz", "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=", "dev": true, "optional": true @@ -13362,7 +12857,8 @@ "sax": { "version": "1.2.4", "resolved": "http://npmreg.qa.91jkys.com/sax/-/sax-1.2.4.tgz", - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", + "dev": true }, "seek-bzip": { "version": "1.0.6", @@ -13405,7 +12901,7 @@ }, "semver-compare": { "version": "1.0.0", - "resolved": "http://npmreg.qa.91jkys.com/semver-compare/-/semver-compare-1.0.0.tgz", + "resolved": "https://registry.npm.taobao.org/semver-compare/download/semver-compare-1.0.0.tgz", "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", "dev": true, "optional": true @@ -13468,7 +12964,7 @@ }, "serialize-error": { "version": "7.0.1", - "resolved": "http://npmreg.qa.91jkys.com/serialize-error/-/serialize-error-7.0.1.tgz", + "resolved": "https://registry.nlark.com/serialize-error/download/serialize-error-7.0.1.tgz", "integrity": "sha1-8TYLBEf2H/tIPsQVfHN/q313jhg=", "dev": true, "optional": true, @@ -13478,7 +12974,7 @@ "dependencies": { "type-fest": { "version": "0.13.1", - "resolved": "http://npmreg.qa.91jkys.com/type-fest/-/type-fest-0.13.1.tgz", + "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.13.1.tgz?cache=0&sync_timestamp=1625745455668&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.13.1.tgz", "integrity": "sha1-AXLLW86AsL1ULqNI21DH4hg02TQ=", "dev": true, "optional": true @@ -14400,7 +13896,7 @@ }, "sumchecker": { "version": "3.0.1", - "resolved": "http://npmreg.qa.91jkys.com/sumchecker/-/sumchecker-3.0.1.tgz", + "resolved": "https://registry.npm.taobao.org/sumchecker/download/sumchecker-3.0.1.tgz", "integrity": "sha1-Y3fplnlauwttNI6bPh37JDRajkI=", "dev": true, "requires": { @@ -14408,9 +13904,9 @@ }, "dependencies": { "debug": { - "version": "4.3.1", - "resolved": "http://npmreg.qa.91jkys.com/debug/-/debug-4.3.1.tgz", - "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", + "version": "4.3.2", + "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz?cache=0&sync_timestamp=1625374675284&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.2.tgz", + "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", "dev": true, "requires": { "ms": "2.1.2" @@ -14418,7 +13914,7 @@ }, "ms": { "version": "2.1.2", - "resolved": "http://npmreg.qa.91jkys.com/ms/-/ms-2.1.2.tgz", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433872491&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", "dev": true } @@ -14874,11 +14370,6 @@ "setimmediate": "^1.0.4" } }, - "timm": { - "version": "1.7.1", - "resolved": "https://registry.npm.taobao.org/timm/download/timm-1.7.1.tgz", - "integrity": "sha1-lrq2DH1FtaEKik0PARfGt+Wv928=" - }, "tinycolor2": { "version": "1.4.2", "resolved": "http://npmreg.qa.91jkys.com/tinycolor2/-/tinycolor2-1.4.2.tgz", @@ -15028,7 +14519,7 @@ }, "tunnel": { "version": "0.0.6", - "resolved": "http://npmreg.qa.91jkys.com/tunnel/-/tunnel-0.0.6.tgz", + "resolved": "https://registry.nlark.com/tunnel/download/tunnel-0.0.6.tgz", "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", "dev": true, "optional": true @@ -15167,7 +14658,7 @@ }, "universalify": { "version": "0.1.2", - "resolved": "http://npmreg.qa.91jkys.com/universalify/-/universalify-0.1.2.tgz", + "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1603180042770&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz", "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", "dev": true }, @@ -15444,14 +14935,6 @@ "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", "dev": true }, - "utif": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/utif/download/utif-2.0.1.tgz", - "integrity": "sha1-nhWC2bvSABGmWIVI7TJmKY5xF1k=", - "requires": { - "pako": "^1.0.5" - } - }, "util": { "version": "0.11.1", "resolved": "http://npmreg.qa.91jkys.com/util/-/util-0.11.1.tgz", @@ -16781,44 +16264,12 @@ "integrity": "sha1-S8jZmEQDaWIl74OhVzy7y0552xM=", "dev": true }, - "xhr": { - "version": "2.6.0", - "resolved": "https://registry.npm.taobao.org/xhr/download/xhr-2.6.0.tgz", - "integrity": "sha1-tp1DleeStBc9a33wd/D8Xk4rJJ0=", - "requires": { - "global": "~4.4.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, "xml-char-classes": { "version": "1.0.0", "resolved": "http://npmreg.qa.91jkys.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz", "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=", "dev": true }, - "xml-parse-from-string": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/xml-parse-from-string/download/xml-parse-from-string-1.0.1.tgz", - "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" - }, - "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.nlark.com/xml2js/download/xml2js-0.4.23.tgz", - "integrity": "sha1-oMaVFnUkIesqx1juTUzPWIQ+rGY=", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "dependencies": { - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-11.0.1.tgz", - "integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM=" - } - } - }, "xmlbuilder": { "version": "15.1.1", "resolved": "http://npmreg.qa.91jkys.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz", diff --git a/package.json b/package.json index b72e72e..baf1bfa 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "asar": false, "productName": "rubick2", "appId": "com.example.yourapp2", - "compression":"maximum", + "compression": "maximum", "directories": { "output": "build" }, diff --git a/src/main/browsers/capture.js b/src/main/browsers/capture.js deleted file mode 100644 index 9aec847..0000000 --- a/src/main/browsers/capture.js +++ /dev/null @@ -1,103 +0,0 @@ -const { BrowserWindow, ipcMain, globalShortcut } = require("electron"); -const os = require('os') -const path = require('path') - -module.exports = () => { - let captureWins = [] - - let init = () => { - if (captureWins.length) { - return - } - createWindow(); - }; - - let createWindow = () => { - const { screen } = require('electron'); - let displays = screen.getAllDisplays(); - captureWins = displays.map((display) => { - let captureWin = new BrowserWindow({ - // window 使用 fullscreen, mac 设置为 undefined, 不可为 false - fullscreen: os.platform() === 'win32' || undefined, - width: display.bounds.width, - height: display.bounds.height, - x: display.bounds.x, - y: display.bounds.y, - transparent: true, - frame: false, - movable: false, - resizable: false, - enableLargerThanScreen: true, - hasShadow: false, - show: false, - title: 'capture', - webPreferences: { - enableRemoteModule: true, - nodeIntegration: true, - webSecurity: false, - devTools: false, - } - }) - captureWin.setAlwaysOnTop(true, 'screen-saver') - captureWin.setFullScreenable(false) - - captureWin.loadFile(`${__static}/plugins/capture/index.html`); - - let { x, y } = screen.getCursorScreenPoint() - if (x >= display.bounds.x && x <= display.bounds.x + display.bounds.width && y >= display.bounds.y && y <= display.bounds.y + display.bounds.height) { - captureWin.focus() - } else { - captureWin.blur() - } - - captureWin.on("closed", () => { - captureWin = undefined; - }); - - captureWin.once('ready-to-show', () => captureWin.show()); - return captureWin - }); - }; - - let getWindow = () => captureWins; - - const close = () => { - const wins = BrowserWindow.getAllWindows(); - wins.forEach((win) => { - if (win.title === 'capture') win.close(); - captureWins = []; - }) - } - - ipcMain.on('capture-screen', (e, { type = 'start', screenId, winId, x, y } = {}) => { - if (type === 'start') { - init() - } else if (type === 'complete') { - if (captureWins) { - captureWins.forEach(win => win.close()) - captureWins = [] - } - // nothing - } else if (type === 'select') { - captureWins.forEach(win => win.webContents.send('capture-screen', { type: 'select', screenId })) - } else if (type === 'getAllDisplays') { - const { screen } = require('electron'); - let displays = screen.getAllDisplays(); - const currentScreen = displays.filter(d => d.bounds.x === x && d.bounds.y === y)[0]; - e.sender.send('getAllDisplays', { - screen: { - scaleFactor: currentScreen.scaleFactor, - id: currentScreen.id, - bounds: currentScreen.bounds, - }, - winId, - }); - } - }); - - return { - init: init, - getWindow: getWindow, - close, - }; -}; diff --git a/src/main/browsers/index.js b/src/main/browsers/index.js index 3cbc090..c2e3cf1 100644 --- a/src/main/browsers/index.js +++ b/src/main/browsers/index.js @@ -1,7 +1,6 @@ module.exports = () => ({ picker: require("./picker")(), separator: require("./separate")(), - capture: require("./capture")(), superPanel: require("./superPanel")(), main: require("./main")(), }); diff --git a/src/main/browsers/picker.js b/src/main/browsers/picker.js index fa8a32f..4c350e4 100644 --- a/src/main/browsers/picker.js +++ b/src/main/browsers/picker.js @@ -13,14 +13,13 @@ module.exports = () => { win = new BrowserWindow({ frame: false, autoHideMenuBar: true, - width: 100, - height: 100, + width: 108, + height: 108, transparent: true, alwaysOnTop: true, resizable: false, focusable: true, hasShadow: false, - // icon: nativeImage.createFromPath(`${dirname}/build/icon.png`), webPreferences: { nodeIntegration: true, devTools: false, diff --git a/src/main/browsers/separate.js b/src/main/browsers/separate.js index d7515cb..1b39ab1 100644 --- a/src/main/browsers/separate.js +++ b/src/main/browsers/separate.js @@ -1,5 +1,4 @@ -const {stringify} = require('query-string'); -const { BrowserWindow, nativeImage } = require("electron"); +const { BrowserWindow } = require("electron"); module.exports = () => { let win; @@ -10,7 +9,7 @@ module.exports = () => { let createWindow = (opts) => { const winURL = process.env.NODE_ENV === 'development' - ? `http://localhost:9080/#/plugin?${stringify(opts)}` + ? `http://localhost:9080/#/plugin` : `${__dirname}/index.html` win = new BrowserWindow({ height: 600, @@ -27,11 +26,14 @@ module.exports = () => { nodeIntegration: true // 在网页中集成Node } }); - process.env.NODE_ENV === 'development' ? win.loadURL(winURL) : win.loadFile(winURL, { - hash: `#/plugin?${stringify(opts)}`, + hash: `#/plugin`, }); - win.once('ready-to-show', () => win.show()); + + win.webContents.executeJavaScript(`window.setPluginInfo(${opts})`).then(() => { + win.show() + }); + win.on("closed", () => { win = undefined; }); diff --git a/src/main/common/api.js b/src/main/common/api.js index 1129fef..f5111bc 100644 --- a/src/main/common/api.js +++ b/src/main/common/api.js @@ -1,12 +1,8 @@ import {app, BrowserWindow, dialog} from 'electron'; -import {getlocalDataFile, saveData, getData} from './utils'; -import path from "path"; const puppeteer = require("puppeteer-core"); const pie = require("puppeteer-in-electron") -const appPath = path.join(getlocalDataFile()); -const dbPath = path.join(appPath, './db.json'); let browser pie.initialize(app).then(res => { @@ -34,93 +30,6 @@ export default { setExpendHeight({height}, mainWindow) { mainWindow.setSize(800, height || 60); }, - db: { - put({data}) { - data._rev = ''; - let dbData = getData(dbPath) || []; - let target = []; - dbData.some((d, i) => { - if (d._id === data._id) { - target = [d, i] - return true; - } - return false; - }); - - // 更新 - if (target[0]) { - dbData[target[1]] = data; - } else { - dbData.push(data); - } - saveData(dbPath, dbData); - return { - id: data._id, - ok: true, - rev: '', - } - }, - get({key}) { - const dbData = getData(dbPath) || []; - - return dbData.find(d => d._id === key) || {}; - }, - remove({key}) { - key = typeof key === 'object' ? key._id : key; - let dbData = getData(dbPath); - let find = false; - dbData.some((d, i) => { - if (d._id === key) { - dbData.splice(i, 1); - find = true; - return true; - } - return false; - }); - if (find) { - saveData(dbPath, dbData); - return { - id: key, - ok: true, - rev: '', - } - } else { - return { - id: key, - ok: false, - rev: '', - } - } - }, - bulkDocs({docs}) { - const dbData = getData(dbPath); - dbData.forEach((d, i) => { - const result = docs.find(data => data._id === d._id); - if (result) { - dbData[i] = result; - } - }); - saveData(dbPath, dbData); - return docs.map(d => ({ - id: d._id, - success: true, - rev: '', - })) - }, - allDocs({key}) { - const dbData = getData(dbPath); - if (!key) { - return dbData; - } - if (typeof key === 'string') { - return dbData.filter(d => d._id.indexOf(key) >= 0); - } - if (Array.isArray(key)) { - return dbData.filter(d => key.indexOf(d._id) >= 0); - } - return []; - } - }, ubrowser: { goto: async ({winId}) => { diff --git a/src/main/common/common.js b/src/main/common/common.js index fd65897..db1c747 100644 --- a/src/main/common/common.js +++ b/src/main/common/common.js @@ -1,117 +1,13 @@ -import { - globalShortcut, - ipcMain, - BrowserWindow, - clipboard, - Notification, - app, - screen, -} from 'electron'; -import Api from './api'; -import robot from 'robotjs'; +import {app} from 'electron'; import './config'; -import ioHook from 'iohook'; - -const browsers = require("../browsers")(); -const {picker, separator, superPanel, capture} = browsers; -// 需要在超级面板展示的插件 -let optionPlugin = []; - -let closePicker = () => { - if (picker.getWindow()) { - ipcMain.removeListener("closePicker", closePicker); - picker.getWindow().close(); - } -}; - -function registerShortCut(mainWindow) { - const config = global.opConfig.get(); - globalShortcut.unregisterAll(); - // 注册偏好快捷键 - globalShortcut.register(config.perf.shortCut.showAndHidden, () => { - const {x, y} = screen.getCursorScreenPoint(); - const currentDisplay = screen.getDisplayNearestPoint({ x, y }); - const wx = parseInt(currentDisplay.workArea.x + currentDisplay.workArea.width / 2 - 400); - const wy = parseInt(currentDisplay.workArea.y + currentDisplay.workArea.height / 2 - 200); - mainWindow.setVisibleOnAllWorkspaces(true); - mainWindow.focus(); - mainWindow.setVisibleOnAllWorkspaces(false); - mainWindow.setPosition(wx, wy); - mainWindow.show(); - }); - - globalShortcut.register(config.perf.shortCut.separate, () => { - mainWindow.webContents.send('new-window'); - }); - - // 注册自定义全局快捷键 - config.global.forEach(sc => { - if (!sc.key || !sc.value) return; - globalShortcut.register(sc.key, () => { - mainWindow.webContents.send('global-short-key', sc.value); - }); - }); - - globalShortcut.register('Esc', () => { - capture.close(); - }); -} - -const getSelectedText = () => { - return new Promise((resolve) => { - const lastText = clipboard.readText('clipboard'); - - const platform = process.platform; - if (platform === 'darwin') { - robot.keyTap('c', 'command'); - } else { - robot.keyTap('c', 'control'); - } - - setTimeout(() => { - const text = clipboard.readText('clipboard') || '' - const fileUrl = clipboard.read('public.file-url'); - clipboard.writeText(lastText); - - resolve({ - text, - fileUrl - }) - }, 300); - }) -} +import Listener from './listener'; export default function init(mainWindow) { - ipcMain.on('optionPlugin', (e, args) => { - optionPlugin = args; - }); - ipcMain.on('right-down', async (e) => { - const copyResult = await getSelectedText(); - let win = superPanel.getWindow(); - - if (win) { - win.webContents.send('trigger-super-panel', { - ...copyResult, - optionPlugin: optionPlugin.plugins, - }); - } else { - superPanel.init(mainWindow); - win = superPanel.getWindow(); - - win.once('ready-to-show', () => { - win.webContents.send('trigger-super-panel', { - ...copyResult, - optionPlugin: optionPlugin.plugins, - }); - }); - } - const pos = robot.getMousePos(); - win.setPosition(parseInt(pos.x), parseInt(pos.y)); - win.show(); - }); + const listener = new Listener(); // 注册快捷键 - registerShortCut(mainWindow); + listener.registerShortCut(mainWindow); + listener.init(mainWindow); // 设置开机启动 const config = global.opConfig.get(); @@ -127,92 +23,11 @@ export default function init(mainWindow) { } }); - ipcMain.on('re-register', (event, arg) => { - registerShortCut(mainWindow); - }); - - ipcMain.on('changeWindowSize-rubick', (event, arg) => { - mainWindow.setSize(arg.width || 800, arg.height); - }); - // 打包后,失焦隐藏 mainWindow.on('blur', () => { app.isPackaged && mainWindow.hide(); }); - // 响应 preload.js 事件 - ipcMain.on('msg-trigger', async (event, arg) => { - const window = arg.winId ? BrowserWindow.fromId(arg.winId) : mainWindow - const operators = arg.type.split('.'); - let fn = Api; - operators.forEach((op) => { - fn = fn[op]; - }); - const data = await fn(arg, window); - event.sender.send(`msg-back-${arg.type}`, data); - }); - - // 窗口分离 - ipcMain.on('new-window', (event, arg) => { - const opts = { - ...arg, - searchType: 'subWindow', - } - separator.init(opts); - }); - - // 拾色器 - ipcMain.on('start-picker', () => { - // 开启输入侦测 - ioHook.start(false); - ioHook.load(); - picker.init(); - - picker.getWindow().on('close', () => { - ioHook.stop(); - ioHook.unload(); - }); - - let pos = robot.getMousePos(); - picker - .getWindow() - .setPosition(parseInt(pos.x) - 50, parseInt(pos.y) - 50); - - picker - .getWindow() - .webContents.send( - "updatePicker", - robot.getPixelColor(pos.x, pos.y) - ); - - ipcMain.on("closePicker", closePicker); - }); - - ioHook.on('mousemove', e => { - let x = e.x - let y = e.y - if (!picker.getWindow()) return; - let color = "#" + robot.getPixelColor(parseInt(x), parseInt(y)); - picker.getWindow().setPosition(parseInt(x) - 50, parseInt(y) - 50); - picker.getWindow().webContents.send("updatePicker", color); - }) - - ioHook.on('mouseup', e => { - if (e.button === 1) { - let x = e.x - let y = e.y - const color = "#" + robot.getPixelColor(parseInt(x), parseInt(y)); - clipboard.writeText("#" + robot.getPixelColor(parseInt(x), parseInt(y))); - new Notification({ title: 'Rubick 通知', body: `${color} 已保存到剪切板` }).show(); - closePicker(); - } - }); - - ioHook.on('mouseup', e => { - if (e.button === 3) { - closePicker() - } - }); } diff --git a/src/main/common/listener.js b/src/main/common/listener.js new file mode 100644 index 0000000..c08abce --- /dev/null +++ b/src/main/common/listener.js @@ -0,0 +1,265 @@ +import {BrowserWindow, clipboard, globalShortcut, ipcMain, Notification, screen} from "electron"; +import {exec, spawn} from "child_process"; +import robot from "robotjs"; +import Api from "./api"; +import ioHook from 'iohook'; + +const browsers = require("../browsers")(); +const {picker, separator, superPanel} = browsers; + +class Listener { + constructor() { + this.optionPlugin = {}; + } + + getSelectedContent() { + return new Promise((resolve) => { + const lastText = clipboard.readText('clipboard'); + // todo 缓存文件 + clipboard.clear(); + + // 复制选中文案 + const platform = process.platform; + if (platform === 'darwin') { + robot.keyTap('c', 'command'); + } else { + robot.keyTap('c', 'control'); + } + + setTimeout(() => { + // 延时一定时间才能从剪切板内读取到内容 + const text = clipboard.readText('clipboard') || '' + const fileUrl = clipboard.read('public.file-url'); + + // 如果之前是文案,则回填 + clipboard.writeText(lastText); + + resolve({ + text, + fileUrl + }) + }, 300); + }) + } + + registerShortCut(mainWindow) { + const config = global.opConfig.get(); + globalShortcut.unregisterAll(); + // 注册偏好快捷键 + globalShortcut.register(config.perf.shortCut.showAndHidden, () => { + const {x, y} = screen.getCursorScreenPoint(); + const currentDisplay = screen.getDisplayNearestPoint({ x, y }); + const wx = parseInt(currentDisplay.workArea.x + currentDisplay.workArea.width / 2 - 400); + const wy = parseInt(currentDisplay.workArea.y + currentDisplay.workArea.height / 2 - 200); + mainWindow.setVisibleOnAllWorkspaces(true); + mainWindow.focus(); + mainWindow.setVisibleOnAllWorkspaces(false); + mainWindow.setPosition(wx, wy); + mainWindow.show(); + }); + + globalShortcut.register(config.perf.shortCut.separate, () => { + mainWindow.webContents.send('new-window'); + }); + + // 注册自定义全局快捷键 + config.global.forEach(sc => { + if (!sc.key || !sc.value) return; + globalShortcut.register(sc.key, () => { + mainWindow.webContents.send('global-short-key', sc.value); + }); + }); + } + + init(mainWindow) { + this.colorPicker(); + this.initPlugin(); + this.lockScreen(); + this.separate(); + this.initCapture(); + this.superPanel(mainWindow); + this.reRegisterShortCut(mainWindow); + this.changeSize(mainWindow); + this.msgTrigger(mainWindow); + } + + colorPicker() { + // 拾色器 + ipcMain.on('start-picker', () => { + // 开启输入侦测 + ioHook.start(false); + ioHook.load(); + picker.init(); + + picker.getWindow().on('close', () => { + ioHook.stop(); + ioHook.unload(); + }); + + let pos = robot.getMousePos(); + picker + .getWindow() + .setPosition(parseInt(pos.x) + 10, parseInt(pos.y) + 10); + + const img = robot.screen.capture(parseInt(pos.x) - 5, parseInt(pos.y) - 5, 9, 9); + + const colors = {} + + for(let i = 0; i< 9; i++) { + colors[i] = {}; + for (let j = 0; j < 9; j++) { + colors[i][j] = img.colorAt(j, i); + } + } + + picker + .getWindow() + .webContents.send( + "updatePicker", + colors + ); + + ipcMain.on("closePicker", () => { + this.closePicker(); + }); + }); + + + ioHook.on('mousemove', e => { + let x = e.x + let y = e.y + if (!picker.getWindow()) return; + let color = "#" + robot.getPixelColor(parseInt(x), parseInt(y)); + picker.getWindow().setPosition(parseInt(x) + 10, parseInt(y) + 10); + + + const img = robot.screen.capture(parseInt(x) - 5, parseInt(y) - 5, 9, 9); + + const colors = {} + + for(let i = 0; i< 9; i++) { + colors[i] = {}; + for (let j = 0; j < 9; j++) { + colors[i][j] = img.colorAt(j, i); + } + } + picker.getWindow().webContents.send("updatePicker", colors); + }) + + ioHook.on('mouseup', e => { + if (e.button === 1) { + let x = e.x + let y = e.y + const color = "#" + robot.getPixelColor(parseInt(x), parseInt(y)); + clipboard.writeText("#" + robot.getPixelColor(parseInt(x), parseInt(y))); + new Notification({ title: 'Rubick 通知', body: `${color} 已保存到剪切板` }).show(); + this.closePicker(); + } + }); + + ioHook.on('mouseup', e => { + if (e.button === 3) { + this.closePicker() + } + }); + } + + closePicker() { + if (picker.getWindow()) { + ipcMain.removeListener("closePicker", this.closePicker); + picker.getWindow().close(); + } + } + + initPlugin() { + ipcMain.on('optionPlugin', (e, args) => { + this.optionPlugin = args; + }); + } + + lockScreen() { + // 锁屏 + ipcMain.on('lock-screen', () => { + const lockCommands = { + darwin: '/System/Library/CoreServices/"Menu Extras"/User.menu/Contents/Resources/CGSession -suspend', + win32: 'rundll32.exe user32.dll, LockWorkStation', + linux: '(hash gnome-screensaver-command 2>/dev/null && gnome-screensaver-command -l) || (hash dm-tool 2>/dev/null && dm-tool lock)' + }; + exec(lockCommands[process.platform]); + }); + } + + superPanel(mainWindow) { + // 长按右击呼起超级面板 + ipcMain.on('right-down', async () => { + const copyResult = await this.getSelectedContent(); + let win = superPanel.getWindow(); + + if (win) { + win.webContents.send('trigger-super-panel', { + ...copyResult, + optionPlugin: this.optionPlugin.plugins, + }); + } else { + superPanel.init(mainWindow); + win = superPanel.getWindow(); + + win.once('ready-to-show', () => { + win.webContents.send('trigger-super-panel', { + ...copyResult, + optionPlugin: this.optionPlugin.plugins, + }); + }); + } + const pos = robot.getMousePos(); + win.setPosition(parseInt(pos.x), parseInt(pos.y)); + win.show(); + }); + } + + reRegisterShortCut(mainWindow) { + ipcMain.on('re-register', (event, arg) => { + this.registerShortCut(mainWindow); + }); + } + + changeSize(mainWindow) { + // 修改窗口尺寸 + ipcMain.on('changeWindowSize-rubick', (event, arg) => { + mainWindow.setSize(arg.width || 800, arg.height); + }); + } + + msgTrigger(mainWindow) { + // 响应 preload.js 事件 + ipcMain.on('msg-trigger', async (event, arg) => { + const window = arg.winId ? BrowserWindow.fromId(arg.winId) : mainWindow + const operators = arg.type.split('.'); + let fn = Api; + operators.forEach((op) => { + fn = fn[op]; + }); + const data = await fn(arg, window); + event.sender.send(`msg-back-${arg.type}`, data); + }); + } + + separate() { + // 窗口分离 + ipcMain.on('new-window', (event, arg) => { + const opts = { + ...arg, + searchType: 'subWindow', + } + separator.init(JSON.stringify(opts)); + }); + } + + initCapture() { + ipcMain.on('capture-screen', () => { + spawn('/usr/sbin/screencapture', ["-c", "-i", "-r"], {detached: !0}); + }); + } +} + +export default Listener; diff --git a/src/main/tray.js b/src/main/tray.js index 97e1fbe..c2a4e1b 100644 --- a/src/main/tray.js +++ b/src/main/tray.js @@ -36,7 +36,7 @@ function createTray(window) { click() { dialog.showMessageBox({ title: '拉比克', - message: '一站式前端开发工具箱', + message: '极简、插件化的现代桌面软件', detail: `Version: ${pkg.version}\nAuthor: muwoo` }); } @@ -45,6 +45,14 @@ function createTray(window) { id: 7, role: 'quit', label: '退出' + }, + { + id: 7, + label: '重启', + click() { + app.relaunch(); + app.exit(); + } } ]); appIcon.on('click', () => { diff --git a/src/renderer/App.vue b/src/renderer/App.vue index b5ffad2..7c5ff14 100644 --- a/src/renderer/App.vue +++ b/src/renderer/App.vue @@ -47,6 +47,7 @@ @@ -58,11 +59,11 @@
- + - +
@@ -87,13 +88,21 @@ const {Menu, MenuItem} = remote; export default { data() { return { - searchType: this.$route.query.searchType ? 'subWindow' : '', query: this.$route.query, searchFn: null, config: opConfig.get(), currentSelect: 0, } }, + + created() { + window.setPluginInfo = (pluginInfo) => { + this.commonUpdate({ + pluginInfo: pluginInfo, + }); + } + }, + mounted() { ipcRenderer.on('init-rubick', this.closeTag); ipcRenderer.on('new-window', this.newWindow); @@ -173,6 +182,7 @@ export default { }, renderTitle(title) { + if (typeof title !== 'string') return; const result = title.split(this.searchValue); return `
${result[0]}${this.searchValue}${result[1]}
` }, @@ -203,18 +213,13 @@ export default { }, newWindow() { ipcRenderer.send('new-window', { - ...this.selected, - ...this.$route.query, + ...this.pluginInfo }); this.closeTag(); }, - goMenu() { - if (this.selected && this.selected.key === 'plugin-container') { + goMenu(type) { + if ((this.selected && this.selected.key === 'plugin-container') || type === 'separate') { const pluginMenu = [ - { - label: '分离窗口', - click: this.newWindow - }, { label: '开发者工具', click: () => { @@ -237,6 +242,12 @@ export default { label: '隐藏插件', }, ]; + if (type !== 'separate') { + pluginMenu.unshift({ + label: '分离窗口', + click: this.newWindow + }) + } let menu = Menu.buildFromTemplate(pluginMenu); menu.popup(); return; @@ -246,12 +257,15 @@ export default { }, }, computed: { - ...mapState('main', ['showMain', 'devPlugins', 'current', 'options', 'selected', 'searchValue', 'subPlaceHolder']), + ...mapState('main', ['showMain', 'devPlugins', 'current', 'options', 'selected', 'searchValue', 'subPlaceHolder', 'pluginInfo']), showOptions() { // 有选项值,且不在显示主页 if (this.options.length && !this.showMain) { return true; } + }, + searchType() { + return this.pluginInfo.searchType ? 'subWindow' : '' } } }; diff --git a/src/renderer/assets/api/config.js b/src/renderer/assets/api/config.js index ae43039..8b36efa 100644 --- a/src/renderer/assets/api/config.js +++ b/src/renderer/assets/api/config.js @@ -1,4 +1,4 @@ export default { - development: 'http://rubick-server.qa.91jkys.com', - production: 'http://rubick-server.qa.91jkys.com', + development: 'http://118.195.176.247:8080', + production: 'http://118.195.176.247:8080', }; diff --git a/src/renderer/assets/common/constans.js b/src/renderer/assets/common/constans.js index 3de9673..e4f620b 100644 --- a/src/renderer/assets/common/constans.js +++ b/src/renderer/assets/common/constans.js @@ -5,7 +5,7 @@ const PRE_ITEM_HEIGHT = 60; const SYSTEM_PLUGINS = [ { "pluginName": "rubick 帮助文档", - "logo": "https://static.91jkys.com/activity/img/4eb6f2848b064f569c28fdf8495d5ec7.png", + "logo": require('../imgs/help.png'), "features": [ { "code": "help", @@ -17,7 +17,7 @@ const SYSTEM_PLUGINS = [ }, { "pluginName": "屏幕颜色拾取", - "logo": "https://static.91jkys.com/activity/img/6a1b4b8a17da45d680ea30b53a91aca8.png", + "logo": require('../imgs/picker.png'), "features": [ { "code": "pick", @@ -29,7 +29,7 @@ const SYSTEM_PLUGINS = [ }, { "pluginName": "截屏", - "logo": "https://static.91jkys.com/activity/img/b34d30b426f24eb2b77bf434b8493495.png", + "logo": require('../imgs/screenshot.png'), "features": [ { "code": "shortCut", @@ -38,6 +38,18 @@ const SYSTEM_PLUGINS = [ }, ], "tag": 'rubick-screen-short-cut', + }, + { + "pluginName": "锁屏", + "logo": require('../imgs/lock.png'), + "features": [ + { + "code": "lock", + "explain": "锁屏", + "cmds": [ "锁屏", "lock screen" ] + }, + ], + "tag": 'rubick-lock', } ]; diff --git a/src/renderer/assets/common/system.js b/src/renderer/assets/common/system.js index e276bd5..acb3f75 100644 --- a/src/renderer/assets/common/system.js +++ b/src/renderer/assets/common/system.js @@ -14,5 +14,10 @@ export default { shortCut() { ipcRenderer.send('capture-screen', {type: 'start'}) } + }, + 'rubick-lock': { + lock() { + ipcRenderer.send('lock-screen'); + } } } diff --git a/src/renderer/assets/common/utils.js b/src/renderer/assets/common/utils.js index ea198b5..e082140 100644 --- a/src/renderer/assets/common/utils.js +++ b/src/renderer/assets/common/utils.js @@ -151,7 +151,7 @@ function find(p, target = 'plugin.json') { const fileLists = []; // 默认搜索目录 APP_FINDER_PATH.forEach((searchPath) => { - fs.readdir(searchPath, (err, files) => { + fs.readdir(searchPath, async (err, files) => { try { for (let i = 0; i < files.length; i++) { const appName = files[i]; @@ -178,15 +178,14 @@ APP_FINDER_PATH.forEach((searchPath) => { const iconName = resourceList.filter(file => path.extname(file) === '.icns')[0]; iconPath = path.join(searchPath, `${appName}/Contents/Resources/${iconName}`); } - nativeImage.createThumbnailFromPath(iconPath, {width: 64, height: 64}).then(img => { - fileLists.push({ - name: appSubStr, - value: 'plugin', - icon: img.toDataURL(), - desc: path.join(searchPath, appName), - type: 'app', - action: `open ${path.join(searchPath, appName).replace(' ', '\\ ')}` - }) + const img = await nativeImage.createThumbnailFromPath(iconPath, {width: 64, height: 64}); + fileLists.push({ + name: appSubStr, + value: 'plugin', + icon: img.toDataURL(), + desc: path.join(searchPath, appName), + type: 'app', + action: `open ${path.join(searchPath, appName).replace(' ', '\\ ')}` }) } catch (e) { } diff --git a/src/renderer/assets/imgs/help.png b/src/renderer/assets/imgs/help.png new file mode 100644 index 0000000..661f733 Binary files /dev/null and b/src/renderer/assets/imgs/help.png differ diff --git a/src/renderer/assets/imgs/lock.png b/src/renderer/assets/imgs/lock.png new file mode 100644 index 0000000..f96eafd Binary files /dev/null and b/src/renderer/assets/imgs/lock.png differ diff --git a/src/renderer/assets/imgs/picker.png b/src/renderer/assets/imgs/picker.png new file mode 100644 index 0000000..c96d499 Binary files /dev/null and b/src/renderer/assets/imgs/picker.png differ diff --git a/src/renderer/assets/imgs/screenshot.png b/src/renderer/assets/imgs/screenshot.png new file mode 100644 index 0000000..1c83994 Binary files /dev/null and b/src/renderer/assets/imgs/screenshot.png differ diff --git a/src/renderer/pages/plugins/index.vue b/src/renderer/pages/plugins/index.vue index e09c001..6f4f48e 100644 --- a/src/renderer/pages/plugins/index.vue +++ b/src/renderer/pages/plugins/index.vue @@ -1,6 +1,6 @@