@@ -103,14 +117,14 @@ const active = computed(() => store.state.active);
const { perf } = localConfig.getConfig();
const changeMenu = (key: any) => {
- store.commit('commonUpdate', {active: [key]})
+ store.commit('commonUpdate', { active: [key] });
router.push(key);
};
window.rubick.onPluginEnter(({ code }: { code: string }) => {
code = code === '已安装插件' ? 'installed' : code;
changeMenu(code);
- store.commit('commonUpdate', {active: [code]})
+ store.commit('commonUpdate', { active: [code] });
});
window.rubick.setSubInput((e: any) => {
@@ -129,7 +143,7 @@ window.rubick.setSubInput((e: any) => {
store.commit('setSearchValue', e.text);
router.push('result');
} else {
- store.commit('commonUpdate', {active: ['finder']})
+ store.commit('commonUpdate', { active: ['finder'] });
router.push('finder');
}
}
@@ -144,13 +158,16 @@ init();
background: var(--color-body-bg2) !important;
height: 100%;
border-right: none;
- .ant-menu-item, .ant-menu-submenu, .ant-menu-submenu-arrow {
+ .ant-menu-item,
+ .ant-menu-submenu,
+ .ant-menu-submenu-arrow {
color: var(--color-text-content);
&:active {
background: none;
}
}
- .ant-menu-item-selected, .ant-menu-submenu-selected {
+ .ant-menu-item-selected,
+ .ant-menu-submenu-selected {
background-color: var(--color-list-hover);
color: var(--ant-primary-color);
.ant-menu-submenu-arrow {
@@ -203,9 +220,12 @@ init();
background: var(--color-body-bg2);
}
.left-menu {
- padding: 24px 16px;
+ padding: 16px;
position: relative;
height: 100vh;
+ :deep(.ant-menu) {
+ width: 100%;
+ }
:deep(.ant-menu-item) {
padding-left: 12px !important;
display: flex;
@@ -219,7 +239,14 @@ init();
}
:deep(.user-info) {
position: absolute;
- bottom: 32px;
+ bottom: 16px;
+ width: calc(100% - 32px);
+ .ant-menu-submenu-title {
+ padding: 0 32px 0 8px;
+ .ant-menu-title-content {
+ margin-left: 8px;
+ }
+ }
}
:deep(.ant-avatar) {
background: transparent;
diff --git a/feature/src/assets/request/index.ts b/feature/src/assets/request/index.ts
index 13dbd545..4ccf1518 100644
--- a/feature/src/assets/request/index.ts
+++ b/feature/src/assets/request/index.ts
@@ -1,6 +1,6 @@
import axios from 'axios';
-let baseURL = 'https://gitcode.net/rubickcenter/rubick-database/-/raw/master';
+let baseURL = 'https://gitee.com/monkeyWang/rubickdatabase/raw/master';
let access_token = '';
try {
@@ -14,7 +14,7 @@ try {
const instance = axios.create({
timeout: 4000,
baseURL:
- baseURL || 'https://gitcode.net/rubickcenter/rubick-database/-/raw/master',
+ baseURL || 'https://gitee.com/monkeyWang/rubickdatabase/raw/master',
});
export default {
@@ -23,9 +23,10 @@ export default {
if (access_token) {
targetPath = `${encodeURIComponent(
targetPath
- )}/raw?access_token=${access_token}&ref=master`;
+ )}?access_token=${access_token}&ref=master`;
}
const res = await instance.get(targetPath);
+ console.log('total plugsin', res);
return res.data;
},
@@ -34,7 +35,7 @@ export default {
if (access_token) {
targetPath = `${encodeURIComponent(
targetPath
- )}/raw?access_token=${access_token}&ref=master`;
+ )}?access_token=${access_token}&ref=master`;
}
const res = await instance.get(targetPath);
return res.data;
@@ -45,7 +46,7 @@ export default {
if (access_token) {
targetPath = `${encodeURIComponent(
targetPath
- )}/raw?access_token=${access_token}&ref=master`;
+ )}?access_token=${access_token}&ref=master`;
}
const res = await instance.get(targetPath);
return res.data;
@@ -55,7 +56,7 @@ export default {
if (access_token) {
targetPath = `${encodeURIComponent(
targetPath
- )}/raw?access_token=${access_token}&ref=master`;
+ )}?access_token=${access_token}&ref=master`;
}
const res = await instance.get(targetPath);
return res.data;
@@ -71,7 +72,7 @@ export default {
if (access_token) {
targetPath = `${encodeURIComponent(
targetPath
- )}/raw?access_token=${access_token}&ref=master`;
+ )}?access_token=${access_token}&ref=master`;
}
const res = await instance.get(targetPath);
return res.data;
@@ -81,7 +82,7 @@ export default {
if (access_token) {
targetPath = `${encodeURIComponent(
targetPath
- )}/raw?access_token=${access_token}&ref=master`;
+ )}?access_token=${access_token}&ref=master`;
}
const res = await instance.get(targetPath);
return res.data;
@@ -91,7 +92,7 @@ export default {
if (access_token) {
targetPath = `${encodeURIComponent(
targetPath
- )}/raw?access_token=${access_token}&ref=master`;
+ )}?access_token=${access_token}&ref=master`;
}
const res = await instance.get(targetPath);
return res.data;
diff --git a/package.json b/package.json
index d7af4eb2..aac819ca 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "rubick",
- "version": "4.2.3",
+ "version": "4.2.9",
"author": "muwoo <2424880409@qq.com>",
"private": true,
"scripts": {
diff --git a/src/main/browsers/runner.ts b/src/main/browsers/runner.ts
index d63b7881..b78cf71d 100644
--- a/src/main/browsers/runner.ts
+++ b/src/main/browsers/runner.ts
@@ -175,31 +175,29 @@ export default () => {
const removeView = (window: BrowserWindow) => {
if (!view) return;
- window.removeBrowserView(view);
- if (!view.inDetach) {
- window.setBrowserView(null);
- view.webContents?.destroy();
- }
-
- // window.setSize(800, 60);
executeHooks('PluginOut', null);
- window.webContents?.executeJavaScript(`window.initRubick()`);
- view = undefined;
+ setTimeout(() => {
+ window.removeBrowserView(view);
+ if (!view.inDetach) {
+ window.setBrowserView(null);
+ view.webContents?.destroy();
+ }
+ window.webContents?.executeJavaScript(`window.initRubick()`);
+ view = undefined;
+ }, 0);
};
const getView = () => view;
const executeHooks = (hook, data) => {
- setTimeout(() => {
- if (!view) return;
- const evalJs = `if(window.rubick && window.rubick.hooks && typeof window.rubick.hooks.on${hook} === 'function' ) {
+ if (!view) return;
+ const evalJs = `if(window.rubick && window.rubick.hooks && typeof window.rubick.hooks.on${hook} === 'function' ) {
try {
window.rubick.hooks.on${hook}(${data ? JSON.stringify(data) : ''});
} catch(e) {}
}
`;
- view.webContents?.executeJavaScript(evalJs);
- }, 300);
+ view.webContents?.executeJavaScript(evalJs);
};
return {
diff --git a/src/main/common/api.ts b/src/main/common/api.ts
index e08f9f34..acefcf70 100644
--- a/src/main/common/api.ts
+++ b/src/main/common/api.ts
@@ -128,8 +128,8 @@ class API extends DBInstance {
}
public removePlugin(e, window) {
- this.currentPlugin = null;
runnerInstance.removeView(window);
+ this.currentPlugin = null;
}
public openPluginDevTools() {
@@ -211,11 +211,10 @@ class API extends DBInstance {
if (!Notification.isSupported()) return;
'string' != typeof body && (body = String(body));
const plugin = this.currentPlugin;
- if (!plugin) return;
const notify = new Notification({
- title: plugin.pluginName,
+ title: plugin ? plugin.pluginName : null,
body,
- icon: plugin.logo,
+ icon: plugin ? plugin.logo : null,
});
notify.show();
}
diff --git a/src/renderer/App.vue b/src/renderer/App.vue
index dbdfe735..ba579845 100644
--- a/src/renderer/App.vue
+++ b/src/renderer/App.vue
@@ -1,8 +1,5 @@
-
+
{
- if (!options.value.length) {
- if (!pluginHistory.value.length) return;
- if (
- currentSelect.value + index > pluginHistory.value.length - 1 ||
- currentSelect.value + index < 0
- ) {
- currentSelect.value = 0;
- return;
- }
- currentSelect.value = currentSelect.value + index;
- return;
- }
- if (
- currentSelect.value + index > options.value.length - 1 ||
- currentSelect.value + index < 0
- ) {
+ const len = options.value.length || pluginHistory.value.length;
+ if (!len) return;
+ if (currentSelect.value + index > len - 1) {
currentSelect.value = 0;
- return;
+ } else if (currentSelect.value + index < 0) {
+ currentSelect.value = len - 1;
+ } else {
+ currentSelect.value = currentSelect.value + index;
}
- currentSelect.value = currentSelect.value + index;
};
const openMenu = (ext) => {
@@ -161,7 +149,9 @@ const choosePlugin = (plugin) => {
});
if (hasRemove) {
const result = window.rubick.db.get(PLUGIN_HISTORY) || {};
- const history = result.data.filter(item => item.originName !== currentChoose.originName);
+ const history = result.data.filter(
+ (item) => item.originName !== currentChoose.originName
+ );
setPluginHistory(history);
return message.warning('插件已被卸载!');
}
diff --git a/src/renderer/components/search.vue b/src/renderer/components/search.vue
index 83c5a517..9e424c97 100644
--- a/src/renderer/components/search.vue
+++ b/src/renderer/components/search.vue
@@ -25,6 +25,8 @@
ref="mainInput"
class="main-input"
@input="(e) => changeValue(e)"
+ @keydown.left="(e) => keydownEvent(e, 'left')"
+ @keydown.right="(e) => keydownEvent(e, 'right')"
@keydown.down="(e) => keydownEvent(e, 'down')"
@keydown.tab="(e) => keydownEvent(e, 'down')"
@keydown.up="(e) => keydownEvent(e, 'up')"
@@ -41,10 +43,7 @@
>
-
+
@@ -120,6 +119,12 @@ const keydownEvent = (e, key: string) => {
case 'down':
emit('changeCurrent', 1);
break;
+ case 'left':
+ emit('changeCurrent', -1);
+ break;
+ case 'right':
+ emit('changeCurrent', 1);
+ break;
case 'enter':
if (runPluginDisable) return;
emit('choosePlugin');
diff --git a/src/renderer/plugins-manager/options.ts b/src/renderer/plugins-manager/options.ts
index 3c062ff7..edf23f49 100644
--- a/src/renderer/plugins-manager/options.ts
+++ b/src/renderer/plugins-manager/options.ts
@@ -8,7 +8,7 @@ import useFocus from './clipboardWatch';
function formatReg(regStr) {
const flags = regStr.replace(/.*\/([gimy]*)$/, '$1');
- const pattern = flags.replace(new RegExp('^/(.*?)/' + flags + '$'), '$1');
+ const pattern = regStr.replace(new RegExp('^/(.*?)/' + flags + '$'), '$1');
return new RegExp(pattern, flags);
}