From 74cc9d0024105180e27bd8cd7a5fbd35d9ebf3cd Mon Sep 17 00:00:00 2001 From: Coding Zhang <2291200076@qq.com> Date: Tue, 8 Feb 2022 20:16:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=B7=B2=E7=9F=A5=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E7=BD=91=E5=9D=80=E5=8F=8A=E9=BB=98=E8=AE=A4=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=8C=E6=B7=BB=E5=8A=A0=20=E5=81=A5=E5=BA=B7=20?= =?UTF-8?q?=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assets/js/advanced-search/background.js | 68 ++++++++++++++++++- 1 file changed, 66 insertions(+), 2 deletions(-) diff --git a/packages/shell-chrome/assets/js/advanced-search/background.js b/packages/shell-chrome/assets/js/advanced-search/background.js index 062479b..84d7bf6 100644 --- a/packages/shell-chrome/assets/js/advanced-search/background.js +++ b/packages/shell-chrome/assets/js/advanced-search/background.js @@ -285,7 +285,7 @@ var omniboxSearchModes = [ navigate("https://v.baidu.com/v?word=" + encodeURIComponent(searchText), true); break; case "[搜狗]": - navigate("https://v.so.com/s?q=" + encodeURIComponent(searchText), true); + navigate("https://v.sogou.com/v?query=" + encodeURIComponent(searchText), true); break; case "[360]": navigate("https://tv.360kan.com/s?q=" + encodeURIComponent(searchText), true); @@ -502,7 +502,7 @@ var omniboxSearchModes = [ // 执行搜索 search: function (text) { let searchInput = /^(\[.*?\])?( )?(.*)$/.exec(text) - let searchType = /^\[(.*?)\]$/.exec((searchInput[1] ?? "[今日头条]"/* 默认今日头条搜索 */).trim())[0].trim() + let searchType = /^\[(.*?)\]$/.exec((searchInput[1] ?? "[知网]"/* 默认中国知网搜索 */).trim())[0].trim() let searchText = searchInput[3].trim() console.log("[学术论文搜索开始]"); console.log(" 传入参数为:", text); @@ -539,6 +539,70 @@ var omniboxSearchModes = [ } }, // ############################################################################################################# + { + key: "jk", + // 显示文字 + showText: "健康", + // 搜索模式匹配 + match: function (text) { + return /^jk( |:|\uff1a)?/i.test(text) + }, + // 获取输入文字 + getInputText: function (text, encodeText = true) { + let returnText = /^jk(:| |\uff1a)?(.*)$/i.exec(text)[2].trim() + return encodeText ? encodeXML(returnText) : returnText + }, + // 搜索建议 + getSuggestions: async function (text, suggest) { + // 如果前面已经有了 【[xx] 】,则先去掉 + text = text.replace(/^\[.*?\]\s*/, ""); + suggest([ + { content: "jk: [免责声明] " + text, description: "[免责声明] 学生助手仅提供快捷搜索功能,不对搜索结果承担责任。搜索结果仅供参考,请自行甄别,以免上当受骗。继续搜索代表您已知晓此声明。", deletable: false }, + { content: "jk: [丁香医生] " + text, description: "使用 [丁香医生] 搜索 " + text + "", deletable: false }, + { content: "jk: [360] " + text, description: "使用 [360良医] 搜索 " + text + "", deletable: false }, + { content: "jk: [好大夫] " + text, description: "使用 [好大夫在线] 搜索 " + text + "", deletable: false }, + { content: "jk: [寻医问药] " + text, description: "使用 [寻医问药网] 搜索 " + text + "", deletable: false }, + { content: "jk: [新华健康] " + text, description: "使用 [新华健康] 搜索 " + text + "", deletable: false }, + // 腾讯医典没有网页版;中华网健康没有搜索功能:https://health.china.com/;搜狐健康搜索为全站搜索:https://health.sohu.com/ + ]); + return; + }, + // 执行搜索 + search: function (text) { + let searchInput = /^(\[.*?\])?( )?(.*)$/.exec(text) + let searchType = /^\[(.*?)\]$/.exec((searchInput[1] ?? "[免责声明]"/* 默认弹出免责声明 */).trim())[0].trim() + let searchText = searchInput[3].trim() + console.log("[学术论文搜索开始]"); + console.log(" 传入参数为:", text); + console.log(" searchInput为:", searchInput); + console.log(" searchType为:", searchType); + console.log(" searchText为:", searchText); + alert("[免责声明] 学生助手仅提供快捷搜索功能,不对搜索结果承担责任。搜索结果仅供参考,请自行甄别,以免上当受骗。继续搜索代表您已知晓此声明。"); + switch (searchType) { + default: + case "[免责声明]": + // Silence is gold. + break; + case "[丁香医生]": + navigate("https://dxy.com/search/result?query=" + encodeURIComponent(searchText), true); + break; + case "[360]": + navigate("https://ly.so.com/s?q=" + encodeURIComponent(searchText), true); + break; + case "[好大夫]": + navigate("https://so.haodf.com/index/search?kw=" + encodeURIComponent(searchText), true); + break; + case "[寻医问药]": + navigate("https://so.xywy.com/comse.php?keyword=" + encodeURIComponent(searchText), true); + break; + case "[新华健康]": + navigate("http://so.xinhuanet.com/#search/0/" + encodeURIComponent(searchText) + "/1/", true); + break; + } + console.log("[学术论文搜索结束]"); + } + }, + // ############################################################################################################# // { // key: "yn", // // 显示文字