Skip to content

Commit

Permalink
feat: ✨ 新增功能&修复bug
Browse files Browse the repository at this point in the history
新增【通用】=>initial-scale=1
更新依赖库@whitesev/domutils 1.1.1
更新依赖库@whitesev/utils 1.3.2
迁移DouYinElement.addShieldStyle => DouYinUtils.addBlockCSS
修复【直播】=>【屏蔽】底部的礼物栏在网页全屏下失效问题
调整watchVideDataListChange获取osElement的逻辑
  • Loading branch information
WhiteSevs committed Jun 2, 2024
1 parent 9f1df8f commit 4dc01e6
Show file tree
Hide file tree
Showing 20 changed files with 413 additions and 321 deletions.
4 changes: 2 additions & 2 deletions packages/抖音优化/SCRIPT_VERSION.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"time": 1717171990649,
"version": "2024.6.1"
"time": 1717302212783,
"version": "2024.6.2"
}
53 changes: 29 additions & 24 deletions packages/抖音优化/dist/抖音优化.min.user.js

Large diffs are not rendered by default.

288 changes: 162 additions & 126 deletions packages/抖音优化/dist/抖音优化.user.js

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions packages/抖音优化/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@
"preview": "vue-tsc --noEmit && vite preview"
},
"dependencies": {
"@whitesev/domutils": "^1.1.0",
"@whitesev/utils": "^1.3.0",
"@whitesev/domutils": "^1.1.1",
"@whitesev/utils": "^1.3.2",
"qmsg": "^1.1.0",
"vue": "^3.4.27"
},
"devDependencies": {
"@types/node": "^20.12.13",
"@types/node": "^20.13.0",
"@vitejs/plugin-vue": "^5.0.5",
"typescript": "^5.4.5",
"vite": "^5.2.12",
Expand Down
15 changes: 10 additions & 5 deletions packages/抖音优化/src/main/Account/DouYinAccount.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { log, utils } from "@/env";
import { DouYinElement } from "../Element/DouYinElement";
import { DouYinElement } from "../../utils/DouYinElement";
import { DouYinRouter } from "@/router/router";
import { DouYinUtils } from "@/utils/DouYinUtils";

const DouYinAccount = {
/**
Expand Down Expand Up @@ -62,8 +63,8 @@ const DouYinAccount = {
});
});
}
DouYinElement.watchVideDataListChange(() => {
setLogin(DouYinElement.getOSElement());
DouYinElement.watchVideDataListChange(($os) => {
setLogin($os);
});
utils
.waitNode<HTMLDivElement>("#root div[class*='-os']", WAIT_TIME)
Expand All @@ -74,7 +75,11 @@ const DouYinAccount = {
childList: true,
},
callback: utils.debounce(() => {
setLogin(DouYinElement.getOSElement());
let $os = DouYinElement.getOSElement();
if (!$os) {
return;
}
setLogin($os);
}, 70),
});
})
Expand Down Expand Up @@ -142,7 +147,7 @@ const DouYinAccount = {
*/
watchLoginDialogToClose() {
log.info("监听登录弹窗并关闭");
DouYinElement.addShieldStyle('div[id^="login-full-panel-"]');
DouYinUtils.addBlockCSS('div[id^="login-full-panel-"]');
utils.waitNode<HTMLBodyElement>("body").then(() => {
utils.mutationObserver(document.body, {
config: {
Expand Down
35 changes: 22 additions & 13 deletions packages/抖音优化/src/main/DouYin.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { log } from "@/env";
import { DOMUtils, log, utils } from "@/env";
import { PopsPanel } from "@/setting/setting";
import { ShieldHeader } from "./UIFrameShield/FrameNavigator";
import { ShieldSearch } from "./UIFrameShield/FrameSearch";
Expand All @@ -9,7 +9,8 @@ import { DouYinRouter } from "@/router/router";
import { DouYinLive } from "./Live/DouYinLive";
import { DouYinRedirect } from "./DouYinRedirect";
import { DouYinSearch } from "./Search/DouYinSearch";
import { DouYinElement } from "./Element/DouYinElement";
import { DouYinElement } from "../utils/DouYinElement";
import { DouYinUtils } from "@/utils/DouYinUtils";

const DouYin = {
init() {
Expand All @@ -20,12 +21,12 @@ const DouYin = {
PopsPanel.execMenuOnce("watchLoginDialogToClose", () => {
DouYinAccount.watchLoginDialogToClose();
});
PopsPanel.execMenuOnce("shieldBottomQuestionButton", () => {
this.shieldBottomQuestionButton();
});
PopsPanel.execMenuOnce("disguiseLogin", () => {
DouYinAccount.disguiseLogin();
});
PopsPanel.execMenuOnce("dy-initialScale", () => {
this.initialScale();
});
ShieldHeader.init();
ShieldSearch.init();
if (DouYinRouter.isLive()) {
Expand All @@ -43,15 +44,23 @@ const DouYin = {
}
},
/**
* 屏蔽底部问题按钮
* 固定meta viewport缩放倍率为1
*/
shieldBottomQuestionButton() {
log.success("屏蔽底部问题按钮");
DouYinElement.addShieldStyle([
"#douyin-sidebar",
/* 推荐视频右下角的?按钮 */
"#douyin-temp-sidebar",
]);
initialScale() {
log.info("设置<meta>的viewport固定缩放倍率为1并移除页面原有的<meta>");
let meta = DOMUtils.createElement(
"meta",
{},
{
name: "viewport",
content:
"width=device-width,initial-scale=1,user-scalable=no,viewport-fit=cover",
}
);
DOMUtils.remove("meta[name='viewport']");
utils.waitNode("head").then(() => {
document.head.appendChild(meta);
});
},
};

Expand Down
56 changes: 0 additions & 56 deletions packages/抖音优化/src/main/Element/DouYinElement.ts

This file was deleted.

30 changes: 20 additions & 10 deletions packages/抖音优化/src/main/Live/DouYinLive.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import { DOMUtils, log, utils } from "@/env";
import { PopsPanel } from "@/setting/setting";
import { DouYinElement } from "@/main/Element/DouYinElement";
import { DouYinElement } from "@/utils/DouYinElement";
import { DouYinLiveChatRoom } from "./DouYinLiveChatRoom";
import { DouYinLiveDanmuku } from "./DouYinLiveDanmuku";
import Qmsg from "qmsg";
import { DouYinUtils } from "@/utils/DouYinUtils";
import { GM_addStyle } from "ViteGM";

/**
* 直播画质
Expand Down Expand Up @@ -52,7 +54,7 @@ const DouYinLive = {
* 自动进入网页全屏
*/
autoEnterElementFullScreen() {
log.success("自动进入网页全屏");
log.info("自动进入网页全屏");
utils
.waitNode<HTMLDivElement>(
'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"])'
Expand All @@ -65,27 +67,35 @@ const DouYinLive = {
* 【屏蔽】底部的礼物栏
*/
shieldGiftColumn() {
log.success("屏蔽底部的礼物栏");
DouYinElement.addShieldStyle(
'div[data-e2e="living-container"] >div> :last-child'
log.info("屏蔽底部的礼物栏");
DouYinUtils.addBlockCSS(
'div[data-e2e="living-container"] >div> :last-child',
/* 全屏状态下的礼物栏 */
'div[data-e2e="living-container"] xg-controls > div:has(div[data-e2e="gifts-container"])'
);
GM_addStyle(`
/* 去除全屏状态下的礼物栏后,上面的工具栏bottom也去除 */
div[data-e2e="living-container"] xg-controls xg-inner-controls:has(+div div[data-e2e="gifts-container"]){
bottom: 0 !important;
}
`);
},
/**
* 【屏蔽】顶栏信息
* 包括直播作者、右侧的礼物展馆
*/
shieldTopToolBarInfo() {
log.success("【屏蔽】顶栏信息");
DouYinElement.addShieldStyle(
log.info("【屏蔽】顶栏信息");
DouYinUtils.addBlockCSS(
'div[data-e2e="living-container"] > div > pace-island[id^="island_"]'
);
},
/**
* 【屏蔽】礼物特效
*/
shieldGiftEffects() {
log.success("【屏蔽】礼物特效");
DouYinElement.addShieldStyle(
log.info("【屏蔽】礼物特效");
DouYinUtils.addBlockCSS(
'.basicPlayer[data-e2e="basicPlayer"] pace-island[id^="island_"]:has(>div>div>div)'
);
},
Expand All @@ -95,7 +105,7 @@ const DouYinLive = {
* 未登录情况下最高选择【高清】画质
*/
unlockImageQuality() {
log.success("解锁画质选择");
log.info("解锁画质选择");
DOMUtils.on(
document,
"click",
Expand Down
15 changes: 8 additions & 7 deletions packages/抖音优化/src/main/Live/DouYinLiveChatRoom.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { GM_addStyle } from "ViteGM";
import { PopsPanel } from "@/setting/setting";
import { DouYinElement } from "../Element/DouYinElement";
import { DouYinElement } from "../../utils/DouYinElement";
import { log } from "@/env";
import { DouYinUtils } from "@/utils/DouYinUtils";

const DouYinLiveChatRoom = {
init() {
Expand Down Expand Up @@ -29,7 +30,7 @@ const DouYinLiveChatRoom = {
*/
shieldChatRoom() {
log.info("【屏蔽】评论区");
DouYinElement.addShieldStyle("#chatroom");
DouYinUtils.addBlockCSS("#chatroom");
GM_addStyle(`
div[data-e2e="living-container"],
div[data-e2e="living-container"] > div{
Expand All @@ -41,7 +42,7 @@ const DouYinLiveChatRoom = {
*/
shielChatRoomVipSeats() {
log.info("【屏蔽】评论区的贵宾席");
DouYinElement.addShieldStyle(
DouYinUtils.addBlockCSS(
"#chatroom > div > div:has(#audiencePanelScrollId)"
);
},
Expand All @@ -50,7 +51,7 @@ const DouYinLiveChatRoom = {
*/
shieldUserLevelIcon() {
log.info("【屏蔽】用户等级图标");
DouYinElement.addShieldStyle(
DouYinUtils.addBlockCSS(
'.webcast-chatroom___item span:has(>img[src*="level"])'
);
},
Expand All @@ -59,7 +60,7 @@ const DouYinLiveChatRoom = {
*/
shieldUserVIPIcon() {
log.info("【屏蔽】VIP图标");
DouYinElement.addShieldStyle(
DouYinUtils.addBlockCSS(
'.webcast-chatroom___item span:has(>img[src*="subscribe"])'
);
},
Expand All @@ -68,7 +69,7 @@ const DouYinLiveChatRoom = {
*/
shieldUserFansIcon() {
log.info("【屏蔽】粉丝牌");
DouYinElement.addShieldStyle(
DouYinUtils.addBlockCSS(
'.webcast-chatroom___item span:has(>div[style*="fansclub"])'
);
},
Expand All @@ -77,7 +78,7 @@ const DouYinLiveChatRoom = {
*/
shieldMessage() {
log.info("【屏蔽】信息播报");
DouYinElement.addShieldStyle(".webcast-chatroom___bottom-message");
DouYinUtils.addBlockCSS(".webcast-chatroom___bottom-message");
},
};

Expand Down
7 changes: 4 additions & 3 deletions packages/抖音优化/src/main/Live/DouYinLiveDanmuku.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { DOMUtils, log, utils } from "@/env";
import { DouYinElement } from "../Element/DouYinElement";
import { DouYinElement } from "../../utils/DouYinElement";
import { GM_getValue, GM_setValue } from "ViteGM";
import { DouYinUtils } from "@/utils/DouYinUtils";

const DouYinDanmuFilter = {
key: "douyin-live-danmu-rule",
Expand Down Expand Up @@ -74,8 +75,8 @@ const DouYinLiveDanmuku = {
* 屏蔽弹幕
*/
shieldDanmu() {
log.success("屏蔽弹幕");
DouYinElement.addShieldStyle("xg-danmu.xgplayer-danmu");
log.info("屏蔽弹幕");
DouYinUtils.addBlockCSS("xg-danmu.xgplayer-danmu");
},
/**
* 弹幕过滤
Expand Down
11 changes: 5 additions & 6 deletions packages/抖音优化/src/main/Search/DouYinSearchHideElement.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { PopsPanel } from "@/setting/setting";
import { DouYinElement } from "../Element/DouYinElement";
import { DouYinElement } from "../../utils/DouYinElement";
import { log } from "@/env";
import { GM_addStyle } from "ViteGM";
import { DouYinUtils } from "@/utils/DouYinUtils";

const DouYinSearchHideElement = {
init() {
Expand All @@ -14,14 +15,12 @@ const DouYinSearchHideElement = {
*/
shieldReleatedSearches() {
log.info("【屏蔽】相关搜索");
DouYinElement.addShieldStyle(
"#search-content-area > div > div:nth-child(2)"
);
GM_addStyle(`
DouYinUtils.addBlockCSS("#search-content-area > div > div:nth-child(2)");
GM_addStyle(`
#search-content-area > div > div:nth-child(1) > div:nth-child(1){
width: 100dvw;
}
`)
`);
},
};

Expand Down
Loading

0 comments on commit 4dc01e6

Please sign in to comment.