import { $, DOMUtils, log } from "@/env"; import { Panel } from "@components/setting/panel"; export const SearchHandleResultEveryOneSearch = { /** * 是否重构大家都在搜 */ get refactorEveryoneIsStillSearching() { return Panel.getValue("baidu_search_refactor_everyone_is_still_searching", false); }, /** * 处理中间的 * @param centerElement */ handleCenter(centerElement: HTMLElement[]) { log.success("大家还在搜: 处理中间的"); centerElement.forEach(($recommend) => { if ($recommend.hasAttribute("gm-refactor-everyone-search-center")) { return; } if ( !$recommend.querySelector("div.c-gap-inner-bottom-small") && !$recommend.querySelector("div.cos-row div.cos-col") ) { return; } $recommend.setAttribute("gm-refactor-everyone-search-center", "true"); let rwListContainerHTML = ""; let innerBottomSmallElementList = $recommend.querySelectorAll("div.c-gap-inner-bottom-small"); if (!innerBottomSmallElementList.length) { innerBottomSmallElementList = $recommend.querySelectorAll("div.cos-row div.cos-col"); } innerBottomSmallElementList.forEach((item) => { let searchText = DOMUtils.text(item).trim(); rwListContainerHTML += /*html*/ ` `; }); DOMUtils.html( $recommend, /*html*/ `
大家还在搜
${rwListContainerHTML}
` ); DOMUtils.on( $recommend, "click", ".rw-list-new", (event, $list) => { const searchText = DOMUtils.text($list.querySelector("span")!).trim(); log.success("中间 点击大家还在搜 ==> " + searchText); DOMUtils.preventEvent(event); window.location.href = `https://m.baidu.com/s?word=${searchText}`; }, { overrideTarget: false, } ); }); }, /** * 处理底部的 * @param everyOnceList */ handleBottom(everyOnceList: HTMLElement[]) { log.success("大家还在搜: 处理底部的"); everyOnceList.forEach(($everyOne) => { if ($everyOne.hasAttribute("gm-refactor-everyone-search-bottom")) { return; } $everyOne.removeAttribute("class"); $everyOne.removeAttribute("id"); $everyOne.setAttribute("gm-refactor-everyone-search-bottom", "true"); $everyOne.querySelectorAll(".rw-list-container .rw-list-new").forEach(($searchItem) => { let searchText = DOMUtils.text($searchItem).trim(); DOMUtils.html( $searchItem, /*html*/ ` ${searchText} ` ); DOMUtils.css($searchItem, "padding", "0.06rem"); }); $everyOne.querySelector("div.c-line-clamp1")?.remove(); if (!$everyOne.closest("#results")) { $("#results")?.appendChild($everyOne); } DOMUtils.on( $everyOne, "click", ".rw-list-new", (event, $list) => { const searchText = $list.querySelector("span")?.textContent?.trim(); log.success("底部 点击大家还在搜 ==> " + searchText); DOMUtils.preventEvent(event); window.location.href = `https://m.baidu.com/s?word=${$list?.textContent?.trim()}`; }, { overrideTarget: false, } ); }); }, };