提交 84423b5a 编写于 作者: M muwoo

bugfix: #22, style: 优化界面样式,logo 重做

上级 ad21d374
build/icons/256x256.png

18.9 KB | W: | H:

build/icons/256x256.png

15.0 KB | W: | H:

build/icons/256x256.png
build/icons/256x256.png
build/icons/256x256.png
build/icons/256x256.png
  • 2-up
  • Swipe
  • Onion skin
build/icons/icon.ico

60.8 KB | W: | H:

build/icons/icon.ico

15.0 KB | W: | H:

build/icons/icon.ico
build/icons/icon.ico
build/icons/icon.ico
build/icons/icon.ico
  • 2-up
  • Swipe
  • Onion skin
{
"name": "rubick2",
"version": "0.0.2-beta.1",
"version": "0.0.3-beta.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
......@@ -1226,6 +1226,13 @@
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
"asap": {
"version": "2.0.6",
"resolved": "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz",
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
"dev": true,
"optional": true
},
"asar": {
"version": "3.0.3",
"resolved": "http://npmreg.qa.91jkys.com/asar/-/asar-3.0.3.tgz",
......@@ -2776,6 +2783,16 @@
"dev": true,
"optional": true
},
"boom": {
"version": "2.10.1",
"resolved": "https://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"dev": true,
"optional": true,
"requires": {
"hoek": "2.x.x"
}
},
"boxen": {
"version": "5.0.1",
"resolved": "http://npmreg.qa.91jkys.com/boxen/-/boxen-5.0.1.tgz",
......@@ -3969,6 +3986,13 @@
"mimic-response": "^1.0.0"
}
},
"co": {
"version": "4.6.0",
"resolved": "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
"dev": true,
"optional": true
},
"coa": {
"version": "1.0.4",
"resolved": "http://npmreg.qa.91jkys.com/coa/-/coa-1.0.4.tgz",
......@@ -4306,15 +4330,6 @@
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
"dev": true
},
"copy-anything": {
"version": "2.0.3",
"resolved": "http://npmreg.qa.91jkys.com/copy-anything/-/copy-anything-2.0.3.tgz",
"integrity": "sha1-hCQHugJGaw34RIGbvjuuu+XUXYc=",
"dev": true,
"requires": {
"is-what": "^3.12.0"
}
},
"copy-concurrently": {
"version": "1.0.5",
"resolved": "http://npmreg.qa.91jkys.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
......@@ -4485,6 +4500,16 @@
"resolved": "http://npmreg.qa.91jkys.com/crypt/-/crypt-0.0.2.tgz",
"integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs="
},
"cryptiles": {
"version": "2.0.5",
"resolved": "https://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"dev": true,
"optional": true,
"requires": {
"boom": "2.x.x"
}
},
"crypto-browserify": {
"version": "3.12.0",
"resolved": "http://npmreg.qa.91jkys.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
......@@ -5699,6 +5724,14 @@
"requires": {
"electron-is-dev": "^0.3.0",
"electron-localshortcut": "^3.0.0"
},
"dependencies": {
"electron-is-dev": {
"version": "0.3.0",
"resolved": "https://registry.npm.taobao.org/electron-is-dev/download/electron-is-dev-0.3.0.tgz",
"integrity": "sha1-FOb9pcaOnk7L7/nM8DfL18BcWv4=",
"dev": true
}
}
},
"electron-devtools-installer": {
......@@ -5737,10 +5770,9 @@
"dev": true
},
"electron-is-dev": {
"version": "0.3.0",
"resolved": "http://npmreg.qa.91jkys.com/electron-is-dev/-/electron-is-dev-0.3.0.tgz",
"integrity": "sha1-FOb9pcaOnk7L7/nM8DfL18BcWv4=",
"dev": true
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/electron-is-dev/download/electron-is-dev-2.0.0.tgz",
"integrity": "sha1-gzSHoGm42tIUJcZ6GYR9kGSrGb0="
},
"electron-localshortcut": {
"version": "3.2.1",
......@@ -7549,6 +7581,19 @@
"minimalistic-assert": "^1.0.1"
}
},
"hawk": {
"version": "3.1.3",
"resolved": "https://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"dev": true,
"optional": true,
"requires": {
"boom": "2.x.x",
"cryptiles": "2.x.x",
"hoek": "2.x.x",
"sntp": "1.x.x"
}
},
"he": {
"version": "1.2.0",
"resolved": "http://npmreg.qa.91jkys.com/he/-/he-1.2.0.tgz",
......@@ -7582,6 +7627,13 @@
"minimalistic-crypto-utils": "^1.0.1"
}
},
"hoek": {
"version": "2.16.3",
"resolved": "https://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"dev": true,
"optional": true
},
"home-or-tmp": {
"version": "2.0.0",
"resolved": "http://npmreg.qa.91jkys.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
......@@ -7953,7 +8005,7 @@
},
"image-size": {
"version": "0.5.5",
"resolved": "http://npmreg.qa.91jkys.com/image-size/-/image-size-0.5.5.tgz",
"resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz",
"integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
"dev": true,
"optional": true
......@@ -8488,12 +8540,6 @@
"resolved": "https://registry.nlark.com/is-utf8/download/is-utf8-0.2.1.tgz",
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
},
"is-what": {
"version": "3.14.1",
"resolved": "http://npmreg.qa.91jkys.com/is-what/-/is-what-3.14.1.tgz",
"integrity": "sha1-4SIvRt3ahd6tD9HJ3xMXYOd3VcE=",
"dev": true
},
"is-windows": {
"version": "1.0.2",
"resolved": "http://npmreg.qa.91jkys.com/is-windows/-/is-windows-1.0.2.tgz",
......@@ -8634,6 +8680,16 @@
"resolved": "http://npmreg.qa.91jkys.com/json-schema-typed/-/json-schema-typed-7.0.3.tgz",
"integrity": "sha1-I/9IG4tO680soSO0+gQJ5mRpotk="
},
"json-stable-stringify": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz",
"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
"dev": true,
"optional": true,
"requires": {
"jsonify": "~0.0.0"
}
},
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "http://npmreg.qa.91jkys.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
......@@ -8668,6 +8724,13 @@
"graceful-fs": "^4.1.6"
}
},
"jsonify": {
"version": "0.0.0",
"resolved": "https://registry.nlark.com/jsonify/download/jsonify-0.0.0.tgz",
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
"dev": true,
"optional": true
},
"jsprim": {
"version": "1.4.1",
"resolved": "http://npmreg.qa.91jkys.com/jsprim/-/jsprim-1.4.1.tgz",
......@@ -8741,45 +8804,168 @@
"dev": true
},
"less": {
"version": "4.1.1",
"resolved": "http://npmreg.qa.91jkys.com/less/-/less-4.1.1.tgz",
"integrity": "sha1-Fb8lOpk5eR3GkIiMP/Qk8+bH7bo=",
"version": "2.7.3",
"resolved": "https://registry.npm.taobao.org/less/download/less-2.7.3.tgz?cache=0&sync_timestamp=1612065678706&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fless%2Fdownload%2Fless-2.7.3.tgz",
"integrity": "sha1-zBJg9RyQCp7A2R+2mYE54CUHtjs=",
"dev": true,
"requires": {
"copy-anything": "^2.0.1",
"errno": "^0.1.1",
"graceful-fs": "^4.1.2",
"image-size": "~0.5.0",
"make-dir": "^2.1.0",
"mime": "^1.4.1",
"needle": "^2.5.2",
"parse-node-version": "^1.0.1",
"source-map": "~0.6.0",
"tslib": "^1.10.0"
"mime": "^1.2.11",
"mkdirp": "^0.5.0",
"promise": "^7.1.1",
"request": "2.81.0",
"source-map": "^0.5.3"
},
"dependencies": {
"make-dir": {
"version": "2.1.0",
"resolved": "http://npmreg.qa.91jkys.com/make-dir/-/make-dir-2.1.0.tgz",
"integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=",
"ajv": {
"version": "4.11.8",
"resolved": "https://registry.nlark.com/ajv/download/ajv-4.11.8.tgz?cache=0&sync_timestamp=1626380134544&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-4.11.8.tgz",
"integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
"dev": true,
"optional": true,
"requires": {
"pify": "^4.0.1",
"semver": "^5.6.0"
"co": "^4.6.0",
"json-stable-stringify": "^1.0.1"
}
},
"pify": {
"version": "4.0.1",
"resolved": "http://npmreg.qa.91jkys.com/pify/-/pify-4.0.1.tgz",
"integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=",
"assert-plus": {
"version": "0.2.0",
"resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-0.2.0.tgz",
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
"dev": true,
"optional": true
},
"semver": {
"version": "5.7.1",
"resolved": "http://npmreg.qa.91jkys.com/semver/-/semver-5.7.1.tgz",
"integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
"aws-sign2": {
"version": "0.6.0",
"resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.6.0.tgz",
"integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
"dev": true,
"optional": true
},
"form-data": {
"version": "2.1.4",
"resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.1.4.tgz?cache=0&sync_timestamp=1613410812604&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fform-data%2Fdownload%2Fform-data-2.1.4.tgz",
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
"dev": true,
"optional": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.5",
"mime-types": "^2.1.12"
}
},
"har-schema": {
"version": "1.0.5",
"resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-1.0.5.tgz",
"integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
"dev": true,
"optional": true
},
"har-validator": {
"version": "4.2.1",
"resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-4.2.1.tgz",
"integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
"dev": true,
"optional": true,
"requires": {
"ajv": "^4.9.1",
"har-schema": "^1.0.5"
}
},
"http-signature": {
"version": "1.1.1",
"resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.1.1.tgz?cache=0&sync_timestamp=1600868483243&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.1.1.tgz",
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
"dev": true,
"optional": true,
"requires": {
"assert-plus": "^0.2.0",
"jsprim": "^1.2.2",
"sshpk": "^1.7.0"
}
},
"oauth-sign": {
"version": "0.8.2",
"resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz",
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
"dev": true,
"optional": true
},
"performance-now": {
"version": "0.2.0",
"resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-0.2.0.tgz",
"integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
"dev": true,
"optional": true
},
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true,
"optional": true
},
"qs": {
"version": "6.4.0",
"resolved": "https://registry.nlark.com/qs/download/qs-6.4.0.tgz",
"integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
"dev": true,
"optional": true
},
"request": {
"version": "2.81.0",
"resolved": "https://registry.npm.taobao.org/request/download/request-2.81.0.tgz",
"integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
"dev": true,
"optional": true,
"requires": {
"aws-sign2": "~0.6.0",
"aws4": "^1.2.1",
"caseless": "~0.12.0",
"combined-stream": "~1.0.5",
"extend": "~3.0.0",
"forever-agent": "~0.6.1",
"form-data": "~2.1.1",
"har-validator": "~4.2.1",
"hawk": "~3.1.3",
"http-signature": "~1.1.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
"mime-types": "~2.1.7",
"oauth-sign": "~0.8.1",
"performance-now": "^0.2.0",
"qs": "~6.4.0",
"safe-buffer": "^5.0.1",
"stringstream": "~0.0.4",
"tough-cookie": "~2.3.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.0.0"
}
},
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true,
"optional": true
},
"tough-cookie": {
"version": "2.3.4",
"resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.4.tgz",
"integrity": "sha1-7GDO44rGdQY//JelwYlwV47oNlU=",
"dev": true,
"optional": true,
"requires": {
"punycode": "^1.4.1"
}
},
"uuid": {
"version": "3.4.0",
"resolved": "https://registry.nlark.com/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1622213136953&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz",
"integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=",
"dev": true,
"optional": true
}
......@@ -10975,12 +11161,6 @@
"error-ex": "^1.2.0"
}
},
"parse-node-version": {
"version": "1.0.1",
"resolved": "http://npmreg.qa.91jkys.com/parse-node-version/-/parse-node-version-1.0.1.tgz",
"integrity": "sha1-4rXb7eAOf6m8NjYH9TMn6LBzGJs=",
"dev": true
},
"parse-passwd": {
"version": "1.0.0",
"resolved": "http://npmreg.qa.91jkys.com/parse-passwd/-/parse-passwd-1.0.0.tgz",
......@@ -11878,6 +12058,16 @@
}
}
},
"promise": {
"version": "7.3.1",
"resolved": "https://registry.nlark.com/promise/download/promise-7.3.1.tgz",
"integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=",
"dev": true,
"optional": true,
"requires": {
"asap": "~2.0.3"
}
},
"promise-inflight": {
"version": "1.0.1",
"resolved": "http://npmreg.qa.91jkys.com/promise-inflight/-/promise-inflight-1.0.1.tgz",
......@@ -13414,6 +13604,16 @@
"kind-of": "^3.2.0"
}
},
"sntp": {
"version": "1.0.9",
"resolved": "https://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"dev": true,
"optional": true,
"requires": {
"hoek": "2.x.x"
}
},
"sockjs": {
"version": "0.3.21",
"resolved": "http://npmreg.qa.91jkys.com/sockjs/-/sockjs-0.3.21.tgz",
......@@ -13865,6 +14065,13 @@
"safe-buffer": "~5.1.0"
}
},
"stringstream": {
"version": "0.0.6",
"resolved": "https://registry.npm.taobao.org/stringstream/download/stringstream-0.0.6.tgz",
"integrity": "sha1-eIAiWw1K0Q4wkn0Weh1vL9OzOnI=",
"dev": true,
"optional": true
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "http://npmreg.qa.91jkys.com/strip-ansi/-/strip-ansi-4.0.0.tgz",
......
{
"name": "rubick2",
"version": "0.0.3-beta.1",
"version": "0.0.3-beta.2",
"author": "muwoo <2424880409@qq.com>",
"description": "An electron-vue project",
"license": null,
......@@ -63,6 +63,7 @@
"bplist-parser": "^0.3.0",
"download": "^8.0.0",
"download-git-repo": "^3.0.2",
"electron-is-dev": "^2.0.0",
"electron-store": "^8.0.0",
"iohook": "^0.9.3",
"is-chinese": "^1.4.2",
......@@ -112,7 +113,7 @@
"file-loader": "^1.1.11",
"html-webpack-plugin": "^3.2.0",
"iconv-lite": "^0.6.3",
"less": "^4.1.1",
"less": "^2.7.3",
"less-loader": "^5.0.0",
"listr": "^0.14.3",
"mini-css-extract-plugin": "0.4.0",
......
......@@ -18,6 +18,7 @@ module.exports = () => {
frame: false,
title: '拉比克',
show: false,
skipTaskbar: true,
webPreferences: {
webSecurity: false,
enableRemoteModule: true,
......
......@@ -9,13 +9,6 @@ export default function init(mainWindow) {
listener.registerShortCut(mainWindow);
listener.init(mainWindow);
// 设置开机启动
const config = global.opConfig.get();
app.setLoginItemSettings({
openAtLogin: config.perf.common.start,
openAsHidden: true,
});
mainWindow.once("ready-to-show", () => {
// 非隐藏式启动需要显示主窗口
if (!app.getLoginItemSettings().wasOpenedAsHidden) {
......
import {BrowserWindow, clipboard, globalShortcut, ipcMain, Notification, screen} from "electron";
import {app, 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';
import {throttle} from './utils';
import {throttle, commonConst} from './utils';
const browsers = require("../browsers")();
const {picker, separator, superPanel} = browsers;
......@@ -20,8 +20,7 @@ class Listener {
clipboard.clear();
// 复制选中文案
const platform = process.platform;
if (platform === 'darwin') {
if (commonConst.macOS()) {
robot.keyTap('c', 'command');
} else {
robot.keyTap('c', 'control');
......@@ -52,9 +51,11 @@ class Listener {
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.setAlwaysOnTop(true)
mainWindow.setVisibleOnAllWorkspaces(true, {visibleOnFullScreen: true});
mainWindow.focus();
mainWindow.setVisibleOnAllWorkspaces(false);
mainWindow.setVisibleOnAllWorkspaces(false, {visibleOnFullScreen: true});
mainWindow.setPosition(wx, wy);
mainWindow.show();
});
......@@ -92,6 +93,7 @@ class Listener {
picker.getWindow().webContents.send("updatePicker", colors);
}, 100);
this.setAutoLogin();
this.colorPicker();
this.initPlugin();
this.lockScreen();
......@@ -224,10 +226,21 @@ class Listener {
reRegisterShortCut(mainWindow) {
ipcMain.on('re-register', (event, arg) => {
this.setAutoLogin();
this.registerShortCut(mainWindow);
});
}
setAutoLogin() {
// 设置开机启动
const config = global.opConfig.get();
app.setLoginItemSettings({
openAtLogin: config.perf.common.start,
openAsHidden: true,
});
}
changeSize(mainWindow) {
// 修改窗口尺寸
ipcMain.on('changeWindowSize-rubick', (event, arg) => {
......
......@@ -53,3 +53,22 @@ export function throttle (func, wait, options) {
};
}
export const commonConst = {
linux: function () {
return process.platform === 'linux'
},
macOS () {
return process.platform === 'darwin';
},
windows () {
return process.platform === 'win32'
},
production: function () {
return process.env.NODE_ENV !== 'development';
},
dev: function () {
return process.env.NODE_ENV === 'development';
},
}
import { app } from 'electron'
import { app, globalShortcut } from 'electron'
import '../renderer/store'
import init from './common/common';
import {autoUpdate} from './common/autoUpdate';
import createTray from './tray';
import {commonConst} from './common/utils';
const {main} = require("./browsers")();
/**
* Set `__static` path to static files in production
* https://simulatedgreg.gitbooks.io/electron-vue/content/en/using-static-assets.html
*/
if (process.env.NODE_ENV !== 'development') {
if (commonConst.production()) {
global.__static = require('path').join(__dirname, '/static').replace(/\\/g, '\\\\')
}
// to fix https://github.com/electron/electron/issues/18397
app.allowRendererProcessReuse = false;
app.dock.hide();
function createWindow() {
main.init();
init(main.getWindow());
}
class initApp {
launchApp() {
const gotTheLock = app.requestSingleInstanceLock()
if (!gotTheLock) {
app.quit()
} else {
this.beforeReady()
this.onReady()
this.onRunning()
this.onQuit()
}
}
createWindow() {
main.init();
init(main.getWindow());
}
app.on('ready', () => {
createWindow()
createTray(main.getWindow());
autoUpdate();
})
beforeReady() {
// 系统托盘
if (commonConst.macOS()) {
if (commonConst.production() && !app.isInApplicationsFolder()) {
app.moveToApplicationsFolder();
} else {
app.dock.hide();
}
}else {
app.disableHardwareAcceleration();
}
}
onReady() {
const readyFunction = () => {
this.createWindow();
createTray(main.getWindow());
autoUpdate();
}
if (!app.isReady()) {
app.on('ready', readyFunction)
} else {
readyFunction()
}
}
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
onRunning() {
app.on('second-instance', (event, commandLine, workingDirectory) => {
// 当运行第二个实例时,将会聚焦到myWindow这个窗口
const win = main.getWindow();
if (win) {
if (win.isMinimized()) {
win.restore();
}
win.focus();
}
});
app.on('activate', () => {
if (!main.getWindow()) {
this.createWindow();
}
});
}
})
app.on('activate', () => {
createWindow()
});
onQuit () {
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('will-quit', () => {
globalShortcut.unregisterAll()
})
// Exit cleanly on request from parent process in development mode.
if (commonConst.dev()) {
if (process.platform === 'win32') {
process.on('message', data => {
if (data === 'graceful-exit') {
app.quit()
}
})
} else {
process.on('SIGTERM', () => {
app.quit()
})
}
}
}
}
(new initApp()).launchApp();
import { dialog, Menu, Tray, app, shell, ipcMain } from 'electron';
import { dialog, Menu, Tray, app, shell } from 'electron';
import path from 'path';
import pkg from '../../package.json';
import os from 'os';
import {commonConst} from './common/utils';
function createTray(window) {
return new Promise((resolve, reject) => {
const appIcon = new Tray(path.join(__static, './rocket.png'));
let icon;
if (commonConst.macOS()) {
icon = './icon@3x.png'
}else if (commonConst.windows()) {
icon = parseInt(os.release()) < 10 ? './icon@2x.png' : './icon.ico';
}else {
icon = 'icon@2x.png'
}
const appIcon = new Tray(path.join(__static, icon));
const contextMenu = Menu.buildFromTemplate([
{
label: "帮助文档", click: () => {
......
......@@ -44,7 +44,7 @@
:src="selected.icon"
/>
<div v-else class="rubick-logo">
<img src="./assets/logo.png" />
<img src="./assets/imgs/logo.png" />
</div>
</div>
</a-input>
......@@ -358,13 +358,13 @@ export default {
.rubick-logo {
width: 40px;
height: 40px;
background: #314659;
background: #574778;
display: flex;
align-items: center;
justify-content: center;
border-radius: 100%;
img {
width: 28px;
width: 32px;
}
}
.tag-container {
......
@import '~ant-design-vue/dist/antd.less'; // 引入官方提供的 less 样式入口文件
@primary-color: #ff4ea4; // 全局主色
@link-color: #ff4ea4; // 链接色
@error-color: #ff4ea4; // 错误色
.ant-tag-green {
color: #ff4ea4;
background: rgba(255, 159, 180, 0.3);
border-color: #ff9fb4;
}
......@@ -7,7 +7,7 @@ import router from './router'
import store from './store'
import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/antd.css';
import './assets/ant-reset.less';
const opConfig = remote.getGlobal('opConfig');
......
......@@ -13,7 +13,7 @@
<a-icon type="right-circle" />
</div>
<div v-for="banner in bannerList">
<img width="100%" :src="banner.src" />
<img @click="jumpTo(banner.link)" width="100%" :src="banner.src" />
</div>
</a-carousel>
<a-divider v-if="bannerList && !!bannerList.length"></a-divider>
......@@ -73,6 +73,7 @@
import api from '../../../assets/api';
import {mapActions, mapState} from 'vuex';
import marked from "marked";
import {shell} from "electron";
const rendererMD = new marked.Renderer();
export default {
......@@ -114,6 +115,11 @@ export default {
this.currentSelect = item;
this.currentSelect.index = index;
},
jumpTo(link) {
if (link) {
shell.openExternal(link)
}
},
...mapActions('main', ['downloadPlugin'])
},
computed: {
......
static/rocket.png

873 字节 | W: | H:

static/rocket.png

1.4 KB | W: | H:

static/rocket.png
static/rocket.png
static/rocket.png
static/rocket.png
  • 2-up
  • Swipe
  • Onion skin
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册