diff --git a/commons/data/languages.ts b/commons/data/languages.ts index 32b1b60..4b18aee 100644 --- a/commons/data/languages.ts +++ b/commons/data/languages.ts @@ -70,6 +70,8 @@ let simplifiedChinese = { colonKeywordSpace: "冒号 + 关键字 + 空格", color: "颜色", columnNumber: "列数", + commandLine: "命令行", + commandLinePrompt1: "使用“> + 空格”进入命令行模式。", commandPrompt: "命令提示符", computer: "计算机", computerManagement: "计算机管理", @@ -204,6 +206,7 @@ let simplifiedChinese = { password: "密码", pasteIcon: "粘贴图标", powerOptions: "电源选项", + powerShell: "PowerShell", programsFeatures: "程序和功能", proxy: "代理", proxyPrompt: @@ -371,6 +374,8 @@ let traditionalChinese = { colonKeywordSpace: "冒號 + 關鍵字 + 空格", color: "顏色", columnNumber: "列數", + commandLine: "命令行", + commandLinePrompt1: "使用「> + 空格」進入命令行模式。", commandPrompt: "命令提示符", computer: "計算機", computerManagement: "計算機管理", @@ -505,6 +510,7 @@ let traditionalChinese = { password: "密碼", pasteIcon: "粘貼圖標", powerOptions: "電源選項", + powerShell: "PowerShell", programsFeatures: "程序和功能", proxy: "代理", proxyPrompt: @@ -678,6 +684,8 @@ let english = { colonKeywordSpace: "Colon + Keyword + Space", color: "Color", columnNumber: "Column Number", + commandLine: "Command Line", + commandLinePrompt1: 'Use "> + space" to enter command line mode.', commandPrompt: "Command Prompt", computer: "Computer", computerManagement: "Computer Management", @@ -814,6 +822,7 @@ let english = { password: "Password", pasteIcon: "Paste Icon", powerOptions: "Power Options", + powerShell: "PowerShell", programsFeatures: "Programs Features", proxy: "Proxy", proxyPrompt: diff --git a/commons/utils/setting.ts b/commons/utils/setting.ts index 1848879..e0bf350 100644 --- a/commons/utils/setting.ts +++ b/commons/utils/setting.ts @@ -1,6 +1,7 @@ import { Appearance, Classification, + CommandLine, General, Item, Network, @@ -317,6 +318,20 @@ function getWebSearch({ }; } +/** + * 命令行 + * @returns + */ +function getCommandLine({ + defaultUse = "cmd", +}: { + defaultUse?: string | null; +}): CommandLine { + return { + defaultUse: defaultUse ?? "cmd", + }; +} + /** * 网络 * @returns @@ -377,6 +392,9 @@ function getSetting(setting: Setting | null): Setting { webSearch: getWebSearch( setting && setting.webSearch ? setting.webSearch : {} ), + commandLine: getCommandLine( + setting && setting.commandLine ? setting.commandLine : {} + ), network: getNetwork(setting && setting.network ? setting.network : {}), }; } diff --git a/electron/main/commons/ipcEvent.ts b/electron/main/commons/ipcEvent.ts index ee38d27..d0f35a3 100644 --- a/electron/main/commons/ipcEvent.ts +++ b/electron/main/commons/ipcEvent.ts @@ -163,4 +163,13 @@ export default function () { ipcMain.on("exit", () => { app.quit(); }); + // 运行 + ipcMain.on("run", (event, args) => { + global.addon.shellExecute( + args.operation, + args.target, + args.params ?? "", + app.getPath("home") + ); + }); } diff --git a/electron/main/search/index.ts b/electron/main/search/index.ts index 79cb52b..4c5acfe 100644 --- a/electron/main/search/index.ts +++ b/electron/main/search/index.ts @@ -24,7 +24,7 @@ function createQuickSearchWindow() { fullscreenable: false, resizable: false, alwaysOnTop: true, - backgroundColor: getMainBackgorunColor(), + backgroundColor: global.setting.appearance.theme.mainBackgroundColor, webPreferences: { spellcheck: false, backgroundThrottling: false, diff --git a/electron/preload/index.ts b/electron/preload/index.ts index 6c7d282..ef887f6 100644 --- a/electron/preload/index.ts +++ b/electron/preload/index.ts @@ -105,6 +105,15 @@ contextBridge.exposeInMainWorld("api", { exit: () => { ipcRenderer.send("exit"); }, + // 运行 + run: ( + operation: string, + target: string, + params: string | null, + startLocation: string | null + ) => { + ipcRenderer.send("run", { operation, target, params, startLocation }); + }, }); contextBridge.exposeInMainWorld("main", { diff --git a/package.json b/package.json index 82e7853..c4cde46 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "devDependencies": { "@napi-rs/cli": "^2.16.3", "@vicons/material": "^0.12.0", + "@vicons/ionicons5": "^0.12.0", "@vicons/utils": "^0.1.4", "@vitejs/plugin-vue": "^4.4.0", "autoprefixer": "^10.4.16", @@ -70,4 +71,4 @@ "vue-router": "^4.2.5", "xml2js": "^0.6.2" } -} +} \ No newline at end of file diff --git a/src/components/KeyText.vue b/src/components/KeyText.vue new file mode 100644 index 0000000..0c183cb --- /dev/null +++ b/src/components/KeyText.vue @@ -0,0 +1,20 @@ + + diff --git a/src/index.d.ts b/src/index.d.ts index 97f820a..694d7d6 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -31,6 +31,12 @@ declare global { openURL: (url: string) => void; getVersion: () => string; exit: () => void; + run: ( + operation: string, + target: string, + params: string | null, + startLocation: string | null + ) => void; }; main: { showWindow: (blurHide: boolean) => void; diff --git a/src/pages/search/QuickSearch.vue b/src/pages/search/QuickSearch.vue index aa8712d..9387c1b 100644 --- a/src/pages/search/QuickSearch.vue +++ b/src/pages/search/QuickSearch.vue @@ -1,7 +1,6 @@ @@ -131,7 +150,15 @@ import "simplebar/dist/simplebar.css"; import CustomItemIcon from "../../components/CustomItemIcon.vue"; import { getClassElement, hexToRGBA } from "../../utils/style"; import { convert } from "../../../commons/utils/common"; -import { itemAllRemoveStyle, searchResultDivMoveScroll } from "./js/index"; +import { + itemAllRemoveStyle, + searchResultDivMoveScroll, + getCommandLineItemList, + commandLineRun as commonCommandLineRun, +} from "./js/index"; +import keyText from "../../components/KeyText.vue"; +import { Icon } from "@vicons/utils"; +import { SearchOutline, TerminalOutline } from "@vicons/ionicons5"; import { useMainStore } from "../../store"; // pinia const store = useMainStore(); @@ -142,7 +169,7 @@ let searchInput = ref(null); // 搜索内容 let value = ref(null); // 搜索模式 -let webSearch = ref(false); +let mode = ref<"search" | "webSearch" | "commandLine">("search"); // 搜索模式对应的实体 let webSearchSource = ref(null); // 选中的项 @@ -160,7 +187,8 @@ watch( ); // 搜索 function search() { - if (!webSearch.value) { + if (mode.value === "search") { + // 搜索模式 if (value.value) { showHistory.value = false; resultList.value = searchItem(value.value, searchMap, 50); @@ -178,21 +206,25 @@ function search() { // 获取历史记录 getHistory(); } - // 重置滚动条 - resetScroll(); - // 刷新DOM完毕执行 - nextTick(() => { - // 设置窗口高度 - let height = - !resultList.value || resultList.value.length === 0 - ? 0 - : resultList.value.length > 9 - ? 10 * 48 + 1 - : resultList.value.length * 48 + 1; - window.quickSearch.setWindowHeight(height + 44); - }); + refresh(); } } +// 刷新 +function refresh() { + // 重置滚动条 + resetScroll(); + // 刷新DOM完毕执行 + nextTick(() => { + // 设置窗口高度 + let height = + !resultList.value || resultList.value.length === 0 + ? 0 + : resultList.value.length > 9 + ? 10 * 48 + 1 + : resultList.value.length * 48 + 1; + window.quickSearch.setWindowHeight(height + 44); + }); +} /** * 重置滚动条 */ @@ -268,34 +300,34 @@ function getHistory() { resultList.value = []; showHistory.value = false; } - // 重置滚动条 - resetScroll(); - // 刷新DOM完毕执行 - nextTick(() => { - // 设置窗口高度 - let height = - !resultList.value || resultList.value.length === 0 - ? 0 - : resultList.value.length > 9 - ? 10 * 48 + 1 - : resultList.value.length * 48 + 1; - window.quickSearch.setWindowHeight(height + 44); - }); + refresh(); } // 父级运行项目 function parentRunItem(e: any) { // 找到item let itemElement = getClassElement(e, "item"); if (itemElement) { - // 项目ID - let itemId = parseInt(itemElement.getAttribute("item-id")); - // 查询项目 - let item = getItemById(itemId); - if (item && item.data) { - runItem(item); + if (mode.value === "search") { + // 项目ID + let itemId = parseInt(itemElement.getAttribute("item-id")); + // 查询项目 + let item = getItemById(itemId); + if (item && item.data) { + runItem(item); + } + } else if (mode.value === "commandLine") { + // 目标 + commandLineRun(itemElement.getAttribute("target")); } } } +// 命令行运行 +function commandLineRun(target: string) { + if (store.setting.quickSearch.openAfterHideQuickSearchWindow) { + hide(); + } + commonCommandLineRun(target, value.value); +} // 运行项目 function runItem(item: Item) { if (store.setting.quickSearch.openAfterHideQuickSearchWindow) { @@ -303,6 +335,21 @@ function runItem(item: Item) { } run("quickSearch", "open", item); } +// 获取placeholder +function getPlaceholder() { + let text = "Dawn Launcher"; + if ( + mode.value === "webSearch" && + webSearchSource.value && + webSearchSource.value.description && + webSearchSource.value.description.trim() !== "" + ) { + text = webSearchSource.value.description.trim(); + } else if (mode.value === "commandLine") { + text = "Command Line"; + } + return text; +} // 隐藏窗口 function hide() { window.quickSearch.hideWindow(); @@ -311,33 +358,35 @@ function hide() { function contextmenu(e: any) { e.preventDefault(); e.stopPropagation(); - // 当前项目 - let item: Item | null = null; - // 判断是在哪个区域右键 - if (getClassElement(e, "item")) { - // 项目右键 - // 获取项目ID - let element = getClassElement(e, "item"); - // 项目ID - let id = parseInt(element.getAttribute("item-id")); - // 获取项目 - item = convert(getItemById(id)); - } - if (item) { - // 弹出菜单 - store.quickSearchItemRightMenuItemId = item.id; - window.item.showRightMenu({ - item, - x: e.screenX, - y: e.screenY, - type: "quickSearch", - }); + if (mode.value === "search") { + // 当前项目 + let item: Item | null = null; + // 判断是在哪个区域右键 + if (getClassElement(e, "item")) { + // 项目右键 + // 获取项目ID + let element = getClassElement(e, "item"); + // 项目ID + let id = parseInt(element.getAttribute("item-id")); + // 获取项目 + item = convert(getItemById(id)); + } + if (item) { + // 弹出菜单 + store.quickSearchItemRightMenuItemId = item.id; + window.item.showRightMenu({ + item, + x: e.screenX, + y: e.screenY, + type: "quickSearch", + }); + } } } // dragover function dragover(e: any) { // 从程序外拖动文件到项目图标上时用此项目打开文件 - if (store.setting.quickSearch.useItemOpen) { + if (mode.value === "search" && store.setting.quickSearch.useItemOpen) { // 选中效果 let target = findElement(e.target, "item"); // 取消选中效果 @@ -363,40 +412,42 @@ function dragover(e: any) { } // drop function drop(e: any) { - // 尝试获取项目 - let item: Item | null = null; - let itemElement = findElement(e.target, "item"); - if (itemElement) { - let id = itemElement.getAttribute("item-id"); - if (id) { - item = getItemById(parseInt(id)); - } - } - // 获取文件列表 - let pathList = []; - for (const file of e.dataTransfer.files) { - pathList.push(file.path); - } - // 从程序外拖动文件到项目图标上时用此项目打开文件 - if (store.setting.quickSearch.useItemOpen && item && pathList.length > 0) { - // 如果相同路径则不打开 - if (pathList.length === 1 && pathList[0] === item.data.target) { - return; - } - let params = ""; - for (let i = 0; i < pathList.length; i++) { - if (i > 0) { - params += " "; + if (mode.value === "search") { + // 尝试获取项目 + let item: Item | null = null; + let itemElement = findElement(e.target, "item"); + if (itemElement) { + let id = itemElement.getAttribute("item-id"); + if (id) { + item = getItemById(parseInt(id)); } - params += '"' + pathList[i] + '"'; } - if (item.data.params) { - params += " " + item.data.params; + // 获取文件列表 + let pathList = []; + for (const file of e.dataTransfer.files) { + pathList.push(file.path); + } + // 从程序外拖动文件到项目图标上时用此项目打开文件 + if (store.setting.quickSearch.useItemOpen && item && pathList.length > 0) { + // 如果相同路径则不打开 + if (pathList.length === 1 && pathList[0] === item.data.target) { + return; + } + let params = ""; + for (let i = 0; i < pathList.length; i++) { + if (i > 0) { + params += " "; + } + params += '"' + pathList[i] + '"'; + } + if (item.data.params) { + params += " " + item.data.params; + } + let copyItem: Item = convert(item); + copyItem.data.params = params; + // 运行 + runItem(copyItem); } - let copyItem: Item = convert(item); - copyItem.data.params = params; - // 运行 - runItem(copyItem); } e.preventDefault(); e.stopPropagation(); @@ -430,7 +481,7 @@ function keydown(e: any) { } // 空格 if (e.keyCode === 32) { - if (!webSearch.value) { + if (mode.value !== "webSearch") { // 判断是否是搜索引擎 if (value.value && value.value.trim() !== "") { let flag = false; @@ -448,7 +499,7 @@ function keydown(e: any) { : value.value; for (let searchSource of store.setting.webSearch.searchSourceList) { if (keyword === searchSource.keyword) { - webSearch.value = true; + mode.value = "webSearch"; webSearchSource.value = searchSource; value.value = null; resultList.value = []; @@ -461,32 +512,57 @@ function keydown(e: any) { } } } + if (mode.value !== "webSearch" && mode.value !== "commandLine") { + // 判断是否是命令行 + if (value.value && value.value.trim() !== "") { + if (value.value === ">") { + mode.value = "commandLine"; + value.value = null; + resultList.value = getCommandLineItemList(); + selected.value = 0; + refresh(); + e.stopPropagation(); + e.preventDefault(); + } + } + } } // enter if (e.keyCode === 13) { - if (webSearch.value && webSearchSource.value) { + if (mode.value === "webSearch" && webSearchSource.value) { let url = webSearchSource.value.url.replace("{w}", value.value ?? ""); window.api.openURL(url); if (store.setting.quickSearch.openAfterHideQuickSearchWindow) { hide(); } } else if ( - !webSearch.value && + mode.value === "search" && resultList.value.length - 1 >= selected.value ) { runItem(resultList.value[selected.value] as Item); + } else if ( + mode.value === "commandLine" && + resultList.value.length - 1 >= selected.value + ) { + commandLineRun(resultList.value[selected.value].data.target!); } e.stopPropagation(); e.preventDefault(); } // 退格键 if (e.keyCode === 8) { - if (webSearch.value) { + if (mode.value === "webSearch") { if (!value.value || value.value.trim() === "") { - webSearch.value = false; + mode.value = "search"; webSearchSource.value = null; window.quickSearch.setWindowHeight(44); } + } else if (mode.value === "commandLine") { + if (!value.value || value.value.trim() === "") { + mode.value = "search"; + resultList.value = []; + window.quickSearch.setWindowHeight(44); + } } } if (showHistory.value) { @@ -547,7 +623,11 @@ function keydown(e: any) { index = e.key - 1; } if (resultList.value && index < resultList.value.length) { - runItem(resultList.value[index] as Item); + if (mode.value === "search") { + runItem(resultList.value[index] as Item); + } else if (mode.value === "commandLine") { + commandLineRun(resultList.value[index].data.target!); + } e.stopPropagation(); e.preventDefault(); } @@ -606,7 +686,7 @@ onMounted(() => { value.value = null; resultList.value = []; selected.value = 0; - webSearch.value = false; + mode.value = "search"; webSearchSource.value = null; }) ); diff --git a/src/pages/search/components/Search.vue b/src/pages/search/components/Search.vue index 8c31be6..eed2879 100644 --- a/src/pages/search/components/Search.vue +++ b/src/pages/search/components/Search.vue @@ -18,20 +18,17 @@ }" >
- + + + + + + {{ webSearchSource.name }} - - - {{ - webSearchSource.name - }}
{{ getName(item.name) - }}{{ + }}{{ getSearchItemClassificationName((item as Item).classificationId) }} @@ -130,14 +121,20 @@ import { WebSearchSource } from "../../../../types/setting"; import { convert } from "../../../../commons/utils/common"; import "simplebar"; import "simplebar/dist/simplebar.css"; -import { itemAllRemoveStyle, searchResultDivMoveScroll } from "../js/index"; +import { + getCommandLineItemList, + itemAllRemoveStyle, + searchResultDivMoveScroll, + commandLineRun, +} from "../js/index"; +import { SearchOutline, TerminalOutline } from "@vicons/ionicons5"; import { useMainStore } from "../../../store"; // pinia const store = useMainStore(); // 搜索框 let searchInput = ref(null); // 搜索模式 -let webSearch = ref(false); +let mode = ref<"search" | "webSearch" | "commandLine">("search"); // 搜索模式对应的实体 let webSearchSource = ref(null); // 搜索内容 @@ -162,7 +159,7 @@ watch( ); // 搜索 function search() { - if (!webSearch.value) { + if (mode.value === "search") { if (value.value) { resultList.value = searchItem(value.value, searchMap, 50); if (resultList.value && resultList.value.length > 0) { @@ -190,16 +187,37 @@ function runItem(e: any) { // 找到item let itemElement = getClassElement(e, "search-result-item"); if (itemElement) { - // 项目ID - let itemId = parseInt(itemElement.getAttribute("item-id")); - // 查询项目 - let item = getItemById(itemId); - if (item && item.data) { - run("search", "open", item); + if (mode.value === "search") { + // 项目ID + let itemId = parseInt(itemElement.getAttribute("item-id")); + // 查询项目 + let item = getItemById(itemId); + if (item && item.data) { + run("search", "open", item); + close(); + } + } else if (mode.value === "commandLine") { + // 目标 + commandLineRun(itemElement.getAttribute("target"), value.value); close(); } } } +// 获取placeholder +function getPlaceholder() { + let text = store.language.search; + if ( + mode.value === "webSearch" && + webSearchSource.value && + webSearchSource.value.description && + webSearchSource.value.description.trim() !== "" + ) { + text = webSearchSource.value.description.trim(); + } else if (mode.value === "commandLine") { + text = "Command Line"; + } + return text; +} // 关闭 function close() { store.search = false; @@ -217,27 +235,29 @@ watch( function contextmenu(e: any) { e.preventDefault(); e.stopPropagation(); - // 当前项目 - let item: Item | null = null; - // 判断是在哪个区域右键 - if (getClassElement(e, "search-result-item")) { - // 项目右键 - // 获取项目ID - let element = getClassElement(e, "search-result-item"); - // 项目ID - let id = parseInt(element.getAttribute("item-id")); - // 获取项目 - item = convert(getItemById(id)); - } - if (item) { - // 弹出菜单 - store.searchItemRightMenuItemId = item.id; - window.item.showRightMenu({ - item, - x: e.screenX, - y: e.screenY, - type: "search", - }); + if (mode.value === "search") { + // 当前项目 + let item: Item | null = null; + // 判断是在哪个区域右键 + if (getClassElement(e, "search-result-item")) { + // 项目右键 + // 获取项目ID + let element = getClassElement(e, "search-result-item"); + // 项目ID + let id = parseInt(element.getAttribute("item-id")); + // 获取项目 + item = convert(getItemById(id)); + } + if (item) { + // 弹出菜单 + store.searchItemRightMenuItemId = item.id; + window.item.showRightMenu({ + item, + x: e.screenX, + y: e.screenY, + type: "search", + }); + } } } function keydown(e: any) { @@ -275,7 +295,7 @@ function keydown(e: any) { } // 空格 if (e.keyCode === 32) { - if (!webSearch.value) { + if (mode.value === "search") { // 判断是否是搜索引擎 if (value.value && value.value.trim() !== "") { let flag = false; @@ -293,7 +313,7 @@ function keydown(e: any) { : value.value; for (let searchSource of store.setting.webSearch.searchSourceList) { if (keyword === searchSource.keyword) { - webSearch.value = true; + mode.value = "webSearch"; webSearchSource.value = searchSource; value.value = null; resultList.value = []; @@ -304,29 +324,55 @@ function keydown(e: any) { } } } + if (mode.value !== "webSearch" && mode.value !== "commandLine") { + // 判断是否是命令行 + if (value.value && value.value.trim() !== "") { + if (value.value === ">") { + mode.value = "commandLine"; + value.value = null; + resultList.value = getCommandLineItemList(); + selected.value = 0; + e.preventDefault(); + } + } + } } // enter if (e.keyCode === 13) { - if (webSearch.value && webSearchSource.value) { + if (mode.value === "webSearch" && webSearchSource.value) { let url = webSearchSource.value.url.replace("{w}", value.value ?? ""); window.api.openURL(url); close(); } else if ( - !webSearch.value && + mode.value === "search" && resultList.value.length - 1 >= selected.value ) { run("search", "open", resultList.value[selected.value] as Item); close(); + } else if ( + mode.value === "commandLine" && + resultList.value.length - 1 >= selected.value + ) { + commandLineRun( + resultList.value[selected.value].data.target!, + value.value + ); + close(); } e.preventDefault(); } // 退格键 if (e.keyCode === 8) { - if (webSearch.value) { + if (mode.value === "webSearch") { if (!value.value || value.value.trim() === "") { - webSearch.value = false; + mode.value = "search"; webSearchSource.value = null; } + } else if (mode.value === "commandLine") { + if (!value.value || value.value.trim() === "") { + mode.value = "search"; + resultList.value = []; + } } } } diff --git a/src/pages/search/js/index.ts b/src/pages/search/js/index.ts index c249006..8eb95cc 100644 --- a/src/pages/search/js/index.ts +++ b/src/pages/search/js/index.ts @@ -1,4 +1,13 @@ +import { newItem, newItemData } from "../../../../commons/utils/common"; import { itemRemoveStyle } from "../../item/js"; +import { useMainStore } from "../../../store"; +// pinia +const store = useMainStore(); + +let cmdIcon = + "data:image/png;base64,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"; +let powerShellIcon = + "data:image/png;base64,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"; /** * 删除所有选中项目样式 @@ -48,4 +57,48 @@ function searchResultDivMoveScroll( } } -export { itemAllRemoveStyle, searchResultDivMoveScroll }; +/** + * 获取命令行项目 + */ +function getCommandLineItemList() { + let cmdItem = newItem({ + classificationId: 99999, + name: store.language.commandPrompt, + data: newItemData({ + icon: cmdIcon, + target: "cmd", + }), + }); + let powerShellItem = newItem({ + classificationId: 99999, + name: store.language.powerShell, + data: newItemData({ + icon: powerShellIcon, + target: "powershell", + }), + }); + if (store.setting.commandLine.defaultUse === "cmd") { + return [cmdItem, powerShellItem]; + } else { + return [powerShellItem, cmdItem]; + } +} + +// 命令行运行 +function commandLineRun(target: string, text: string | null) { + let params = ""; + let val = text ?? ""; + if (target === "cmd") { + params = '/k "' + val + '"'; + } else { + params = '-NoExit "' + val + '"'; + } + window.api.run("open", target, params, null); +} + +export { + itemAllRemoveStyle, + searchResultDivMoveScroll, + getCommandLineItemList, + commandLineRun, +}; diff --git a/src/pages/setting/Index.vue b/src/pages/setting/Index.vue index 34dcd0e..9dfe099 100644 --- a/src/pages/setting/Index.vue +++ b/src/pages/setting/Index.vue @@ -1401,6 +1401,24 @@
+ + {{ + store.language.default + }} + + + + + +
+
{{ store.language.proxy @@ -1550,6 +1568,10 @@ let menuList = [ }, { id: 7, + label: store.language.commandLine, + }, + { + id: 8, label: store.language.network, }, ]; @@ -2213,6 +2235,17 @@ function closeSaveSearchSource() { searchSourceURL.value = null; searchSourceDescription.value = null; } +// 命令行默认使用 +let commandLineDefultUseOptions = ref([ + { + label: store.language.commandPrompt, + value: "cmd", + }, + { + label: store.language.powerShell, + value: "powershell", + }, +]); // 页面高度 let height = ref(0); // 初始化页面尺寸 diff --git a/types/setting.d.ts b/types/setting.d.ts index 7a998bb..ce13280 100644 --- a/types/setting.d.ts +++ b/types/setting.d.ts @@ -190,6 +190,12 @@ export interface WebSearch { searchSourceList: Array; } +// 命令行 +export interface CommandLine { + // 默认使用 + defaultUse: string; +} + // 网络搜索源 export interface WebSearchSource { // ID @@ -238,6 +244,8 @@ export interface Setting { quickSearch: QuickSearch; // 网络搜索 webSearch: WebSearch; + // 命令行 + commandLine: CommandLine; // 网络 network: Network; } diff --git a/yarn.lock b/yarn.lock index 856fe41..4d526ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -475,6 +475,11 @@ dependencies: "@types/node" "*" +"@vicons/ionicons5@^0.12.0": + version "0.12.0" + resolved "https://registry.npmmirror.com/@vicons/ionicons5/-/ionicons5-0.12.0.tgz#c39fda04420dfae3b58053faf8aaf3555253299d" + integrity sha512-Iy1EUVRpX0WWxeu1VIReR1zsZLMc4fqpt223czR+Rpnrwu7pt46nbnC2ycO7ItI/uqDLJxnbcMC7FujKs9IfFA== + "@vicons/material@^0.12.0": version "0.12.0" resolved "https://registry.npmmirror.com/@vicons/material/-/material-0.12.0.tgz#068e72fa40bd7f780af5fc68011fb69010c8e0b5"