From 0a29fcf0a4725fcd9dec566e9590009cab06eeec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E6=9F=92?= <893177236@qq.com> Date: Fri, 17 May 2024 13:56:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E4=BC=AA=E8=A3=85=E7=99=BB=E5=BD=95=E5=9C=A8=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E4=B8=8D=E7=94=9F=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复搜索页面评论区的宽度问题 --- .../SCRIPT_VERSION.json" | 4 +- ...7\263\344\274\230\345\214\226.min.user.js" | 46 +++++++++++-------- ...1\237\263\344\274\230\345\214\226.user.js" | 44 ++++++++++++++++-- .../src/main/Account/DouYinAccount.ts" | 34 +++++++++++++- .../src/main/Search/DouYinSearch.ts" | 11 +++++ .../src/main/Search/mobile.css" | 3 +- .../src/main/Video/mobile.css" | 3 +- .../vite.config.ts" | 3 ++ 8 files changed, 121 insertions(+), 27 deletions(-) diff --git "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/SCRIPT_VERSION.json" "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/SCRIPT_VERSION.json" index 0bf8b3a1f..96ae5604b 100644 --- "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/SCRIPT_VERSION.json" +++ "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/SCRIPT_VERSION.json" @@ -1,4 +1,4 @@ { - "time": 1715916586151, - "version": "2024.5.17" + "time": 1715925323705, + "version": "2024.5.17.13" } \ No newline at end of file diff --git "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/dist/\346\212\226\351\237\263\344\274\230\345\214\226.min.user.js" "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/dist/\346\212\226\351\237\263\344\274\230\345\214\226.min.user.js" index 1833222ff..afdfd6d7f 100644 --- "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/dist/\346\212\226\351\237\263\344\274\230\345\214\226.min.user.js" +++ "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/dist/\346\212\226\351\237\263\344\274\230\345\214\226.min.user.js" @@ -1,7 +1,7 @@ // ==UserScript== // @name 抖音优化 // @namespace https://github.com/WhiteSevs/TamperMonkeyScript -// @version 2024.5.17 +// @version 2024.5.17.13 // @author WhiteSevs // @description 过滤广告、过滤直播、可自定义过滤视频的屏蔽关键字、伪装登录、直播屏蔽弹幕、礼物特效等 // @license GPL-3.0-only @@ -27,24 +27,24 @@ (function () { 'use strict'; - var ce=(e,i,t)=>{if(!i.has(e))throw TypeError("Cannot "+t)};var M=(e,i,t)=>(ce(e,i,"read from private field"),t?t.call(e):i.get(e)),G=(e,i,t)=>{if(i.has(e))throw TypeError("Cannot add the same private member more than once");i instanceof WeakSet?i.add(e):i.set(e,t);},R=(e,i,t,n)=>(ce(e,i,"write to private field"),i.set(e,t),t);var y=typeof GM_addStyle<"u"?GM_addStyle:void 0,b=typeof GM_getValue<"u"?GM_getValue:void 0,A=typeof GM_info<"u"?GM_info:void 0,xe=typeof GM_registerMenuCommand<"u"?GM_registerMenuCommand:void 0,B=typeof GM_setValue<"u"?GM_setValue:void 0,we=typeof GM_unregisterMenuCommand<"u"?GM_unregisterMenuCommand:void 0,S=typeof unsafeWindow<"u"?unsafeWindow:void 0,D=window;const Ce="抖音优化",m=(D.Utils||S.Utils).noConflict(),x=(D.DOMUtils||S.DOMUtils).noConflict(),ye=D.pops||S.pops,E=D.Qmsg||S.Qmsg,be=S.console||D.console,a=new m.Log(A,be);var ge;const he=((ge=A==null?void 0:A.script)==null?void 0:ge.name)||Ce;a.config({debug:!1,logMaxCount:100,autoClearConsole:!0,tag:!0});E.config({position:"bottom",html:!0,maxNums:5,autoClose:!0,showClose:!1,showReverse:!0});const _e=new m.GM_Menu({GM_getValue:b,GM_setValue:B,GM_registerMenuCommand:xe,GM_unregisterMenuCommand:we}),T="GM_Panel",P="data-key",$="data-default-value",c=function(e,i,t,n,l){let o={text:e,type:"switch",description:i,attributes:{},getValue(){return !!r.getValue(t,n)},callback(u,s){a.success(`${s?"开启":"关闭"} ${e}`),r.setValue(t,!!s);},afterAddToUListCallBack:void 0};return o.attributes&&(o.attributes[P]=t,o.attributes[$]=!!n),o},Me={id:"panel-config-common",title:"通用",forms:[{text:"功能",type:"forms",forms:[c("debug模式","移除抖音的开发者模式检测","debug",!1),c("伪装登录","使用随机UID进行伪装","disguiseLogin",!1)]},{text:"Url重定向",type:"forms",forms:[c("重定向/home","/home => /","douyin-redirect-url-home-to-root",!1)]},{text:"屏蔽",type:"forms",forms:[c("【屏蔽】登录弹窗","屏蔽元素且自动等待元素出现并关闭登录弹窗","watchLoginDialogToClose",!0),c("【屏蔽】底部?按钮","屏蔽元素","shieldBottomQuestionButton",!0)]},{text:"主框架-屏蔽",type:"forms",forms:[c("【屏蔽】客户端提示","屏蔽元素","shieldClientTip",!0),c("【屏蔽】充砖石","屏蔽元素","shieldFillingBricksAndStones",!1),c("【屏蔽】客户端","屏蔽元素","shieldClient",!1),c("【屏蔽】快捷访问","屏蔽元素","shieldQuickAccess",!1),c("【屏蔽】通知","屏蔽元素","shieldNotifitation",!1),c("【屏蔽】私信","屏蔽元素","shieldPrivateMessage",!1),c("【屏蔽】投稿","屏蔽元素","shieldSubmission",!1),c("【屏蔽】左侧导航栏","屏蔽元素","shieldLeftNavigator",!1),c("【屏蔽】顶部导航栏","屏蔽元素","shieldTopNavigator",!1)]},{text:"搜索-屏蔽",type:"forms",forms:[c("【屏蔽】搜索框","屏蔽元素","shieldSearch",!1),c("【屏蔽】搜索框的提示","屏蔽元素","shieldSearchPlaceholder",!1),c("【屏蔽】猜你想搜","屏蔽元素","shieldSearchGuessYouWantToSearch",!1),c("【屏蔽】抖音热点","屏蔽元素","shieldSearchTiktokHotspot",!1)]}]},h={watchVideDataListChange(e){x.ready(()=>{m.waitAnyNode("#slidelist").then(i=>{let t=this.getOSElement();m.mutationObserver(i,{config:{childList:!0,subtree:!0},callback:()=>{e(t);}});});});},getOSElement(){return document.querySelector("#root div[class*='-os']")||document.querySelector("#douyin-right-container")},addShieldStyle(...e){let i=[];e.length!==0&&(e.length===1&&typeof e[0]=="string"&&e[0].trim()===""||(e.forEach(t=>{Array.isArray(t)?i.push(...t):i.push(t);}),y(`${i.join(`, -`)}{display: none !important;}`)));}},N={key:"douyin-live-danmu-rule",$data:{rule:[],isFilterAttrName:"data-is-filter"},init(){this.parseRule();},parseRule(){this.get().trim().split(` -`).forEach(t=>{if(t.trim()=="")return;t=t.trim();let n=new RegExp(t.trim());this.$data.rule.push(n);});},change(){var i,t,n,l,o,u,s;let e=Array.from(document.querySelectorAll("xg-danmu.xgplayer-danmu > div > div"));if(e.length)for(let d=0;d{a.success("弹幕过滤"),N.init(),m.mutationObserver(e,{config:{childList:!0,subtree:!0},callback:()=>{N.change();}});});}},_={isLive(){return window.location.hostname==="live.douyin.com"},isVideo(){return window.location.hostname==="www.douyin.com"},isSearch(){return window.location.hostname==="www.douyin.com"&&window.location.pathname.startsWith("/search")}},ke={id:"panel-config-live",title:"直播",isDefault(){return _.isLive()},forms:[{text:"功能",type:"forms",forms:[c("自动进入网页全屏","网页加载完毕后自动点击网页全屏按钮进入全屏","live-autoEnterElementFullScreen",!1),c("解锁画质选择","未登录的情况下选择原画实际上是未登录的情况下最高选择的画质","live-unlockImageQuality",!0)]},{text:"视频区域内-屏蔽",type:"forms",forms:[c("【屏蔽】顶栏信息","屏蔽元素,包括直播作者、右侧的礼物展馆","live-shieldTopToolBarInfo",!1),c("【屏蔽】底部的礼物栏","屏蔽元素","live-shieldGiftColumn",!1),c("【屏蔽】礼物特效","屏蔽元素","live-shieldGiftEffects",!1),c("【屏蔽】弹幕","屏蔽元素","live-shieldDanmuku",!1)]},{text:"聊天室-屏蔽",type:"forms",forms:[c("【屏蔽】聊天室","屏蔽元素","live-shieldChatRoom",!1),c("【屏蔽】贵宾席","屏蔽元素","live-shielChatRoomVipSeats",!1)]},{text:"弹幕屏蔽规则(可正则)",type:"forms",forms:[c("启用","启用弹幕屏蔽规则","live-danmu-shield-rule-enable",!1),{type:"own",getLiElementCallBack(e){let i=x.createElement("div",{className:"pops-panel-textarea",innerHTML:''},{style:"width: 100%;"}),t=i.querySelector("textarea");return t.value=N.get(),x.on(t,["input","propertychange"],m.debounce(function(){N.set(t.value);},200)),e.appendChild(i),e}}]}]},Ve=function(e,i,t,n,l,o){let u=[];typeof n=="function"?u=n():u=n;let s={text:e,type:"select",description:o,attributes:{},getValue(){return r.getValue(i,t)},callback(d,f,v){r.setValue(i,f);},data:u};return s.attributes&&(s.attributes[P]=i,s.attributes[$]=!!t),s},z={key:"douyin-shield-rule",$data:{rule:new m.Dictionary,isFirstLoad:!0},init(){this.parseRule(),a.info(["当前自定义视频拦截规则: ",this.$data.rule.getItems()]);let e=null;h.watchVideDataListChange(m.debounce(i=>{var o;let t=document.querySelector('#slidelist div[data-e2e="slideList"]');if(!t){a.error("未获取到视频列表元素");return}let n=(o=m.getReactObj(t))==null?void 0:o.reactFiber;if(n==null){a.error(["元素上不存在reactFiber属性",t]);return}let l=n==null?void 0:n.return.memoizedProps.data;if(l.length){if(this.$data.isFirstLoad){let u=l[l.length-1];if(e==null&&(e=u.awemeId),e===u.awemeId)return;this.$data.isFirstLoad=!1;}for(let u=0;u!!L.match(g))){f=!0,a.success(["自定义屏蔽: "+v+" "+g,d]);break}}}f&&(l.splice(u,1),u--);}}},150));},getVideoInfoTagMap(e){var u,s,d,f,v,g;let i=(s=(u=e==null?void 0:e.authorInfo)==null?void 0:u.nickname)==null?void 0:s.toString(),t=(f=(d=e==null?void 0:e.authorInfo)==null?void 0:d.uid)==null?void 0:f.toString(),n=(v=e==null?void 0:e.desc)==null?void 0:v.toString(),l=[];typeof(e==null?void 0:e.textExtra)=="object"&&Array.isArray(e==null?void 0:e.textExtra)&&((g=e==null?void 0:e.textExtra)==null||g.forEach(p=>{l.push(p.hashtagName);}));let o=[];return typeof(e==null?void 0:e.videoTag)=="object"&&Array.isArray(e==null?void 0:e.videoTag)&&(e==null||e.videoTag.forEach(p=>{o.push(p.tagName);})),{nickname:i,uid:t,desc:n,textExtra:l,videoTag:o}},parseRule(){this.get().trim().split(` -`).forEach(t=>{if(m.isNull(t))return;let l=t.trim().split("##");if(l.length<2)return;let o=l[0];l.shift();let u=l.join("");try{let s=new RegExp(u,"g");this.$data.rule.set(o,s);}catch(s){a.error(["自定义视频过滤规则-正则解析错误:"+s]),a.error("错误的规则:"+t);}});},set(e){B(this.key,e);},get(){return b(this.key,"")}},me=function(e,i,t,n,l,o,u,s){return {text:e,type:"button",description:i,buttonIcon:n,buttonIsRightIcon:l,buttonIconIsLoading:o,buttonType:u,buttonText:t,callback(f){typeof s=="function"&&s(f);},afterAddToUListCallBack:void 0}};var C,V;class Ee{constructor(i){G(this,C,"short-cut");G(this,V,!1);typeof i=="string"&&R(this,C,i);}getValue(i,t){let n=b(M(this,C),[]);return i?n.find(o=>o.key===i)??t:n}setValue(i,t,n,l){let o=b(M(this,C),[]);o.push({key:i,value:{keyName:t,keyValue:n,ohterCodeList:l}}),B(M(this,C),o);}deleteValue(i){let t=!1,n=b(M(this,C),[]),l=n.findIndex(o=>o.key===i);return l!==-1&&(n.splice(l,1),t=!0),B(M(this,C),n),t}getShowText(i,t){let n=this.getValue(i);if(n){let l="";return n.value.ohterCodeList.forEach(o=>{n.key===i&&(l+=m.stringTitleToUpperCase(o,!0)+" + ");}),l+=n.value.keyName,l}else return t}inputShortCut(i,t,n){if((this.getValue(i)??t)===t){let o=E.loading("请按下快捷键...",{showClose:!0,onClose(){u.removeListen();}});R(this,V,!0);let u=m.listenKeyboard(window,"keyup",(s,d,f)=>{let v=JSON.stringify({keyName:s,keyValue:d,ohterCodeList:f}),g=this.getValue();for(let p=0;p{if(M(this,V))return;t=this.getValue();let u=t.findIndex(s=>{let d=s.value,f={keyName:n,keyValue:l,ohterCodeList:o};if(JSON.stringify(d)===JSON.stringify(f))return s});if(u!=-1){let s=t[u];a.info(["调用快捷键",s]),s.key in i&&i[s.key].callback();}});}}C=new WeakMap,V=new WeakMap;const pe={init(){r.execMenu("shieldRightExpandCommentButton",()=>{this.shieldRightExpandCommentButton();}),r.execMenu("shieldSearchFloatingBar",()=>{this.shieldSearchFloatingBar();}),r.execMenu("shieldCloseFullScreenButton",()=>{this.shieldCloseFullScreenButton();}),r.execMenu("shieldPlaySwitchButton",()=>{this.shieldPlaySwitchButton();}),r.execMenu("shieldAuthorAvatar",()=>{this.shieldAuthorAvatar();}),r.execMenu("shieldLikeButton",()=>{this.shieldLikeButton();}),r.execMenu("shieldCommentButton",()=>{this.shieldCommentButton();}),r.execMenu("shieldCollectionButton",()=>{this.shieldCollectionButton();}),r.execMenu("shieldSharenButton",()=>{this.shieldSharenButton();}),r.execMenu("shieldRelatedRecommendationsButton",()=>{this.shieldRelatedRecommendationsButton();}),r.execMenu("shieldMoreButton",()=>{this.shieldMoreButton();}),r.execMenu("shieldBottomVideoToolBar",()=>{this.shieldBottomVideoToolBar();});},shieldRightExpandCommentButton(){a.info("【屏蔽】右侧的展开评论按钮"),h.addShieldStyle('#sliderVideo[data-e2e="feed-active-video"] > div > div > button[type="button"]','.playerContainer button[type=button] svg > g[filter] > path[d="M21.316 29.73a1.393 1.393 0 01-1.97 0l-5.056-5.055a1.393 1.393 0 010-1.97l.012-.011 5.044-5.045a1.393 1.393 0 011.97 1.97l-4.07 4.071 4.07 4.071a1.393 1.393 0 010 1.97z"]'),y(` + var ce=(e,i,t)=>{if(!i.has(e))throw TypeError("Cannot "+t)};var k=(e,i,t)=>(ce(e,i,"read from private field"),t?t.call(e):i.get(e)),z=(e,i,t)=>{if(i.has(e))throw TypeError("Cannot add the same private member more than once");i instanceof WeakSet?i.add(e):i.set(e,t);},D=(e,i,t,n)=>(ce(e,i,"write to private field"),i.set(e,t),t);var y=typeof GM_addStyle<"u"?GM_addStyle:void 0,_=typeof GM_getValue<"u"?GM_getValue:void 0,P=typeof GM_info<"u"?GM_info:void 0,xe=typeof GM_registerMenuCommand<"u"?GM_registerMenuCommand:void 0,I=typeof GM_setValue<"u"?GM_setValue:void 0,we=typeof GM_unregisterMenuCommand<"u"?GM_unregisterMenuCommand:void 0,S=typeof unsafeWindow<"u"?unsafeWindow:void 0,A=window;const be="抖音优化",h=(A.Utils||S.Utils).noConflict(),x=(A.DOMUtils||S.DOMUtils).noConflict(),ye=A.pops||S.pops,T=A.Qmsg||S.Qmsg,Ce=S.console||A.console,a=new h.Log(P,Ce);var ge;const he=((ge=P==null?void 0:P.script)==null?void 0:ge.name)||be;a.config({debug:!1,logMaxCount:100,autoClearConsole:!0,tag:!0});T.config({position:"bottom",html:!0,maxNums:5,autoClose:!0,showClose:!1,showReverse:!0});const _e=new h.GM_Menu({GM_getValue:_,GM_setValue:I,GM_registerMenuCommand:xe,GM_unregisterMenuCommand:we}),R="GM_Panel",N="data-key",$="data-default-value",c=function(e,i,t,n,r){let o={text:e,type:"switch",description:i,attributes:{},getValue(){return !!d.getValue(t,n)},callback(u,l){a.success(`${l?"开启":"关闭"} ${e}`),d.setValue(t,!!l);},afterAddToUListCallBack:void 0};return o.attributes&&(o.attributes[N]=t,o.attributes[$]=!!n),o},Me={id:"panel-config-common",title:"通用",forms:[{text:"功能",type:"forms",forms:[c("debug模式","移除抖音的开发者模式检测","debug",!1),c("伪装登录","使用随机UID进行伪装","disguiseLogin",!1)]},{text:"Url重定向",type:"forms",forms:[c("重定向/home","/home => /","douyin-redirect-url-home-to-root",!1)]},{text:"屏蔽",type:"forms",forms:[c("【屏蔽】登录弹窗","屏蔽元素且自动等待元素出现并关闭登录弹窗","watchLoginDialogToClose",!0),c("【屏蔽】底部?按钮","屏蔽元素","shieldBottomQuestionButton",!0)]},{text:"主框架-屏蔽",type:"forms",forms:[c("【屏蔽】客户端提示","屏蔽元素","shieldClientTip",!0),c("【屏蔽】充砖石","屏蔽元素","shieldFillingBricksAndStones",!1),c("【屏蔽】客户端","屏蔽元素","shieldClient",!1),c("【屏蔽】快捷访问","屏蔽元素","shieldQuickAccess",!1),c("【屏蔽】通知","屏蔽元素","shieldNotifitation",!1),c("【屏蔽】私信","屏蔽元素","shieldPrivateMessage",!1),c("【屏蔽】投稿","屏蔽元素","shieldSubmission",!1),c("【屏蔽】左侧导航栏","屏蔽元素","shieldLeftNavigator",!1),c("【屏蔽】顶部导航栏","屏蔽元素","shieldTopNavigator",!1)]},{text:"搜索-屏蔽",type:"forms",forms:[c("【屏蔽】搜索框","屏蔽元素","shieldSearch",!1),c("【屏蔽】搜索框的提示","屏蔽元素","shieldSearchPlaceholder",!1),c("【屏蔽】猜你想搜","屏蔽元素","shieldSearchGuessYouWantToSearch",!1),c("【屏蔽】抖音热点","屏蔽元素","shieldSearchTiktokHotspot",!1)]}]},m={watchVideDataListChange(e){x.ready(()=>{h.waitAnyNode("#slidelist").then(i=>{let t=this.getOSElement();h.mutationObserver(i,{config:{childList:!0,subtree:!0},callback:()=>{e(t);}});});});},getOSElement(){return document.querySelector("#root div[class*='-os']")||document.querySelector("#douyin-right-container")},addShieldStyle(...e){let i=[];e.length!==0&&(e.length===1&&typeof e[0]=="string"&&e[0].trim()===""||(e.forEach(t=>{Array.isArray(t)?i.push(...t):i.push(t);}),y(`${i.join(`, +`)}{display: none !important;}`)));}},G={key:"douyin-live-danmu-rule",$data:{rule:[],isFilterAttrName:"data-is-filter"},init(){this.parseRule();},parseRule(){this.get().trim().split(` +`).forEach(t=>{if(t.trim()=="")return;t=t.trim();let n=new RegExp(t.trim());this.$data.rule.push(n);});},change(){var i,t,n,r,o,u,l;let e=Array.from(document.querySelectorAll("xg-danmu.xgplayer-danmu > div > div"));if(e.length)for(let s=0;s{a.success("弹幕过滤"),G.init(),h.mutationObserver(e,{config:{childList:!0,subtree:!0},callback:()=>{G.change();}});});}},b={isLive(){return window.location.hostname==="live.douyin.com"},isVideo(){return window.location.hostname==="www.douyin.com"},isSearch(){return window.location.hostname==="www.douyin.com"&&window.location.pathname.startsWith("/search")}},Ve={id:"panel-config-live",title:"直播",isDefault(){return b.isLive()},forms:[{text:"功能",type:"forms",forms:[c("自动进入网页全屏","网页加载完毕后自动点击网页全屏按钮进入全屏","live-autoEnterElementFullScreen",!1),c("解锁画质选择","未登录的情况下选择原画实际上是未登录的情况下最高选择的画质","live-unlockImageQuality",!0)]},{text:"视频区域内-屏蔽",type:"forms",forms:[c("【屏蔽】顶栏信息","屏蔽元素,包括直播作者、右侧的礼物展馆","live-shieldTopToolBarInfo",!1),c("【屏蔽】底部的礼物栏","屏蔽元素","live-shieldGiftColumn",!1),c("【屏蔽】礼物特效","屏蔽元素","live-shieldGiftEffects",!1),c("【屏蔽】弹幕","屏蔽元素","live-shieldDanmuku",!1)]},{text:"聊天室-屏蔽",type:"forms",forms:[c("【屏蔽】聊天室","屏蔽元素","live-shieldChatRoom",!1),c("【屏蔽】贵宾席","屏蔽元素","live-shielChatRoomVipSeats",!1)]},{text:"弹幕屏蔽规则(可正则)",type:"forms",forms:[c("启用","启用弹幕屏蔽规则","live-danmu-shield-rule-enable",!1),{type:"own",getLiElementCallBack(e){let i=x.createElement("div",{className:"pops-panel-textarea",innerHTML:''},{style:"width: 100%;"}),t=i.querySelector("textarea");return t.value=G.get(),x.on(t,["input","propertychange"],h.debounce(function(){G.set(t.value);},200)),e.appendChild(i),e}}]}]},ke=function(e,i,t,n,r,o){let u=[];typeof n=="function"?u=n():u=n;let l={text:e,type:"select",description:o,attributes:{},getValue(){return d.getValue(i,t)},callback(s,f,v){d.setValue(i,f);},data:u};return l.attributes&&(l.attributes[N]=i,l.attributes[$]=!!t),l},O={key:"douyin-shield-rule",$data:{rule:new h.Dictionary,isFirstLoad:!0},init(){this.parseRule(),a.info(["当前自定义视频拦截规则: ",this.$data.rule.getItems()]);let e=null;m.watchVideDataListChange(h.debounce(i=>{var o;let t=document.querySelector('#slidelist div[data-e2e="slideList"]');if(!t){a.error("未获取到视频列表元素");return}let n=(o=h.getReactObj(t))==null?void 0:o.reactFiber;if(n==null){a.error(["元素上不存在reactFiber属性",t]);return}let r=n==null?void 0:n.return.memoizedProps.data;if(r.length){if(this.$data.isFirstLoad){let u=r[r.length-1];if(e==null&&(e=u.awemeId),e===u.awemeId)return;this.$data.isFirstLoad=!1;}for(let u=0;u!!V.match(g))){f=!0,a.success(["自定义屏蔽: "+v+" "+g,s]);break}}}f&&(r.splice(u,1),u--);}}},150));},getVideoInfoTagMap(e){var u,l,s,f,v,g;let i=(l=(u=e==null?void 0:e.authorInfo)==null?void 0:u.nickname)==null?void 0:l.toString(),t=(f=(s=e==null?void 0:e.authorInfo)==null?void 0:s.uid)==null?void 0:f.toString(),n=(v=e==null?void 0:e.desc)==null?void 0:v.toString(),r=[];typeof(e==null?void 0:e.textExtra)=="object"&&Array.isArray(e==null?void 0:e.textExtra)&&((g=e==null?void 0:e.textExtra)==null||g.forEach(p=>{r.push(p.hashtagName);}));let o=[];return typeof(e==null?void 0:e.videoTag)=="object"&&Array.isArray(e==null?void 0:e.videoTag)&&(e==null||e.videoTag.forEach(p=>{o.push(p.tagName);})),{nickname:i,uid:t,desc:n,textExtra:r,videoTag:o}},parseRule(){this.get().trim().split(` +`).forEach(t=>{if(h.isNull(t))return;let r=t.trim().split("##");if(r.length<2)return;let o=r[0];r.shift();let u=r.join("");try{let l=new RegExp(u,"g");this.$data.rule.set(o,l);}catch(l){a.error(["自定义视频过滤规则-正则解析错误:"+l]),a.error("错误的规则:"+t);}});},set(e){I(this.key,e);},get(){return _(this.key,"")}},me=function(e,i,t,n,r,o,u,l){return {text:e,type:"button",description:i,buttonIcon:n,buttonIsRightIcon:r,buttonIconIsLoading:o,buttonType:u,buttonText:t,callback(f){typeof l=="function"&&l(f);},afterAddToUListCallBack:void 0}};var C,B;class Ee{constructor(i){z(this,C,"short-cut");z(this,B,!1);typeof i=="string"&&D(this,C,i);}getValue(i,t){let n=_(k(this,C),[]);return i?n.find(o=>o.key===i)??t:n}setValue(i,t,n,r){let o=_(k(this,C),[]);o.push({key:i,value:{keyName:t,keyValue:n,ohterCodeList:r}}),I(k(this,C),o);}deleteValue(i){let t=!1,n=_(k(this,C),[]),r=n.findIndex(o=>o.key===i);return r!==-1&&(n.splice(r,1),t=!0),I(k(this,C),n),t}getShowText(i,t){let n=this.getValue(i);if(n){let r="";return n.value.ohterCodeList.forEach(o=>{n.key===i&&(r+=h.stringTitleToUpperCase(o,!0)+" + ");}),r+=n.value.keyName,r}else return t}inputShortCut(i,t,n){if((this.getValue(i)??t)===t){let o=T.loading("请按下快捷键...",{showClose:!0,onClose(){u.removeListen();}});D(this,B,!0);let u=h.listenKeyboard(window,"keyup",(l,s,f)=>{let v=JSON.stringify({keyName:l,keyValue:s,ohterCodeList:f}),g=this.getValue();for(let p=0;p{if(k(this,B))return;t=this.getValue();let u=t.findIndex(l=>{let s=l.value,f={keyName:n,keyValue:r,ohterCodeList:o};if(JSON.stringify(s)===JSON.stringify(f))return l});if(u!=-1){let l=t[u];a.info(["调用快捷键",l]),l.key in i&&i[l.key].callback();}});}}C=new WeakMap,B=new WeakMap;const pe={init(){d.execMenu("shieldRightExpandCommentButton",()=>{this.shieldRightExpandCommentButton();}),d.execMenu("shieldSearchFloatingBar",()=>{this.shieldSearchFloatingBar();}),d.execMenu("shieldCloseFullScreenButton",()=>{this.shieldCloseFullScreenButton();}),d.execMenu("shieldPlaySwitchButton",()=>{this.shieldPlaySwitchButton();}),d.execMenu("shieldAuthorAvatar",()=>{this.shieldAuthorAvatar();}),d.execMenu("shieldLikeButton",()=>{this.shieldLikeButton();}),d.execMenu("shieldCommentButton",()=>{this.shieldCommentButton();}),d.execMenu("shieldCollectionButton",()=>{this.shieldCollectionButton();}),d.execMenu("shieldSharenButton",()=>{this.shieldSharenButton();}),d.execMenu("shieldRelatedRecommendationsButton",()=>{this.shieldRelatedRecommendationsButton();}),d.execMenu("shieldMoreButton",()=>{this.shieldMoreButton();}),d.execMenu("shieldBottomVideoToolBar",()=>{this.shieldBottomVideoToolBar();});},shieldRightExpandCommentButton(){a.info("【屏蔽】右侧的展开评论按钮"),m.addShieldStyle('#sliderVideo[data-e2e="feed-active-video"] > div > div > button[type="button"]','.playerContainer button[type=button] svg > g[filter] > path[d="M21.316 29.73a1.393 1.393 0 01-1.97 0l-5.056-5.055a1.393 1.393 0 010-1.97l.012-.011 5.044-5.045a1.393 1.393 0 011.97 1.97l-4.07 4.071 4.07 4.071a1.393 1.393 0 010 1.97z"]'),y(` .basePlayerContainer .positionBox{ padding-right: 20px !important; } - `);},shieldSearchFloatingBar(){a.info("【屏蔽】搜索悬浮栏"),h.addShieldStyle('.slider-video div:has([data-e2e="searchbar-button"])','div:has(>div > svg[class] > defs [d="M0 0h24v24H0z"]','div[data-e2e="feed-active-video"] + div:has(>div>div>div > input[data-e2e="searchbar-input"])',"#slideMode + div",'div:has(>div>div+input[data-e2e="searchbar-input"])');},shieldCloseFullScreenButton(){a.info("【屏蔽】网页全屏关闭按钮"),h.addShieldStyle('#sliderVideo[data-e2e="feed-active-video"] div.slider-video > div:has(path[d="M17.448 17.448a1.886 1.886 0 01-2.668 0L9 11.668l-5.78 5.78A1.886 1.886 0 11.552 14.78L6.332 9 .552 3.22A1.886 1.886 0 113.22.552L9 6.332l5.78-5.78a1.886 1.886 0 112.668 2.668L11.668 9l5.78 5.78a1.886 1.886 0 010 2.668z"])');},shieldPlaySwitchButton(){a.info("【屏蔽】切换播放"),h.addShieldStyle('.positionBox .xgplayer-playswitch[data-state="normal"]',"div.xgplayer-playswitch",".xgplayer-playswitch"),y(` + `);},shieldSearchFloatingBar(){a.info("【屏蔽】搜索悬浮栏"),m.addShieldStyle('.slider-video div:has([data-e2e="searchbar-button"])','div:has(>div > svg[class] > defs [d="M0 0h24v24H0z"]','div[data-e2e="feed-active-video"] + div:has(>div>div>div > input[data-e2e="searchbar-input"])',"#slideMode + div",'div:has(>div>div+input[data-e2e="searchbar-input"])');},shieldCloseFullScreenButton(){a.info("【屏蔽】网页全屏关闭按钮"),m.addShieldStyle('#sliderVideo[data-e2e="feed-active-video"] div.slider-video > div:has(path[d="M17.448 17.448a1.886 1.886 0 01-2.668 0L9 11.668l-5.78 5.78A1.886 1.886 0 11.552 14.78L6.332 9 .552 3.22A1.886 1.886 0 113.22.552L9 6.332l5.78-5.78a1.886 1.886 0 112.668 2.668L11.668 9l5.78 5.78a1.886 1.886 0 010 2.668z"])');},shieldPlaySwitchButton(){a.info("【屏蔽】切换播放"),m.addShieldStyle('.positionBox .xgplayer-playswitch[data-state="normal"]',"div.xgplayer-playswitch",".xgplayer-playswitch"),y(` div[data-e2e="slideList"]{ /* 修复屏蔽后的视频宽度占据 */ padding: 0px !important; } - `);},shieldAuthorAvatar(){a.info("【屏蔽】作者头像"),h.addShieldStyle('div.dy-tip-container:has([data-e2e="video-avatar"])');},shieldLikeButton(){a.info("【屏蔽】点赞"),h.addShieldStyle('div.dy-tip-container:has([data-e2e="video-player-digg"])');},shieldCommentButton(){a.info("【屏蔽】评论"),h.addShieldStyle('div.dy-tip-container:has([data-e2e="feed-comment-icon"])');},shieldCollectionButton(){a.info("【屏蔽】收藏"),h.addShieldStyle('div.dy-tip-container:has([data-e2e="video-player-collect"])');},shieldSharenButton(){a.info("【屏蔽】分享"),h.addShieldStyle('div.dy-tip-container:has([data-e2e="video-player-share"])');},shieldRelatedRecommendationsButton(){a.info("【屏蔽】看相关"),h.addShieldStyle('div.dy-tip-container:has(path[d="M14 8a8 8 0 00-8 8v4a8 8 0 008 8h8a8 8 0 008-8v-4a8 8 0 00-8-8h-8zm8.5 10.866a1 1 0 000-1.732l-6-3.464a1 1 0 00-1.5.866v6.928a1 1 0 001.5.866l6-3.464z"])','div.dy-tip-container:has(path[d=" M-4,-10 C-4,-10 4,-10 4,-10 C8.418000221252441,-10 12,-6.418000221252441 12,-2 C12,-2 12,2 12,2 C12,6.418000221252441 8.418000221252441,10 4,10 C4,10 -4,10 -4,10 C-8.418000221252441,10 -12,6.418000221252441 -12,2 C-12,2 -12,-2 -12,-2 C-12,-6.418000221252441 -8.418000221252441,-10 -4,-10z M4.5,0.8659999966621399 C5.166999816894531,0.48100000619888306 5.166999816894531,-0.48100000619888306 4.5,-0.8659999966621399 C4.5,-0.8659999966621399 -1.5,-4.329999923706055 -1.5,-4.329999923706055 C-2.1670000553131104,-4.715000152587891 -3,-4.234000205993652 -3,-3.4639999866485596 C-3,-3.4639999866485596 -3,3.4639999866485596 -3,3.4639999866485596 C-3,4.234000205993652 -2.1670000553131104,4.715000152587891 -1.5,4.329999923706055 C-1.5,4.329999923706055 4.5,0.8659999966621399 4.5,0.8659999966621399z"])');},shieldMoreButton(){a.info("【屏蔽】更多"),h.addShieldStyle('div.dy-tip-container:has([data-e2e="video-play-more"])');},shieldBottomVideoToolBar(){a.info("【屏蔽】底部视频工具栏"),h.addShieldStyle("xg-controls.xgplayer-controls"),y(` + `);},shieldAuthorAvatar(){a.info("【屏蔽】作者头像"),m.addShieldStyle('div.dy-tip-container:has([data-e2e="video-avatar"])');},shieldLikeButton(){a.info("【屏蔽】点赞"),m.addShieldStyle('div.dy-tip-container:has([data-e2e="video-player-digg"])');},shieldCommentButton(){a.info("【屏蔽】评论"),m.addShieldStyle('div.dy-tip-container:has([data-e2e="feed-comment-icon"])');},shieldCollectionButton(){a.info("【屏蔽】收藏"),m.addShieldStyle('div.dy-tip-container:has([data-e2e="video-player-collect"])');},shieldSharenButton(){a.info("【屏蔽】分享"),m.addShieldStyle('div.dy-tip-container:has([data-e2e="video-player-share"])');},shieldRelatedRecommendationsButton(){a.info("【屏蔽】看相关"),m.addShieldStyle('div.dy-tip-container:has(path[d="M14 8a8 8 0 00-8 8v4a8 8 0 008 8h8a8 8 0 008-8v-4a8 8 0 00-8-8h-8zm8.5 10.866a1 1 0 000-1.732l-6-3.464a1 1 0 00-1.5.866v6.928a1 1 0 001.5.866l6-3.464z"])','div.dy-tip-container:has(path[d=" M-4,-10 C-4,-10 4,-10 4,-10 C8.418000221252441,-10 12,-6.418000221252441 12,-2 C12,-2 12,2 12,2 C12,6.418000221252441 8.418000221252441,10 4,10 C4,10 -4,10 -4,10 C-8.418000221252441,10 -12,6.418000221252441 -12,2 C-12,2 -12,-2 -12,-2 C-12,-6.418000221252441 -8.418000221252441,-10 -4,-10z M4.5,0.8659999966621399 C5.166999816894531,0.48100000619888306 5.166999816894531,-0.48100000619888306 4.5,-0.8659999966621399 C4.5,-0.8659999966621399 -1.5,-4.329999923706055 -1.5,-4.329999923706055 C-2.1670000553131104,-4.715000152587891 -3,-4.234000205993652 -3,-3.4639999866485596 C-3,-3.4639999866485596 -3,3.4639999866485596 -3,3.4639999866485596 C-3,4.234000205993652 -2.1670000553131104,4.715000152587891 -1.5,4.329999923706055 C-1.5,4.329999923706055 4.5,0.8659999966621399 4.5,0.8659999966621399z"])');},shieldMoreButton(){a.info("【屏蔽】更多"),m.addShieldStyle('div.dy-tip-container:has([data-e2e="video-play-more"])');},shieldBottomVideoToolBar(){a.info("【屏蔽】底部视频工具栏"),m.addShieldStyle("xg-controls.xgplayer-controls"),y(` div:has( > div > pace-island > #video-info-wrap ), xg-video-container.xg-video-container{ bottom: 0 !important; } - `);}},Be={isVerticalScreen(){return !window.screen.orientation.type.includes("landscape")}},Te={init(){r.execMenuOnce("douyin-search-shieldReleatedSearches",()=>{this.shieldReleatedSearches();});},shieldReleatedSearches(){a.info("【屏蔽】相关搜索"),h.addShieldStyle("#search-content-area > div > div:nth-child(2)"),y(` + `);}},Be={isVerticalScreen(){return !window.screen.orientation.type.includes("landscape")}},Te={init(){d.execMenuOnce("douyin-search-shieldReleatedSearches",()=>{this.shieldReleatedSearches();});},shieldReleatedSearches(){a.info("【屏蔽】相关搜索"),m.addShieldStyle("#search-content-area > div > div:nth-child(2)"),y(` #search-content-area > div > div:nth-child(1) > div:nth-child(1){ width: 100dvw; } @@ -72,7 +72,7 @@ ul[data-e2e="scroll-list"] {\r margin-top: 65px;\r }\r /* 调整视频列表的宽度 */\r -@media screen and (max-width: 500px) {\r +@media screen and (max-width: 550px) {\r #sliderVideo {\r width: 100dvw;\r }\r @@ -85,7 +85,14 @@ ul[data-e2e="scroll-list"] {\r padding-right: 0;\r }\r }\r -`,Se={init(){Te.init();},mobileMode(){a.info("搜索-手机模式"),y(Ie);}},Re=`/* 右侧工具栏放大 */\r +\r +`,Se={init(){Te.init();},mobileMode(){a.info("搜索-手机模式"),y(Ie),h.waitNode("#relatedVideoCard").then(e=>{a.info("评论区展开的className:"+e.className),y(` + html[data-vertical-screen] + #sliderVideo[data-e2e="feed-active-video"] + #videoSideBar:has(#relatedVideoCard[class*="${e.className}"]) { + width: 100dvw !important; + } + `);});}},Re=`/* 右侧工具栏放大 */\r .basePlayerContainer .positionBox {\r scale: unset !important;\r bottom: 80px !important;\r @@ -118,9 +125,10 @@ ul[data-e2e="scroll-list"] {\r }\r \r /* 调整视频列表的宽度 */\r -@media screen and (max-width: 500px) {\r +@media screen and (max-width: 550px) {\r #slidelist {\r width: 100dvw;\r + height: 100dvh;\r }\r /* 调整顶部搜索框的宽度 */\r #douyin-header\r @@ -131,12 +139,12 @@ ul[data-e2e="scroll-list"] {\r padding-right: 0;\r }\r }\r -`,k={init(){pe.init(),w.init(),r.execMenu("shieldVideo",()=>{z.init();}),r.execMenu("changeCommentToBottom",()=>{k.changeCommentToBottom();}),r.execMenu("fullScreen",()=>{this.fullScreen();}),r.execMenu("parseVideo",()=>{k.parseVideo();}),r.execMenu("autoEnterElementFullScreen",()=>{this.autoEnterElementFullScreen();}),r.execMenu("dy-video-doubleClickEnterElementFullScreen",()=>{this.doubleClickEnterElementFullScreen();}),x.ready(()=>{k.chooseVideoDefinition(r.getValue("chooseVideoDefinition")),r.execMenu("mobileMode",()=>{this.mobileMode();});});},fullScreen(){a.info("全屏"),h.addShieldStyle(".slider-video .positionBox","#video-info-wrap","xg-controls.xgplayer-controls"),pe.shieldSearchFloatingBar(),y(` +`,E={init(){pe.init(),w.init(),d.execMenu("shieldVideo",()=>{O.init();}),d.execMenu("changeCommentToBottom",()=>{E.changeCommentToBottom();}),d.execMenu("fullScreen",()=>{this.fullScreen();}),d.execMenu("parseVideo",()=>{E.parseVideo();}),d.execMenu("autoEnterElementFullScreen",()=>{this.autoEnterElementFullScreen();}),d.execMenu("dy-video-doubleClickEnterElementFullScreen",()=>{this.doubleClickEnterElementFullScreen();}),x.ready(()=>{E.chooseVideoDefinition(d.getValue("chooseVideoDefinition")),d.execMenu("mobileMode",()=>{this.mobileMode();});});},fullScreen(){a.info("全屏"),m.addShieldStyle(".slider-video .positionBox","#video-info-wrap","xg-controls.xgplayer-controls"),pe.shieldSearchFloatingBar(),y(` /* 视频全屏 */ xg-video-container.xg-video-container{ bottom: 0px !important; } - `);},autoEnterElementFullScreen(){m.waitNode('xg-icon[data-e2e="xgplayer-page-full-screen"] .xgplayer-icon:has([d="M9.75 8.5a2 2 0 00-2 2v11a2 2 0 002 2h12.5a2 2 0 002-2v-11a2 2 0 00-2-2H9.75zM15 11.25h-3.75a1 1 0 00-1 1V16h2v-2.75H15v-2zm5.75 9.5H17v-2h2.75V16h2v3.75a1 1 0 01-1 1z"])').then(e=>{a.success("自动进入网页全屏"),e.click();});},doubleClickEnterElementFullScreen(){let e=!1;a.info("注册双击进入网页全屏事件"),x.on(document,"click","#sliderVideo",()=>{e?(e=!1,k.autoEnterElementFullScreen()):(e=!0,setTimeout(()=>{e=!1;},250));});},changeCommentToBottom(){a.info("评论区修改为底部");let e="data-vertical-screen";function i(){Be.isVerticalScreen()?(a.success("自动判断: 竖屏"),document.documentElement.setAttribute(e,"true")):(a.success("自动判断: 横屏"),document.documentElement.removeAttribute(e));}i(),y(` + `);},autoEnterElementFullScreen(){h.waitNode('xg-icon[data-e2e="xgplayer-page-full-screen"] .xgplayer-icon:has([d="M9.75 8.5a2 2 0 00-2 2v11a2 2 0 002 2h12.5a2 2 0 002-2v-11a2 2 0 00-2-2H9.75zM15 11.25h-3.75a1 1 0 00-1 1V16h2v-2.75H15v-2zm5.75 9.5H17v-2h2.75V16h2v3.75a1 1 0 01-1 1z"])').then(e=>{a.success("自动进入网页全屏"),e.click();});},doubleClickEnterElementFullScreen(){let e=!1;a.info("注册双击进入网页全屏事件"),x.on(document,"click","#sliderVideo",()=>{e?(e=!1,E.autoEnterElementFullScreen()):(e=!0,setTimeout(()=>{e=!1;},250));});},changeCommentToBottom(){a.info("评论区修改为底部");let e="data-vertical-screen";function i(){Be.isVerticalScreen()?(a.success("自动判断: 竖屏"),document.documentElement.setAttribute(e,"true")):(a.success("自动判断: 横屏"),document.documentElement.removeAttribute(e));}i(),y(` html[${e}] #sliderVideo[data-e2e="feed-video"] #videoSideBar #relatedVideoCard{ display: none !important; } @@ -155,7 +163,7 @@ ul[data-e2e="scroll-list"] {\r transition: height .15s linear !important; position: absolute; } - `),r.getValue("douyin-video-autoCheckChangeCommentToBottom")&&x.on(window,"resize",i);},chooseVideoDefinition(e=0){a.info("选择视频清晰度: "+e);let i="MANUAL_SWITCH",n=[{clarityReal:["normal_1080_0","normal_720_0","low_720_0","normal_540_0","low_540_0","adapt_low_540_0","lower_540_0"],done:1,gearClarity:"5",gearName:"高清",gearType:1,qualityType:1},{clarityReal:["normal_1080_0","low_540_0","low_720_0","normal_720_0","normal_540_0","adapt_low_540_0","lower_540_0","adapt_lowest_720_1","adapt_540_1","adapt_lower_540_1"],done:1,gearClarity:"4",gearName:"清晰",gearType:2,qualityType:15},{clarityReal:["normal_1080_0","low_540_0","low_720_0","normal_720_0","normal_540_0","adapt_low_540_0","lower_540_0","adapt_lowest_720_1","adapt_540_1","adapt_lower_540_1"],done:1,gearClarity:"3",gearName:"流畅",gearType:3,qualityType:28},{clarityReal:["normal_1080_0","low_540_0","low_720_0","normal_720_0","normal_540_0","adapt_low_540_0","lower_540_0","adapt_lowest_720_1","adapt_540_1","adapt_lower_540_1"],done:1,gearClarity:"2",gearName:"极速",gearType:4,qualityType:21},{clarityReal:["normal_1080_0","low_540_0","low_720_0","normal_720_0","normal_540_0","adapt_low_540_0","lower_540_0","adapt_lowest_720_1","adapt_540_1","adapt_lower_540_1"],done:1,gearClarity:"0",gearName:"智能",gearType:0}].find(o=>o.gearType===e);function l(o){S.sessionStorage.setItem(i,o);}if(n){let o=0,u=JSON.stringify(n),s=setInterval(()=>{l(u),o++,o>=20&&clearInterval(s);},500);a.success("设置当前视频的清晰度: "+e);}else a.error("该清晰度不存在: "+e);},chooseVideoRate(e="1"){let i="player_playbackratio";function t(n="1"){S.sessionStorage.setItem(i,n),document.querySelectorAll("xg-icon.xgplayer-playback-setting").forEach(l=>{var u,s,d,f;let o=m.getReactObj(l).reactContainer;(f=(d=(s=(u=o==null?void 0:o.memoizedState)==null?void 0:u.element)==null?void 0:s.props)==null?void 0:d.xgCase)==null||f.updatePlayBackRatio();});}t(e);},parseVideo(){a.info("让下载按钮变成解析视频");function e(i){let t="";i.forEach(n=>{t+=` + `),d.getValue("douyin-video-autoCheckChangeCommentToBottom")&&x.on(window,"resize",i);},chooseVideoDefinition(e=0){a.info("选择视频清晰度: "+e);let i="MANUAL_SWITCH",n=[{clarityReal:["normal_1080_0","normal_720_0","low_720_0","normal_540_0","low_540_0","adapt_low_540_0","lower_540_0"],done:1,gearClarity:"5",gearName:"高清",gearType:1,qualityType:1},{clarityReal:["normal_1080_0","low_540_0","low_720_0","normal_720_0","normal_540_0","adapt_low_540_0","lower_540_0","adapt_lowest_720_1","adapt_540_1","adapt_lower_540_1"],done:1,gearClarity:"4",gearName:"清晰",gearType:2,qualityType:15},{clarityReal:["normal_1080_0","low_540_0","low_720_0","normal_720_0","normal_540_0","adapt_low_540_0","lower_540_0","adapt_lowest_720_1","adapt_540_1","adapt_lower_540_1"],done:1,gearClarity:"3",gearName:"流畅",gearType:3,qualityType:28},{clarityReal:["normal_1080_0","low_540_0","low_720_0","normal_720_0","normal_540_0","adapt_low_540_0","lower_540_0","adapt_lowest_720_1","adapt_540_1","adapt_lower_540_1"],done:1,gearClarity:"2",gearName:"极速",gearType:4,qualityType:21},{clarityReal:["normal_1080_0","low_540_0","low_720_0","normal_720_0","normal_540_0","adapt_low_540_0","lower_540_0","adapt_lowest_720_1","adapt_540_1","adapt_lower_540_1"],done:1,gearClarity:"0",gearName:"智能",gearType:0}].find(o=>o.gearType===e);function r(o){S.sessionStorage.setItem(i,o);}if(n){let o=0,u=JSON.stringify(n),l=setInterval(()=>{r(u),o++,o>=20&&clearInterval(l);},500);a.success("设置当前视频的清晰度: "+e);}else a.error("该清晰度不存在: "+e);},chooseVideoRate(e="1"){let i="player_playbackratio";function t(n="1"){S.sessionStorage.setItem(i,n),document.querySelectorAll("xg-icon.xgplayer-playback-setting").forEach(r=>{var u,l,s,f;let o=h.getReactObj(r).reactContainer;(f=(s=(l=(u=o==null?void 0:o.memoizedState)==null?void 0:u.element)==null?void 0:l.props)==null?void 0:s.xgCase)==null||f.updatePlayBackRatio();});}t(e);},parseVideo(){a.info("让下载按钮变成解析视频");function e(i){let t="";i.forEach(n=>{t+=` `;}),t=``,ye.alert({title:{text:"视频解析",position:"center"},content:{text:t,html:!0},mask:{enable:!0,clickEvent:{toClose:!0}},width:"50dvw",height:"50dvh",drag:!0,dragLimit:!0,style:` .douyin-video-link-container{ @@ -170,24 +178,24 @@ ul[data-e2e="scroll-list"] {\r .douyin-video-link-item a{ } - `});}x.on(document,"click",'div[data-e2e="video-share-container"] div[data-inuser="false"] button + div',function(i){var l;let t=i.target,n=(l=m.getReactObj(t.parentElement))==null?void 0:l.reactFiber;if(!n){E.error("获取rectFiber属性失败");return}try{let o=[],u=n.return.memoizedProps.awemeInfo.video.playAddr,s=n.return.memoizedProps.awemeInfo.video.playAddrH265;if(u!=null&&Array.isArray(u)&&(o=o.concat(u)),s!=null&&Array.isArray(s)&&(o=o.concat(s)),!o.length){E.error("未获取到视频的有效链接信息");return}let d=o.map(f=>f.src);e(d);}catch{E.error("解析视频失败");}},{capture:!0});},mobileMode(){a.success("启用手机模式");let e=x.createElement("meta",{},{name:"viewport",content:"width=device-width,initial-scale=1,user-scalable=no,viewport-fit=cover"});document.querySelectorAll("meta[name='viewport']").forEach(i=>i.remove()),document.head.appendChild(e),h.addShieldStyle("img#douyin-temp-sidebar"),y(Re),_.isSearch()&&r.onceExec("douyin-search-mobileMode",()=>{Se.mobileMode();});}},w={shortCut:new Ee("video-short-cut"),$data:{rateMap:["0.75","1","1.25","1.5","1.75","2","3"]},init(){this.shortCut.initGlobalKeyboardListener(this.getShortCutMap());},getShortCutMap(){return {"dy-video-rate-low":{callback(){a.info("调用倍速 => 小");let e=S.sessionStorage.getItem("player_playbackratio")??"1",i=w.$data.rateMap.findIndex(n=>n===e);if(i===0){a.warn("已是最小倍速: "+e);return}let t=w.$data.rateMap[i-1];a.info("设置倍速: "+t),k.chooseVideoRate(t);}},"dy-video-rate-up":{callback(){a.info("调用倍速 => 大");let e=S.sessionStorage.getItem("player_playbackratio")??"1",i=w.$data.rateMap.findIndex(n=>n===e);if(i===w.$data.rateMap.length-1){a.warn("已是最大倍速: "+e);return}let t=w.$data.rateMap[i+1];a.info("设置倍速: "+t),k.chooseVideoRate(t);}}}}},De={id:"panel-config-video",title:"视频",isDefault(){return _.isVideo()},forms:[{text:"功能",type:"forms",forms:[c("沉浸模式","移除右侧工具栏、底部信息栏等","fullScreen",!1),c("手机模式","放大各种文字和图标","mobileMode",!1)]},{text:"视频",type:"forms",forms:[Ve("清晰度","chooseVideoDefinition",1,[{text:"智能",value:0},{text:"极速",value:4},{text:"流畅",value:3},{text:"清晰",value:2},{text:"高清",value:1}],void 0,"自行选择清晰度"),c("视频解析","分享->下载(灰色的也可点击)","parseVideo",!1),c("评论区移到中间","修改评论区为中间弹出而非右侧区域","changeCommentToBottom",!0),c("↑自适应评论区位置","根据window.screen.orientation.type自动判断是否开启【评论区移到中间】","douyin-video-autoCheckChangeCommentToBottom",!1),c("自动进入网页全屏","网页加载完毕后自动点击网页全屏按钮进入全屏","autoEnterElementFullScreen",!1),c("双击进入网页全屏","双击视频自动进入网页全屏,检测间隔250ms","dy-video-doubleClickEnterElementFullScreen",!1)]},{text:"快捷键",type:"forms",forms:[me("倍速 -> 小","视频倍速变小",()=>w.shortCut.getShowText("dy-video-rate-low","暂无快捷键"),"keyboard",!1,!1,"default",e=>{var n;let t=(n=e.target.closest(".pops-panel-button"))==null?void 0:n.querySelector("span");w.shortCut.inputShortCut("dy-video-rate-low","暂无快捷键",l=>{t.innerHTML=l;});}),me("倍速 -> 大","视频倍速变大",()=>w.shortCut.getShowText("dy-video-rate-up","暂无快捷键"),"keyboard",!1,!1,"default",e=>{var n;let t=(n=e.target.closest(".pops-panel-button"))==null?void 0:n.querySelector("span");w.shortCut.inputShortCut("dy-video-rate-up","暂无快捷键",l=>{t.innerHTML=l;});})]},{text:"视频区域内-屏蔽",type:"forms",forms:[c("【屏蔽】右侧的展开评论按钮","屏蔽元素","shieldRightExpandCommentButton",!0),c("【屏蔽】搜索悬浮栏","屏蔽元素,一般出现在左上角","shieldSearchFloatingBar",!0),c("【屏蔽】网页全屏关闭按钮","屏蔽元素,一般开启网页全屏后出现在左上角","shieldCloseFullScreenButton",!0),c("【屏蔽】切换播放","屏蔽元素,在右侧作者头像上方","shieldPlaySwitchButton",!1),c("【屏蔽】作者头像","屏蔽元素","shieldAuthorAvatar",!1),c("【屏蔽】点赞","屏蔽元素","shieldLikeButton",!1),c("【屏蔽】评论","屏蔽元素","shieldCommentButton",!1),c("【屏蔽】收藏","屏蔽元素","shieldCollectionButton",!1),c("【屏蔽】分享","屏蔽元素","shieldSharenButton",!1),c("【屏蔽】看相关","屏蔽元素","shieldRelatedRecommendationsButton",!1),c("【屏蔽】更多","屏蔽元素","shieldMoreButton",!1),c("【屏蔽】底部视频工具栏","屏蔽元素","shieldBottomVideoToolBar",!1)]},{text:"视频过滤规则(可正则)",type:"forms",forms:[c("启用","开启后可启用下面的屏蔽功能","shieldVideo",!0),c("【屏蔽】直播","过滤掉直播","shieldVideo-live",!0),c("【屏蔽】广告","过滤掉广告","shieldVideo-ads",!0),{type:"own",getLiElementCallBack(e){let i=x.createElement("div",{className:"pops-panel-textarea",innerHTML:''},{style:"width: 100%;"}),t=i.querySelector("textarea");return t.value=z.get(),x.on(t,["input","propertychange"],m.debounce(function(){z.set(t.value);},200)),e.appendChild(i),e}}]}]},Le={id:"panel-config-search",title:"搜索",isDefault(){return _.isSearch()},forms:[{text:"屏蔽",type:"forms",forms:[c("【屏蔽】相关搜索","屏蔽右边的相关搜索","douyin-search-shieldReleatedSearches",!1)]}]},r={$data:{data:new m.Dictionary,oneSuccessExecMenu:new m.Dictionary,onceExec:new m.Dictionary,scriptName:he,key:T,attributeKeyName:P,attributeDefaultValueName:$},$listener:{listenData:new m.Dictionary},init(){this.initPanelDefaultValue(),this.initExtensionsMenu();},initExtensionsMenu(){S.top===S.self&&_e.add([{key:"show_pops_panel_setting",text:"⚙ 设置",autoReload:!1,isStoreValue:!1,showText(e){return e},callback:()=>{this.showPanel();}}]);},initPanelDefaultValue(){let e=this;function i(n){if(!n.attributes)return;let l=n.attributes[P],o=n.attributes[$];if(l==null){console.warn("请先配置键",n);return}e.$data.data.has(l)&&console.warn("请检查该key(已存在): "+l),e.$data.data.set(l,o);}let t=this.getPanelContentConfig();for(let n=0;n{this.shieldClientTip();}),r.execMenu("shieldFillingBricksAndStones",()=>{this.shieldFillingBricksAndStones();}),r.execMenu("shieldClient",()=>{this.shieldClient();}),r.execMenu("shieldQuickAccess",()=>{this.shieldQuickAccess();}),r.execMenu("shieldNotifitation",()=>{this.shieldNotifitation();}),r.execMenu("shieldPrivateMessage",()=>{this.shieldPrivateMessage();}),r.execMenu("shieldSubmission",()=>{this.shieldSubmission();}),r.execMenu("shieldLeftNavigator",()=>{this.shieldLeftNavigator();}),r.execMenu("shieldTopNavigator",()=>{this.shieldTopNavigator();});},shieldFillingBricksAndStones(){a.info("【屏蔽】充砖石"),h.addShieldStyle('pace-island[id^="island"] > div[class]:has(div[data-e2e="something-button"]) > :has(path[d="M5.757 12.268a6.397 6.397 0 1112.793 0 6.397 6.397 0 01-12.793 0zm6.396-7.897a7.897 7.897 0 100 15.793 7.897 7.897 0 000-15.793zm2.127 3.52v-.497h-1.5v6.462h.001c0 .854-.685 1.536-1.517 1.536a1.527 1.527 0 01-1.517-1.536c0-.854.685-1.536 1.517-1.536v-1.5c-1.672 0-3.017 1.365-3.017 3.036 0 1.67 1.345 3.036 3.017 3.036s3.017-1.365 3.017-3.036h-.001v-3.228a3.184 3.184 0 001.715.498v-1.5a1.725 1.725 0 01-1.715-1.735z"])');},shieldClient(){a.info("【屏蔽】客户端"),h.addShieldStyle('pace-island[id^="island"] > div[class]:has(div[data-e2e="something-button"]) .dy-tip-container');},shieldQuickAccess(){a.info("【屏蔽】快捷访问"),h.addShieldStyle('pace-island[id^="island"] > div[class]:has(div[data-e2e="something-button"]) > :has(.quick-access-nav-icon)');},shieldNotifitation(){a.info("【屏蔽】通知"),h.addShieldStyle('pace-island[id^="island"] > div[class]:has(div[data-e2e="something-button"]) > :has(path[d="M9.905 19.407h4.5v-1.5h-4.5v1.5z"])');},shieldPrivateMessage(){a.info("【屏蔽】私信"),h.addShieldStyle('pace-island[id^="island"] > div[class]:has(div[data-e2e="something-button"]) > ul:has(div[data-e2e="im-entry"])');},shieldSubmission(){a.info("【屏蔽】投稿"),h.addShieldStyle('pace-island[id^="island"] > div[class]:has(div[data-e2e="something-button"]) > :has(ul[data-e2e="cooperate-list"])');},shieldClientTip(){a.info("【屏蔽】客户端提示"),h.addShieldStyle('#douyin-header div[data-e2e="im-entry"] div.popShadowAnimation:first-child',"#douyin-header ul div.userMenuPanelShadowAnimation:first-child");},shieldLeftNavigator(){a.info("【屏蔽】左侧导航栏"),h.addShieldStyle("#douyin-navigation"),y(` + `});}x.on(document,"click",'div[data-e2e="video-share-container"] div[data-inuser="false"] button + div',function(i){var r;let t=i.target,n=(r=h.getReactObj(t.parentElement))==null?void 0:r.reactFiber;if(!n){T.error("获取rectFiber属性失败");return}try{let o=[],u=n.return.memoizedProps.awemeInfo.video.playAddr,l=n.return.memoizedProps.awemeInfo.video.playAddrH265;if(u!=null&&Array.isArray(u)&&(o=o.concat(u)),l!=null&&Array.isArray(l)&&(o=o.concat(l)),!o.length){T.error("未获取到视频的有效链接信息");return}let s=o.map(f=>f.src);e(s);}catch{T.error("解析视频失败");}},{capture:!0});},mobileMode(){a.success("启用手机模式");let e=x.createElement("meta",{},{name:"viewport",content:"width=device-width,initial-scale=1,user-scalable=no,viewport-fit=cover"});document.querySelectorAll("meta[name='viewport']").forEach(i=>i.remove()),document.head.appendChild(e),m.addShieldStyle("img#douyin-temp-sidebar"),y(Re),b.isSearch()&&d.onceExec("douyin-search-mobileMode",()=>{Se.mobileMode();});}},w={shortCut:new Ee("video-short-cut"),$data:{rateMap:["0.75","1","1.25","1.5","1.75","2","3"]},init(){this.shortCut.initGlobalKeyboardListener(this.getShortCutMap());},getShortCutMap(){return {"dy-video-rate-low":{callback(){a.info("调用倍速 => 小");let e=S.sessionStorage.getItem("player_playbackratio")??"1",i=w.$data.rateMap.findIndex(n=>n===e);if(i===0){a.warn("已是最小倍速: "+e);return}let t=w.$data.rateMap[i-1];a.info("设置倍速: "+t),E.chooseVideoRate(t);}},"dy-video-rate-up":{callback(){a.info("调用倍速 => 大");let e=S.sessionStorage.getItem("player_playbackratio")??"1",i=w.$data.rateMap.findIndex(n=>n===e);if(i===w.$data.rateMap.length-1){a.warn("已是最大倍速: "+e);return}let t=w.$data.rateMap[i+1];a.info("设置倍速: "+t),E.chooseVideoRate(t);}}}}},Le={id:"panel-config-video",title:"视频",isDefault(){return b.isVideo()},forms:[{text:"功能",type:"forms",forms:[c("沉浸模式","移除右侧工具栏、底部信息栏等","fullScreen",!1),c("手机模式","放大各种文字和图标","mobileMode",!1)]},{text:"视频",type:"forms",forms:[ke("清晰度","chooseVideoDefinition",1,[{text:"智能",value:0},{text:"极速",value:4},{text:"流畅",value:3},{text:"清晰",value:2},{text:"高清",value:1}],void 0,"自行选择清晰度"),c("视频解析","分享->下载(灰色的也可点击)","parseVideo",!1),c("评论区移到中间","修改评论区为中间弹出而非右侧区域","changeCommentToBottom",!0),c("↑自适应评论区位置","根据window.screen.orientation.type自动判断是否开启【评论区移到中间】","douyin-video-autoCheckChangeCommentToBottom",!1),c("自动进入网页全屏","网页加载完毕后自动点击网页全屏按钮进入全屏","autoEnterElementFullScreen",!1),c("双击进入网页全屏","双击视频自动进入网页全屏,检测间隔250ms","dy-video-doubleClickEnterElementFullScreen",!1)]},{text:"快捷键",type:"forms",forms:[me("倍速 -> 小","视频倍速变小",()=>w.shortCut.getShowText("dy-video-rate-low","暂无快捷键"),"keyboard",!1,!1,"default",e=>{var n;let t=(n=e.target.closest(".pops-panel-button"))==null?void 0:n.querySelector("span");w.shortCut.inputShortCut("dy-video-rate-low","暂无快捷键",r=>{t.innerHTML=r;});}),me("倍速 -> 大","视频倍速变大",()=>w.shortCut.getShowText("dy-video-rate-up","暂无快捷键"),"keyboard",!1,!1,"default",e=>{var n;let t=(n=e.target.closest(".pops-panel-button"))==null?void 0:n.querySelector("span");w.shortCut.inputShortCut("dy-video-rate-up","暂无快捷键",r=>{t.innerHTML=r;});})]},{text:"视频区域内-屏蔽",type:"forms",forms:[c("【屏蔽】右侧的展开评论按钮","屏蔽元素","shieldRightExpandCommentButton",!0),c("【屏蔽】搜索悬浮栏","屏蔽元素,一般出现在左上角","shieldSearchFloatingBar",!0),c("【屏蔽】网页全屏关闭按钮","屏蔽元素,一般开启网页全屏后出现在左上角","shieldCloseFullScreenButton",!0),c("【屏蔽】切换播放","屏蔽元素,在右侧作者头像上方","shieldPlaySwitchButton",!1),c("【屏蔽】作者头像","屏蔽元素","shieldAuthorAvatar",!1),c("【屏蔽】点赞","屏蔽元素","shieldLikeButton",!1),c("【屏蔽】评论","屏蔽元素","shieldCommentButton",!1),c("【屏蔽】收藏","屏蔽元素","shieldCollectionButton",!1),c("【屏蔽】分享","屏蔽元素","shieldSharenButton",!1),c("【屏蔽】看相关","屏蔽元素","shieldRelatedRecommendationsButton",!1),c("【屏蔽】更多","屏蔽元素","shieldMoreButton",!1),c("【屏蔽】底部视频工具栏","屏蔽元素","shieldBottomVideoToolBar",!1)]},{text:"视频过滤规则(可正则)",type:"forms",forms:[c("启用","开启后可启用下面的屏蔽功能","shieldVideo",!0),c("【屏蔽】直播","过滤掉直播","shieldVideo-live",!0),c("【屏蔽】广告","过滤掉广告","shieldVideo-ads",!0),{type:"own",getLiElementCallBack(e){let i=x.createElement("div",{className:"pops-panel-textarea",innerHTML:''},{style:"width: 100%;"}),t=i.querySelector("textarea");return t.value=O.get(),x.on(t,["input","propertychange"],h.debounce(function(){O.set(t.value);},200)),e.appendChild(i),e}}]}]},De={id:"panel-config-search",title:"搜索",isDefault(){return b.isSearch()},forms:[{text:"屏蔽",type:"forms",forms:[c("【屏蔽】相关搜索","屏蔽右边的相关搜索","douyin-search-shieldReleatedSearches",!1)]}]},d={$data:{data:new h.Dictionary,oneSuccessExecMenu:new h.Dictionary,onceExec:new h.Dictionary,scriptName:he,key:R,attributeKeyName:N,attributeDefaultValueName:$},$listener:{listenData:new h.Dictionary},init(){this.initPanelDefaultValue(),this.initExtensionsMenu();},initExtensionsMenu(){S.top===S.self&&_e.add([{key:"show_pops_panel_setting",text:"⚙ 设置",autoReload:!1,isStoreValue:!1,showText(e){return e},callback:()=>{this.showPanel();}}]);},initPanelDefaultValue(){let e=this;function i(n){if(!n.attributes)return;let r=n.attributes[N],o=n.attributes[$];if(r==null){console.warn("请先配置键",n);return}e.$data.data.has(r)&&console.warn("请检查该key(已存在): "+r),e.$data.data.set(r,o);}let t=this.getPanelContentConfig();for(let n=0;n{this.shieldClientTip();}),d.execMenu("shieldFillingBricksAndStones",()=>{this.shieldFillingBricksAndStones();}),d.execMenu("shieldClient",()=>{this.shieldClient();}),d.execMenu("shieldQuickAccess",()=>{this.shieldQuickAccess();}),d.execMenu("shieldNotifitation",()=>{this.shieldNotifitation();}),d.execMenu("shieldPrivateMessage",()=>{this.shieldPrivateMessage();}),d.execMenu("shieldSubmission",()=>{this.shieldSubmission();}),d.execMenu("shieldLeftNavigator",()=>{this.shieldLeftNavigator();}),d.execMenu("shieldTopNavigator",()=>{this.shieldTopNavigator();});},shieldFillingBricksAndStones(){a.info("【屏蔽】充砖石"),m.addShieldStyle('pace-island[id^="island"] > div[class]:has(div[data-e2e="something-button"]) > :has(path[d="M5.757 12.268a6.397 6.397 0 1112.793 0 6.397 6.397 0 01-12.793 0zm6.396-7.897a7.897 7.897 0 100 15.793 7.897 7.897 0 000-15.793zm2.127 3.52v-.497h-1.5v6.462h.001c0 .854-.685 1.536-1.517 1.536a1.527 1.527 0 01-1.517-1.536c0-.854.685-1.536 1.517-1.536v-1.5c-1.672 0-3.017 1.365-3.017 3.036 0 1.67 1.345 3.036 3.017 3.036s3.017-1.365 3.017-3.036h-.001v-3.228a3.184 3.184 0 001.715.498v-1.5a1.725 1.725 0 01-1.715-1.735z"])');},shieldClient(){a.info("【屏蔽】客户端"),m.addShieldStyle('pace-island[id^="island"] > div[class]:has(div[data-e2e="something-button"]) .dy-tip-container');},shieldQuickAccess(){a.info("【屏蔽】快捷访问"),m.addShieldStyle('pace-island[id^="island"] > div[class]:has(div[data-e2e="something-button"]) > :has(.quick-access-nav-icon)');},shieldNotifitation(){a.info("【屏蔽】通知"),m.addShieldStyle('pace-island[id^="island"] > div[class]:has(div[data-e2e="something-button"]) > :has(path[d="M9.905 19.407h4.5v-1.5h-4.5v1.5z"])');},shieldPrivateMessage(){a.info("【屏蔽】私信"),m.addShieldStyle('pace-island[id^="island"] > div[class]:has(div[data-e2e="something-button"]) > ul:has(div[data-e2e="im-entry"])');},shieldSubmission(){a.info("【屏蔽】投稿"),m.addShieldStyle('pace-island[id^="island"] > div[class]:has(div[data-e2e="something-button"]) > :has(ul[data-e2e="cooperate-list"])');},shieldClientTip(){a.info("【屏蔽】客户端提示"),m.addShieldStyle('#douyin-header div[data-e2e="im-entry"] div.popShadowAnimation:first-child',"#douyin-header ul div.userMenuPanelShadowAnimation:first-child");},shieldLeftNavigator(){a.info("【屏蔽】左侧导航栏"),m.addShieldStyle("#douyin-navigation"),y(` /* 修复顶部导航栏的宽度 */ #douyin-header{ width: 100%; } - `);},shieldTopNavigator(){a.info("【屏蔽】顶部导航栏"),h.addShieldStyle("#douyin-header"),_.isSearch()&&y(` + `);},shieldTopNavigator(){a.info("【屏蔽】顶部导航栏"),m.addShieldStyle("#douyin-header"),b.isSearch()&&y(` /* 把搜索顶部的工具栏置顶 */ #search-content-area > div > div:nth-child(1) > div:nth-child(1){ top: 0; } - `);}},Pe={init(){r.execMenu("shieldSearch",()=>{this.shieldSearch();}),r.execMenu("shieldSearchPlaceholder",()=>{this.shieldSearchPlaceholder();}),r.execMenu("shieldSearchGuessYouWantToSearch",()=>{this.shieldSearchGuessYouWantToSearch();}),r.execMenu("shieldSearchTiktokHotspot",()=>{this.shieldSearchTiktokHotspot();});},shieldSearch(){a.info("【屏蔽】搜索框"),h.addShieldStyle('#douyin-header div[data-click="doubleClick"] > div[data-click="doubleClick"] > div:has(input[data-e2e="searchbar-input"])');},shieldSearchPlaceholder(){a.info("【屏蔽】搜索框的提示"),h.addShieldStyle('#douyin-header div[data-click="doubleClick"] > div[data-click="doubleClick"] > div div:has( + input[data-e2e="searchbar-input"])'),y(` + `);}},Pe={init(){d.execMenu("shieldSearch",()=>{this.shieldSearch();}),d.execMenu("shieldSearchPlaceholder",()=>{this.shieldSearchPlaceholder();}),d.execMenu("shieldSearchGuessYouWantToSearch",()=>{this.shieldSearchGuessYouWantToSearch();}),d.execMenu("shieldSearchTiktokHotspot",()=>{this.shieldSearchTiktokHotspot();});},shieldSearch(){a.info("【屏蔽】搜索框"),m.addShieldStyle('#douyin-header div[data-click="doubleClick"] > div[data-click="doubleClick"] > div:has(input[data-e2e="searchbar-input"])');},shieldSearchPlaceholder(){a.info("【屏蔽】搜索框的提示"),m.addShieldStyle('#douyin-header div[data-click="doubleClick"] > div[data-click="doubleClick"] > div div:has( + input[data-e2e="searchbar-input"])'),y(` #douyin-header div[data-click="doubleClick"] > div[data-click="doubleClick"] > div input[data-e2e="searchbar-input"]::placeholder{ color: transparent; } - `);},shieldSearchGuessYouWantToSearch(){a.info("【屏蔽】搜索-猜你想搜"),h.addShieldStyle('button[data-e2e="searchbar-button"] + div div:has( + div[data-e2e="search-guess-container"])','button[data-e2e="searchbar-button"] + div div[data-e2e="search-guess-container"]');},shieldSearchTiktokHotspot(){a.info("【屏蔽】搜索-抖音热点"),h.addShieldStyle('button[data-e2e="searchbar-button"] + div div:has( + div[data-e2e="search-hot-container"])','button[data-e2e="searchbar-button"] + div div[data-e2e="search-hot-container"]');}},$e={removeEnvCheck(){a.info("移除环境检测");let e=S.setInterval;S.setInterval=function(i,t){let n=i.toString().trim();if(n.includes("debugger")){a.success(["拦截→",[n]]);return}if(n.includes("checkEXp")){a.success(["拦截→",[n]]);return}return e.call(this,i,t)};}},ve={disguiseLogin(){a.info("伪装登录");const e=2e4;let i=parseInt((Math.random()*1e6).toString()),t=Object.defineProperty({},"uid",{value:i,writable:!1});function n(o){var f,v,g,p,I,L,H,O,F,U,Y,Q,q,W,K,j,J,X,Z,ee,te,ie,ne,ae,oe,le,re,se,de,ue;let u=[],s=m.getReactObj(o),d=s==null?void 0:s.reactFiber;return (g=(v=(f=d==null?void 0:d.alternate)==null?void 0:f.return)==null?void 0:v.memoizedProps)!=null&&g.userInfo&&u.push((L=(I=(p=d==null?void 0:d.alternate)==null?void 0:p.return)==null?void 0:I.memoizedProps)==null?void 0:L.userInfo),(U=(F=(O=(H=d==null?void 0:d.alternate)==null?void 0:H.return)==null?void 0:O.memoizedProps)==null?void 0:F.userInfo)!=null&&U.userInfo&&u.push((q=(Q=(Y=d==null?void 0:d.alternate)==null?void 0:Y.return)==null?void 0:Q.memoizedProps)==null?void 0:q.userInfo.userInfo),(J=(j=(K=(W=d==null?void 0:d.alternate)==null?void 0:W.return)==null?void 0:K.return)==null?void 0:j.memoizedProps)!=null&&J.userInfo&&u.push((te=(ee=(Z=(X=d==null?void 0:d.alternate)==null?void 0:X.return)==null?void 0:Z.return)==null?void 0:ee.memoizedProps)==null?void 0:te.userInfo),(le=(oe=(ae=(ne=(ie=d==null?void 0:d.alternate)==null?void 0:ie.return)==null?void 0:ne.return)==null?void 0:ae.memoizedProps)==null?void 0:oe.userInfo)!=null&&le.userInfo&&u.push((ue=(de=(se=(re=d==null?void 0:d.alternate)==null?void 0:re.return)==null?void 0:se.return)==null?void 0:de.memoizedProps)==null?void 0:ue.userInfo.userInfo),u}function l(o){n(o).forEach(u=>{Object.defineProperties(u,{info:{value:t,writable:!1},isLogin:{value:!0,writable:!1}});});}h.watchVideDataListChange(()=>{l(h.getOSElement());}),m.waitNodeWithInterval("#root div[class*='-os']",e).then(()=>{m.mutationObserver(document.body,{config:{subtree:!0,childList:!0},callback:m.debounce(()=>{l(h.getOSElement());},70)});}),_.isLive()&&m.waitNodeWithInterval("#douyin-header div:has(.dy-tip-container)",e).then(()=>{m.mutationObserver(document.body,{config:{subtree:!0,childList:!0},callback:m.debounce(()=>{l(document.querySelector("#douyin-header"));},70)});});},watchLoginDialogToClose(){a.info("监听登录弹窗并关闭"),h.addShieldStyle('div[id^="login-full-panel-"]'),m.waitNode("body").then(()=>{m.mutationObserver(document.body,{config:{subtree:!0,childList:!0},callback(){var i,t;let e=document.querySelector('body > div[id^="login-full-panel-"] .dy-account-close');e&&((t=(i=m.getReactObj(e))==null?void 0:i.reactProps)==null||t.onClick(new Event("click")));}});});}},Ne={init(){r.execMenu("live-shieldChatRoom",()=>{this.shieldChatRoom();}),r.execMenu("live-shielChatRoomVipSeats",()=>{this.shielChatRoomVipSeats();});},shieldChatRoom(){a.info("【屏蔽】评论区"),h.addShieldStyle("#chatroom"),y(` + `);},shieldSearchGuessYouWantToSearch(){a.info("【屏蔽】搜索-猜你想搜"),m.addShieldStyle('button[data-e2e="searchbar-button"] + div div:has( + div[data-e2e="search-guess-container"])','button[data-e2e="searchbar-button"] + div div[data-e2e="search-guess-container"]');},shieldSearchTiktokHotspot(){a.info("【屏蔽】搜索-抖音热点"),m.addShieldStyle('button[data-e2e="searchbar-button"] + div div:has( + div[data-e2e="search-hot-container"])','button[data-e2e="searchbar-button"] + div div[data-e2e="search-hot-container"]');}},Ne={removeEnvCheck(){a.info("移除环境检测");let e=S.setInterval;S.setInterval=function(i,t){let n=i.toString().trim();if(n.includes("debugger")){a.success(["拦截→",[n]]);return}if(n.includes("checkEXp")){a.success(["拦截→",[n]]);return}return e.call(this,i,t)};}},ve={disguiseLogin(){a.info("伪装登录");const e=2e4;let i=parseInt((Math.random()*1e6).toString()),t=Object.defineProperty({},"uid",{value:i,writable:!1});function n(o){var f,v,g,p,M,V,L,F,H,U,Y,q,Q,W,K,j,J,X,Z,ee,te,ie,ne,ae,oe,le,re,se,de,ue;let u=[],l=h.getReactObj(o),s=l==null?void 0:l.reactFiber;return l==null||l.reactProps,(g=(v=(f=s==null?void 0:s.alternate)==null?void 0:f.return)==null?void 0:v.memoizedProps)!=null&&g.userInfo&&u.push((V=(M=(p=s==null?void 0:s.alternate)==null?void 0:p.return)==null?void 0:M.memoizedProps)==null?void 0:V.userInfo),(U=(H=(F=(L=s==null?void 0:s.alternate)==null?void 0:L.return)==null?void 0:F.memoizedProps)==null?void 0:H.userInfo)!=null&&U.userInfo&&u.push((Q=(q=(Y=s==null?void 0:s.alternate)==null?void 0:Y.return)==null?void 0:q.memoizedProps)==null?void 0:Q.userInfo.userInfo),(J=(j=(K=(W=s==null?void 0:s.alternate)==null?void 0:W.return)==null?void 0:K.return)==null?void 0:j.memoizedProps)!=null&&J.userInfo&&u.push((te=(ee=(Z=(X=s==null?void 0:s.alternate)==null?void 0:X.return)==null?void 0:Z.return)==null?void 0:ee.memoizedProps)==null?void 0:te.userInfo),(le=(oe=(ae=(ne=(ie=s==null?void 0:s.alternate)==null?void 0:ie.return)==null?void 0:ne.return)==null?void 0:ae.memoizedProps)==null?void 0:oe.userInfo)!=null&&le.userInfo&&u.push((ue=(de=(se=(re=s==null?void 0:s.alternate)==null?void 0:re.return)==null?void 0:se.return)==null?void 0:de.memoizedProps)==null?void 0:ue.userInfo.userInfo),u}function r(o){n(o).forEach(u=>{Object.defineProperties(u,{info:{value:t,writable:!1},isLogin:{value:!0,writable:!1}});});}if(m.watchVideDataListChange(()=>{r(m.getOSElement());}),h.waitNodeWithInterval("#root div[class*='-os']",e).then(()=>{h.mutationObserver(document.body,{config:{subtree:!0,childList:!0},callback:h.debounce(()=>{r(m.getOSElement());},70)});}).catch(o=>{}),b.isLive())h.waitNodeWithInterval("#douyin-header div:has(.dy-tip-container)",e).then(()=>{h.mutationObserver(document.body,{config:{subtree:!0,childList:!0},callback:h.debounce(()=>{r(document.querySelector("#douyin-header"));},70)});});else if(b.isSearch()){let o=function(u){var f,v,g,p,M,V,L;let l=h.getReactObj(u);l==null||l.reactFiber;let s=l==null?void 0:l.reactProps;typeof((p=(g=(v=(f=s==null?void 0:s.children)==null?void 0:f[1])==null?void 0:v.props)==null?void 0:g.userInfo)==null?void 0:p.isLogin)=="boolean"&&(s.children[1].props.userInfo.isLogin=!0),typeof((L=(V=(M=s==null?void 0:s.children)==null?void 0:M[1])==null?void 0:V.props)==null?void 0:L.isClient)=="boolean"&&(s.children[1].props.isClient=!0);};h.waitNodeWithInterval("#root > div",e).then(()=>{h.mutationObserver(document.body,{config:{subtree:!0,childList:!0},callback:h.debounce((u,l)=>{o(document.querySelector("#root > div"));},70)});});}},watchLoginDialogToClose(){a.info("监听登录弹窗并关闭"),m.addShieldStyle('div[id^="login-full-panel-"]'),h.waitNode("body").then(()=>{h.mutationObserver(document.body,{config:{subtree:!0,childList:!0},callback(){var i,t;let e=document.querySelector('body > div[id^="login-full-panel-"] .dy-account-close');e&&((t=(i=h.getReactObj(e))==null?void 0:i.reactProps)==null||t.onClick(new Event("click")));}});});}},$e={init(){d.execMenu("live-shieldChatRoom",()=>{this.shieldChatRoom();}),d.execMenu("live-shielChatRoomVipSeats",()=>{this.shielChatRoomVipSeats();});},shieldChatRoom(){a.info("【屏蔽】评论区"),m.addShieldStyle("#chatroom"),y(` div[data-e2e="living-container"], div[data-e2e="living-container"] > div{ margin-bottom: 0px !important; - }`);},shielChatRoomVipSeats(){a.info("【屏蔽】评论区的贵宾席"),h.addShieldStyle("#chatroom > div > div:has(#audiencePanelScrollId)");}},Ge={init(){r.execMenu("live-autoEnterElementFullScreen",()=>{this.autoEnterElementFullScreen();}),r.execMenu("live-shieldGiftColumn",()=>{this.shieldGiftColumn();}),r.execMenu("live-shieldTopToolBarInfo",()=>{this.shieldTopToolBarInfo();}),r.execMenu("live-shieldGiftEffects",()=>{this.shieldGiftEffects();}),r.execMenu("live-shieldDanmuku",()=>{fe.shieldDanmu();}),r.execMenu("live-danmu-shield-rule-enable",()=>{fe.filterDanmu();}),r.execMenu("live-unlockImageQuality",()=>{this.unlockImageQuality();}),Ne.init();},autoEnterElementFullScreen(){a.success("自动进入网页全屏"),m.waitNode('xg-icon[classname] > div > div:has(path[d="M9.75 8.5a2 2 0 00-2 2v11a2 2 0 002 2h12.5a2 2 0 002-2v-11a2 2 0 00-2-2H9.75zM15 11.25h-3.75a1 1 0 00-1 1V16h2v-2.75H15v-2zm5.75 9.5H17v-2h2.75V16h2v3.75a1 1 0 01-1 1z"])').then(e=>{e.click();});},shieldGiftColumn(){a.success("屏蔽底部的礼物栏"),h.addShieldStyle('div[data-e2e="living-container"] >div> :last-child');},shieldTopToolBarInfo(){a.success("【屏蔽】顶栏信息"),h.addShieldStyle('div[data-e2e="living-container"] > div > pace-island[id^="island_"]');},shieldGiftEffects(){a.success("【屏蔽】礼物特效"),h.addShieldStyle('.basicPlayer[data-e2e="basicPlayer"] pace-island[id^="island_"]:has(>div>div>div)');},unlockImageQuality(){a.success("解锁画质选择"),x.on(document,"click",'div[data-e2e="quality-selector"] > div',function(e){var t,n;m.preventEvent(e);let i=e.target;try{let l=m.getReactObj(i),o=(t=l==null?void 0:l.reactFiber)==null?void 0:t.key,u=i.closest("div[data-index]"),s=m.getReactObj(u),d=(n=s==null?void 0:s.reactProps)==null?void 0:n.children.ref.current;a.info("当前选择的画质: "+o),a.info(["所有的画质: ",d.getCurrentQualityList()]),d.setCurrentQuality(o);}catch(l){a.error(l),E.error("切换画质失败");}},{capture:!0});}},ze={init(){r.execMenu("douyin-redirect-url-home-to-root",()=>{this.redirectUrlHomeToRoot();});},redirectUrlHomeToRoot(){window.location.pathname==="/home"&&(a.info("从首页跳转到根目录"),window.location.href=window.location.origin+"/?is_from_mobile_home=1&recommend=1");}},He={init(){ze.init(),r.execMenuOnce("debug",()=>{$e.removeEnvCheck();}),r.execMenuOnce("disguiseLogin",()=>{ve.disguiseLogin();}),r.execMenuOnce("watchLoginDialogToClose",()=>{ve.watchLoginDialogToClose();}),r.execMenuOnce("shieldBottomQuestionButton",()=>{this.shieldBottomQuestionButton();}),Ae.init(),Pe.init(),_.isLive()?(a.info("Router: 直播"),Ge.init()):_.isVideo()?(a.info("Router: 推荐视频"),k.init(),_.isSearch()&&(a.info("Router: 搜索"),Se.init())):a.error("未知router: "+window.location.hostname);},shieldBottomQuestionButton(){a.success("屏蔽底部问题按钮"),h.addShieldStyle(["#douyin-sidebar","#douyin-temp-sidebar"]);}};r.init();He.init(); + }`);},shielChatRoomVipSeats(){a.info("【屏蔽】评论区的贵宾席"),m.addShieldStyle("#chatroom > div > div:has(#audiencePanelScrollId)");}},Ge={init(){d.execMenu("live-autoEnterElementFullScreen",()=>{this.autoEnterElementFullScreen();}),d.execMenu("live-shieldGiftColumn",()=>{this.shieldGiftColumn();}),d.execMenu("live-shieldTopToolBarInfo",()=>{this.shieldTopToolBarInfo();}),d.execMenu("live-shieldGiftEffects",()=>{this.shieldGiftEffects();}),d.execMenu("live-shieldDanmuku",()=>{fe.shieldDanmu();}),d.execMenu("live-danmu-shield-rule-enable",()=>{fe.filterDanmu();}),d.execMenu("live-unlockImageQuality",()=>{this.unlockImageQuality();}),$e.init();},autoEnterElementFullScreen(){a.success("自动进入网页全屏"),h.waitNode('xg-icon[classname] > div > div:has(path[d="M9.75 8.5a2 2 0 00-2 2v11a2 2 0 002 2h12.5a2 2 0 002-2v-11a2 2 0 00-2-2H9.75zM15 11.25h-3.75a1 1 0 00-1 1V16h2v-2.75H15v-2zm5.75 9.5H17v-2h2.75V16h2v3.75a1 1 0 01-1 1z"])').then(e=>{e.click();});},shieldGiftColumn(){a.success("屏蔽底部的礼物栏"),m.addShieldStyle('div[data-e2e="living-container"] >div> :last-child');},shieldTopToolBarInfo(){a.success("【屏蔽】顶栏信息"),m.addShieldStyle('div[data-e2e="living-container"] > div > pace-island[id^="island_"]');},shieldGiftEffects(){a.success("【屏蔽】礼物特效"),m.addShieldStyle('.basicPlayer[data-e2e="basicPlayer"] pace-island[id^="island_"]:has(>div>div>div)');},unlockImageQuality(){a.success("解锁画质选择"),x.on(document,"click",'div[data-e2e="quality-selector"] > div',function(e){var t,n;h.preventEvent(e);let i=e.target;try{let r=h.getReactObj(i),o=(t=r==null?void 0:r.reactFiber)==null?void 0:t.key,u=i.closest("div[data-index]"),l=h.getReactObj(u),s=(n=l==null?void 0:l.reactProps)==null?void 0:n.children.ref.current;a.info("当前选择的画质: "+o),a.info(["所有的画质: ",s.getCurrentQualityList()]),s.setCurrentQuality(o);}catch(r){a.error(r),T.error("切换画质失败");}},{capture:!0});}},ze={init(){d.execMenu("douyin-redirect-url-home-to-root",()=>{this.redirectUrlHomeToRoot();});},redirectUrlHomeToRoot(){window.location.pathname==="/home"&&(a.info("从首页跳转到根目录"),window.location.href=window.location.origin+"/?is_from_mobile_home=1&recommend=1");}},Oe={init(){ze.init(),d.execMenuOnce("debug",()=>{Ne.removeEnvCheck();}),d.execMenuOnce("disguiseLogin",()=>{ve.disguiseLogin();}),d.execMenuOnce("watchLoginDialogToClose",()=>{ve.watchLoginDialogToClose();}),d.execMenuOnce("shieldBottomQuestionButton",()=>{this.shieldBottomQuestionButton();}),Ae.init(),Pe.init(),b.isLive()?(a.info("Router: 直播"),Ge.init()):b.isVideo()?(a.info("Router: 推荐视频"),E.init(),b.isSearch()&&(a.info("Router: 搜索"),Se.init())):a.error("未知router: "+window.location.hostname);},shieldBottomQuestionButton(){a.success("屏蔽底部问题按钮"),m.addShieldStyle(["#douyin-sidebar","#douyin-temp-sidebar"]);}};d.init();Oe.init(); })(); \ No newline at end of file diff --git "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/dist/\346\212\226\351\237\263\344\274\230\345\214\226.user.js" "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/dist/\346\212\226\351\237\263\344\274\230\345\214\226.user.js" index 09d7549c1..2b606bfaa 100644 --- "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/dist/\346\212\226\351\237\263\344\274\230\345\214\226.user.js" +++ "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/dist/\346\212\226\351\237\263\344\274\230\345\214\226.user.js" @@ -1,7 +1,7 @@ // ==UserScript== // @name 抖音优化 // @namespace https://github.com/WhiteSevs/TamperMonkeyScript -// @version 2024.5.17 +// @version 2024.5.17.13 // @author WhiteSevs // @description 过滤广告、过滤直播、可自定义过滤视频的屏蔽关键字、伪装登录、直播屏蔽弹幕、礼物特效等 // @license GPL-3.0-only @@ -1077,7 +1077,7 @@ `); } }; - const MobileCSS$1 = '/* 去除顶部的padding距离 */\r\n#douyin-right-container {\r\n padding-top: 0;\r\n}\r\n/* 放大放大顶部的综合、视频、用户等header的宽度 */\r\n#search-content-area > div > div:nth-child(1) > div:nth-child(1) {\r\n width: 100dvw;\r\n}\r\n/* 放大顶部的综合、视频、用户等header */\r\n#search-content-area > div > div:nth-child(1) > div:nth-child(1) > div {\r\n transform: scale(0.8);\r\n}\r\n/* 视频宽度 */\r\nul[data-e2e="scroll-list"] {\r\n padding: 0px 10px;\r\n}\r\n#sliderVideo {\r\n width: -webkit-fill-available;\r\n}\r\n/* 距离是顶部导航栏的高度 */\r\n#search-content-area {\r\n margin-top: 65px;\r\n}\r\n/* 调整视频列表的宽度 */\r\n@media screen and (max-width: 500px) {\r\n #sliderVideo {\r\n width: 100dvw;\r\n }\r\n /* 调整顶部搜索框的宽度 */\r\n #component-header\r\n div[data-click="doubleClick"]\r\n > div[data-click="doubleClick"]\r\n > div:has(input[data-e2e="searchbar-input"]) {\r\n width: -webkit-fill-available;\r\n padding-right: 0;\r\n }\r\n}\r\n'; + const MobileCSS$1 = '/* 去除顶部的padding距离 */\r\n#douyin-right-container {\r\n padding-top: 0;\r\n}\r\n/* 放大放大顶部的综合、视频、用户等header的宽度 */\r\n#search-content-area > div > div:nth-child(1) > div:nth-child(1) {\r\n width: 100dvw;\r\n}\r\n/* 放大顶部的综合、视频、用户等header */\r\n#search-content-area > div > div:nth-child(1) > div:nth-child(1) > div {\r\n transform: scale(0.8);\r\n}\r\n/* 视频宽度 */\r\nul[data-e2e="scroll-list"] {\r\n padding: 0px 10px;\r\n}\r\n#sliderVideo {\r\n width: -webkit-fill-available;\r\n}\r\n/* 距离是顶部导航栏的高度 */\r\n#search-content-area {\r\n margin-top: 65px;\r\n}\r\n/* 调整视频列表的宽度 */\r\n@media screen and (max-width: 550px) {\r\n #sliderVideo {\r\n width: 100dvw;\r\n }\r\n /* 调整顶部搜索框的宽度 */\r\n #component-header\r\n div[data-click="doubleClick"]\r\n > div[data-click="doubleClick"]\r\n > div:has(input[data-e2e="searchbar-input"]) {\r\n width: -webkit-fill-available;\r\n padding-right: 0;\r\n }\r\n}\r\n\r\n'; const DouYinSearch = { init() { DouYinSearchHideElement.init(); @@ -1088,9 +1088,19 @@ mobileMode() { log.info("搜索-手机模式"); _GM_addStyle(MobileCSS$1); + utils.waitNode("#relatedVideoCard").then(($relatedVideoCard) => { + log.info("评论区展开的className:" + $relatedVideoCard.className); + _GM_addStyle(` + html[data-vertical-screen] + #sliderVideo[data-e2e="feed-active-video"] + #videoSideBar:has(#relatedVideoCard[class*="${$relatedVideoCard.className}"]) { + width: 100dvw !important; + } + `); + }); } }; - const MobileCSS = '/* 右侧工具栏放大 */\r\n.basePlayerContainer .positionBox {\r\n scale: unset !important;\r\n bottom: 80px !important;\r\n padding-right: 5px !important;\r\n transform: scale(1.12) !important;\r\n}\r\n/* 图标再放大 */\r\n.basePlayerContainer .positionBox svg {\r\n transform: scale(1.12);\r\n}\r\n/* 重置关注按钮的scale */\r\n.basePlayerContainer\r\n .positionBox\r\n .dy-tip-container\r\n div[data-e2e="feed-follow-icon"]\r\n svg {\r\n scale: unset;\r\n}\r\n/* 设备处于横向方向,即宽度大于高度。 */\r\n@media screen and (orientation: landscape) {\r\n /* 右侧工具栏放大 */\r\n .basePlayerContainer .positionBox {\r\n /*transform: scale(0.95) !important;\r\n bottom: 42px !important;*/\r\n padding-right: 10px !important;\r\n }\r\n}\r\n/* 该设备是纵向的,即高度大于或等于宽度 */\r\n@media screen and (orientation: portrait) {\r\n}\r\n\r\n/* 调整视频列表的宽度 */\r\n@media screen and (max-width: 500px) {\r\n #slidelist {\r\n width: 100dvw;\r\n }\r\n /* 调整顶部搜索框的宽度 */\r\n #douyin-header\r\n div[data-click="doubleClick"]\r\n > div[data-click="doubleClick"]\r\n > div:has(input[data-e2e="searchbar-input"]) {\r\n width: -webkit-fill-available;\r\n padding-right: 0;\r\n }\r\n}\r\n'; + const MobileCSS = '/* 右侧工具栏放大 */\r\n.basePlayerContainer .positionBox {\r\n scale: unset !important;\r\n bottom: 80px !important;\r\n padding-right: 5px !important;\r\n transform: scale(1.12) !important;\r\n}\r\n/* 图标再放大 */\r\n.basePlayerContainer .positionBox svg {\r\n transform: scale(1.12);\r\n}\r\n/* 重置关注按钮的scale */\r\n.basePlayerContainer\r\n .positionBox\r\n .dy-tip-container\r\n div[data-e2e="feed-follow-icon"]\r\n svg {\r\n scale: unset;\r\n}\r\n/* 设备处于横向方向,即宽度大于高度。 */\r\n@media screen and (orientation: landscape) {\r\n /* 右侧工具栏放大 */\r\n .basePlayerContainer .positionBox {\r\n /*transform: scale(0.95) !important;\r\n bottom: 42px !important;*/\r\n padding-right: 10px !important;\r\n }\r\n}\r\n/* 该设备是纵向的,即高度大于或等于宽度 */\r\n@media screen and (orientation: portrait) {\r\n}\r\n\r\n/* 调整视频列表的宽度 */\r\n@media screen and (max-width: 550px) {\r\n #slidelist {\r\n width: 100dvw;\r\n height: 100dvh;\r\n }\r\n /* 调整顶部搜索框的宽度 */\r\n #douyin-header\r\n div[data-click="doubleClick"]\r\n > div[data-click="doubleClick"]\r\n > div:has(input[data-e2e="searchbar-input"]) {\r\n width: -webkit-fill-available;\r\n padding-right: 0;\r\n }\r\n}\r\n'; const DouYinVideo = { init() { DouYinVideoHideElement.init(); @@ -2287,6 +2297,7 @@ let userInfoList = []; let $react = utils.getReactObj(element); let reactFiber = $react == null ? void 0 : $react.reactFiber; + $react == null ? void 0 : $react.reactProps; if ((_c = (_b = (_a2 = reactFiber == null ? void 0 : reactFiber.alternate) == null ? void 0 : _a2.return) == null ? void 0 : _b.memoizedProps) == null ? void 0 : _c.userInfo) { userInfoList.push( (_f = (_e = (_d = reactFiber == null ? void 0 : reactFiber.alternate) == null ? void 0 : _d.return) == null ? void 0 : _e.memoizedProps) == null ? void 0 : _f.userInfo @@ -2336,6 +2347,7 @@ setLogin(DouYinElement.getOSElement()); }, 70) }); + }).catch((err) => { }); if (DouYinRouter.isLive()) { utils.waitNodeWithInterval( @@ -2354,6 +2366,32 @@ }, 70) }); }); + } else if (DouYinRouter.isSearch()) { + let setUserInfoBySearch = function($ele) { + var _a2, _b, _c, _d, _e, _f, _g; + let $react = utils.getReactObj($ele); + $react == null ? void 0 : $react.reactFiber; + let reactProps = $react == null ? void 0 : $react.reactProps; + if (typeof ((_d = (_c = (_b = (_a2 = reactProps == null ? void 0 : reactProps.children) == null ? void 0 : _a2[1]) == null ? void 0 : _b.props) == null ? void 0 : _c.userInfo) == null ? void 0 : _d.isLogin) === "boolean") { + reactProps.children[1].props.userInfo.isLogin = true; + } + if (typeof ((_g = (_f = (_e = reactProps == null ? void 0 : reactProps.children) == null ? void 0 : _e[1]) == null ? void 0 : _f.props) == null ? void 0 : _g.isClient) === "boolean") { + reactProps.children[1].props.isClient = true; + } + }; + utils.waitNodeWithInterval("#root > div", WAIT_TIME).then(() => { + utils.mutationObserver(document.body, { + config: { + subtree: true, + childList: true + }, + callback: utils.debounce((mutation, observer) => { + setUserInfoBySearch( + document.querySelector("#root > div") + ); + }, 70) + }); + }); } }, /** diff --git "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Account/DouYinAccount.ts" "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Account/DouYinAccount.ts" index 4aabde155..e5d9a86b6 100644 --- "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Account/DouYinAccount.ts" +++ "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Account/DouYinAccount.ts" @@ -18,6 +18,7 @@ const DouYinAccount = { let userInfoList = []; let $react = utils.getReactObj(element); let reactFiber = $react?.reactFiber; + let reactProps = $react?.reactProps; if (reactFiber?.alternate?.return?.memoizedProps?.userInfo) { userInfoList.push( reactFiber?.alternate?.return?.memoizedProps?.userInfo @@ -76,7 +77,8 @@ const DouYinAccount = { setLogin(DouYinElement.getOSElement()); }, 70), }); - }); + }) + .catch((err) => {}); /* 直播的顶部live */ if (DouYinRouter.isLive()) { utils @@ -97,6 +99,36 @@ const DouYinAccount = { }, 70), }); }); + } else if (DouYinRouter.isSearch()) { + /* 搜索 */ + function setUserInfoBySearch($ele: HTMLElement) { + /* 搜索页面的用户信息 */ + let $react = utils.getReactObj($ele); + let reactFiber = $react?.reactFiber; + let reactProps = $react?.reactProps; + if ( + typeof reactProps?.children?.[1]?.props?.userInfo?.isLogin === + "boolean" + ) { + reactProps.children[1].props.userInfo.isLogin = true; + } + if (typeof reactProps?.children?.[1]?.props?.isClient === "boolean") { + reactProps.children[1].props.isClient = true; + } + } + utils.waitNodeWithInterval("#root > div", WAIT_TIME).then(() => { + utils.mutationObserver(document.body, { + config: { + subtree: true, + childList: true, + }, + callback: utils.debounce((mutation, observer) => { + setUserInfoBySearch( + document.querySelector("#root > div") as HTMLDivElement + ); + }, 70), + }); + }); } }, /** diff --git "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Search/DouYinSearch.ts" "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Search/DouYinSearch.ts" index d8c31cc8a..fd6b4ab93 100644 --- "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Search/DouYinSearch.ts" +++ "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Search/DouYinSearch.ts" @@ -13,6 +13,17 @@ const DouYinSearch = { mobileMode() { log.info("搜索-手机模式"); GM_addStyle(MobileCSS); + /* 评论区展开才会出现 */ + utils.waitNode("#relatedVideoCard").then(($relatedVideoCard) => { + log.info("评论区展开的className:" + $relatedVideoCard.className); + GM_addStyle(` + html[data-vertical-screen] + #sliderVideo[data-e2e="feed-active-video"] + #videoSideBar:has(#relatedVideoCard[class*="${$relatedVideoCard.className}"]) { + width: 100dvw !important; + } + `); + }); }, }; diff --git "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Search/mobile.css" "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Search/mobile.css" index ce2f5651f..adeaaf6db 100644 --- "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Search/mobile.css" +++ "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Search/mobile.css" @@ -22,7 +22,7 @@ ul[data-e2e="scroll-list"] { margin-top: 65px; } /* 调整视频列表的宽度 */ -@media screen and (max-width: 500px) { +@media screen and (max-width: 550px) { #sliderVideo { width: 100dvw; } @@ -35,3 +35,4 @@ ul[data-e2e="scroll-list"] { padding-right: 0; } } + diff --git "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Video/mobile.css" "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Video/mobile.css" index 9d8edb9a3..40f1c905d 100644 --- "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Video/mobile.css" +++ "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/src/main/Video/mobile.css" @@ -31,9 +31,10 @@ } /* 调整视频列表的宽度 */ -@media screen and (max-width: 500px) { +@media screen and (max-width: 550px) { #slidelist { width: 100dvw; + height: 100dvh; } /* 调整顶部搜索框的宽度 */ #douyin-header diff --git "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/vite.config.ts" "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/vite.config.ts" index df5d88c9f..92304ebd2 100644 --- "a/packages/\346\212\226\351\237\263\344\274\230\345\214\226/vite.config.ts" +++ "b/packages/\346\212\226\351\237\263\344\274\230\345\214\226/vite.config.ts" @@ -113,4 +113,7 @@ export default defineConfig({ minify: isMinify, emptyOutDir: isEmptyOutDir, }, + server: { + host: "0.0.0.0", + }, });