<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>服务器 on MaxBlog</title><link>https://blogtypecho.maxtrnn.top/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/</link><description>Recent content in 服务器 on MaxBlog</description><generator>Hugo</generator><language>zh-cn</language><copyright>&lt;a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener"&gt;皖ICP备2024056272号-3&lt;/a&gt;</copyright><lastBuildDate>Thu, 24 Sep 2026 07:39:59 +0000</lastBuildDate><atom:link href="https://blogtypecho.maxtrnn.top/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/index.xml" rel="self" type="application/rss+xml"/><item><title>遐想：要不要经常更新呢？有人看吗？</title><link>https://blogtypecho.maxtrnn.top/post/30207/</link><pubDate>Thu, 11 Jun 2026 15:48:01 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/30207/</guid><description>&lt;p&gt;&lt;img src="https://img.maxnn.top/file/1781192883911_20.png" alt=""&gt;&lt;/p&gt;&#10;&lt;h3 id="你说经常更新会有人看吗感觉都没什么人了才修好服务器和站点"&gt;&lt;font color="#2DC26B"&gt;你说经常更新会有人看吗？？？？感觉都没什么人了，才修好服务器和站点。&lt;/font&gt;&lt;/h3&gt;</description></item><item><title>转移域名通知</title><link>https://blogtypecho.maxtrnn.top/post/201/</link><pubDate>Mon, 26 May 2025 11:26:06 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/201/</guid><description>&lt;p&gt;&lt;img src="https://img.maxnn.top/file/1781192702058_9.png" alt=""&gt;&lt;/p&gt;&#10;&lt;p&gt;考虑到原域名 maxtral.fun 的续费成本过高，长期运营入不敷出，该域名将于今年6月到期。为了降低运营成本并保持网站的持续可用性，我决定迁移至更经济实惠的域名。&lt;/p&gt;&#10;&lt;p&gt;经过比较，我已在腾讯云购买了 blog.maxtrnn.top 域名，并续费了两年。目前正在进行备案，预计三周左右可以完成。备案成功后，新的博客网站即可正式上线启用，取代当前的 maxtral.fun。&lt;/p&gt;&#10;&lt;p&gt;除了博客网站，其他相关网站也将陆续更换域名。由于涉及到多个域名的 DNS 解析管理，我需要选择一个合适的 DNS 服务提供商。目前考虑的方案有：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;腾讯云 DNS 解析：&lt;/strong&gt; 域名是在腾讯云购买的，使用腾讯云的 DNS 解析服务可以更好地集成和管理。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;阿里云 DNS 解析：&lt;/strong&gt; 阿里云在 DNS 解析方面拥有丰富的经验和稳定的服务，但需要额外配置。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Cloudflare (CF)：&lt;/strong&gt; Cloudflare 提供免费的 SSL 证书和 CDN 加速服务，可以提升网站的安全性和访问速度，但需要将域名托管到 Cloudflare。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;综合考虑各方面的因素，我需要仔细权衡，选择一个最适合我的 DNS 解析方案，以确保网站的稳定运行和最佳性能。&lt;/p&gt;&#10;&lt;p&gt;总结最后走的是cf maxtrnn.top!!!!!&lt;/p&gt;&#10;&lt;p&gt;‍&lt;/p&gt;</description></item><item><title>图书馆自动预约</title><link>https://blogtypecho.maxtrnn.top/post/ahnu-library-automatic-appointment-zcvsv3/</link><pubDate>Fri, 03 Jan 2025 05:47:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/ahnu-library-automatic-appointment-zcvsv3/</guid><description>&lt;h1 id="图书馆自动预约"&gt;图书馆自动预约&lt;/h1&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;2024年 结束了 2025 我们一定会过的更好的&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;max的驱动力是懒，使用懒得争分夺秒的去抢图书馆的座位，但是为什么还是约不到呢？&lt;/p&gt;&#10;&lt;p&gt;为了更大化展现计算机人的能力，上脚本！&lt;/p&gt;&#10;&lt;p&gt;但是我又不会爬虫怎么办呢？&lt;/p&gt;&#10;&lt;p&gt;去github看一看&lt;/p&gt;&#10;&lt;p&gt;根据已知信息 前图书馆预约项目的“负责人” 告诉我这个是超星学习通的图书馆预约框架&lt;/p&gt;&#10;&lt;p&gt;so 搜索超星图书馆预约 学习通图书馆&lt;/p&gt;&#10;&lt;p&gt;得到结论：&lt;a href="https://github.com/bear-zd/ChaoXingReserveSeat"&gt;https://github.com/bear-zd/ChaoXingReserveSeat&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;前去下载观察：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; json&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; time&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; argparse&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; os&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; logging&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;logging&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;basicConfig(level&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;logging&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;INFO, &lt;span style="color:#8be9fd;font-style:italic"&gt;format&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#39;&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;%(asctime)s&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt; - &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;%(levelname)s&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt; - &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;%(message)s&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#39;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;from&lt;/span&gt; utils &lt;span style="color:#ff79c6"&gt;import&lt;/span&gt; reserve, get_user_credentials&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;get_current_time &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;lambda&lt;/span&gt; action: time&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;strftime(&lt;span style="color:#f1fa8c"&gt;&amp;#34;%H:%M:%S&amp;#34;&lt;/span&gt;, time&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;localtime(time&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;time() &lt;span style="color:#ff79c6"&gt;+&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;8&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;*&lt;/span&gt;&lt;span style="color:#bd93f9"&gt;3600&lt;/span&gt;)) &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; action &lt;span style="color:#ff79c6"&gt;else&lt;/span&gt; time&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;strftime(&lt;span style="color:#f1fa8c"&gt;&amp;#34;%H:%M:%S&amp;#34;&lt;/span&gt;, time&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;localtime(time&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;time()))&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;get_current_dayofweek &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;lambda&lt;/span&gt; action: time&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;strftime(&lt;span style="color:#f1fa8c"&gt;&amp;#34;%A&amp;#34;&lt;/span&gt;, time&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;localtime(time&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;time() &lt;span style="color:#ff79c6"&gt;+&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;8&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;*&lt;/span&gt;&lt;span style="color:#bd93f9"&gt;3600&lt;/span&gt;)) &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; action &lt;span style="color:#ff79c6"&gt;else&lt;/span&gt; time&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;strftime(&lt;span style="color:#f1fa8c"&gt;&amp;#34;%A&amp;#34;&lt;/span&gt;, time&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;localtime(time&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;time()))&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;SLEEPTIME &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;0.2&lt;/span&gt; &lt;span style="color:#6272a4"&gt;# 每次抢座的间隔&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ENDTIME &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#34;07:01:00&amp;#34;&lt;/span&gt; &lt;span style="color:#6272a4"&gt;# 根据学校的预约座位时间+1min即可&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ENABLE_SLIDER &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;False&lt;/span&gt; &lt;span style="color:#6272a4"&gt;# 是否有滑块验证&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;MAX_ATTEMPT &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;5&lt;/span&gt; &lt;span style="color:#6272a4"&gt;# 最大尝试次数&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;RESERVE_NEXT_DAY &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;False&lt;/span&gt; &lt;span style="color:#6272a4"&gt;# 预约明天而不是今天的&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;def&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;login_and_reserve&lt;/span&gt;(users, usernames, passwords, action, success_list&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;None&lt;/span&gt;):&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; logging&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;info(&lt;span style="color:#f1fa8c"&gt;f&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;Global settings: &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;\n&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;SLEEPTIME: &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;SLEEPTIME&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;\n&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;ENDTIME: &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;ENDTIME&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;\n&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;ENABLE_SLIDER: &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;ENABLE_SLIDER&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;\n&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;RESERVE_NEXT_DAY: &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;RESERVE_NEXT_DAY&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; action &lt;span style="color:#ff79c6"&gt;and&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;len&lt;/span&gt;(usernames&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;split(&lt;span style="color:#f1fa8c"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;)) &lt;span style="color:#ff79c6"&gt;!=&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;len&lt;/span&gt;(users):&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;raise&lt;/span&gt; Exception(&lt;span style="color:#f1fa8c"&gt;&amp;#34;user number should match the number of config&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; success_list &lt;span style="color:#ff79c6"&gt;is&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;None&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; success_list &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; [&lt;span style="color:#ff79c6"&gt;False&lt;/span&gt;] &lt;span style="color:#ff79c6"&gt;*&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;len&lt;/span&gt;(users)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; current_dayofweek &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; get_current_dayofweek(action)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; index, user &lt;span style="color:#ff79c6"&gt;in&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;enumerate&lt;/span&gt;(users):&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; username, password, times, roomid, seatid, daysofweek &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; user&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;values()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; action:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; username, password &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; usernames&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;split(&lt;span style="color:#f1fa8c"&gt;&amp;#39;,&amp;#39;&lt;/span&gt;)[index], passwords&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;split(&lt;span style="color:#f1fa8c"&gt;&amp;#39;,&amp;#39;&lt;/span&gt;)[index]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt;(current_dayofweek &lt;span style="color:#ff79c6"&gt;not&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;in&lt;/span&gt; daysofweek):&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; logging&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;info(&lt;span style="color:#f1fa8c"&gt;&amp;#34;Today not set to reserve&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;continue&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;not&lt;/span&gt; success_list[index]: &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; logging&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;info(&lt;span style="color:#f1fa8c"&gt;f&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;----------- &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;username&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt; -- &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;times&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt; -- &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;seatid&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt; try -----------&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; s &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; reserve(sleep_time&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;SLEEPTIME, max_attempt&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;MAX_ATTEMPT, enable_slider&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;ENABLE_SLIDER, reserve_next_day&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;RESERVE_NEXT_DAY)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; s&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;get_login_status()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; s&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;login(username, password)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; s&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;requests&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;headers&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;update({&lt;span style="color:#f1fa8c"&gt;&amp;#39;Host&amp;#39;&lt;/span&gt;: &lt;span style="color:#f1fa8c"&gt;&amp;#39;office.chaoxing.com&amp;#39;&lt;/span&gt;})&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; suc &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; s&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;submit(times, roomid, seatid, action)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; success_list[index] &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; suc&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;return&lt;/span&gt; success_list&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;def&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;main&lt;/span&gt;(users, action&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;False&lt;/span&gt;):&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; current_time &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; get_current_time(action)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; logging&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;info(&lt;span style="color:#f1fa8c"&gt;f&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;start time &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;current_time&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;, action &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#39;on&amp;#39;&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; action &lt;span style="color:#ff79c6"&gt;else&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#39;off&amp;#39;&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; attempt_times &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; usernames, passwords &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;None&lt;/span&gt;, &lt;span style="color:#ff79c6"&gt;None&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; action:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; usernames, passwords &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; get_user_credentials(action)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; success_list &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;None&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; current_dayofweek &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; get_current_dayofweek(action)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; today_reservation_num &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;sum&lt;/span&gt;(&lt;span style="color:#bd93f9"&gt;1&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; d &lt;span style="color:#ff79c6"&gt;in&lt;/span&gt; users &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; current_dayofweek &lt;span style="color:#ff79c6"&gt;in&lt;/span&gt; d&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;get(&lt;span style="color:#f1fa8c"&gt;&amp;#39;daysofweek&amp;#39;&lt;/span&gt;))&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;while&lt;/span&gt; current_time &lt;span style="color:#ff79c6"&gt;&amp;lt;&lt;/span&gt; ENDTIME:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; attempt_times &lt;span style="color:#ff79c6"&gt;+=&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;# try:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; success_list &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; login_and_reserve(users, usernames, passwords, action, success_list)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;# except Exception as e:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;# print(f&amp;#34;An error occurred: {e}&amp;#34;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;print&lt;/span&gt;(&lt;span style="color:#f1fa8c"&gt;f&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;attempt time &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;attempt_times&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;, time now &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;current_time&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;, success list &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;success_list&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; current_time &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; get_current_time(action)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;sum&lt;/span&gt;(success_list) &lt;span style="color:#ff79c6"&gt;==&lt;/span&gt; today_reservation_num:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;print&lt;/span&gt;(&lt;span style="color:#f1fa8c"&gt;f&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;reserved successfully!&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;return&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;def&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;debug&lt;/span&gt;(users, action&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;False&lt;/span&gt;):&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; logging&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;info(&lt;span style="color:#f1fa8c"&gt;f&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;Global settings: &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;\n&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;SLEEPTIME: &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;SLEEPTIME&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;\n&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;ENDTIME: &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;ENDTIME&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;\n&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;ENABLE_SLIDER: &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;ENABLE_SLIDER&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;\n&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;RESERVE_NEXT_DAY: &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;RESERVE_NEXT_DAY&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; suc &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;False&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; logging&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;info(&lt;span style="color:#f1fa8c"&gt;f&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34; Debug Mode start! , action &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#39;on&amp;#39;&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; action &lt;span style="color:#ff79c6"&gt;else&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#39;off&amp;#39;&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; action:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; usernames, passwords &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; get_user_credentials(action)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; current_dayofweek &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; get_current_dayofweek(action)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;for&lt;/span&gt; index, user &lt;span style="color:#ff79c6"&gt;in&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;enumerate&lt;/span&gt;(users):&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; username, password, times, roomid, seatid, daysofweek &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; user&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;values()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;type&lt;/span&gt;(seatid) &lt;span style="color:#ff79c6"&gt;==&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;str&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; seatid &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; [seatid]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; action:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; username ,password &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; usernames&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;split(&lt;span style="color:#f1fa8c"&gt;&amp;#39;,&amp;#39;&lt;/span&gt;)[index], passwords&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;split(&lt;span style="color:#f1fa8c"&gt;&amp;#39;,&amp;#39;&lt;/span&gt;)[index]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt;(current_dayofweek &lt;span style="color:#ff79c6"&gt;not&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;in&lt;/span&gt; daysofweek):&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; logging&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;info(&lt;span style="color:#f1fa8c"&gt;&amp;#34;Today not set to reserve&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;continue&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; logging&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;info(&lt;span style="color:#f1fa8c"&gt;f&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;----------- &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;username&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt; -- &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;times&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt; -- &lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;{&lt;/span&gt;seatid&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt; try -----------&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; s &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; reserve(sleep_time&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;SLEEPTIME, max_attempt&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;MAX_ATTEMPT, enable_slider&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;ENABLE_SLIDER)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; s&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;get_login_status()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; s&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;login(username, password)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; s&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;requests&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;headers&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;update({&lt;span style="color:#f1fa8c"&gt;&amp;#39;Host&amp;#39;&lt;/span&gt;: &lt;span style="color:#f1fa8c"&gt;&amp;#39;office.chaoxing.com&amp;#39;&lt;/span&gt;})&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; suc &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; s&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;submit(times, roomid, seatid, action)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; suc:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;return&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;def&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;get_roomid&lt;/span&gt;(args1, args2):&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; username &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;input&lt;/span&gt;(&lt;span style="color:#f1fa8c"&gt;&amp;#34;请输入用户名：&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; password &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;input&lt;/span&gt;(&lt;span style="color:#f1fa8c"&gt;&amp;#34;请输入密码：&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; s &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; reserve(sleep_time&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;SLEEPTIME, max_attempt&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;MAX_ATTEMPT, enable_slider&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;ENABLE_SLIDER, reserve_next_day&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;RESERVE_NEXT_DAY)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; s&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;get_login_status()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; s&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;login(username&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;username, password&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;password)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; s&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;requests&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;headers&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;update({&lt;span style="color:#f1fa8c"&gt;&amp;#39;Host&amp;#39;&lt;/span&gt;: &lt;span style="color:#f1fa8c"&gt;&amp;#39;office.chaoxing.com&amp;#39;&lt;/span&gt;})&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; encode &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;input&lt;/span&gt;(&lt;span style="color:#f1fa8c"&gt;&amp;#34;请输入deptldEnc：&amp;#34;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; s&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;roomid(encode)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;if&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;__name__&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;==&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#34;__main__&amp;#34;&lt;/span&gt;:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; config_path &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; os&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;path&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;join(os&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;path&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;dirname(&lt;span style="color:#8be9fd;font-style:italic"&gt;__file__&lt;/span&gt;), &lt;span style="color:#f1fa8c"&gt;&amp;#39;config.json&amp;#39;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; parser &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; argparse&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;ArgumentParser(prog&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#39;Chao Xing seat auto reserve&amp;#39;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; parser&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;add_argument(&lt;span style="color:#f1fa8c"&gt;&amp;#39;-u&amp;#39;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#39;--user&amp;#39;&lt;/span&gt;, default&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;config_path, help&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#39;user config file&amp;#39;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; parser&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;add_argument(&lt;span style="color:#f1fa8c"&gt;&amp;#39;-m&amp;#39;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#39;--method&amp;#39;&lt;/span&gt;, default&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;reserve&amp;#34;&lt;/span&gt; ,choices&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;[&lt;span style="color:#f1fa8c"&gt;&amp;#34;reserve&amp;#34;&lt;/span&gt;, &lt;span style="color:#f1fa8c"&gt;&amp;#34;debug&amp;#34;&lt;/span&gt;, &lt;span style="color:#f1fa8c"&gt;&amp;#34;room&amp;#34;&lt;/span&gt;], help&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#39;for debug&amp;#39;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; parser&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;add_argument(&lt;span style="color:#f1fa8c"&gt;&amp;#39;-a&amp;#39;&lt;/span&gt;,&lt;span style="color:#f1fa8c"&gt;&amp;#39;--action&amp;#39;&lt;/span&gt;, action&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;store_true&amp;#34;&lt;/span&gt;,help&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#39;use --action to enable in github action&amp;#39;&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; args &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; parser&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;parse_args()&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; func_dict &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; {&lt;span style="color:#f1fa8c"&gt;&amp;#34;reserve&amp;#34;&lt;/span&gt;: main, &lt;span style="color:#f1fa8c"&gt;&amp;#34;debug&amp;#34;&lt;/span&gt;:debug, &lt;span style="color:#f1fa8c"&gt;&amp;#34;room&amp;#34;&lt;/span&gt;: get_roomid}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;with&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;open&lt;/span&gt;(args&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;user, &lt;span style="color:#f1fa8c"&gt;&amp;#34;r+&amp;#34;&lt;/span&gt;) &lt;span style="color:#ff79c6"&gt;as&lt;/span&gt; data:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; usersdata &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; json&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;load(data)[&lt;span style="color:#f1fa8c"&gt;&amp;#34;reserve&amp;#34;&lt;/span&gt;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; func_dict[args&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;method](usersdata, args&lt;span style="color:#ff79c6"&gt;.&lt;/span&gt;action)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="自动预约座位的-python-脚本解析"&gt;自动预约座位的 Python 脚本解析&lt;/h3&gt;&#10;&lt;p&gt;此文档旨在详细介绍一个用于自动预约座位的 Python 脚本。该脚本的核心功能是登录用户，按照设定的时间预约座位，并提供了一些调试和错误处理的功能。&lt;/p&gt;</description></item><item><title>MAX-网盘-1-使用教程</title><link>https://blogtypecho.maxtrnn.top/post/maxnetdisk1use-tutorial-2chvkm/</link><pubDate>Mon, 02 Dec 2024 12:16:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/maxnetdisk1use-tutorial-2chvkm/</guid><description>&lt;h1 id="max-网盘-1-使用教程"&gt;MAX-网盘-1-使用教程&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;主页更多网址打开：&lt;a href="https://home.maxtral.fun/list/"&gt;收藏夹&lt;/a&gt; 或者 直接跳转 &lt;a href="http://cloude.maxtral.fun/login"&gt;Cloudreve&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202200024.png" alt="image"&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;登录注册使用，应该没什么问题了，都是s3存储，阿里云的40g 应该够用 和onedrive的1t&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;就跟百度网盘一样&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;懒得码字了，去吧！kimi！&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Cloudreve是一个支持多家云存储的自托管文件管理和分享系统，以下是使用Cloudreve的基本教程：&lt;/p&gt;&#10;&lt;h3 id="1-项目介绍"&gt;1. 项目介绍&lt;/h3&gt;&#10;&lt;p&gt;Cloudreve支持多种存储端，如本机、从机、七牛、阿里云OSS、腾讯云COS、又拍云、OneDrive等，并且支持客户端直传，下载限速等功能。&lt;/p&gt;&#10;&lt;h3 id="2-官方资源"&gt;2. 官方资源&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;官网：&lt;a href="https://cloudreve.org/"&gt;https://cloudreve.org/&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;GitHub：&lt;a href="https://github.com/cloudreve/Cloudreve"&gt;https://github.com/cloudreve/Cloudreve&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;下载：&lt;a href="https://github.com/cloudreve/Cloudreve/releases"&gt;https://github.com/cloudreve/Cloudreve/releases&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;安装文档：&lt;a href="https://docs.cloudreve.org/getting-started/install"&gt;https://docs.cloudreve.org/getting-started/install&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;演示：&lt;a href="https://demo.cloudreve.org"&gt;https://demo.cloudreve.org&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="3-安装步骤"&gt;3. 安装步骤&lt;/h3&gt;&#10;&lt;h4 id="31-获取cloudreve"&gt;3.1 获取Cloudreve&lt;/h4&gt;&#10;&lt;p&gt;你可以在GitHub Release页面获取已经构建打包完成的主程序。例如，对于64位Linux系统，可以下载&lt;code&gt;cloudreve_版本号_linux_amd64.tar.gz&lt;/code&gt;。&lt;/p&gt;&#10;&lt;h4 id="32-启动cloudreve"&gt;3.2 启动Cloudreve&lt;/h4&gt;&#10;&lt;p&gt;通过SSH远程登录到Linux服务器，执行以下命令来获取、解压并执行主程序：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;apt-get update &lt;span style="color:#ff79c6"&gt;&amp;amp;&amp;amp;&lt;/span&gt; apt-get upgrade&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8be9fd;font-style:italic"&gt;cd&lt;/span&gt; /usr/bin&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget https://github.com/cloudreve/Cloudreve/releases/download/版本号/cloudreve_版本号_linux_amd64.tar.gz&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar -zxvf cloudreve_版本号_linux_amd64.tar.gz&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chmod +x ./cloudreve&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./cloudreve&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;访问&lt;code&gt;http://服务器IP:5212&lt;/code&gt;，使用首次启动Cloudreve打印出来的账号密码登录。&lt;/p&gt;&#10;&lt;h4 id="33-进程守护"&gt;3.3 进程守护&lt;/h4&gt;&#10;&lt;p&gt;使用Systemd方式进行进程守护，编辑配置文件并启动Cloudreve服务。&lt;/p&gt;&#10;&lt;h3 id="4-可选部署流程"&gt;4. 可选部署流程&lt;/h3&gt;&#10;&lt;h4 id="41-反向代理"&gt;4.1 反向代理&lt;/h4&gt;&#10;&lt;p&gt;如果需要使用HTTPS或与其他Web服务共存，可以使用主流Web服务器反向代理Cloudreve。&lt;/p&gt;&#10;&lt;h4 id="42-docker部署"&gt;4.2 Docker部署&lt;/h4&gt;&#10;&lt;p&gt;Cloudreve也支持通过Docker进行部署，提供了官方的docker image，支持多种架构。&lt;/p&gt;&#10;&lt;h3 id="5-配置文件"&gt;5. 配置文件&lt;/h3&gt;&#10;&lt;p&gt;Cloudreve启动后会自动生成配置文件&lt;code&gt;conf.ini&lt;/code&gt;，你可以根据需要进行修改。&lt;/p&gt;&#10;&lt;p&gt;以上是Cloudreve的基本使用教程，具体步骤和配置可能因版本更新而有所变化，请参考最新的官方文档进行操作。&#10;‍&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;就这么多&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202200254.png" alt="image"&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;h3 id="6-基本使用"&gt;6. 基本使用&lt;/h3&gt;&#10;&lt;p&gt;一旦Cloudreve成功安装并启动，你就可以通过浏览器访问管理界面进行进一步的设置和文件管理。&lt;/p&gt;&#10;&lt;h4 id="61-登录界面"&gt;6.1 登录界面&lt;/h4&gt;&#10;&lt;p&gt;在浏览器中输入 &lt;code&gt;http://服务器IP:5212&lt;/code&gt;，你将看到登录界面。输入之前打印出的默认账号和密码后，你将进入Cloudreve的主界面。&lt;/p&gt;</description></item><item><title>MAX-图床-1-使用教程</title><link>https://blogtypecho.maxtrnn.top/post/maxgraph1use-tutorial-1pkops/</link><pubDate>Mon, 02 Dec 2024 12:13:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/maxgraph1use-tutorial-1pkops/</guid><description>&lt;h1 id="max-图床-1-使用教程"&gt;MAX-图床-1-使用教程&lt;/h1&gt;&#10;&lt;h1 id="教程"&gt;教程&lt;/h1&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;a href="https://home.maxtral.fun/list/"&gt;收藏夹&lt;/a&gt; 打开找到图床然后打开 &lt;a href="https://pic.maxtral.fun/"&gt;MAX的图床&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202200535.png" alt="image"&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;陌生人好像可以直接传，或者去登录注册&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202200541.png" alt="image"&gt;&lt;/p&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;传一个图片就能直接获得uml引用了&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202200722.png" alt="image"&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;点击右侧的上传&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;等待完成获得地址&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202200745.png" alt="image"&gt;&#10;结束&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;h2 id="介绍图床"&gt;介绍图床：&lt;/h2&gt;&#10;&lt;p&gt;图床是一种网络服务，主要用于存储和托管图片。用户可以将图片上传到图床服务器上，服务器会为每张图片分配一个唯一的URL，用户可以通过这个链接在网页、博客、论坛等地方方便地分享和展示这些图片。图床的主要功能包括：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;图片存储&lt;/strong&gt;：用户可以将图片上传到图床服务器上，服务器会存储这些图片。&#10;使用图床的好处包括节省存储空间、提高访问速度、方便分享、保护隐私等。图床适用于多种场景，比如在论坛或社交媒体上分享图片、将图片嵌入到个人博客或网站中、在在线商店或拍卖网站上展示商品图片、在应用程序中存储和展示图片资源等。一些知名的图床服务包括七牛云、GitHub、微博图床、腾讯云等。&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="兰空图床"&gt;兰空图床&lt;/h2&gt;&#10;&lt;p&gt;Lsky Pro+，也称为兰空图床，是一个基于PHP和Laravel框架开发的云端相册程序。它允许用户上传、管理和分享图片，并提供了多种强大的功能。以下是Lsky Pro+的主要特点和用途：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;图片存储与管理&lt;/strong&gt;：兰空图床可以帮助用户保管大量图片，支持主流第三方存储服务，如AWS S3、阿里云OSS、腾讯云COS等。&#10;综上所述，Lsky Pro+兰空图床是一个功能全面、易于部署和使用的图床程序，适合个人和企业用户用于图片的存储、管理和分享。&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;官网地址：&lt;a href="https://docs.lsky.pro/guide/getting-started"&gt;快速开始 | Lsky Pro+&lt;/a&gt;&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt; [Lsky Pro+](https://docs.lsky.pro/)&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;p&gt;本教程介绍了如何使用MAX图床和Lsky Pro+图床服务。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;使用MAX图床&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;打开MAX图床网站并进行登录或注册。&lt;/li&gt;&#10;&lt;li&gt;上传图片后，系统将提供图片的唯一URL，便于分享和引用。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;图床概述&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;图床是存储和托管图片的网络服务，用户可上传图片，获取URL进行分享，节省存储空间、提高访问速度并保护隐私。&lt;/li&gt;&#10;&lt;li&gt;适用于分享、博客嵌入、商品展示等多个场景。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;兰空图床（Lsky Pro+）&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;基于PHP和Laravel开发，允许图片上传、管理和分享。&lt;/li&gt;&#10;&lt;li&gt;支持主流第三方存储服务如AWS S3、阿里云OSS等，适合个人与企业用户。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;官方文档和资源可通过提供的链接访问。&lt;/p&gt;&#10;&lt;p&gt;本文章提取的链接：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;[button color=&amp;ldquo;primary&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://home.maxtral.fun/list/&amp;rdquo; type=&amp;quot;&amp;quot;]收藏夹[/button]&lt;/li&gt;&#10;&lt;li&gt;[button color=&amp;ldquo;primary&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://pic.maxtral.fun/&amp;rdquo; type=&amp;quot;&amp;quot;]MAX的图床[/button]&lt;/li&gt;&#10;&lt;li&gt;[button color=&amp;ldquo;primary&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://docs.lsky.pro/guide/getting-started&amp;rdquo; type=&amp;quot;&amp;quot;]快速开始 | Lsky Pro+[/button]&lt;/li&gt;&#10;&lt;li&gt;[button color=&amp;ldquo;primary&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://docs.lsky.pro/&amp;rdquo; type=&amp;quot;&amp;quot;]Lsky Pro+[/button]&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;‍&lt;/p&gt;</description></item><item><title>MAX-状态-1+MAX-状态-2-使用教程</title><link>https://blogtypecho.maxtrnn.top/post/maxstatus1-maxstatus2-use-tutorial-1ikgjt/</link><pubDate>Mon, 02 Dec 2024 11:57:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/maxstatus1-maxstatus2-use-tutorial-1ikgjt/</guid><description>&lt;h1 id="max-状态-1max-状态-2-使用教程"&gt;MAX-状态-1+MAX-状态-2-使用教程&lt;/h1&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;h1 id="状态-1"&gt;状态-1&lt;/h1&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;从主页就直接打开&lt;/li&gt;&#10;&lt;li&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202194923.png" alt="image"&gt;&lt;/li&gt;&#10;&lt;li&gt;点击后可以查看相关的状态和内容 &lt;a href="http://nezha.maxtral.fun/"&gt;MAX-SEVERS-STATUS&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202194956.png" alt="image"&gt;&lt;/li&gt;&#10;&lt;li&gt;点击服务可以看我的网页的情况 &lt;a href="http://nezha.maxtral.fun/service"&gt;服务状态 - MAX-SEVERS-STATUS&lt;/a&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202195026.png" alt="image"&gt;&lt;span data-type="text" style="color: var(--b3-theme-on-background); font-family: var(--b3-font-family-protyle); background-color: var(--b3-theme-background);"&gt;之前挺多的后来删除了&lt;/span&gt;，可以看网络或者更改主题之类 &lt;a href="http://nezha.maxtral.fun/network"&gt;MAX-SEVERS-STATUS&lt;/a&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202195055.png" alt="image"&gt;&lt;/li&gt;&#10;&lt;li&gt;之前挺多的后来删除了，&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202195055.png" alt="image"&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="状态-2"&gt;状态-2&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;从更多网址找到 &lt;a href="https://home.maxtral.fun/list/"&gt;收藏夹&lt;/a&gt; 状态-2 &lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202195308.png" alt="image"&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;具体有什么自己探索去吧 &lt;a href="https://severstatus.maxtral.fun/"&gt;NezhaDash&lt;/a&gt; 本来就是一个面板 没什么好说的&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202195416.png" alt="image"&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;vercerl项目和docker项目这两个都是&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;状态1的文档地址：&lt;a href="https://nezha.wiki/guide/services.html"&gt;服务监控 | 哪吒服务器监控&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;状态2的文档地址：https://github.com/hamster1963/nezha-dash&lt;/p&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="摘要"&gt;摘要&lt;/h2&gt;&#10;&lt;h3 id="状态-1-1"&gt;状态-1&lt;/h3&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;直接从主页访问相关服务状态。&lt;/li&gt;&#10;&lt;li&gt;提供链接以查看服务状态及网页情况：&lt;a href="http://nezha.maxtral.fun/"&gt;MAX-SEVERS-STATUS&lt;/a&gt; 和 &lt;a href="http://nezha.maxtral.fun/service"&gt;服务状态 - MAX-SEVERS-STATUS&lt;/a&gt;。&lt;/li&gt;&#10;&lt;li&gt;支持网络查看和主题更改。&lt;/li&gt;&#10;&lt;li&gt;提到部分内容曾被删除。&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h3 id="状态-2-1"&gt;状态-2&lt;/h3&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;从更多网址中找到收藏夹：&lt;a href="https://home.maxtral.fun/list/"&gt;收藏夹&lt;/a&gt;。&lt;/li&gt;&#10;&lt;li&gt;提供 NezhaDash 的链接供探索：&lt;a href="https://severstatus.maxtral.fun/"&gt;NezhaDash&lt;/a&gt;。&lt;/li&gt;&#10;&lt;li&gt;介绍了 vercel 和 docker 项目。&lt;/li&gt;&#10;&lt;li&gt;提供了与状态1和状态2相关的文档链接。&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;本文章提取的链接：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;[button color=&amp;ldquo;primary&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://home.maxtral.fun/&amp;rdquo; type=&amp;ldquo;round&amp;rdquo;]我的主页[/button]&lt;/li&gt;&#10;&lt;li&gt;[button color=&amp;ldquo;danger&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;http://nezha.maxtral.fun/&amp;rdquo; type=&amp;quot;&amp;quot;]MAX-SEVERS-STATUS[/button]&lt;/li&gt;&#10;&lt;li&gt;[button color=&amp;ldquo;dark&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;http://nezha.maxtral.fun/service&amp;rdquo; type=&amp;quot;&amp;quot;]服务状态 - MAX-SEVERS-STATUS[/button]&lt;/li&gt;&#10;&lt;li&gt;[button color=&amp;ldquo;info&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;http://nezha.maxtral.fun/network&amp;rdquo; type=&amp;quot;&amp;quot;]MAX-SEVERS-STATUS[/button]&lt;/li&gt;&#10;&lt;li&gt;[button color=&amp;ldquo;light&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://home.maxtral.fun/list/&amp;rdquo; type=&amp;quot;&amp;quot;]收藏夹[/button]&lt;/li&gt;&#10;&lt;li&gt;[button color=&amp;ldquo;success&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://severstatus.maxtral.fun/&amp;rdquo; type=&amp;quot;&amp;quot;]NezhaDash[/button]&lt;/li&gt;&#10;&lt;li&gt;[button color=&amp;ldquo;warning&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://nezha.wiki/guide/services.html&amp;rdquo; type=&amp;quot;&amp;quot;]服务监控 | 哪吒服务器监控[/button]&lt;/li&gt;&#10;&lt;li&gt;[button color=&amp;ldquo;primary&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://github.com/hamster1963/nezha-dash&amp;rdquo; type=&amp;quot;&amp;quot;]状态2的文档地址[/button]&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;‍&lt;/p&gt;</description></item><item><title>MAX-gemini-1-使用教程</title><link>https://blogtypecho.maxtrnn.top/post/maxgemini1use-tutorial-zjpn5p/</link><pubDate>Mon, 02 Dec 2024 11:39:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/maxgemini1use-tutorial-zjpn5p/</guid><description>&lt;h1 id="max-gemini-1-使用教程"&gt;MAX-gemini-1-使用教程&lt;/h1&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;打开门户页面：&lt;a href="https://home.maxtral.fun/"&gt;MAX-门户-1&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;点击更多网址：&lt;a href="https://home.maxtral.fun/list/"&gt;收藏夹&lt;/a&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202192137.png" alt="image"&gt;&lt;/li&gt;&#10;&lt;li&gt;选择AI助手页面&lt;/li&gt;&#10;&lt;li&gt;点击 &lt;a href="https://govercel.maxtral.fun/"&gt;MAX-gemini-1&lt;/a&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202192307.png" alt="image"&gt;&lt;/li&gt;&#10;&lt;li&gt;然后就可以愉快的和ai聊天了&lt;/li&gt;&#10;&lt;li&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202192413.png" alt="image"&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202192429.png" alt="image"&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;水文章，无意义，但是还是需要有的&lt;/p&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="摘要"&gt;摘要：&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;访问 MAX 门户页面。&lt;/li&gt;&#10;&lt;li&gt;点击“更多网址”进入收藏夹。&lt;/li&gt;&#10;&lt;li&gt;选择 AI 助手页面。&lt;/li&gt;&#10;&lt;li&gt;点击 MAX-gemini-1 链接。&lt;/li&gt;&#10;&lt;li&gt;开始与 AI 聊天。&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;备注：该文章内容简单，可能缺乏深度，但仍有其存在的必要。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;本文章提取的链接：&#10;[button color=&amp;ldquo;primary&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://home.maxtral.fun/&amp;rdquo; type=&amp;ldquo;round&amp;rdquo;]我的主页[/button]&#10;[button color=&amp;ldquo;primary&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://home.maxtral.fun/list/&amp;rdquo; type=&amp;ldquo;round&amp;rdquo;]收藏夹[/button]&#10;[button color=&amp;ldquo;primary&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://govercel.maxtral.fun/&amp;rdquo; type=&amp;ldquo;round&amp;rdquo;]MAX-gemini-1[/button]&lt;/p&gt;&#10;&lt;p&gt;‍&lt;/p&gt;</description></item><item><title>MAX-门户页面-1</title><link>https://blogtypecho.maxtrnn.top/post/maxportal-page1-2rbpib/</link><pubDate>Sun, 01 Dec 2024 16:32:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/maxportal-page1-2rbpib/</guid><description>&lt;h1 id="max-门户页面-1"&gt;MAX-门户页面-1&lt;/h1&gt;&#10;&lt;h1 id="门户使用教程"&gt;门户使用教程&lt;/h1&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;进入门户页面：&lt;a href="https://home.maxtral.fun/"&gt;MAX-门户-1&lt;/a&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;点击时间是功能栏弹开&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202002708.png" alt="image"&gt;&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;点击其他地方是关闭&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;搜索框输入内容摁下回车enter或者点击搜索图标进入百度搜索&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202002830.png" alt="image"&gt;&#10;‍&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;底下三个选择具体使用方法&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202002929.png" alt="image"&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;公告点击查看max发布的公告&lt;/li&gt;&#10;&lt;li&gt;留言板可以选择留言内容，包括反馈建议等，需要邮箱支持，因为可以邮箱通知你谁回复你了&lt;/li&gt;&#10;&lt;li&gt;计划任务，可以看见max关于中国门户网页的计划和历程&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h1 id="更多地址教程"&gt;更多地址教程&lt;/h1&gt;&#10;&lt;p&gt;2024年12月2日00:32:35 待编写&lt;/p&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;p&gt;‍&lt;/p&gt;&#10;&lt;p&gt;‍&lt;/p&gt;</description></item><item><title>关于最近的新项目</title><link>https://blogtypecho.maxtrnn.top/post/147/</link><pubDate>Wed, 06 Nov 2024 00:12:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/147/</guid><description>&lt;p&gt;以下是修改后的完整博客文章，已经按照要求使用了代码格式展示代码、使用 &lt;code&gt;scode&lt;/code&gt; 说明内容，并使用按钮链接格式提供项目地址：&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h1 id="新开了服务器并安装了新项目"&gt;新开了服务器并安装了新项目&lt;/h1&gt;&#10;&lt;p&gt;近期，我新开了一个服务器，并在其上安装了两个操作系统：一个是 Windows，另一个是 Ubuntu。这个新环境为我的项目提供了更好的部署和管理空间。&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://bucket.maxtral.fun/typecho/2024/11/06/2024-11-06T08:31:13.png" alt="2024-11-06T08:31:13.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;之后，我计划会添加更多的项目，提升整体的功能和服务。为了更好地展示这些项目，我新建了一个门户页面。&lt;/p&gt;&#10;&lt;p&gt;新的门户页面链接：&lt;a href="https://home.maxtral.fun/"&gt;https://home.maxtral.fun/&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="说明"&gt;说明：&lt;/h2&gt;&#10;&lt;p&gt;下面是当前项目中的一些关键代码：&lt;/p&gt;&#10;&lt;h3 id="html-结构"&gt;HTML 结构：&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#ff79c6"&gt;html&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;lang&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;zh-CN&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#ff79c6"&gt;head&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;meta&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;charset&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;UTF-8&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;meta&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;name&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;viewport&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;content&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;width=device-width, initial-scale=1.0&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;title&lt;/span&gt;&amp;gt;MAX-门户-1&amp;lt;/&lt;span style="color:#ff79c6"&gt;title&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;link&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;rel&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;stylesheet&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;href&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;styles.css&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;head&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#ff79c6"&gt;body&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#ff79c6"&gt;script&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;src&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;dist/bundle.js&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;defer&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;script&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;container&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;background&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;blurContainer&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;navigation&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;navigation&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;&amp;lt;!-- 时间显示框 --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;time-button&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;timeButton&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;&amp;lt;!-- JavaScript 将在此处插入当前时间 --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;&amp;lt;!-- 搜索框和搜索图标 --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;search-wrapper&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;label&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;for&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;searchInput&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;label&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;input&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#50fa7b"&gt;type&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;text&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#50fa7b"&gt;placeholder&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;百度搜索&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;searchInput&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;search-input&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;search-icon&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;searchButton&amp;#34;&lt;/span&gt;&amp;gt;&amp;amp;#128269;&amp;lt;/&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt;&amp;gt; &lt;span style="color:#6272a4"&gt;&amp;lt;!-- 搜索图标按钮 --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;&amp;lt;!-- 公告弹窗 --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;popup-content&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;announcementPopup&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;close-button&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;data-popup&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;announcementPopup&amp;#34;&lt;/span&gt;&amp;gt;关闭&amp;lt;/&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;announcement-content&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;&amp;lt;!-- 公告内容将通过 JavaScript 从 announcement.txt 加载 --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;&amp;lt;!-- 留言板弹窗 --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;popup-content&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;commentPopup&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;close-button&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;data-popup&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;commentPopup&amp;#34;&lt;/span&gt;&amp;gt;关闭&amp;lt;/&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;h3&lt;/span&gt;&amp;gt;留言板&amp;lt;/&lt;span style="color:#ff79c6"&gt;h3&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;&amp;lt;!-- 留言表单 --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;message-form&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;input-group&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;label&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;for&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;nickname&amp;#34;&lt;/span&gt;&amp;gt;昵称&amp;lt;/&lt;span style="color:#ff79c6"&gt;label&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;input&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;type&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;text&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;nickname&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;input&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;placeholder&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;请输入你的昵称&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;nicknameError&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;error&amp;#34;&lt;/span&gt;&amp;gt;请输入昵称&amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;input-group&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;label&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;for&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;newMessage&amp;#34;&lt;/span&gt;&amp;gt;留言内容&amp;lt;/&lt;span style="color:#ff79c6"&gt;label&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;textarea&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;newMessage&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;textarea&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;placeholder&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;写下你的留言...&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;textarea&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;messageError&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;error&amp;#34;&lt;/span&gt;&amp;gt;请输入留言内容&amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;button-container&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;button submit-message-button&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;svg&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;width&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;16&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;height&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;16&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;viewBox&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;0 0 24 24&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;fill&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;none&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;stroke&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;currentColor&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;stroke-width&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;2&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;path&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;d&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;path&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;svg&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 发布留言&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;&amp;lt;!-- 留言列表 --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;messageList&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;message-list&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;&amp;lt;!-- Messages will be inserted here --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;&amp;lt;!-- 计划任务弹窗 --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;popup-content&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;taskPopup&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;close-button&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;data-popup&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;taskPopup&amp;#34;&lt;/span&gt;&amp;gt;关闭&amp;lt;/&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;h3&lt;/span&gt;&amp;gt;计划任务管理&amp;lt;/&lt;span style="color:#ff79c6"&gt;h3&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;&amp;lt;!-- 任务表单已移除，游客无法添加任务 --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;&amp;lt;!-- 折叠任务区块 --&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;task-section&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;h2&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;section-title&amp;#34;&lt;/span&gt;&amp;gt;待开发任务&amp;lt;/&lt;span style="color:#ff79c6"&gt;h2&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;toggle-button&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;data-section&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;pendingTasks&amp;#34;&lt;/span&gt;&amp;gt;展开&amp;lt;/&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;pendingTasks&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;task-list collapsed&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;task-section&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;h2&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;section-title&amp;#34;&lt;/span&gt;&amp;gt;开发中任务&amp;lt;/&lt;span style="color:#ff79c6"&gt;h2&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;toggle-button&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;data-section&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;inProgressTasks&amp;#34;&lt;/span&gt;&amp;gt;展开&amp;lt;/&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;inProgressTasks&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;task-list collapsed&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;task-section&amp;#34;&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;h2&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;section-title&amp;#34;&lt;/span&gt;&amp;gt;已完成任务&amp;lt;/&lt;span style="color:#ff79c6"&gt;h2&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;toggle-button&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;data-section&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;completedTasks&amp;#34;&lt;/span&gt;&amp;gt;展开&amp;lt;/&lt;span style="color:#ff79c6"&gt;button&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;id&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;completedTasks&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;class&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;task-list collapsed&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;div&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;body&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;html&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="样式表css"&gt;样式表（CSS）：&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;/* 基础样式 */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;body&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;,&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;html&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;margin&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;padding&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;width&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;100&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;%&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;height&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;100&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;%&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;font-family&lt;/span&gt;: Arial, &lt;span style="color:#ff79c6"&gt;sans-serif&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.&lt;span style="color:#50fa7b"&gt;container&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;display&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;flex&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;flex-direction&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;column&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;align-items&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;center&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;justify-content&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;flex-start&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;height&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;100&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;vh&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;position&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;relative&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;padding-top&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;10&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;vh&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.&lt;span style="color:#50fa7b"&gt;background&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;position&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;absolute&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;inset&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;background-image&lt;/span&gt;: &lt;span style="color:#8be9fd;font-style:italic"&gt;url&lt;/span&gt;(&lt;span style="color:#f1fa8c"&gt;&amp;#39;backgrand.jpg&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;background-size&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;cover&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;background-position&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;center&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;transition&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;all&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;0.5&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;s&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;filter&lt;/span&gt;: &lt;span style="color:#8be9fd;font-style:italic"&gt;blur&lt;/span&gt;(&lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;) &lt;span style="color:#8be9fd;font-style:italic"&gt;brightness&lt;/span&gt;(&lt;span style="color:#bd93f9"&gt;100&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;%&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.&lt;span style="color:#50fa7b"&gt;background&lt;/span&gt;.&lt;span style="color:#50fa7b"&gt;active&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;filter&lt;/span&gt;: &lt;span style="color:#8be9fd;font-style:italic"&gt;blur&lt;/span&gt;(&lt;span style="color:#bd93f9"&gt;4&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt;) &lt;span style="color:#8be9fd;font-style:italic"&gt;brightness&lt;/span&gt;(&lt;span style="color:#bd93f9"&gt;75&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;%&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.&lt;span style="color:#50fa7b"&gt;navigation&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;display&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;flex&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;flex-direction&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;column&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;align-items&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;center&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;gap&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;5&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;rem&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;position&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;relative&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;z-index&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;10&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;width&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;100&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;%&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;max-width&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;64&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;rem&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;/* 时间按钮样式 */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.&lt;span style="color:#50fa7b"&gt;time-button&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;font-size&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;2&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;rem&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;color&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;white&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;background&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;#216b94&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;border&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;none&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;border-radius&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;10&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;outline&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;none&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;cursor&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;default&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;user-select&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;none&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pointer-events: &lt;span style="color:#ff79c6"&gt;auto&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;padding&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;10&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;20&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;box-shadow&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;5&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;5&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;15&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;rgba&lt;/span&gt;(&lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;, &lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;, &lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;, &lt;span style="color:#bd93f9"&gt;0.2&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#bd93f9"&gt;-5&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;-5&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;15&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;rgba&lt;/span&gt;(&lt;span style="color:#bd93f9"&gt;255&lt;/span&gt;, &lt;span style="color:#bd93f9"&gt;255&lt;/span&gt;, &lt;span style="color:#bd93f9"&gt;255&lt;/span&gt;, &lt;span style="color:#bd93f9"&gt;0.3&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;transition&lt;/span&gt;: &lt;span style="color:#ff79c6"&gt;all&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;0.3&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;s&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;ease&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.&lt;span style="color:#50fa7b"&gt;time-button&lt;/span&gt;:hover {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;box-shadow&lt;/span&gt;: &lt;span style="color:#bd93f9"&gt;2&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;2&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;10&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;rgba&lt;/span&gt;(&lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;, &lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;, &lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;, &lt;span style="color:#bd93f9"&gt;0.3&lt;/span&gt;),&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#bd93f9"&gt;-2&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;-2&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;10&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;rgba&lt;/span&gt;(&lt;span style="color:#bd93f9"&gt;255&lt;/span&gt;, &lt;span style="color:#bd93f9"&gt;255&lt;/span&gt;, &lt;span style="color:#bd93f9"&gt;255&lt;/span&gt;, &lt;span style="color:#bd93f9"&gt;0.4&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;transform&lt;/span&gt;: &lt;span style="color:#8be9fd;font-style:italic"&gt;translateY&lt;/span&gt;(&lt;span style="color:#bd93f9"&gt;-2&lt;/span&gt;&lt;span style="color:#8be9fd"&gt;px&lt;/span&gt;) &lt;span style="color:#8be9fd;font-style:italic"&gt;scale&lt;/span&gt;(&lt;span style="color:#bd93f9"&gt;1.05&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="项目地址"&gt;项目地址：&lt;/h3&gt;&#10;&lt;h2 id="2024-11-13t162053png"&gt;[button color=&amp;ldquo;success&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://home.maxtral.fun/&amp;rdquo; type=&amp;ldquo;round&amp;rdquo;]体验地址[/button]&#10;&lt;img src="https://bucket.maxtral.fun/typecho/2024/11/14/2024-11-13T16:20:53.png" alt="2024-11-13T16:20:53.png"&gt;&lt;/h2&gt;&#10;&lt;p&gt;新的状态页面：[button color=&amp;ldquo;success&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;http://nezha.maxtral.fun/&amp;rdquo; type=&amp;ldquo;round&amp;rdquo;]状态页面[/button]&#10;&lt;img src="https://bucket.maxtral.fun/typecho/2024/11/14/2024-11-13T16:21:43.png" alt="2024-11-13T16:21:43.png"&gt;&#10;哪吒面板是一个开源、轻量、易用的服务器监控与运维工具。以下是&lt;strong&gt;哪吒面板的Docker安装代码&lt;/strong&gt;：&lt;/p&gt;</description></item><item><title>README的乐趣</title><link>https://blogtypecho.maxtrnn.top/post/145/</link><pubDate>Wed, 06 Nov 2024 00:09:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/145/</guid><description>&lt;p&gt;下面是根据你提供的要求和格式改写后的文章：&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h1 id="使用-stats-cards-项目展示小卡片"&gt;使用 Stats-Cards 项目展示小卡片&lt;/h1&gt;&#10;&lt;p&gt;最近我发现一个非常有趣的小项目，&lt;code&gt;stats-cards&lt;/code&gt;，它可以将 GitHub 项目的 &lt;code&gt;README.md&lt;/code&gt; 文件转化为卡片式展示。通过这个项目，我们可以将文本、图片或其他内容以一种更加生动和直观的形式展示出来。&lt;/p&gt;&#10;&lt;h2 id="示例效果"&gt;示例效果&lt;/h2&gt;&#10;&lt;p&gt;&lt;img src="http://pic.maxtral.fun/Onedrive/2024/11/13/6734c05da73f0.png" alt="成功实例"&gt;&lt;/p&gt;&#10;&lt;h2 id="项目地址"&gt;项目地址&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/songquanpeng/stats-cards"&gt;stats-cards GitHub 项目地址&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="使用过程"&gt;使用过程&lt;/h2&gt;&#10;&lt;p&gt;在使用 &lt;code&gt;stats-cards&lt;/code&gt; 的过程中，首先需要在项目的 &lt;code&gt;README.md&lt;/code&gt; 文件中插入特定的卡片语法。这些卡片语法可以帮助我们轻松地将内容呈现为卡片形式。&lt;/p&gt;&#10;&lt;p&gt;例如，以下是一个常见的卡片代码：&lt;/p&gt;&#10;&lt;p&gt;[album]&#10;&lt;img src="http://pic.maxtral.fun/Onedrive/2024/11/13/6734c05da73f0.png" alt="成功实例"&gt;&#10;[/album]&lt;/p&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;lblue&amp;rdquo;]过程：通过这种格式，我们可以快速插入一个小卡片实例，展示一个图像或者其他内容。这个功能非常适合在 &lt;code&gt;README.md&lt;/code&gt; 中展示项目的相关图像或统计信息，使得内容更加生动且直观。[/scode]&lt;/p&gt;&#10;&lt;h2 id="总结"&gt;总结&lt;/h2&gt;&#10;&lt;p&gt;通过 &lt;code&gt;stats-cards&lt;/code&gt; 项目，我们可以为 &lt;code&gt;README.md&lt;/code&gt; 文件增添一种更加灵活且富有表现力的展示方式，不仅提升了文档的视觉效果，也增加了可读性。这对于开源项目、技术博客等场景非常有用。如果你也想尝试这种效果，可以参考上述的示例代码，轻松地将你的 GitHub 项目 README 文件变得更加生动和有趣。&lt;/p&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;green&amp;rdquo;]结果：使用 &lt;code&gt;stats-cards&lt;/code&gt; 项目后，我成功地在 &lt;code&gt;README.md&lt;/code&gt; 中实现了卡片式展示，提升了文档的可读性和视觉效果。通过插入卡片语法，快速实现了图像和内容的展示。[/scode]&lt;/p&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;red&amp;rdquo;]下一阶段目标：下一步，我计划在项目中进一步扩展使用 &lt;code&gt;stats-cards&lt;/code&gt; 的功能，例如展示更多网站的数据统计，并将其嵌入到项目的其他部分中，提升项目的互动性和视觉效果。[/scode]&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="代码展示部分网站数据卡片"&gt;代码展示部分：网站数据卡片&lt;/h3&gt;&#10;&lt;p&gt;明白了！以下是根据你要求的 &lt;code&gt;[scode]&lt;/code&gt; 格式重写的关键代码段：&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h3 id="bilibili-数据抓取关键代码"&gt;Bilibili 数据抓取关键代码&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;const&lt;/span&gt; axios &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; require(&lt;span style="color:#f1fa8c"&gt;&amp;#39;axios&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;const&lt;/span&gt; cheerio &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; require(&lt;span style="color:#f1fa8c"&gt;&amp;#39;cheerio&amp;#39;&lt;/span&gt;);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ff79c6"&gt;async&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;function&lt;/span&gt; getBilibiliInfo(id) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;let&lt;/span&gt; result &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; { name&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#39;username&amp;#39;&lt;/span&gt;, description&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#39;&amp;#39;&lt;/span&gt;, following&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;, fans&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;0&lt;/span&gt;, level&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;0&lt;/span&gt; };&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;try&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;// 并行请求多个接口&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;let&lt;/span&gt; [res1, res2] &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;await&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;Promise&lt;/span&gt;.all([ &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; axios.get(&lt;span style="color:#f1fa8c"&gt;`https://m.bilibili.com/space/&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;${&lt;/span&gt;id&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;`&lt;/span&gt;), &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; axios.get(&lt;span style="color:#f1fa8c"&gt;`https://api.bilibili.com/x/relation/stat?vmid=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;${&lt;/span&gt;id&lt;span style="color:#f1fa8c"&gt;}&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;`&lt;/span&gt;)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ]);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;// 使用 cheerio 解析 HTML 数据&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;let&lt;/span&gt; $ &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; cheerio.load(res1.data);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; result.name &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; $(&lt;span style="color:#f1fa8c"&gt;&amp;#39;.base .name&amp;#39;&lt;/span&gt;).text(); &lt;span style="color:#6272a4"&gt;// 获取用户名&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; result.level &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;parseInt&lt;/span&gt;($(&lt;span style="color:#f1fa8c"&gt;&amp;#39;.base .level i&amp;#39;&lt;/span&gt;).attr(&lt;span style="color:#f1fa8c"&gt;&amp;#39;class&amp;#39;&lt;/span&gt;).slice(&lt;span style="color:#ff79c6"&gt;-&lt;/span&gt;&lt;span style="color:#bd93f9"&gt;1&lt;/span&gt;)); &lt;span style="color:#6272a4"&gt;// 获取用户等级&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;// 获取粉丝数与关注数&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; result.fans &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; res2.data.data.follower;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; result.following &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; res2.data.data.following;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; } &lt;span style="color:#ff79c6"&gt;catch&lt;/span&gt; (e) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; console.error(e);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;return&lt;/span&gt; result;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;[scode type=&amp;ldquo;lblue&amp;rdquo;]过程：这个代码段展示了如何通过 &lt;code&gt;axios&lt;/code&gt; 和 &lt;code&gt;cheerio&lt;/code&gt; 实现对 Bilibili 用户信息的抓取。&lt;code&gt;Promise.all&lt;/code&gt; 实现了并行请求多个 API，&lt;code&gt;cheerio&lt;/code&gt; 用于解析 HTML 结构并提取用户名称和等级信息。[/scode]&lt;/p&gt;</description></item><item><title>测试桶存储的文章</title><link>https://blogtypecho.maxtrnn.top/post/130/</link><pubDate>Sun, 27 Oct 2024 12:16:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/130/</guid><description>&lt;p&gt;&lt;img src="https://bucket.maxtral.fun/typecho/2024/10/27/2024-10-27T12:16:34.png" alt="2024-10-27T12:16:34.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;测试连接 还是测试图片：&lt;img src="https://bucket.maxtral.fun/typecho/2024/10/27/2024-10-27T12:19:09.png" alt="2024-10-27T12:19:09.png"&gt;&lt;img src="https://bucket.maxtral.fun/typecho/2024/10/27/2024-10-27T13:27:31.png" alt="2024-10-27T13:27:31.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://bucket.maxtral.fun/typecho/2024/10/27/2024-10-27T14:02:19.png" alt="2024-10-27T14:02:19.png"&gt;&lt;/p&gt;</description></item><item><title>从centos到Debian！</title><link>https://blogtypecho.maxtrnn.top/post/51/</link><pubDate>Mon, 30 Sep 2024 16:07:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/51/</guid><description>&lt;p&gt;具体事件以及修复过程等待编写&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;2024年10月1日00:07:01&#10;由于安装青龙面板的时候安装Python导致系统的Python的环境变量的更改，服务器无法启动卡死机&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;2024年10月9日08:18:53&#10;更换了系统，原来的centos8.5一直报错无法安装nginx，尝试了许多办法最终无果&#10;&lt;img src="https://blogtypecho.maxtrnn.top/uploads/2024/10/3759506396.png" alt="2024-10-09T00:20:38.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;2024年10月9日08:21:23&#10;选择了更换系统为Debian&#10;&lt;img src="https://blogtypecho.maxtrnn.top/uploads/2024/10/570919756.png" alt="2024-10-09T00:21:55.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;同时为了原来的数据库的转移我也是拼尽全力&#10;先把原来的备份的磁盘的创建快照，然后挂载磁盘，然后打开数据库目录，解压重新导入数据库，也不知道为什么从centos到Debian的系统，都是mysql数据库，数据表还用不了，最后九牛二虎也是装好了&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;但是原来不知道oss为什流量流失那么多&#10;&lt;img src="https://blogtypecho.maxtrnn.top/uploads/2024/10/2899207538.png" alt="2024-10-09T00:25:56.png"&gt;&#10;&lt;img src="https://blogtypecho.maxtrnn.top/uploads/2024/10/3360936520.png" alt="2024-10-09T00:26:22.png"&gt;&#10;导致欠费严重，重新缴费加上创建快照花费70￥左右&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;最后，又升级了一下配置，还是好贵，因为要玩的脚本项目太多了！&#10;&lt;img src="https://blogtypecho.maxtrnn.top/uploads/2024/10/4164965699.png" alt="2024-10-09T00:27:45.png"&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;先到这里吧&lt;/p&gt;</description></item><item><title>流量真贵</title><link>https://blogtypecho.maxtrnn.top/post/42/</link><pubDate>Mon, 02 Sep 2024 05:01:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/42/</guid><description>&lt;p&gt;随便看看视频在这个网站或者听听歌，就1￥了&lt;/p&gt;</description></item><item><title>写了一个课表推送，还不支持自己导入</title><link>https://blogtypecho.maxtrnn.top/post/41/</link><pubDate>Sun, 01 Sep 2024 17:17:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/41/</guid><description>&lt;h2 id="需要手动导入自己的课表信息"&gt;需要手动导入自己的课表信息&lt;/h2&gt;&#10;&lt;p&gt;找个定时软件按时户动pY脚本，这个也是 qmsg推送服务，哈哈，可以看的出，我好多都用它了，其是还是方便，Wechat的有限制，所以还是qmsg的好&#10;具体地址：[button color=&amp;ldquo;primary&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://github.com/itmanmax/MAXTR-Plugins&amp;rdquo; type=&amp;quot;&amp;quot;]github链接[/button]&#10;[scode type=&amp;ldquo;green&amp;rdquo;]import datetime&#10;import requests&lt;/p&gt;&#10;&lt;h1 id="qmsg-发送函数"&gt;Qmsg 发送函数&lt;/h1&gt;&#10;&lt;p&gt;def send_qmsg通知(qmsg_key, qq_number, msg):&#10;postdata = {&#10;&amp;lsquo;msg&amp;rsquo;: msg,&#10;&amp;lsquo;qq&amp;rsquo;: qq_number&#10;}&#10;response = requests.post(f&amp;rsquo;&lt;a href="https://qmsg.zendee.cn/send/%7Bqmsg_key%7D'"&gt;https://qmsg.zendee.cn/send/{qmsg_key}'&lt;/a&gt;, data=postdata)&#10;if response.status_code == 200:&#10;print(&amp;ldquo;通知已发送到QQ。&amp;rdquo;)&#10;else:&#10;print(f&amp;quot;通知发送失败，错误码：{response.status_code}，响应内容：{response.text}&amp;quot;)&lt;/p&gt;&#10;&lt;h1 id="课程表和时间段信息"&gt;课程表和时间段信息&lt;/h1&gt;&#10;&lt;p&gt;course_schedule = {&#10;1: [(&amp;ldquo;编译原理&amp;rdquo;, &amp;ldquo;第一节&lt;del&gt;第二节&amp;rdquo;, &amp;ldquo;3号楼2030202&amp;rdquo;, &amp;ldquo;1&lt;/del&gt;18周&amp;rdquo;),&#10;(&amp;ldquo;编译原理实验&amp;rdquo;, &amp;ldquo;第三节&lt;del&gt;第四节&amp;rdquo;, &amp;ldquo;6号楼2060302&amp;rdquo;, &amp;ldquo;1&lt;/del&gt;18周&amp;rdquo;),&#10;(&amp;ldquo;人工智能&amp;rdquo;, &amp;ldquo;第六节&lt;del&gt;第八节&amp;rdquo;, &amp;ldquo;3号楼2030202&amp;rdquo;, &amp;ldquo;1&lt;/del&gt;15周&amp;rdquo;),&#10;(&amp;ldquo;人工智能&amp;rdquo;, &amp;ldquo;第九节&lt;del&gt;第十节&amp;rdquo;, &amp;ldquo;6号楼2060302&amp;rdquo;, &amp;ldquo;4&lt;/del&gt;12周&amp;rdquo;)],&#10;2: [(&amp;ldquo;软件设计与体系结构实验&amp;rdquo;, &amp;ldquo;第九节&lt;del&gt;第十节&amp;rdquo;, &amp;ldquo;6号楼2060302&amp;rdquo;, &amp;ldquo;1&lt;/del&gt;18周&amp;rdquo;),&#10;(&amp;ldquo;软件设计与体系结构&amp;rdquo;, &amp;ldquo;第六节&lt;del&gt;第八节&amp;rdquo;, &amp;ldquo;3号楼2030202&amp;rdquo;, &amp;ldquo;1&lt;/del&gt;18周&amp;rdquo;),&#10;(&amp;ldquo;软件需求分析与建模&amp;rdquo;, &amp;ldquo;第三节&lt;del&gt;第五节&amp;rdquo;, &amp;ldquo;3号楼2030202,6号楼2060302&amp;rdquo;, &amp;ldquo;1&lt;/del&gt;18周&amp;rdquo;)],&#10;3: [(&amp;ldquo;计算机网络&amp;rdquo;, &amp;ldquo;第三节&lt;del&gt;第四节&amp;rdquo;, &amp;ldquo;3号楼2030203&amp;rdquo;, &amp;ldquo;1&lt;/del&gt;18周&amp;rdquo;),&#10;(&amp;ldquo;软件应用开发实践&amp;rdquo;, &amp;ldquo;第一节&lt;del&gt;第二节&amp;rdquo;, &amp;ldquo;6号楼2060302&amp;rdquo;, &amp;ldquo;1&lt;/del&gt;18周&amp;rdquo;)],&#10;4: [(&amp;ldquo;音乐鉴赏&amp;rdquo;, &amp;ldquo;第九节&lt;del&gt;第十节&amp;rdquo;, &amp;ldquo;1号楼2010404&amp;rdquo;, &amp;ldquo;1&lt;/del&gt;9周&amp;rdquo;),&#10;(&amp;ldquo;经济学原理&amp;rdquo;, &amp;ldquo;第六节&lt;del&gt;第七节&amp;rdquo;, &amp;ldquo;1号楼2010501&amp;rdquo;, &amp;ldquo;1&lt;/del&gt;18周&amp;rdquo;),&#10;(&amp;ldquo;计算机网络实验&amp;rdquo;, &amp;ldquo;第三节&lt;del&gt;第四节&amp;rdquo;, &amp;ldquo;6号楼2060201&amp;rdquo;, &amp;ldquo;1&lt;/del&gt;18周&amp;rdquo;),&#10;(&amp;ldquo;计算机网络&amp;rdquo;, &amp;ldquo;第一节&lt;del&gt;第二节&amp;rdquo;, &amp;ldquo;3号楼2030203&amp;rdquo;, &amp;ldquo;1&lt;/del&gt;18周&amp;rdquo;)],&#10;5: [(&amp;ldquo;人机界面设计&amp;rdquo;, &amp;ldquo;第三节&lt;del&gt;第五节&amp;rdquo;, &amp;ldquo;2号楼2020103,6号楼2060101&amp;rdquo;, &amp;ldquo;1&lt;/del&gt;18周&amp;rdquo;),&#10;(&amp;ldquo;大学生职业生涯规划与就业指导（III）&amp;rdquo;, &amp;ldquo;第一节&lt;del&gt;第二节&amp;rdquo;, &amp;ldquo;1号楼2010506&amp;rdquo;, &amp;ldquo;10&lt;/del&gt;18周&amp;rdquo;)],&#10;6: [], # 周六无课程&#10;7: [] # 周日无课程&#10;}&lt;/p&gt;</description></item><item><title>Android项目1--聚合社交盒子</title><link>https://blogtypecho.maxtrnn.top/post/27/</link><pubDate>Fri, 30 Aug 2024 00:23:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/27/</guid><description>&lt;p&gt;###目前v1.0正式版###&lt;/p&gt;&#10;&lt;p&gt;###操作手册暂时未推出###&#10;[button color=&amp;ldquo;success&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://gitee.com/wudimax/android-life-assistant&amp;rdquo; type=&amp;ldquo;round&amp;rdquo;]gitee下载链接[/button]&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="2024年8月30日171222"&gt;2024年8月30日17:12:22&lt;/h2&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;green&amp;rdquo;]结果：完成第一个小功能，目前服务器连接正常，可以在线聊天，正常打开页面，流程运行[/scode]&#10;[scode type=&amp;ldquo;lblue&amp;rdquo;]过程：网上的XX教程，弄半天接故事Rds数据库的服务器的源码，我弄半天，改到半夜4点！因为第二天就要交作业，无语&amp;hellip;. 自己和gpt结合写的剩余页面，除了聊天功能，还是比较繁琐的，弄了好长时间[/scode]&#10;[scode type=&amp;ldquo;red&amp;rdquo;]下一阶段目标：更多的功能，比如前几天写的自动qq通知新邮件之类（目前没单独写这篇文章），web api调用接口（目前还是本地ssh）等[/scode]&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="2024年8月31日205317"&gt;2024年8月31日20:53:17&lt;/h2&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;green&amp;rdquo;]结果：完成两个个小功能，可以检查新邮件推送至QQ，输入城市天气编号查询天气，正常打开页面，流程运行[/scode]&#10;[scode type=&amp;ldquo;lblue&amp;rdquo;]过程：还是比较费劲的，因为gpt也不完全智能，嘻嘻，报错什么的多的是，离谱的是我的垃圾电脑卡死机好多次，无语，这个软件太迟cpu了[/scode]&#10;[scode type=&amp;ldquo;red&amp;rdquo;]下一阶段目标：web api调用接口（目前还是本地ssh，我是真的想改）等，更多有用的功能[/scode]&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="2024年9月8日011458"&gt;2024年9月8日01:14:58&lt;/h2&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;green&amp;rdquo;]结果：完成诸多功能，健康查询和健康tips，日程管理，注册账号，实现api调取数据，正常打开页面，流程运行[/scode]&#10;[scode type=&amp;ldquo;lblue&amp;rdquo;]过程：写了一周，来回删改调试，也是不得了，我的安卓手机还是平板，耽误不少时间[/scode]&#10;[scode type=&amp;ldquo;red&amp;rdquo;]下一阶段目标：改ui，限制手机号注册，更多有用的功能[/scode]&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;请输入代码&#10;&lt;/code&gt;&lt;/pre&gt;</description></item></channel></rss>