import { BasePlugin } from '../core/base-plugin.js'; import { __publicField, isJavBus, isJavDb, NO, YES, qualityOptions } from '../core/constants.js'; import { AliyunApi, WebDavApi, SALT, simpleEncrypt } from './auto-page.js'; class SettingPlugin extends BasePlugin { constructor() { super(...arguments); __publicField(this, "folderName", "JHS-数据备份"); __publicField(this, "cacheItems", [ { key: "jhs_dmm_video", text: "🎥 预览视频缓存", title: "预览视频缓存" }, { key: "jhs_other_site", text: "🌍 第三方站点缓存", title: "第三方站点资源检测结果, 如missav,123Av等" }, { key: "jhs_screenShot", text: "🖼️ 缩略图缓存", title: "缩略图缓存" }, { key: "jhs_translate", text: "🆎 标题翻译", title: "标题翻译" }, { key: "jhs_actress_info", text: "👩 演员信息", title: "演员的年龄三围等数据信息" }, { key: "jhs_score_info", text: "⭐ Top250|热播 评分数据", title: "Top250及热播的评分数据" } ]); } getName() { return "SettingPlugin"; } async initCss() { const settingObj = await storageManager.getSetting(); let containerWidth = (null == settingObj ? void 0 : settingObj.containerWidth) ?? "100", containerColumns = utils.isMobile() && window.innerWidth < 1e3 ? 1 : (null == settingObj ? void 0 : settingObj.containerColumns) ?? 5; this.applyImageMode().then(); let containerWidthCss = `\n section .container{\n max-width: 1000px !important;\n min-width: ${containerWidth}%;\n }\n .movie-list, .movie-list.v{\n grid-template-columns: repeat(${containerColumns}, minmax(0, 1fr));\n }\n `; isJavBus && (containerWidthCss = `\n .container-fluid .row{\n max-width: 1000px !important;\n min-width: ${containerWidth}%;\n margin: auto auto;\n }\n \n .container {\n max-width: 1000px !important;\n min-width: 80%;\n margin: auto auto;\n }\n \n .masonry {\n grid-template-columns: repeat(${containerColumns}, minmax(0, 1fr));\n }\n `); return `\n \n `; } async handle() { await storageManager.getSetting("enableClog", YES) === YES && clog.show(); if (isJavDb) { let handleResize2 = function() { if ($(".navbar-search").is(":hidden")) { $(".mini-setting-box").hide(); $(".setting-box").show(); } else { $(".mini-setting-box").show(); $(".setting-box").hide(); } }; $("#navbar-menu-user .navbar-end").prepend(''); utils.loopDetector((() => $("#miniHistoryBtn").length > 0), (() => { $(".miniHistoryBtnBox").before('\n \n '); handleResize2(); })); $(window).resize(handleResize2); } if (isJavBus) { utils.loopDetector((() => $("#waitCheckBtn").length), (() => { $("#waitCheckBtn").parent().append('\n
\n
\n \n 设置\n \n
\n
\n
\n '); }), 1, 1e4, !1); window.isDetailPage && $("h3").before('\n
\n
\n
\n \n 设置\n \n
\n
\n
\n
\n '); } $(".main-nav, .container-fluid").on("click", "#setting-btn, #mini-setting-btn", (() => { clog.lowZIndex(); this.openSettingDialog(); })); $(".main-nav, .container-fluid").on("mouseenter", ".setting-box", (async () => { $(".simple-setting").html(await this.simpleSetting()).show(); this.initSimpleSettingForm().then(); clog.lowZIndex(); })).on("mouseleave", ".setting-box", (() => { $(".simple-setting").html("").hide(); })); $(".main-nav, .container-fluid").on("mouseenter", ".mini-setting-box", (async () => { $(".mini-simple-setting").html(await this.simpleSetting()).show(); this.initSimpleSettingForm().then(); clog.lowZIndex(); })).on("mouseleave", ".mini-setting-box", (() => { $(".mini-simple-setting").html("").hide(); })); } async openSettingDialog(defaultActivePanel = "backup-panel", fun) { const buttonsHTML = this.cacheItems.map((item => `\n
\n
${item.text}
\n
\n \n 清理\n \n \n 查看\n \n
\n
\n `)).join(""); let videoQualityHtml = ""; qualityOptions.forEach((option => { option.canSelect && (videoQualityHtml += ``); })); const coverButtonPlugin = this.getBean("CoverButtonPlugin"); let settingHtml = `\n
\n
\n
💾 数据备份
\n
⚙️ 基础配置
\n
🚫 屏蔽配置
\n
📋 定时任务
\n
🌐 外部网站
🗑️ 标记删除
⌨️ 快捷键配置
\n
🧹 清理缓存
\n
💵 打赏作者
\n
\n \n
\n
\n \n \x3c!-- 阿里云盘面板 --\x3e\n
\n
\n 导入数据\n 导出数据\n 获取refresh_token\n
\n \n
\n 阿里云盘备份\n \n
\n
\n refresh_token:\n
\n \n
\n
\n \n
\n \n
\n WebDav备份\n \n
\n
\n 服务地址:\n
\n \n
\n
\n
\n 用户名:\n
\n \n
\n
\n
\n 密码:\n
\n \n
\n
\n
\n \n \n \x3c!-- 基础设置面板 --\x3e\n
\n
\n 已鉴定标签展示位置:\n
\n \n
\n
\n \n
\n 已鉴定内容处理方式:\n
\n \n
\n
\n \n
\n \n 鉴定补录演员信息 ❓\n \n
\n \n
\n
\n \n
\n \n
\n \n 列表页功能按钮\n \n
\n \n
\n 按钮-打开待鉴定:\n
\n \n
\n
\n \n
\n 按钮-打开已收藏:\n
\n \n
\n
\n \n
\n 打开待鉴定|已收藏 窗口数:\n
\n \n
\n
\n \n
\n 随机打开已收藏:\n
\n \n
\n
\n \n \n
\n \n
\n \n 封面快捷按钮\n \n
\n \n
\n \n ${coverButtonPlugin.screenSvg}长缩略图:\n \n
\n \n
\n
\n \n
\n \n ${coverButtonPlugin.videoSvg}预览视频:\n \n
\n \n
\n
\n \n
\n \n ${coverButtonPlugin.handleSvg}鉴定按钮:\n \n
\n \n
\n
\n \n
\n \n ${coverButtonPlugin.siteSvg}第三方跳转:\n \n
\n \n
\n
\n \n
\n \n ${coverButtonPlugin.copySvg}复制按钮:\n \n
\n \n
\n
\n \n
\n\n
\n 预览视频默认画质:\n
\n \n
\n
\n \n
\n 评论区条数:\n
\n \n
\n
\n \n
\n \n 高亮已收藏演员 ❓\n \n
\n \n
\n
\n \n
\n \n 分类标签|高亮演员-边框样式:\n \n
\n \n \n
\n
\n\n
\n \n
\n 请求超时时间(毫秒):\n
\n \n
\n
\n \n
\n 请求失败重试次数:\n
\n \n
\n
\n \n
\n \n
\n \n 启用控制台日志:\n \n
\n \n
\n
\n\n
\n 日志最大行数:\n
\n \n
\n
\n
\n \n \x3c!-- 定时任务 --\x3e\n
\n \n
\n 请求并发数量:\n
\n \n
\n
\n
\n 请求间隔时间(毫秒):\n
\n \n
\n
\n \n
\n \n
\n 自动检测屏蔽黑名单演员\n
\n \n 任务开关: ❓ \n \n
\n \n
\n
\n
\n 任务间隔时间:\n
\n \n
\n
\n
\n 检测规则:\n
\n \n
\n
\n
\n \n
\n 自动同步已收藏的演员\n
\n \n 任务开关: ❓ \n \n
\n \n
\n
\n
\n 任务间隔时间:\n
\n \n
\n
\n
\n \n
\n 自动检测已收藏演员的最新作品\n
\n \n 任务开关: ❓ \n \n
\n \n
\n
\n
\n 任务间隔时间:\n
\n \n
\n
\n
\n 检测规则:\n
\n \n
\n
\n
\n
\n \n \x3c!-- 域名设置面板 --\x3e\n
\n
\n 域名 - MissAv:\n
\n \n
\n
\n
\n 域名 - Jable:\n
\n \n
\n
\n
\n 域名 - JavTrailer:\n
\n \n
\n
\n
\n 域名 - 123Av:\n
\n \n
\n
\n
\n 域名 - JavDb:\n
\n \n
\n
\n
\n 域名 - JavBus:\n
\n \n
\n
\n
\n 域名 - SupJav:\n
\n \n
\n
\n
\n \n \x3c!-- 标记删除 --\x3e
标记删除列表
加载中...

⚠ 作品删除目前暂无法删除115下载记录,如果需要重新下载,请去115云下载记录里删除或清空记录

\x3c!-- 快捷键 --\x3e\n
\n

快捷键修改后, 刷新页面生效

\n
\n
\n 🚫 屏蔽:\n
\n \n
\n
\n
\n ⭐ 收藏:\n
\n \n
\n
\n
\n 📥️ 已下载:\n
\n \n
\n
\n
\n 🔍 已观看:\n
\n \n
\n
\n \n
\n \n ❓ 对视频列表页启用快捷键:\n \n
\n \n
\n
\n
\n \n
\n
\n ⏩ 快进:\n
\n \n
\n
\n \n
\n ▲ 折叠:\n
\n \n
\n
\n \n
\n 💻 控制台:\n
\n \n
\n
\n
\n\n\n
\n 显示已鉴定内容\n
\n 屏蔽单番号:\n
\n \n
\n
\n
\n 屏蔽演员:\n
\n \n
\n
\n
\n 屏蔽关键词:\n
\n \n
\n
\n
\n 收藏:\n
\n \n
\n
\n
\n 已下载:\n
\n \n
\n
\n
\n 已观看:\n
\n \n
\n
\n
\n 显示所有:\n
\n \n
\n
\n
\n\n
\n \n \x3c!-- 屏蔽设置面板 --\x3e\n
\n
\n \n 启用划词屏蔽 ❓ \n \n
\n \n
\n
\n \n
\n \n
\n
\n 评论区屏蔽词:\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n
\n 视频标题屏蔽词:\n
\n \n \n
\n
\n
\n
\n
\n
\n

以下操作, 不会对核心数据造成影响

\n
\n
\n ${buttonsHTML}\n
\n \n
\n
\n

如果JHS-enhance给您带来了便捷和价值,请考虑给予一点支持,您的鼓励是我持续创作的最大动力!感谢您的慷慨支持!

\n
\n
\n
\n SOL二维码\n

SOL

\n

点击地址可复制

\n
\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n `; layer.open({ type: 1, title: "设置", content: settingHtml, area: utils.getResponsiveArea([ "55%", "90%" ]), scrollbar: !1, success: (layero, index) => { $(layero).find(".layui-layer-content").css("position", "relative"); this.loadForm(); this.bindClick(); utils.setupEscClose(index); fun && fun(); }, end: () => { this.getBean("CoverButtonPlugin").enableSvgBtn(); } }); } async simpleSetting() { let settingObj = await storageManager.getSetting(); const showFilterItemHotKey = settingObj.showFilterItemHotKey, showFilterActorItemHotKey = settingObj.showFilterActorItemHotKey, showFilterKeywordItemHotKey = settingObj.showFilterKeywordItemHotKey, showFavoriteItemHotKey = settingObj.showFavoriteItemHotKey, showHasDownItemHotKey = settingObj.showHasDownItemHotKey, showHasWatchItemHotKey = settingObj.showHasWatchItemHotKey, showAllItemHotKey = settingObj.showAllItemHotKey; return `\n
\n
\n
\n \n 显示已鉴定内容:\n \n
\n 屏蔽单番号${showFilterItemHotKey ? `(${showFilterItemHotKey})` : ""}:
\n 屏蔽演员${showFilterActorItemHotKey ? `(${showFilterActorItemHotKey})` : ""}:
\n 屏蔽关键词${showFilterKeywordItemHotKey ? `(${showFilterKeywordItemHotKey})` : ""}:
\n 收藏${showFavoriteItemHotKey ? `(${showFavoriteItemHotKey})` : ""}:
\n 已下载${showHasDownItemHotKey ? `(${showHasDownItemHotKey})` : ""}:
\n 已观看${showHasWatchItemHotKey ? `(${showHasWatchItemHotKey})` : ""}:
\n
\n
\n
\n \n ❓ 显示所有${showAllItemHotKey ? `(${showAllItemHotKey})` : ""}:\n \n
\n \n
\n
\n \n
\n \n
\n \n ❓ 弹窗方式打开页面:\n \n
\n \n
\n
\n \n
\n 鉴定后立即关闭页面:\n
\n \n
\n
\n \n
\n\n
\n \n ❓ 瀑布流模式:\n \n
\n \n
\n
\n \n
\n 启用标题翻译:\n
\n \n
\n
\n \n
\n 启用悬浮大图:\n
\n \n
\n
\n \n
\n \n ❓ 不规则重命名:(刷新详情页生效,有延迟)\n
\n \n
\n
\n \n \n \n
\n 启用115视频匹配: \n
\n \n
\n
\n \n
\n\n ${isJavDb ? '\n
\n \n ❓ 加载女优信息:\n \n
\n \n
\n
' : ""}\n \n
\n \n ❓ 加载第三方视频资源:\n \n
\n \n
\n
\n \n
\n \n ❓ 加载长缩略图:\n \n
\n \n
\n
\n \n
\n \n ❓ 更高画质预览视频:\n \n
\n \n
\n
\n\n
\n\n
\n \n ❓ 竖图模式:\n \n
\n \n
\n
\n \n
\n 页面列数: \n
\n \n
\n
\n \n
\n 页面宽度: \n
\n \n
\n
\n
\n
\n \n \n
\n
\n `; } async loadForm() { let settingObj = await storageManager.getSetting(); $("#videoQuality").val(settingObj.videoQuality); $("#reviewCount").val(settingObj.reviewCount || 20); $("#tagPosition").val(settingObj.tagPosition || "rightTop"); $("#movieShowType").val(settingObj.movieShowType || "hide"); $("#waitCheckCount").val(settingObj.waitCheckCount || 5); $("#showWaitCheckBtn").prop("checked", !settingObj.showWaitCheckBtn || settingObj.showWaitCheckBtn === YES); $("#showWaitDownBtn").prop("checked", !settingObj.showWaitDownBtn || settingObj.showWaitDownBtn === YES); $("#randomOpenWaitDown").prop("checked", !!settingObj.randomOpenWaitDown && settingObj.randomOpenWaitDown === YES); $("#checkConcurrencyCount").val(settingObj.checkConcurrencyCount || 2); $("#checkRequestSleep").val(settingObj.checkRequestSleep || 100); $("#enableCheckBlacklist").val(settingObj.enableCheckBlacklist || YES); $("#checkBlacklist_intervalTime").val(settingObj.checkBlacklist_intervalTime || 12); $("#checkBlacklist_ruleTime").val(settingObj.checkBlacklist_ruleTime || 8760); $("#enableCheckFavoriteActress").val(settingObj.enableCheckFavoriteActress || YES); $("#checkFavoriteActress_IntervalTime").val(settingObj.checkFavoriteActress_IntervalTime || 24); $("#enableCheckNewVideo").val(settingObj.enableCheckNewVideo || YES); $("#checkNewVideo_intervalTime").val(settingObj.checkNewVideo_intervalTime || 12); $("#checkNewVideo_ruleTime").val(settingObj.checkNewVideo_ruleTime || 8760); const highlightedTagNumber = settingObj.highlightedTagNumber || 1, highlightedTagColor = settingObj.highlightedTagColor || "#ce2222"; $("#highlightedTagNumber").val(settingObj.highlightedTagNumber || 1); $("#highlightedTagColor").val(settingObj.highlightedTagColor || "#ce2222"); $("#highlightedTagLabel").css("border", `${highlightedTagNumber}px solid ${highlightedTagColor}`); $("#enableClog").val(settingObj.enableClog || YES); $("#clogMsgCount").val(settingObj.clogMsgCount || 2e3); $("#refresh_token").val(settingObj.refresh_token || ""); $("#httpTimeout").val(settingObj.httpTimeout || 5e3); $("#httpRetryCount").val(settingObj.httpRetryCount || 3); $("#webDavUrl").val(settingObj.webDavUrl || ""); $("#webDavUsername").val(settingObj.webDavUsername || ""); $("#webDavPassword").val(settingObj.webDavPassword || ""); $("#enableTitleSelectFilter").prop("checked", !settingObj.enableTitleSelectFilter || settingObj.enableTitleSelectFilter === YES); $("#enableFavoriteActresses").prop("checked", !settingObj.enableFavoriteActresses || settingObj.enableFavoriteActresses === YES); $("#enableSaveActressCarInfo").prop("checked", !!settingObj.enableSaveActressCarInfo && settingObj.enableSaveActressCarInfo === YES); $("#enableScreenSvg").prop("checked", !settingObj.enableScreenSvg || settingObj.enableScreenSvg === YES); $("#enableVideoSvg").prop("checked", !settingObj.enableVideoSvg || settingObj.enableVideoSvg === YES); $("#enableHandleSvg").prop("checked", !settingObj.enableHandleSvg || settingObj.enableHandleSvg === YES); $("#enableSiteSvg").prop("checked", !settingObj.enableSiteSvg || settingObj.enableSiteSvg === YES); $("#enableCopySvg").prop("checked", !settingObj.enableCopySvg || settingObj.enableCopySvg === YES); const otherSitePlugin = this.getBean("OtherSitePlugin"), missAvUrl = await otherSitePlugin.getMissAvUrl(), jableUrl = await otherSitePlugin.getjableUrl(), javTrailersUrl = await otherSitePlugin.getJavTrailersUrl(), av123Url = await otherSitePlugin.getAv123Url(), javDbUrl = await otherSitePlugin.getJavDbUrl(), javBusUrl = await otherSitePlugin.getJavBusUrl(), supJavUrl = await otherSitePlugin.getSupJavUrl(); $("#missAvUrl").val(missAvUrl); $("#jableUrl").val(jableUrl); $("#javTrailersUrl").val(javTrailersUrl); $("#av123Url").val(av123Url); $("#javDbUrl").val(javDbUrl); $("#javBusUrl").val(javBusUrl); $("#supJavUrl").val(supJavUrl); let reviewKeywordList = await storageManager.getReviewFilterKeywordList(), filterKeywordList = await storageManager.getTitleFilterKeyword(); reviewKeywordList && reviewKeywordList.forEach((reviewKeyword => { this.addLabelTag("#reviewKeywordContainer", reviewKeyword); })); filterKeywordList && filterKeywordList.forEach((reviewKeyword => { this.addLabelTag("#filterKeywordContainer", reviewKeyword); })); [ "#reviewKeywordContainer", "#filterKeywordContainer" ].forEach((containerId => { $(`${containerId} .add-tag-btn`).on("click", (event => this.addKeyword(event, containerId))); $(`${containerId} .keyword-input`).on("keypress", (event => { "Enter" === event.key && this.addKeyword(event, containerId); })); })); $("#hotkey-panel [id]").map(((i, el) => el.id)).get().forEach((containerId => { const $element = $(`#${containerId}`), defaultValue = void 0 !== settingObj[containerId] ? settingObj[containerId] : $element.attr("data-default-hotkey") || ""; $element.val(defaultValue).on("input", (event => { let value = $(event.target).val(); if (/[\u4e00-\u9fa5]/.test(value) || /^Shift[a-zA-Z0-9]+$/.test(value)) { $(event.target).val(""); show.error("非法输入:不能输入中文或输入法转换错误"); } })).on("keydown", (event => this.handleHotkeyInput(event, $element))); })); $("#enableImageHotKey").prop("checked", !!settingObj.enableImageHotKey && settingObj.enableImageHotKey === YES); } handleHotkeyInput(event, $input) { event.preventDefault(); const hotkey = this.parseHotkey(event); "" !== hotkey ? this.isDuplicateHotkey(hotkey, $input.attr("id")) ? show.error("该快捷键已被其他功能使用!") : $input.val(hotkey) : $input.val(""); } parseHotkey(event) { if ("Backspace" === event.key || "Process" === event.key) return ""; const keys = []; event.ctrlKey && keys.push("Ctrl"); event.shiftKey && keys.push("Shift"); event.altKey && keys.push("Alt"); event.metaKey && keys.push("Cmd"); const key = { " ": "Space", Control: "Ctrl", Meta: "Cmd", ArrowUp: "Up", ArrowDown: "Down", ArrowLeft: "Left", ArrowRight: "Right" }[event.key] || (event.key.length > 1 ? event.key.replace("Arrow", "") : event.key); [ "Control", "Shift", "Alt", "Meta" ].includes(event.key) || keys.push(key); return keys.length > 0 ? keys.join("+") : ""; } isDuplicateHotkey(hotkey, currentInputId) { let isDuplicate = !1; $("#hotkey-panel [id]").each(((i, el) => { if (el.id !== currentInputId && hotkey && hotkey === $(el).val()) { isDuplicate = !0; return !1; } })); return isDuplicate; } async initSimpleSettingForm() { let settingObj = await storageManager.getSetting(); $("#containerColumns").val(settingObj.containerColumns || 5); $("#showContainerColumns").text(settingObj.containerColumns || 5); $("#containerWidth").val((settingObj.containerWidth || 100) - 70); $("#showContainerWidth").text((settingObj.containerWidth || 100) + "%"); $("#dialogOpenDetail").prop("checked", !settingObj.dialogOpenDetail || settingObj.dialogOpenDetail === YES); $("#needClosePage").prop("checked", !settingObj.needClosePage || settingObj.needClosePage === YES); $("#autoPage").prop("checked", !settingObj.autoPage || settingObj.autoPage === YES); $("#translateTitle").prop("checked", !settingObj.translateTitle || settingObj.translateTitle === YES); $("#enableLoadActressInfo").prop("checked", !settingObj.enableLoadActressInfo || settingObj.enableLoadActressInfo === YES); $("#enableLoadOtherSite").prop("checked", !settingObj.enableLoadOtherSite || settingObj.enableLoadOtherSite === YES); $("#containerColumns").on("input", (async event => { let columns = $("#containerColumns").val(); $("#showContainerColumns").text(columns); if (isJavDb) { document.querySelector(".movie-list").style.gridTemplateColumns = `repeat(${columns}, minmax(0, 1fr))`; } if (isJavBus) { document.querySelector(".masonry").style.gridTemplateColumns = `repeat(${columns}, minmax(0, 1fr))`; } await storageManager.saveSettingItem("containerColumns", columns); this.applyImageMode(); })); $("#containerWidth").on("input", (async event => { let containerWidth = parseInt($(event.target).val()); const value = containerWidth + 70 + "%"; $("#showContainerWidth").text(value); if (isJavDb) { document.querySelector("section .container").style.minWidth = value; } if (isJavBus) { document.querySelector(".container-fluid .row").style.minWidth = value; } storageManager.saveSettingItem("containerWidth", containerWidth + 70); })); $("#dialogOpenDetail").on("change", (event => { let dialogOpenDetail = $("#dialogOpenDetail").is(":checked") ? YES : NO; storageManager.saveSettingItem("dialogOpenDetail", dialogOpenDetail); })); $("#showFilterItem").prop("checked", !!settingObj.showFilterItem && settingObj.showFilterItem === YES); $("#showFilterActorItem").prop("checked", !!settingObj.showFilterActorItem && settingObj.showFilterActorItem === YES); $("#showFilterKeywordItem").prop("checked", !!settingObj.showFilterKeywordItem && settingObj.showFilterKeywordItem === YES); $("#showFavoriteItem").prop("checked", !settingObj.showFavoriteItem || settingObj.showFavoriteItem === YES); $("#showHasDownItem").prop("checked", !settingObj.showHasDownItem || settingObj.showHasDownItem === YES); $("#showHasWatchItem").prop("checked", !settingObj.showHasWatchItem || settingObj.showHasWatchItem === YES); $("#showFilterItem").on("change", (async event => { let showFilterItem = $("#showFilterItem").is(":checked") ? YES : NO; await storageManager.saveSettingItem("showFilterItem", showFilterItem); window.refresh(); })); $("#showFilterActorItem").on("change", (async event => { let showFilterActorItem = $("#showFilterActorItem").is(":checked") ? YES : NO; await storageManager.saveSettingItem("showFilterActorItem", showFilterActorItem); window.refresh(); })); $("#showFilterKeywordItem").on("change", (async event => { let showFilterKeywordItem = $("#showFilterKeywordItem").is(":checked") ? YES : NO; await storageManager.saveSettingItem("showFilterKeywordItem", showFilterKeywordItem); window.refresh(); })); $("#showFavoriteItem").on("change", (async event => { let showFavoriteItem = $("#showFavoriteItem").is(":checked") ? YES : NO; await storageManager.saveSettingItem("showFavoriteItem", showFavoriteItem); window.refresh(); })); $("#showHasDownItem").on("change", (async event => { let showHasDownItem = $("#showHasDownItem").is(":checked") ? YES : NO; await storageManager.saveSettingItem("showHasDownItem", showHasDownItem); window.refresh(); })); $("#showHasWatchItem").on("change", (async event => { let showHasWatchItem = $("#showHasWatchItem").is(":checked") ? YES : NO; await storageManager.saveSettingItem("showHasWatchItem", showHasWatchItem); window.refresh(); })); const $otherCheckboxes = $("#showFilterItem, #showFilterActorItem, #showFilterKeywordItem, #showFavoriteItem, #showHasDownItem, #showHasWatchItem"), updateOtherCheckboxesState = () => { const isShowAllChecked = $("#showAllItem").is(":checked"); $otherCheckboxes.prop("disabled", isShowAllChecked); isShowAllChecked ? $otherCheckboxes.attr("data-tip", "请先关闭显示所有才可点击") : $otherCheckboxes.removeAttr("data-tip"); }; $("#showAllItem").prop("checked", !!settingObj.showAllItem && settingObj.showAllItem === YES); $("#showAllItem").on("change", (async event => { let showAllItem = $("#showAllItem").is(":checked") ? YES : NO; await storageManager.saveSettingItem("showAllItem", showAllItem); updateOtherCheckboxesState(); window.refresh(); })); updateOtherCheckboxesState(); $("#needClosePage").on("change", (async event => { await storageManager.saveSettingItem("needClosePage", $("#needClosePage").is(":checked") ? YES : NO); window.refresh(); })); $("#autoPage").on("change", (async event => { const autoPage = $("#autoPage").is(":checked") ? YES : NO; await storageManager.saveSettingItem("autoPage", autoPage); autoPage === YES ? ($("#sort-toggle-btn").hide(), $("#one-time-sort-btn").show()) : ($("#sort-toggle-btn").show(), $("#one-time-sort-btn").hide()); })); $("#translateTitle").on("change", (async event => { const translateTitle = $("#translateTitle").is(":checked") ? YES : NO; await storageManager.saveSettingItem("translateTitle", translateTitle); if (translateTitle === YES) { await this.getBean("ListPagePlugin").doFilter(); window.isDetailPage && await this.getBean("TranslatePlugin").translate(); } else { await this.getBean("ListPagePlugin").revertTranslation(); $(".translated-title").remove(); } })); $("#hoverBigImg").prop("checked", !!settingObj.hoverBigImg && settingObj.hoverBigImg === YES); $("#hoverBigImg").on("change", (async event => { const hoverBigImg = $("#hoverBigImg").is(":checked") ? YES : NO; await storageManager.saveSettingItem("hoverBigImg", hoverBigImg); hoverBigImg === YES ? window.imageHoverPreviewObj = new ImageHoverPreview({ selector: this.getSelector().coverImgSelector }) : window.imageHoverPreviewObj && window.imageHoverPreviewObj.destroy(); })); $("#enableLoadActressInfo").on("change", (async event => { const enableLoadActressInfo = $("#enableLoadActressInfo").is(":checked") ? YES : NO; await storageManager.saveSettingItem("enableLoadActressInfo", enableLoadActressInfo); enableLoadActressInfo === YES ? this.getBean("ActressInfoPlugin").loadActressInfo() : $(".actress-info").remove(); })); $("#enableLoadOtherSite").on("change", (async event => { const enableLoadOtherSite = $("#enableLoadOtherSite").is(":checked") ? YES : NO; await storageManager.saveSettingItem("enableLoadOtherSite", enableLoadOtherSite); enableLoadOtherSite === YES ? this.getBean("OtherSitePlugin").loadOtherSite().then() : $("#otherSiteBox").remove(); })); $("#enableLoadScreenShot").prop("checked", !settingObj.enableLoadScreenShot || settingObj.enableLoadScreenShot === YES); $("#enableLoadScreenShot").on("change", (async event => { const enableLoadScreenShot = $("#enableLoadScreenShot").is(":checked") ? YES : NO; await storageManager.saveSettingItem("enableLoadScreenShot", enableLoadScreenShot); enableLoadScreenShot === YES ? this.getBean("ScreenShotPlugin").loadScreenShot().then() : $(".screen-container").remove(); })); $("#enableLoadPreviewVideo").prop("checked", !settingObj.enableLoadPreviewVideo || settingObj.enableLoadPreviewVideo === YES); $("#enableLoadPreviewVideo").on("change", (async event => { const enableLoadPreviewVideo = $("#enableLoadPreviewVideo").is(":checked") ? YES : NO; await storageManager.saveSettingItem("enableLoadPreviewVideo", enableLoadPreviewVideo); })); $("#enable115AutoRename").prop("checked", !!settingObj.enable115AutoRename && settingObj.enable115AutoRename === YES); $("#autoRenameScope").val(settingObj.autoRenameScope || "vr_only"); $("#autoRenameScopeRow").toggle(!!settingObj.enable115AutoRename && settingObj.enable115AutoRename === YES); $("#enable115AutoRename").on("change", (async event => { const enable115AutoRename = $("#enable115AutoRename").is(":checked") ? YES : NO; await storageManager.saveSettingItem("enable115AutoRename", enable115AutoRename); $("#autoRenameScopeRow").toggle(enable115AutoRename === YES); })); $("#autoRenameScope").on("change", (async event => { await storageManager.saveSettingItem("autoRenameScope", $("#autoRenameScope").val()); })); $("#enable115Match").prop("checked", !!settingObj.enable115Match && settingObj.enable115Match === YES); $("#enable115Match").on("change", (async event => { const enable115Match = $("#enable115Match").is(":checked") ? YES : NO; await storageManager.saveSettingItem("enable115Match", enable115Match); let movieList = $(this.getSelector().itemSelector).toArray(); await this.getBean("WangPan115MatchPlugin").matchMovieList(movieList); })); $("#enableVerticalModel").prop("checked", !!settingObj.enableVerticalModel && settingObj.enableVerticalModel === YES); $("#enableVerticalModel").on("change", (async event => { const enableVerticalModel = $("#enableVerticalModel").is(":checked") ? YES : NO; await storageManager.saveSettingItem("enableVerticalModel", enableVerticalModel); this.applyImageMode(); })); $("#moreBtn").on("click", (() => { $(".simple-setting").html("").hide(); this.openSettingDialog("base-panel"); })); $("#helpBtn").on("click", (() => { layer.open({ type: 1, title: "", shadeClose: !0, scrollbar: !1, content: '\n\n\n
\n

使用说明

\n \n
\n 1. 无法查看预览视频,提示分流?\n
\n

JavDB限制日本IP的访问,而预览视频来自DMM,需要日本IP才能访问。

\n

这样会导致二者无法同时使用,需要对其一进行代理转发。

\n

将 cc3001.dmm.co.jp 及 dmm.co 分流到日本ip。

\n

Clash Verge分流规则设置 (如果你是别的代理软件,自行搜索如何分流)

\n
\n
\n \n
\n 2. 如何屏蔽某一系列的番号?\n
\n

方法一:设置中-添加视频标题关键词,如: VENX-

\n

方法二:进入详情页,选中标题文字,右键可加入

\n 进入详情页,选中标题,进行右键\n
\n
\n\n
\n 3. 屏蔽某演员,如何只屏蔽单体影片?\n
\n

屏蔽演员前,先筛选分类,再点屏蔽

\n 屏蔽演员前,先筛选分类,再点屏蔽\n
\n
\n \n
\n 4. 如何多浏览器同时登录115网盘?\n
\n

① 访问115登录页, 选择JHS-扫码面板, 并扫码登录

\n \n
\n
\n

② 进入网盘后, 右下角悬浮按钮, 复制Cookie

\n \n
\n
\n

③ 打开另一个浏览器(需装JHS脚本), 进入登录页面, 选择JHS-扫码面板, 输入Cookie并回车

\n \n
\n
\n
\n', area: utils.getResponsiveArea([ "50%", "90%" ]) }); })); } async applyImageMode() { $("#verticalImgStyle").remove(); if (await storageManager.getSetting("enableVerticalModel", NO) === YES) { let imgPosition = "100% 50% !important"; window.location.href.includes("/advanced_search?type=100") && (imgPosition = "50% 50% !important"); const verticalStyle = `\n .cover {\n min-height: 350px !important;\n overflow: hidden !important;\n padding-top: 142% !important;\n }\n \n .cover img {\n object-fit: cover !important;\n object-position: ${imgPosition};\n }\n \n /* bus的 */\n .masonry .movie-box img {\n min-height: 500px !important;\n object-fit: cover !important;\n object-position: top right;\n }\n `; $("