<!DOCTYPE html> <html lang="zh-CN" data-theme="light"> <head> <meta name="referrer" content="unsafe-url"> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1"> <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> <meta name="renderer" content="webkit"> <meta http-equiv="x-dns-prefetch-control" content="on"> <link rel="preconnect" href="https://cdn.jsdmirror.cn" crossorign> <link rel="dns-prefetch" href="https://cdn.jsdmirror.cn"> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no, viewport-fit=cover" /> <link rel="shortcut icon" href="https://cdn.jsdmirror.cn/gh/teac9/blog@master/masked_circle.webp" /> <title>页面没找到 - 闪言</title> <meta name="author" content="" /> <meta name="description" content="Tuulaecの小站" /> <meta property="og:title" content="页面没找到 - 闪言" /> <meta property="og:description" content="Tuulaecの小站" /> <meta property="og:site_name" content="闪言" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://note.tuuleac.top/index.php/feed/archives/1" /> <link rel="canonical" href="https://note.tuuleac.top/index.php/feed/archives/1" /> <meta property="article:published_time" content="2026-04-16T03:36:16+08:00" /> <meta property="article:modified_time" content="2026-04-16T03:36:16+08:00" /> <link rel="alternate" type="application/rss+xml" title="页面没找到 &raquo; 闪言 &raquo; RSS 2.0" href="https://note.tuuleac.top/feed/" /> <link rel="alternate" type="application/rdf+xml" title="页面没找到 &raquo; 闪言 &raquo; RSS 1.0" href="https://note.tuuleac.top/feed/rss/" /> <meta name="keywords" content="黑闪Tuuleac,博客,个人网站" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://note.tuuleac.top/" /> <meta name="twitter:title" property="og:title" itemprop="name" content="页面没找到" /> <meta name="twitter:description" property="og:description" itemprop="description" content="Tuulaecの小站" /> <meta property="og:site_name" content="闪言" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:domain" content="note.tuuleac.top" /> <link rel="stylesheet" type="text/css" href="https://note.tuuleac.top/usr/themes/bearsimple/modules/codehightlight/static/styles/GrayMac.css?v=2.9.9" /><link rel="stylesheet" type="text/css" href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/player/player.min.css?v=2.3.4" /><link rel="stylesheet" type="text/css" href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/mp3/mp3.min.css?v=2.3.4" /><script>var APlayers = [];var APlayerOptions = [];</script><link href='https://note.tuuleac.top/usr/plugins/Pio/static/pio.css' rel='stylesheet' type='text/css'/> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/js/jquery.min.js" type="application/javascript"></script> <link href="https://note.tuuleac.top/usr/themes/bearsimple/assets/css/bearsimple.min.css?v=2.9.9.20250803" rel="stylesheet"> <link href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/fomantic-ui/semantic.min.css?v=2" rel="stylesheet"> <link href="https://note.tuuleac.top/usr/themes/bearsimple/assets/css/modules/global_custom.min.css?v=2.9.9.20250803" rel="stylesheet"> <link rel="preload" href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/fontawesome/all.min.css?ver=5.15.4" as="style" onload="this.rel='stylesheet'" crossorigin> <link rel="preload" href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/fontawesome/v4-shims.min.css?ver=5.15.4" as="style" onload="this.rel='stylesheet'" crossorigin> <link rel="preload" href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@200;300;400;500;600;700;900&display=swap" as="style" onload="this.rel='stylesheet'" crossorigin> <link rel="preload" href="https://note.tuuleac.top/usr/themes/bearsimple/assets/css/lxgw/style.css" as="style" onload="this.rel='stylesheet'" crossorigin> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/js/toastr.min.js"></script> <style> #bearnavbar { margin-top:15px; --sm-navbar-z-index: 100; border-radius:8px; --sm-navbar-sticky-top-offset: 0; } .sm-nav-link, .sm-sub-link{ background:none!important; } .sm-nav-link:hover, .sm-nav-link:active, .sm-nav-link.sm-expanded, .sm-sub-link:hover, .sm-sub-link:active, .sm-sub-link.sm-expanded{ color:#EF711D!important; } .sm-nav-link--split.sm-sub-toggler::after,.sm-sub-link--split.sm-sub-toggler::after{ color:gray; } a{color:#000000;} .swal2-container{ z-index:1000000; } .bearmargin{ margin:auto!important; } .bearslider-wrapper{ border-radius:8px; } .bearslider-wrapper img{ border-radius:8px; } .bearslider-caption{ border-radius:8px; } .mjx-chtml{ white-space: normal!important; } .button > .hidden{ display:block !important; } .body_container{ background-color:rgba(255,255,255,0.9); opacity: 0.9; transition: opacity .5s;} .goTop >svg{ width: 50px; height: 50px; cursor: pointer; } .goTop >img{ width: 50px; height: 50px; cursor: pointer; } .goTop{ position: fixed; right : 20px; bottom : 20px; z-index:50; } body::before{ content: ""; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -999; background-image: url(https://cdn.jsdmirror.cn/gh/teac9/blog@master/-二次元萌系_compressed.webp)!important; background-position: center center; background-repeat: no-repeat; background-attachment:fixed; background-size:100% 100%; -webkit-background-size: cover; -o-background-size: cover; } [data-theme=dark] body::before{ filter:invert(1) hue-rotate(180deg); } @font-face { font-family: CustomFont; src: url("https://cdn.jsdmirror.cn/gh/huangwb8/bloghelper@latest/fonts/13.woff2"); } *:not(i){ font-family: CustomFont !important; } </style><link href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/menu/menu.min.css?v=2" rel="stylesheet" /> <link href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/fancybox/fancybox.min.css?v=3" rel="stylesheet"> <link href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/bs-announcement/bs-announcement.min.css?v=1" rel="stylesheet" type="text/css"> <link href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/slider/bearslider.min.css?v=2" rel="stylesheet" type="text/css"> <link href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/bs-toc/bs-toc.min.css" rel="stylesheet" type="text/css"> <link href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/bs-toc/bs-toc2.min.css" rel="stylesheet" type="text/css"> <link href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/sweetalert2/sweetalert2.min.css" type="text/css" rel="stylesheet" /> <link rel="stylesheet" href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/bs-audio/audio.css"> <link href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/bs-emoji/bs-emoji.css?v=2.9.9.20250803" rel="stylesheet" type="text/css"> <script> window.Mathjaxv3 = "open"; window.Defaultfont = "1"; window['setting'] = { import: "https://note.tuuleac.top/usr/themes/bearsimple/", import2 : "https://note.tuuleac.top/usr/themes/bearsimple/", siteUrl : "https://note.tuuleac.top/", Lazyload: "true", Mermaid: "true", ClockModule: "true", readprocess: "true", pjax:"1", owo: "true", islogin:"", commentsRequireMail: "1", commentsRequireURL: "", verify_type:"22", search:"2", header_search: "true", phone_search: "true", slider: "true", menu_style: "2", Like: "true", Likenum: "", getPostLikeFile:"https://note.tuuleac.top/index.php/postlike", CommentLike: "true", getCommentLikeFile:"https://note.tuuleac.top/index.php/commentlike", sticky: "true", imagebox: "true", Popup: "true", PopupTitle: "公告", PopupTitleClose: false, PopupClose: false, PopupAutoHide: 10, PopupAutoClose: 10, PopupWidth: 300, PopupHeight: 'auto', PopupSpeed: 10, PopupEffect: 'fading', Top : "true", infinite_scroll:'false', Login_hidden:'true', loginAction:'https://note.tuuleac.top/index.php/action/login?_=d4d07055f0eb35b30f9231ae8c389e53', registerOpen:'1', registerAction:'https://note.tuuleac.top/action/register?_=d4d07055f0eb35b30f9231ae8c389e53', registerAllow:'1', login_other:"null", Share:'true', Sharewechat:'true', Translate:'1', TranslateLanguage:'2', AIService: '', tips : { articlePwdAfterEnterSuccess_Tip : '您已成功验证文章密码，页面将在3秒后刷新~', articlePwdAfterEnterFail_Tip : '您输入的文章密码有误，请重新输入~', articleAgreeSuccess_Tip : 'Yeah~您已成功点赞本文章!', articleAgreeFail1_Tip : '啊哦，您已经点赞过惹~', articleAgreeFail2_Tip : '网络出现堵塞，请稍后重试~', commentSuccess_Tip : '您已评论成功，将自动刷新~', commentFail_Tip : '请手动刷新页面后再尝试操作~', commentAgreeSuccess_Tip : 'Yeah~您已成功点赞!', commentAgreeFail1_Tip : '啊哦，您已经点赞过惹~', commentAgreeFail2_Tip : '网络出现堵塞，请稍后重试~', } };</script> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/js/modules/darkmode.js"></script> </head> <body data-instant-allow-external-links> <div class="read_progress"> <div class="read_progress_inner"></div> </div> <div id="pjax"> <meta property="og:type" content="website" /> <meta property="og:url" content="https://note.tuuleac.top/" /> <meta name="twitter:title" property="og:title" itemprop="name" content="页面没找到" /> <meta name="twitter:description" property="og:description" itemprop="description" content="Tuulaecの小站" /> <meta property="og:site_name" content="闪言" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:domain" content="note.tuuleac.top" /> <link rel="stylesheet" type="text/css" href="https://note.tuuleac.top/usr/themes/bearsimple/modules/codehightlight/static/styles/GrayMac.css?v=2.9.9" /><link rel="stylesheet" type="text/css" href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/player/player.min.css?v=2.3.4" /><link rel="stylesheet" type="text/css" href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/mp3/mp3.min.css?v=2.3.4" /><script>var APlayers = [];var APlayerOptions = [];</script><link href='https://note.tuuleac.top/usr/plugins/Pio/static/pio.css' rel='stylesheet' type='text/css'/> <div class="body_container" id="body_container"> <div id="header"> <div class="site-name"> <form name="pcsearch" role="search" method="get" id="searchform1"> <div class="bearmargin" style="float:right;"><div class="ui category search"><div class="ui large icon input pc"> <input class="prompt" id="pcsearch" type="text" name="s" placeholder="输入关键词实时搜索"> <i class="search link icon"></i> </div></div></div> </form> <a id="logo" href="https://note.tuuleac.top/">闪言 </a> <p class="description">Tuuleacの小站</p> </div> <form name="phonesearch" role="search" method="get" id="searchformbyphone"> <div style="text-align:center"> <div class="ui category search"> <div class="ui icon input phone"> <input class="prompt" id="phonesearch" type="text" name="s" placeholder="输入关键词实时搜索"> <i class="search link icon"></i> </div> </div></div> </form> </div> <div class="navbar_e"> <nav id="bearnavbar" class="sm-navbar sm-navbar--sticky-top sm-navbar--offcanvas-left"> <span></span> <span class="sm-toggler-state" id="sm-toggler-state-1"></span> <div class="sm-toggler"> <a class="sm-toggler-anchor sm-toggler-anchor--show" href="#sm-toggler-state-1" role="button" aria-label="Open"> <span class="sm-toggler-icon sm-toggler-icon--show"></span> </a> <a class="sm-toggler-anchor sm-toggler-anchor--hide" href="#" role="button" aria-label="Close"> <span class="sm-toggler-icon sm-toggler-icon--hide"></span> </a> </div> <a class="sm-offcanvas-overlay" href="#" aria-hidden="true" tabindex="-1"></a> <div class="sm-offcanvas"> <div class="sm-hide-large" style="display: flex; align-items: center; justify-content: space-between" aria-hidden="true"> <h1 class="sm-brand">导航</h1> <div class="sm-toggler"> <a class="sm-toggler-anchor sm-toggler-anchor--hide" href="#" role="button" tabindex="-1"> <span class="sm-toggler-icon sm-toggler-icon--hide"></span> </a> </div> </div> <ul class="sm-nav"> <li class="sm-nav-item"><a class="sm-nav-link" href="https://note.tuuleac.top/">首页</a></li> <li class="sm-nav-item"> <a class="sm-nav-link sm-sub-toggler">分类</a> <ul class="sm-sub"> <li class="sm-sub-item"><a class="sm-sub-link" href="https://note.tuuleac.top/category/default/">默认分类</a></li> </ul> </li> <li class="sm-nav-item"> <a class="sm-nav-link sm-sub-toggler">页面</a> <ul class="sm-sub"> <li class="sm-sub-item"><a class="sm-sub-link" href="https://note.tuuleac.top/pyq.html">朋友圈</a></li> <li class="sm-sub-item"><a class="sm-sub-link" href="https://note.tuuleac.top/friendlink.html">友人帐</a></li> <li class="sm-sub-item"><a class="sm-sub-link" href="https://note.tuuleac.top/guestbook.html">留言板</a></li> <li class="sm-sub-item"><a class="sm-sub-link" href="https://note.tuuleac.top/tag.html">标签</a></li> <li class="sm-sub-item"><a class="sm-sub-link" href="https://note.tuuleac.top/archive.html">归档</a></li> <li class="sm-sub-item"><a class="sm-sub-link" href="https://note.tuuleac.top/say.html">微语</a></li> <li class="sm-sub-item"><a class="sm-sub-link" href="https://note.tuuleac.top/about.html">关于</a></li> <li class="sm-sub-item"><a class="sm-sub-link" href="https://note.tuuleac.top/animelist.html">追番</a></li> </ul> </li> <li class="sm-nav-item" id="bs-login" style="display:none"><a class="sm-nav-link">登录</a></li> <li class="sm-nav-item" id="bs-islogin" style="display:none"></li> <li class="sm-nav-item" id="bs-islogin2" style="display:none"></li> </ul> </div> </nav> </div> <div class="sticky" id="sticky"><div class="pure-g" id="layout"> <div class="pure-u-1 pure-u-md-3-4"> <div class="content_container"> <div class="page-card"> <center> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="199" viewBox="0 0 481 480"><defs><linearGradient id="a" x1="0.5" y1="-0.453" x2="0.5" y2="1" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#e0e5ef" stop-opacity="0"/><stop offset="1" stop-color="#e0e5ef"/></linearGradient><linearGradient id="b" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#e0e5ef" stop-opacity="0"/><stop offset="0" stop-color="#c5ccd8"/><stop offset="1" stop-color="#909aa9"/></linearGradient><linearGradient id="c" x1="0.5" y1="1" x2="0.5" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#e0e5ef" stop-opacity="0"/><stop offset="1" stop-color="#909aa9"/></linearGradient><linearGradient id="d" x1="0.5" x2="0.5" y2="1" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#c9d0db"/><stop offset="1" stop-color="#909aa9"/></linearGradient><linearGradient id="e" x1="1.2" y1="0.363" x2="0.223" y2="0.334" xlink:href="#d"/><linearGradient id="f" x1="-0.095" y1="0.875" x2="0.955" y2="-0.031" xlink:href="#d"/><filter id="g" x="285.702" y="281.195" width="57.512" height="32.141" filterUnits="userSpaceOnUse"><feOffset dy="2" input="SourceAlpha"/><feGaussianBlur stdDeviation="1.5" result="h"/><feFlood flood-opacity="0.161"/><feComposite operator="in" in2="h"/><feComposite in="SourceGraphic"/></filter><linearGradient id="i" x1="-0.392" y1="1.114" x2="0.5" y2="0.396" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#fff" stop-opacity="0"/><stop offset="1" stop-color="#ebedf5"/></linearGradient><linearGradient id="j" x1="-0.906" y1="1.646" x2="0.636" y2="0.061" xlink:href="#i"/><linearGradient id="k" x1="-0.109" y1="1.931" x2="0.736" y2="0.141" xlink:href="#i"/></defs><g transform="translate(1 0)"><g transform="translate(0 -12)"><g transform="translate(55 68)"><ellipse cx="184" cy="183.966" rx="184" ry="183.966" fill="#f3f3fa"/></g><g transform="translate(64 143.984)"><path d="M44,0,88,56H0Z" fill="#e1e6ef"/><path d="M44,0,88,56H24Z" fill="#cdd3df"/></g><g transform="translate(104 127.986)"><path d="M44,0,88,72H0Z" fill="#e1e6ef"/><path d="M44,0,88,72H64Z" fill="#cdd3df"/></g><g transform="translate(56 191.933)"><path d="M0,60.067A183.747,183.747,0,0,1,9.981.135a604.193,604.193,0,0,1,96.267,5.684C199.753,18.913,230.562,32,304,32c26.248,0,45.995-3.344,60.537-7.642A184.016,184.016,0,1,1,0,60.067Z" fill="#f1f3f6"/><path d="M0,19.8C14.137,12.316,48.493-1.962,101.8.225c71.736,2.944,113.328,29.726,177.789,35.71,20.329,1.887,35.8,1.412,47.451-.121a183.93,183.93,0,0,1-159.4,92.024A184.036,184.036,0,0,1,0,19.8Z" transform="translate(16.361 116.162)" fill="#e8ebf1"/></g><path d="M-2,3.74C-2.25-2.25,4.188-8.562,6.25,0s2.5,20.688,5.5,32.5,6.5,10.75,6.5,3.25-.312-16.75,1.5-25.5,7.875-6.562,10-1-2.812,17.875-1.5,23.25,5.211,7.253,6.75-1.75S33.657,3.74,33.657,3.74,35.789,1.56,37.5,1.75s3,2.75,3,2.75,5.938,20.75,2.25,33-12.375,2.563-17,16S22,89.5,22,89.5s-4.25,1.438-7.25,1A7.89,7.89,0,0,1,10,87.75S15.063,70.25,14.75,60s-3.187-6.25-7-11.5A46.328,46.328,0,0,1,2,37.5S-1.75,9.729-2,3.74Z" transform="translate(380.007 157.155)" fill="#e0e4ec"/><path d="M29.988,14.593c.174-4.315-4.308-8.862-5.744-2.694s-3.829,8.456-3.829,8.456S15.89,28.1,15.89,22.7s.218-8.473-1.044-14.777S9.363,3.193,7.884,7.2s1.958,9.284,1.044,13.156S5.3,25.58,4.229,19.095,5.164-.362,5.164-.362,3.679-1.933,2.488-1.8.4.185.4.185-3.734,15.133-1.167,23.957,7.449,25.8,10.669,35.483s2.611,25.933,2.611,25.933a13.145,13.145,0,0,0,5.047.72,5.477,5.477,0,0,0,3.307-1.981s-3.524-12.606-3.307-19.99,2.219-4.5,4.873-8.284a33.841,33.841,0,0,0,4-7.924S29.814,18.908,29.988,14.593Z" transform="translate(338.007 177.78)" fill="#e0e4ec"/><path d="M29.988,14.593c.174-4.315-4.308-8.862-5.744-2.694s-3.829,8.456-3.829,8.456S15.89,28.1,15.89,22.7s.218-8.473-1.044-14.777S9.363,3.193,7.884,7.2s1.958,9.284,1.044,13.156S5.3,25.58,4.229,19.095,5.164-.362,5.164-.362,3.679-1.933,2.488-1.8.4.185.4.185-3.734,15.133-1.167,23.957,7.449,25.8,10.669,35.483s2.611,25.933,2.611,25.933a13.145,13.145,0,0,0,5.047.72,5.477,5.477,0,0,0,3.307-1.981s-3.524-12.606-3.307-19.99,2.219-4.5,4.873-8.284a33.841,33.841,0,0,0,4-7.924S29.814,18.908,29.988,14.593Z" transform="translate(90.007 257.763)" fill="#e0e4ec"/><path d="M143.3,233.331c57.725-31.349,121.023-71.406,127.244-99.139,11.667-52-90.333-78.667-140.667-81C50.376,51.7,8.124,43.5,0,30.29q.663-5.263,1.621-10.435C14.91,8.621,68.542,9.776,109.442,10.931c27.411.775,49.1,1.549,49.1-1.406,0-8-128-5.666-128-8s144-3.667,144,9-128.334,7-128,15c.114,2.743-4,4,40,8s81,3.667,136,8c37.381.639,104.356,22.832,139.606,52.153A184.078,184.078,0,0,1,182.547,237.526,184.617,184.617,0,0,1,143.3,233.331Z" transform="translate(57.453 198.408)" fill="url(#a)"/></g><g transform="translate(-159.442 139.453) rotate(-20)"><path d="M2,0H6L8,24H0Z" transform="translate(296 144)" fill="#bfc3c9"/><g transform="translate(0 16)"><rect width="56" height="56" rx="28" transform="translate(272 144)" fill="#909aa9"/><ellipse cx="60" cy="24" rx="60" ry="24" transform="translate(240 160)" fill="url(#b)"/><ellipse cx="36" cy="12" rx="36" ry="12" transform="translate(264 174)" fill="#909aa9"/></g><path d="M0,0H72L96,88H-24Z" transform="translate(264 200)" opacity="0.6" fill="url(#c)"/><circle cx="2" cy="2" r="2" transform="translate(298 142)" fill="#909aa9"/></g><path d="M403.8,89.126a1.164,1.164,0,0,1-.823-1.991,13.251,13.251,0,0,0,0-18.73,1.1,1.1,0,0,1-.339-.808,1.191,1.191,0,0,1,.34-.823,1.116,1.116,0,0,1,.808-.344,1.156,1.156,0,0,1,.821.345,15.589,15.589,0,0,1,.016,22.006,1.159,1.159,0,0,1-.823.345Z" transform="matrix(0.848, -0.53, 0.53, 0.848, -156.348, 438.23)" fill="#909aa9" opacity="0.25"/><path d="M240.638,196.484a1.156,1.156,0,0,1-.821-.345,9.7,9.7,0,0,1,0-13.717,1.117,1.117,0,0,1,.809-.345,1.168,1.168,0,0,1,.821,1.991,7.38,7.38,0,0,0,0,10.44,1.118,1.118,0,0,1,.345.8,1.155,1.155,0,0,1-.345.83A1.117,1.117,0,0,1,240.638,196.484Z" transform="matrix(0.848, -0.53, 0.53, 0.848, -93.168, 268.028)" fill="#909aa9" opacity="0.65"/><path d="M95.358,84.972a1.156,1.156,0,0,1-.821-.345,1.118,1.118,0,0,1-.345-.8,1.155,1.155,0,0,1,.345-.83,7.38,7.38,0,0,0,0-10.44,1.1,1.1,0,0,1-.339-.808,1.191,1.191,0,0,1,.34-.823,1.116,1.116,0,0,1,.808-.344,1.156,1.156,0,0,1,.821.345,9.678,9.678,0,0,1,0,13.7,1.117,1.117,0,0,1-.809.345Z" transform="matrix(0.848, -0.53, 0.53, 0.848, 101.699, 277.986)" fill="#909aa9" opacity="0.65"/><path d="M393.4,98.429a1.416,1.416,0,0,1-1.415-1.415V82.139l-.069-.025a4.438,4.438,0,0,1,1.484-8.62,4.44,4.44,0,0,1,4.436,4.436,4.457,4.457,0,0,1-2.953,4.184l-.069.025V97.014A1.416,1.416,0,0,1,393.4,98.429Zm0-22.137a1.623,1.623,0,1,0,1.623,1.623A1.625,1.625,0,0,0,393.4,76.292Z" transform="matrix(0.848, -0.53, 0.53, 0.848, -157.348, 439.23)" fill="#909aa9"/><path d="M78.731,89.125a1.156,1.156,0,0,1-.821-.345l-.016-.016a15.527,15.527,0,0,1,.016-21.99,1.164,1.164,0,1,1,1.646,1.646,13.27,13.27,0,0,0-.016,18.73,1.118,1.118,0,0,1,.345.8,1.155,1.155,0,0,1-.345.83,1.117,1.117,0,0,1-.809.345Z" transform="matrix(0.848, -0.53, 0.53, 0.848, 97.699, 279.986)" fill="#909aa9" opacity="0.25"/><ellipse cx="44.972" cy="12.785" rx="44.972" ry="12.785" transform="translate(179.875 366.76)" fill="#ced1d5"/><path d="M33.989,403.59v-.056C30.442,394.187,18.9,389.8,9.1,391.147c7.263-4.223,19.256-5.349,24.887,1.126v.056c5.63-6.419,17.68-5.349,24.887-1.126-9.8-1.295-21.34,3.1-24.887,12.387Z" transform="translate(247.999 -220.698)" fill="#909aa9" opacity="0.65"/><path d="M21.052,395.329V395.3c-1.7-4.488-7.245-6.6-11.949-5.948,3.488-2.028,9.246-2.568,11.95.541v.027c2.7-3.082,8.489-2.568,11.95-.541-4.7-.622-10.246,1.487-11.95,5.948Z" transform="translate(230.999 -245.698)" fill="#909aa9" opacity="0.65"/><path d="M17.385,392.987v-.019c-1.181-3.111-5.022-4.572-8.283-4.123,2.417-1.405,6.409-1.78,8.283.375v.019c1.874-2.136,5.884-1.78,8.283-.375-3.261-.431-7.1,1.031-8.283,4.123Z" transform="translate(297.999 -232.698)" fill="#909aa9" opacity="0.35"/><path d="M17.385,392.987v-.019c-1.181-3.111-5.022-4.572-8.283-4.123,2.417-1.405,6.409-1.78,8.283.375v.019c1.874-2.136,5.884-1.78,8.283-.375-3.261-.431-7.1,1.031-8.283,4.123Z" transform="translate(280.999 -255.698)" fill="#909aa9" opacity="0.35"/><path d="M14.844,391.365v-.013c-.818-2.156-3.482-3.17-5.742-2.858,1.676-.974,4.443-1.234,5.742.26v.013c1.3-1.481,4.079-1.234,5.742-.26-2.26-.3-4.924.715-5.742,2.858Z" transform="translate(328.999 -243.698)" fill="#909aa9" opacity="0.35"/><ellipse cx="12.835" cy="3.414" rx="12.835" ry="3.414" transform="translate(261.875 366.503)" fill="#ced1d5" opacity="0.64"/><path d="M0,0H4.9V88.248a4.832,4.832,0,0,1-2.463.943A4.709,4.709,0,0,1,0,88.248Z" transform="translate(282.865 282.226)" fill="url(#d)"/><path d="M0,.677s4.83-1.54,13.41-.621A24.678,24.678,0,0,0,28.192-3s-4.9,4.55-4.9,13.742,7.563,27.832,7.563,27.832S27.588,29.508,13.411,36.7,0,30.91,0,30.91Z" transform="translate(333.116 280.42)" fill="url(#e)"/><path d="M0,1.354s6.03,2.92,14.694.542C25.663-1.114,36.3-6,46.718-6,64.8-6,60.058,2.58,60.058,2.58s3.351,29.033.077,36.081c-1.455,2.834,4.9-7.89-13.176-7.89-10.088,0-20.163,4.66-31.806,7.8A25.4,25.4,0,0,1,0,38.124Z" transform="translate(282.865 279.743)" fill="url(#f)"/><g transform="matrix(1, 0, 0, 1, -1, 0)" filter="url(#g)"><path d="M-16.663-1.608l2.084-3.6c.515-1.03,1.005-2.084,1.471-3.113h.1c-.049,1.152-.172,2.893-.172,4.045v2.672Zm9.585,0H-9.113V-11.977h-5.368L-20.83-1.314V1.7h7.648v4.56h4.069V1.7h2.035ZM3.463,4.153c3.849,0,6.472-3.285,6.472-9.56,0-6.226-2.623-9.364-6.472-9.364s-6.447,3.089-6.447,9.364S-.386,4.153,3.463,4.153Zm0-3.383c-1.3,0-2.329-1.177-2.329-6.177,0-4.976,1.03-6.006,2.329-6.006s2.353,1.03,2.353,6.006C5.816-.407,4.762.77,3.463.77ZM18.1-6.511l2.084-3.6c.515-1.03,1.005-2.084,1.471-3.113h.1c-.049,1.152-.172,2.893-.172,4.045v2.672Zm9.585,0H25.648V-16.88H20.279L13.93-6.217V-3.2h7.648v4.56h4.069V-3.2h2.035Z" transform="translate(311.03 300.58)" fill="#fff"/></g><g transform="translate(214.729 294.147)"><g transform="translate(37.299 41.039)"><path d="M524.959,66.584a28.77,28.77,0,0,1,6.527,9.6c2.554,6.08,5.414,12.4,7.725,13.615s3.4,9.242-7.418,7.54S524.959,66.584,524.959,66.584Z" transform="translate(-524.241 -66.584)" fill="#fff"/><path d="M525.471,68.3a29.792,29.792,0,0,1,6.405,15.523c.78,7.948,2.7,12.281,4.745,11.99a11.661,11.661,0,0,1-5.519-.023C527.864,95.079,524.163,68.4,525.471,68.3Z" transform="translate(-523.876 -65.85)" fill="url(#i)"/></g><path d="M534.791,124.77a31.7,31.7,0,0,0,13.023,1c6.354-.9,8.04-12.664-.6-13.872-6.694-.94-5.551-11.209-6.785-20.665s-6.043-17.363-6.784-21.212,3.916-8.5,3.329-16.639c-.6-8.351-5.8-9.653-7.652-9.281s-3.325,2.2-5.669,3.2-5.8-.62-10.236,1.491-8.638,6.953-8.638,6.953c-1.85,2.359.37,9.809-.864,13.534s-6.167,36.132-6.043,45.2,5.92,15.4,18.379,17.011,17.888-.558,18.291-4.1c.257-2.251,1.755-10.182-7.19-11.547-4.45-.681-6.782-1.241-6.782-1.241" transform="translate(-497.872 -36.225)" fill="#fff"/><path d="M519.206,44.835s.885-1.454,1.59-1.468c1.21-.024,2.484,1.5,2.484,1.5S519.246,46.466,519.206,44.835Z" transform="translate(-488.951 -35.487)" fill="#757f95"/><path d="M521.691,37.916c-1.892-.494-2.1,1.921-2.1,1.921s-2.662-.289-2.4,1.605c.329,2.364,5.372,2.251,5.372,2.251S524,38.52,521.691,37.916Z" transform="translate(-489.806 -37.849)" fill="#757f95"/><path d="M505.206,52.7s-5.609-1.233-6.223,3.056,3.852,6.917,7.052.556" transform="translate(-497.421 -31.56)" fill="#fff"/><path d="M503.052,74.624s-1.336,16.489,1.013,20.621c2.119,3.726,9.822,4.733,15.435,4.265a23.065,23.065,0,0,0,5.539-1.148c5.59-1.987,2.608-5.708,0-8.192s-3.444-9.531-7.916-13.36" transform="translate(-495.145 -21.886)" fill="url(#j)"/><path d="M513.708,48.635a.553.553,0,0,0-.481.286h0l-.009.013a4.434,4.434,0,0,1-2.973,2.139h-.017v0a.548.548,0,0,0-.469.457l-.01,0-.374.993s.314-.013.775-.081l.053-.283.1-.538v.8c.173-.029.359-.067.556-.111v-.688l.059.418.034.247a5.168,5.168,0,0,0,2.2-1.048,3.762,3.762,0,0,0,1.061-1.821c.037-.143.05-.229.05-.229A.556.556,0,0,0,513.708,48.635Z" transform="translate(-493.064 -33.231)" fill="#757f95"/><path d="M530.283,76.271c-3.314-3.231-6.233.511-6.233.511s-5.711-4.5-7.834.24c-2.647,5.916,10.874,15.47,10.874,15.47S533.677,79.577,530.283,76.271Z" transform="translate(-490.395 -22.005)" fill="url(#k)"/><path d="M504.118,75.051s4.625,14.071,6.974,18.2c2.981,5.24,8.722,7.839,14.309,5.854s2.608-5.092,0-7.575-3.753-10.859-8.225-14.688" transform="translate(-496.176 -22.897)" fill="#fff"/></g></g></svg> <div class="error-page"> <h2 class="post-title">404 - 页面没找到</h2> <p>你想查看的页面已被转移或删除了</p> <p> <button class="ui button" onclick="window.open('https://note.tuuleac.top/','_self')">返回首页</button> </p> </div> </center> </div></div> </div> <link href="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/menutree/menutree.min.css?v=4" rel="stylesheet" /> <div class="pure-u-1-4 hidden_mid_and_down"> <aside id="sidebar" class="sidebar"> <div class="blogger-card">  <div class="blogger-top-bg"></div>  <div class="blogger-header"> <img src="https://cdn.jsdmirror.cn/gh/teac9/blog@master/masked_circle.webp" class="blogger-avatar"> <div class="blogger-name">黑闪Tuuleac</div> </div>  <div class="blogger-bio"> 看万山红遍，层林尽染；漫江碧透，百舸争流。 </div>  <div class="blogger-stats"> <div class="stat-item"> <div class="stat-number">1</div> <div class="stat-label">文章</div> </div> <div class="stat-item"> <div class="stat-number">5</div> <div class="stat-label">评论</div> </div> <div class="stat-item"> <div class="stat-number">1</div> <div class="stat-label">分类</div> </div> <div class="stat-item"> <div class="stat-number">8</div> <div class="stat-label">页面</div> </div> </div> </div>  <div class="sidebar-card"> <div class="card-header"><i class="folder open outline icon"></i> 文章分类</div> <div class="card-body"> <ul class="tree-view"> <li> <div class="tree-node"> <a href="https://note.tuuleac.top/category/default/" class="category-link">默认分类 <span class="category-count">(1)</span></a> </div> </li> </ul> </div> </div> <script> var toggleIcons = document.querySelectorAll('.toggle-icon');toggleIcons.forEach(icon => { icon.addEventListener('click', function() { this.classList.toggle('open'); var subTree = this.parentElement.nextElementSibling; if (subTree) { subTree.classList.toggle('open'); } });});</script> <div class="recent-posts-card"> <div class="card-header"><i class="newspaper icon"></i> 最近文章</div> <div class="card-body"> <ul class="recent-posts-list"> <li> <a href="https://note.tuuleac.top/category/default/">欢迎使用 Typecho</a> <div class="recent-posts-meta">2026/04/12 · 4 条评论</div> </li> </ul> </div> </div> <div class="recent-comments-card"> <div class="card-header"><i class="comment dots outline icon"></i> 最新评论</div> <div class="card-body"> <ul class="recent-comments-list"><li><div class="recent-comments-author">hs</div> <div class="recent-comments-text">111</p> </div> <div class="recent-comments-meta-article">评论于：<a href="#comment-5" title="评论于：欢迎使用 Typecho" target="_blank">欢迎使用 Typecho</a></div><div class="recent-comments-meta">2026-04-13</div></li><li><div class="recent-comments-author">tuuleacwk</div> <div class="recent-comments-text">测试222</p> </div> <div class="recent-comments-meta-article">评论于：<a href="#comment-3" title="评论于：欢迎使用 Typecho" target="_blank">欢迎使用 Typecho</a></div><div class="recent-comments-meta">2026-04-12</div></li><li><div class="recent-comments-author">tuuleacwk</div> <div class="recent-comments-text">测试111</p> </div> <div class="recent-comments-meta-article">评论于：<a href="#comment-2" title="评论于：欢迎使用 Typecho" target="_blank">欢迎使用 Typecho</a></div><div class="recent-comments-meta">2026-04-12</div></li><li><div class="recent-comments-author">Typecho</div> <div class="recent-comments-text">欢迎加入 Typecho 大家族</p> </div> <div class="recent-comments-meta-article">评论于：<a href="#comment-1" title="评论于：欢迎使用 Typecho" target="_blank">欢迎使用 Typecho</a></div><div class="recent-comments-meta">2026-04-12</div></li></ul></div> </div> <div class="tag-cloud-card"> <div class="card-header"><i class="tags icon"></i> 文章标签</div> <div class="card-body"> </div> </div> <div class="countdown-card"> <div class="card-header"><i class="hourglass half icon"></i> 时光沙漏</div> <div class="card-body"> <div class="countdown-item"> <div class="countdown-label">今年剩余时间</div> <div class="countdown-progress"> <div class="countdown-progress-bar" id="year-progress"></div> </div> <div class="countdown-time" id="year-time"></div> </div> <div class="countdown-item"> <div class="countdown-label">本月剩余时间</div> <div class="countdown-progress"> <div class="countdown-progress-bar" id="month-progress"></div> </div> <div class="countdown-time" id="month-time"></div> </div> <div class="countdown-item"> <div class="countdown-label">今天剩余时间</div> <div class="countdown-progress"> <div class="countdown-progress-bar" id="day-progress"></div> </div> <div class="countdown-time" id="day-time"></div> </div> </div> </div> <script> function updateCountdown() { const now = new Date(); const yearEnd = new Date(now.getFullYear(), 11, 31, 23, 59, 59); const yearTotal = yearEnd - new Date(now.getFullYear(), 0, 1); const yearRemaining = yearEnd - now; const yearProgress = ((yearTotal - yearRemaining) / yearTotal) * 100; $('#year-progress').css('width', `${yearProgress}%`); $('#year-time').text(`${Math.floor(yearRemaining / (1000 * 60 * 60 * 24))} 天`); const monthEnd = new Date(now.getFullYear(), now.getMonth() + 1, 0, 23, 59, 59); const monthTotal = monthEnd - new Date(now.getFullYear(), now.getMonth(), 1); const monthRemaining = monthEnd - now; const monthProgress = ((monthTotal - monthRemaining) / monthTotal) * 100; $('#month-progress').css('width', `${monthProgress}%`); $('#month-time').text(`${Math.floor(monthRemaining / (1000 * 60 * 60 * 24))} 天`); const dayEnd = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59); const dayTotal = 24 * 60 * 60 * 1000; const dayRemaining = dayEnd - now; const dayProgress = ((dayTotal - dayRemaining) / dayTotal) * 100; $('#day-progress').css('width', `${dayProgress}%`); const hoursRemaining = Math.floor(dayRemaining / (1000 * 60 * 60)); const minutesRemaining = Math.floor((dayRemaining % (1000 * 60 * 60)) / (1000 * 60)); $('#day-time').text(`${hoursRemaining} 小时 ${minutesRemaining} 分钟`);}updateCountdown();setInterval(updateCountdown, 1000);</script> </aside></div> </div> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/bs-announcement/bs-announcement.min.js?v=1" type="text/javascript"></script> <div id="announcement-root" data-announcements='[{&quot;Popup_Title_Value&quot;:&quot;&quot;,&quot;Popup_Content_Value&quot;:&quot;\u968f\u7f18\u66f4\u65b0&quot;}]' data-settings='{"storageKey":"20260412-1-0001","popupTitle":"\u516c\u544a"}'> </div> </div> <div class="donate-modal__mask"> <div class="donate-modal__container"> <div class="donate-modal__header"> <h3>赞赏支持作者</h3> <span class="donate-modal__close">&times;</span> </div> <div class="donate-modal__nav"> <div class="donate-tab active" data-target="wechat"> 微信 </div> </div> <div class="donate-content"> <div class="donate-pane active" id="wechat"> <img src="https://cdn.jsdmirror.cn/gh/teac9/blog@master/IMG_0824.webp" alt="微信二维码" style="max-width:200px;max-height:200px;"> </div> </div> </div> </div> <button id="back-to-top" class="fixed-button"> <i class="fas fa-angle-double-up"></i> </button>  <button id="foot-settings-button" class="fixed-button"> <i class="fas fa-cogs"></i> </button>  <div id="foot-settings-panel" class="foot-settings-panel ignore"> <div class="foot-panel-header"> <h3>设置</h3> <button id="foot-close-panel" class="foot-close-button"> <i class="fas fa-times"></i> </button> </div> <div class="foot-panel-content">  <div class="foot-setting-item"> <div class="foot-setting-label"> <i class="fas fa-moon"></i> <span>黑暗模式</span> </div> <div class="bstheme-control-dark"> <div class="switch-check"> <input type="checkbox" id="darkmode" value="true" name="darkmode"> <label class="label" for="darkmode"> <span class="slider-check"></span> </label> </div> </div> </div>  <div class="foot-setting-item"> <div class="foot-setting-label"> <i class="fas fa-language"></i> <span>简繁体切换</span> </div> <div class="language-buttons"> <button id="translateLink" class="language-btn active" onclick="translatePage(); return false;">简体</button> </div> </div> </div> </div> <script> $(document).ready(function () { const backToTopButton = $('#back-to-top'); backToTopButton.on('click', function () { $('html, body').animate({ scrollTop: 0 }, 'smooth'); }); $(window).on('scroll', function () { if ($(window).scrollTop() > 100) { backToTopButton.css('display', 'flex'); } else { backToTopButton.css('display', 'none'); } }); const settingsButton = $('#foot-settings-button'); const settingsPanel = $('#foot-settings-panel'); const closePanelButton = $('#foot-close-panel'); settingsButton.on('click', function () { settingsPanel.css('display', 'block'); }); closePanelButton.on('click', function () { settingsPanel.css('display', 'none'); }); $(window).on('click', function (event) { if ( !$(event.target).closest('#foot-settings-button').length && !settingsPanel.has(event.target).length ) { settingsPanel.css('display', 'none'); } }); }); </script> <footer id="footer" role="contentinfo" class="break"> <span id="span"></span> <script type="text/javascript"> function runtime(){ X = new Date("04/12/2026 11:32:29"); Y = new Date(); T = (Y.getTime()-X.getTime()); M = 24*60*60*1000; a = T/M; A = Math.floor(a); b = (a-A)*24; B = Math.floor(b); c = (b-B)*60; C = Math.floor((b-B)*60); D = Math.floor((c-C)*60); span.innerHTML = "本网站已勉强运行: "+A+"天"+B+"小时"+C+"分"+D+"秒" } setInterval(runtime, 1000);</script><br> &copy; Copyright <a href="https://note.tuuleac.top/"> 闪言 2026 All Right Reserved.（版权所有）</a> <i class="pencil alternate icon"></i> 本站总字数:404.00 字 <br> Powered by <a href="http://www.typecho.org" target="_blank">Typecho</a> & <a href="https://github.com/whitebearcode/typecho-bearsimple" target="_blank"> BearSimple</a> </footer> </div> </div> </div> <div class="bs-pjax bs-pjax-mask"></div> <div class="bs-pjax bs-pjax-anim"> <div> <span class="bs-pjax-1"></span> <span class="bs-pjax-2"></span> <span class="bs-pjax-3"></span> <span class="bs-pjax-4"></span> <span class="bs-pjax-5"></span> <span class="bs-pjax-6"></span> <span class="bs-pjax-7"></span> </div> </div> <script> if ('serviceWorker' in navigator) { navigator.serviceWorker.getRegistrations().then(function(registrations) { for(let registration of registrations) { registration.unregister() }}).catch(function(err) { console.log('Service worker 注册失败: ', err); }); } </script> <script>function checkAuth() { $.ajax({ type: "POST", url: "https://note.tuuleac.top/index.php/getIsLogin", data: { action: 'find' }, dataType: "json", success: function(res) { $('.need-login').toggle(res.code === 1); if(res.code === 1) { if(res.group === 'administrator' || res.group === 'editor') { $('#bs-islogin').html( `<a href="${res.url}" class="sm-nav-link" pjax="no"> 进入管理中心 </a>` ).fadeIn(); } $('#bs-islogin2').html( `<a href="https://note.tuuleac.top/usercenter" class="sm-nav-link" pjax="no"> 进入用户中心 </a>` ).fadeIn(); $('#bs-login').hide(); } else { $('#bs-islogin, #bs-islogin2').hide(); $('#bs-login').fadeIn(); } }, error: function() { toastr.warning('状态检测失败'); } });}$(document).on('pjax:complete', checkAuth);$(function() { checkAuth(); const interval = 300000; let timer = setInterval(checkAuth, interval); $(window).blur(() => clearInterval(timer)); $(window).focus(() => { checkAuth(); timer = setInterval(checkAuth, interval); });});window.article_element = '.pic-article-card';</script> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/menu/menu.min.js"></script> <script> const bearnavbar = new SmartMenus(document.querySelector('#bearnavbar'), { dropdownsShowTrigger: 'mouseover', dropdownsHideTrigger: 'mouseout', dropdownsHideTimeout: '200' }); window.addEventListener('scroll', function() { var navbar = document.getElementById('bearnavbar'); var scroll = window.scrollY; if (scroll > 0) { navbar.classList.add('fixed-top'); } else { navbar.classList.remove('fixed-top'); } }); </script>  <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/bs-toc/bs-toc.min.js" type="text/javascript"></script> <script> window.tocManager.displayDisableTocTips = false; window.tocManager.generateToc(); </script>  <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/fancybox/fancybox.umd.min.js"></script> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/mathjax-v3/tex-chtml.js" defer></script> <script> MathJax = { tex: { inlineMath: [['$', '$'], ['\$', '\$']] }, options: { enableFontLoading: true, enableMenu: false, skipHtmlTags: ['script', 'noscript', 'style', 'textarea', 'pre'], ignoreHtmlClass: 'tex2jax_ignore' }, startup: { pageReady: () => MathJax.startup.defaultPageReady() } }; </script> <style id="mermaid-loading-style"> .mermaid-loading { position: relative; min-height: 100px; background: #f8f9fa; border-radius: 4px; margin: 1rem 0; } .mermaid-loading::before { content: "图表加载中..."; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: 6c757d; font-size: 0.9em; } @keyframes ripplePulse { 0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.6; } 50% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; } 100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.6; } } </style> <script>(function() { var mermaidAsset = 'https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/mermaid/mermaid.min.js'; var isLoaded = false; var styleAdded = false; function addLoadingState() { if (!styleAdded) { document.getElementById('mermaid-loading-style').disabled = false; styleAdded = true; } document.querySelectorAll('.mermaid').forEach(el => { if (!el.classList.contains('processing')) { el.classList.add('mermaid-loading', 'processing'); } }); } function removeLoadingState() { document.querySelectorAll('.mermaid.processing').forEach(el => { el.classList.remove('mermaid-loading', 'processing'); el.removeAttribute('aria-live'); el.removeAttribute('aria-label'); }); } function initMermaid() { try { mermaid.init(undefined, document.querySelectorAll('.mermaid')); document.dispatchEvent(new CustomEvent('mermaidRendered')); } catch(e) { console.error('Mermaid initialization failed:', e); document.querySelectorAll('.mermaid.processing').forEach(el => { el.innerHTML = '<div class="mermaid-error">图表渲染失败，请刷新页面</div>'; }); } } function loadMermaid() { if (isLoaded) { initMermaid(); return; } addLoadingState(); var script = document.createElement('script'); script.src = mermaidAsset; script.onload = function() { mermaid.initialize({ startOnLoad: false, securityLevel: 'loose' }); initMermaid(); removeLoadingState(); isLoaded = true; }; script.onerror = function() { removeLoadingState(); document.querySelectorAll('.mermaid').forEach(el => { el.innerHTML = '<div class="mermaid-error">图表库加载失败，请检查网络</div>'; }); }; document.head.appendChild(script); } function checkMermaid() { if (document.querySelector('.mermaid')) { loadMermaid(); } else { document.getElementById('mermaid-loading-style').disabled = true; } } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', checkMermaid); } else { setTimeout(checkMermaid, 100); } $(document) .on('pjax:send', function() { removeLoadingState(); }) .on('pjax:complete', function() { setTimeout(() => { checkMermaid(); document.addEventListener('mermaidRendered', () => { window.scrollBy(0, 1); }); }, 200); }); })();</script>  <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/js/jquery.pjax.js"></script> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/js/qrcode.min.js"></script>  <script type="text/javascript" src="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/fomantic-ui/semantic.min.js?v=4" defer></script> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/js/funlazy.min.js?v=1"></script> <script type="text/javascript" src="https://note.tuuleac.top/usr/themes/bearsimple/assets/js/app.bundle.min.js?v=2.9.9.20250803" defer></script> <script type="module" src="https://note.tuuleac.top/usr/themes/bearsimple/assets/js/emaction.js?v=1" defer></script> <script type="text/javascript">if (!window.prismLoaded) { window.prismLoaded = true; var script = document.createElement('script'); script.src = 'https://note.tuuleac.top/usr/themes/bearsimple/modules/codehightlight/static/prism.js?v=3'; script.onload = initPrism; document.head.appendChild(script);} else if (window.Prism) { initPrism();}function initPrism() { const showLineNumber = true; const preElements = document.querySelectorAll('pre'); preElements.forEach(pre => { let code = pre.querySelector('code'); if (!code) return; const hasLanguageClass = pre.className.match(/\blanguage-\w+\b/) || code.className.match(/\blanguage-\w+\b/); if (!hasLanguageClass) { pre.classList.add('language-plaintext'); } pre.className = pre.className.replace(/\b(line-numbers)\b/g, '').trim(); if (showLineNumber) { pre.classList.add('line-numbers'); } pre.classList.add('prism'); code.classList.add('prism'); }); if (typeof Prism !== 'undefined') { Prism.highlightAll(); }}$(document).on('pjax:complete', initPrism);</script> <script> $(document).on('pjax:complete', function () { const bearnavbar = new SmartMenus(document.querySelector('#bearnavbar'), { dropdownsShowTrigger: 'mouseover', dropdownsHideTrigger: 'mouseout', dropdownsHideTimeout: '200' }); if (document.getElementById('echarts_pie')) EchartsInit(); window.tocManager.displayDisableTocTips = false; window.tocManager.generateToc(); }); </script> <script type="text/javascript" src="https://note.tuuleac.top/usr/themes/bearsimple/assets/js/commentTyping.js"></script> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/player/hls.min.js"></script> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/player/flv.min.js"></script> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/player/player.min.js?v=2.3.4" type="text/javascript"></script> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/player/load-player.js" type="text/javascript"></script> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/mp3/mp3.min.js?v=2.3.4"></script> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/vendors/mp3/load-mp3.js?v=2.3.4"></script> <script type="text/javascript"> $(document).on('pjax:complete', function () { loadDPlayer(); loadAPlayer(); }); </script><div class="pio-container left"><div class="pio-action"></div><canvas id="pio" width="280" height="250"></canvas></div><script src='https://note.tuuleac.top/usr/plugins/Pio/static/l2d.js'></script> <script src='https://note.tuuleac.top/usr/plugins/Pio/static/pio.js'></script> <script>var pio = new Paul_Pio({"mode":"fixed","hidden":true,"content":[],"tips":true,"model":["https://note.tuuleac.top/usr/plugins/Pio/models/pio/model.json"]});</script> <script src="https://note.tuuleac.top/usr/themes/bearsimple/assets/js/instantPage.js" type="module"></script> </body>  <div id="wechat-popup" class="popup-overlay"> <div class="popup-card"> <span class="popup-close">&times;</span> <img src="" alt="微信二维码" class="popup-qr"> <p>微信扫码联系我</p> </div> </div>  <div id="qq-popup" class="popup-overlay"> <div class="popup-card"> <span class="popup-close">&times;</span> <img src="" alt="QQ二维码" class="popup-qr"> <p>QQ扫码联系我</p> </div> </div> </html> 