14 lines
12 KiB
JavaScript
Raw Normal View History

2025-03-08 07:02:44 +08:00
(()=>{window.encrypt=e=>window.btoa(unescape(encodeURIComponent(e))),window.decrypt=e=>decodeURIComponent(escape(window.atob(e)));const t={initTocAndNotice(){var e=location["pathname"],t=(window.tocPjax&&window.tocPjax(),0===$(".widget.toc .card-content ul").length),e="toc"===DreamConfig.notice_show_mode&&!t||"index"===DreamConfig.notice_show_mode&&"/"!==e;t?$(".widget.toc,.action-toc").addClass("is-hidden-all"):$(".widget.toc,.action-toc").removeClass("is-hidden-all"),e?$(".widget.notice").addClass("is-hidden-all"):$(".widget.notice").removeClass("is-hidden-all")},initBanner(){const i=$(".banner-info-desc");if(0!==i.length){const o=i.text();i.text("");let t,a="",n=!0;const s=function(){var e=a.length;n&&e<o.length?(a+=o.charAt(e),i.text(a)):!n&&0<e?(a=a.slice(0,e-1),i.text(a)):(clearInterval(t),n=!n,t=setInterval(s,n?500:80))};t=setInterval(s,n?500:80)}},initGallery(){$(".main-content img:not(.not-gallery)").each(function(){0===$(this).parents("[data-fancybox],mew-photos").length&&$(this).wrap(`<div class="gallery-item"><div data-fancybox="gallery" data-options='{"hash": false}' ${this.alt?`data-caption="${this.alt}"`:""} href="${$(this).attr("src")}"></div>${this.alt&&DreamConfig.show_img_name?`<p>${this.alt}</p>`:""}</div>`)})},initMode(){let t=localStorage.getItem("night")||!1;const a=e=>{e?$("html").addClass("color-scheme-dark").removeClass("color-scheme-light").addClass("night").attr("night",!0):$("html").addClass("color-scheme-light").removeClass("color-scheme-dark").removeClass("night").removeAttr("night"),localStorage.setItem("night",e),t=e};$("#toggle-mode").on("click",()=>a("true"!==t.toString())),"system"===DreamConfig.default_theme?window.matchMedia("(prefers-color-scheme: dark)").addListener(e=>a(e.matches)):a("true"===t.toString())},initNavbar(){var t=$(".navbar-nav a"),e=$(".panel-side-menu .link");let a=0;var{href:n,pathname:i}=location;if(i&&"/"!==i)for(let e=0;e<t.length;e++){const o=t[e].getAttribute("href");if((i.includes(o)||n.includes(o))&&(a=e,i===o||n===o))break}const o=t.eq(a);o.addClass("current"),o.parents(".item-dropdown").length&&o.parents(".item-dropdown").find(".item-dropdown-link a").addClass("current"),e.eq(a).addClass("current")},searchDialog(){const t=$(".navbar-search .result");$(".navbar-search .input").on("click",function(e){e.stopPropagation(),t.addClass("active")}),$(document).on("click",function(){t.removeClass("active")})},initDropMenu(){$(".item-dropdown").each(function(e,t){var a=$(this).find(".item-dropdown-menu"),n=$(t).attr("trigger")||"click",t=$(t).attr("placement")||$(this).height()||0;a.css("top",t),"hover"===n?$(this).hover(()=>$(this).addClass("active"),()=>$(this).removeClass("active")):($(this).on("click",function(e){e.stopPropagation(),$(this).toggleClass("active"),$(document).one("click",()=>$(this).removeClass("active")),e.stopPropagation()}),a.on("click",e=>e.stopPropagation()))})},iniTaskItemDisabled(){$('li[data-type="taskItem"]').each(function(){$(this).find('label > input[type="checkbox"]').prop("disabled",!0)})},initLogonMenu(){$(".navbar-logon").each(function(e,t){"hover"===($(t).attr("trigger")||"click")?$(this).hover(()=>$(this).addClass("active"),()=>$(this).removeClass("active")):$(this).on("click",function(e){e.stopPropagation(),$(this).toggleClass("active"),$(document).one("click",()=>$(this).removeClass("active")),e.stopPropagation()})})},initScroll(){window.initTop=0,document.addEventListener("scroll",()=>{const e=$(document).scrollTop(),t=(i=e>window.initTop,window.initTop=e,i),a=$("body"),n=$(".actions");var i;50<e&&t?a.addClass("move-up"):a.removeClass("move-up"),100<e?n.addClass("show"):n.removeClass("show")})},drawerMobile(){$(".navbar-slideicon").on("click",function(e){e.stopPropagation(),$(".navbar-searchout").removeClass("active");var e=$("html"),t=$(".navbar-mask"),a=$(".navbar-slideout");a.hasClass("active")?(e.removeClass("disable-scroll"),t.removeClass("active slideout"),a.removeClass("active")):(e.addClass("disable-scroll"),t.addClass("active slideout"),a.addClass("active"))}),$(".action-toc").on("click",function(e){e.stopPropagation(
<div class="item">
<div class="title">
${e.title}
<span class="text">${e.num}</span>
${e.endTitle}
</div>
<div class="progress">
<div class="progress-bar">
<div class="progress-bar-inner progress-bar-inner-${t}" style="width: ${e.percent}"></div>
</div>
<div class="progress-percentage">${e.percent}</div>
</div>
2025-03-08 07:02:44 +08:00
</div>`}),$(".aside-timelife").html(a)}},initSecurityLink(){DreamConfig.enable_security_link&&DreamConfig.security_link_url&&0!==DreamConfig.security_link_url.length&&$(document).on("click","a[target=_blank]",e=>{e.preventDefault();var t,e=$(e.currentTarget).attr("href"),a=window.location.hostname;window.open("_blank").location=(a=a,t=(t=e).toLowerCase().trim(),a=a.toLowerCase().trim(),t.startsWith("//")?t=window.location.protocol+t:t.startsWith("/")&&(t=window.location.origin+t),(t=t.startsWith("http://")||t.startsWith("https://")?t.replace(/\/$/,""):t).includes(a)?e:DreamConfig.security_link_url+"?target="+encodeURIComponent(e))})},initGrayMode(){var e,t,a;(!0===DreamConfig.gray_mode||"custom"===DreamConfig.gray_mode&&(e=Date.now(),t=new Date(DreamConfig.gray_mode_start_time).getTime(),a=new Date(DreamConfig.gray_mode_end_time).getTime(),t<=e)&&e<=a)&&$("html").addClass("gray-mode")},initEffects(){Utils.isMobile()||(DreamConfig.cursor_move&&Utils.cachedScript(`${DreamConfig.theme_base}/js/cursor/move/${DreamConfig.cursor_move}.min.js?mew=`+DreamConfig.theme_version),DreamConfig.cursor_click&&Utils.cachedScript(`${DreamConfig.theme_base}/js/cursor/click/${DreamConfig.cursor_click}.min.js?mew=`+DreamConfig.theme_version),DreamConfig.enable_live2d&&Utils.cachedScript(DreamConfig.theme_base+"/js/autoload.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_lantern_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/lantern.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_sakura_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/sakura.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_snowflake_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/snowflake.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_universe_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/universe.min.js?mew="+DreamConfig.theme_version),DreamConfig.effects_circle_magic_mode&&Utils.cachedScript(DreamConfig.theme_base+"/js/effects/circleMagic.min.js?mew="+DreamConfig.theme_version))},showThemeVersion(){DreamConfig.enable_console_version_info&&window.logger(`%c页面加载耗时${Math.round(performance.now())}ms | Theme By Dream2 Plus `+DreamConfig.theme_version,"color:#fff; background: linear-gradient(270deg, #986fee, #8695e6, #68b7dd, #18d7d3); padding: 8px 15px; border-radius: 0 15px 0 15px")}};window.commonContext=t;let o=-1;{const a=["initCarousel","sparkInput","websiteTime"],n=["initEffects","showThemeVersion","iniTaskItemDisabled"];Object.keys(t).forEach(e=>!a.includes(e)&&!n.includes(e)&&t[e]()),document.addEventListener("DOMContentLoaded",function(){$("html").addClass("loaded"),a.forEach(e=>t[e]&&t[e]())}),window.addEventListener("load",function(){n.forEach(e=>t[e]&&t[e]()),$("html").addClass("ready")})}})();