<?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/categories/%E9%A1%B9%E7%9B%AE%E8%AE%B0%E5%BD%95/</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/categories/%E9%A1%B9%E7%9B%AE%E8%AE%B0%E5%BD%95/index.xml" rel="self" type="application/rss+xml"/><item><title>在线旅游攻略网站</title><link>https://blogtypecho.maxtrnn.top/post/online-travel-guide-website-z1xgwkm/</link><pubDate>Wed, 18 Dec 2024 14:29:39 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/online-travel-guide-website-z1xgwkm/</guid><description>&lt;h1 id="在线旅游攻略网站"&gt;在线旅游攻略网站&lt;/h1&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;由于gitee的pr无法展示我的引述了 故修改到博客来展示了&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241218222235.png" alt="image"&gt;&lt;/p&gt;&#10;&lt;h1 id="更新日志"&gt;更新日志&lt;/h1&gt;&#10;&lt;h2 id="之前"&gt;之前&lt;/h2&gt;&#10;&lt;h2 id="已经完成功能"&gt;已经完成功能&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; 新增一些页面 和 交互&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; 新增一些后端 API&lt;/li&gt;&#10;&lt;li&gt;&lt;input checked="" disabled="" type="checkbox"&gt; 调试大部分的的后端 API&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="已经完成api调试"&gt;已经完成API调试&lt;/h2&gt;&#10;&lt;h3 id="公开服务管理接口"&gt;公开服务管理接口&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;GET &lt;code&gt;/api/public/services&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;获取服务列表&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;GET &lt;code&gt;/api/public/services/{id}&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;获取服务详情&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;GET &lt;code&gt;/api/public/services/{serviceId}/comments&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;获取服务评论&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="公开文章管理接口"&gt;公开文章管理接口&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;GET &lt;code&gt;/api/public/posts&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;获取所有文章&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;GET &lt;code&gt;/api/public/posts/{id}&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;获取文章详情&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;GET &lt;code&gt;/api/public/posts/{postId}/comments&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;获取文章评论&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;GET &lt;code&gt;/api/public/posts/hot&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;获取热门文章&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;GET &lt;code&gt;/api/public/posts/latest&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;获取最新文章&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;GET &lt;code&gt;/api/public/posts/search&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;搜索文章&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="认证接口"&gt;认证接口&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;POST &lt;code&gt;/api/auth/admin/login&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;管理员登录&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;POST &lt;code&gt;/api/auth/register&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;用户注册&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;POST &lt;code&gt;/api/auth/login&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;用户登录&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="用户接口"&gt;用户接口&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;GET &lt;code&gt;/api/user/services&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;获取服务列表&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;GET &lt;code&gt;/api/user/posts/my&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;获取我的文章&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;GET &lt;code&gt;/api/user/profile&lt;/code&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;获取个人资料&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="管理员接口"&gt;管理员接口&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GET &lt;code&gt;/api/admin/statistics&lt;/code&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;获取API统计信息&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="未来计划的"&gt;未来计划的&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;调试更多的后端 API&lt;/li&gt;&#10;&lt;li&gt;与前端融合后端 API&lt;/li&gt;&#10;&lt;li&gt;根据 SonarQube 优化代码 &lt;img src="https://foruda.gitee.com/images/1734233495597491466/d082fa44_12592644.png" alt="输入图片说明" title="屏幕截图"&gt;&lt;/li&gt;&#10;&lt;/ul&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>MAX-视频播放-1</title><link>https://blogtypecho.maxtrnn.top/post/maxvideo-play1-4xafg/</link><pubDate>Sun, 01 Dec 2024 16:21:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/maxvideo-play1-4xafg/</guid><description>&lt;h1 id="max-视频播放-1"&gt;MAX-视频播放-1&lt;/h1&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;视频播放平台-1，包含使用教程和源码介绍和特性的功能&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h1 id="使用教程"&gt;使用教程&lt;/h1&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;打开页面：&lt;a href="http://videotemp-1.maxtral.fun/index.html"&gt;MAX视频系统&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;选择用户登录（硬要选也没办法，破解管理员也没啥意思，最多被咒骂4000+）&lt;/li&gt;&#10;&lt;li&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202000735.png" alt="image"&gt;&lt;/li&gt;&#10;&lt;li&gt;选择左侧的播放列表的一个视频&lt;/li&gt;&#10;&lt;li&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202000749.png" alt="image"&gt;&lt;/li&gt;&#10;&lt;li&gt;点击播放&lt;/li&gt;&#10;&lt;li&gt;&lt;img src="https://picbed-max.oss-cn-wulanchabu.aliyuncs.com/siyuannote/20241202000800.png" alt="image"&gt;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;没了，这只能那么简单了，写个p的教程，that‘s it！&lt;/p&gt;&#10;&lt;h1 id="源码解析"&gt;源码解析&lt;/h1&gt;&#10;&lt;h2 id="片段1"&gt;片段1&lt;/h2&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-cmd" data-lang="cmd"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;!DOCTYPE html&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;html lang=&lt;span style="color:#f1fa8c"&gt;&amp;#34;zh&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;head&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;meta charset=&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;title&amp;gt;MAX视频系统&amp;lt;/title&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;style&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; margin: 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding: 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; box-sizing: border-box;&#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; body {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; min-height: 100vh;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; font-family: -apple-system, BlinkMacSystemFont, &lt;span style="color:#f1fa8c"&gt;&amp;#34;Segoe UI&amp;#34;&lt;/span&gt;, Roboto, sans-serif;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; background: url(&amp;#39;/images/back.jpg&amp;#39;) center/cover no-repeat fixed;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; display: flex;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; align-items: center;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; justify-content: center;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; position: relative;&#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; body::before {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; content: &amp;#39;&amp;#39;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; position: absolute;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; top: 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; left: 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; right: 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; bottom: 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; background: rgba(0, 0, 0, 0.5);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; backdrop-filter: blur(10px);&#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; .container {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; position: relative;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; text-align: center;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding: 40px;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; background: rgba(255, 255, 255, 0.9);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; border-radius: 16px;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; backdrop-filter: blur(5px);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; max-width: 500px;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width: 90%;&#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; .logo {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; margin-bottom: 30px;&#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; .logo h1 {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; font-size: 32px;&#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;: #1D1D1F;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; margin-bottom: 10px;&#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; .logo p {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; font-size: 16px;&#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;: #666;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; line-height: 1.6;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; margin-bottom: 40px;&#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; .buttons {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; display: flex;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; gap: 20px;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; justify-content: center;&#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; .btn {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding: 15px 40px;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; border-radius: 12px;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; font-size: 16px;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; font-weight: 500;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; text-decoration: none;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; transition: all 0.3s ease;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; border: none;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; cursor: pointer;&#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; .btn-primary {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; background: #007AFF;&#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;: white;&#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; .btn-primary:hover {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; background: #0066DD;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; transform: translateY(-2px);&#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; .btn-secondary {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; background: rgba(255, 255, 255, 0.8);&#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;: #1D1D1F;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; border: 1px solid #E5E5E5;&#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; .btn-secondary:hover {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; background: rgba(255, 255, 255, 1);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; transform: translateY(-2px);&#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; .footer {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; position: absolute;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; bottom: 20px;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; left: 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; right: 0;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; text-align: center;&#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;: rgba(255, 255, 255, 0.8);&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; font-size: 14px;&#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; @media (max-width: 480px) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; .container {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; padding: 30px 20px;&#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; .buttons {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; flex-direction: column;&#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; .btn {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; width: 100%;&#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; &amp;lt;/style&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;/head&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;body&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;div class=&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;div class=&lt;span style="color:#f1fa8c"&gt;&amp;#34;logo&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;h1&amp;gt;MAX视频系统&amp;lt;/h1&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;p&amp;gt;由MAX精心打造的视频管理系统&amp;lt;br&amp;gt;安全、稳定、高效的视频播放解决方案&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;div class=&lt;span style="color:#f1fa8c"&gt;&amp;#34;buttons&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;a href=&lt;span style="color:#f1fa8c"&gt;&amp;#34;user.php&amp;#34;&lt;/span&gt; class=&lt;span style="color:#f1fa8c"&gt;&amp;#34;btn btn-primary&amp;#34;&lt;/span&gt;&amp;gt;用户入口&amp;lt;/a&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;a href=&lt;span style="color:#f1fa8c"&gt;&amp;#34;admin.php&amp;#34;&lt;/span&gt; class=&lt;span style="color:#f1fa8c"&gt;&amp;#34;btn btn-secondary&amp;#34;&lt;/span&gt;&amp;gt;管理员入口&amp;lt;/a&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;div class=&lt;span style="color:#f1fa8c"&gt;&amp;#34;footer&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;p&amp;gt;© 2024 MAX视频系统 版权所有&amp;lt;/p&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &amp;lt;/div&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;/body&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;/html&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="max视频系统页面设计分析"&gt;MAX视频系统页面设计分析&lt;/h3&gt;&#10;&lt;h4 id="页面结构概览"&gt;页面结构概览&lt;/h4&gt;&#10;&lt;p&gt;在这个代码片段中，我们定义了一个简单的网页，主要用于展示 MAX 视频系统。这种设计涵盖了页面的基本骨架，包括头部、主体和底部。代码结构清晰，使用 HTML 和 CSS实现美观的用户界面。&lt;/p&gt;</description></item><item><title>Coze测试文章+Vue主页项目介绍（惊喜一餐）</title><link>https://blogtypecho.maxtrnn.top/post/172/</link><pubDate>Wed, 27 Nov 2024 10:46:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/172/</guid><description>&lt;h1 id="基于vue的餐饮与用户管理功能代码分析"&gt;基于Vue的餐饮与用户管理功能代码分析&lt;/h1&gt;&#10;&lt;h2 id="一餐饮推荐功能"&gt;一、餐饮推荐功能&lt;/h2&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;green&amp;rdquo;]此部分代码实现了餐饮推荐相关功能，包括餐厅和菜品展示、随机推荐以及页面跳转等功能。界面布局美观，交互性较好。[/scode]&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-html" data-lang="html"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#ff79c6"&gt;template&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;home-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-gradient&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;overlay&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;content-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;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;header-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;h1&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;title&amp;#34;&lt;/span&gt;&amp;gt;惊喜一餐-zhn&amp;lt;/&lt;span style="color:#ff79c6"&gt;h1&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;divider&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;span&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;line&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;span&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;span&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;dot&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;span&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;span&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;line&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;span&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;p&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;subtitle&amp;#34;&lt;/span&gt;&amp;gt;臻选星级美馔 · 品鉴非凡味境&amp;lt;/&lt;span style="color:#ff79c6"&gt;p&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;recommendation-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;el-row&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;:gutter&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;20&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;el-col&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;:span&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;12&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;el-card&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;restaurant-card&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;shadow&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;hover&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;template&lt;/span&gt; #&lt;span style="color:#50fa7b"&gt;header&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;card-header&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;span&lt;/span&gt;&amp;gt;精选餐厅&amp;lt;/&lt;span style="color:#ff79c6"&gt;span&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;el-button&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;text&lt;/span&gt; @&lt;span style="color:#50fa7b"&gt;click&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;refreshRestaurant&amp;#34;&lt;/span&gt;&amp;gt;换一个&amp;lt;/&lt;span style="color:#ff79c6"&gt;el-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;template&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;el-image&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;:src&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;randomRestaurant.image&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;fit&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;cover&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;restaurant-image&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;click&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;goToRestaurant(randomRestaurant.id)&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;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;restaurant-info&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;h3&lt;/span&gt;&amp;gt;{{ randomRestaurant.name }}&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; &amp;lt;&lt;span style="color:#ff79c6"&gt;el-rate&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;v-model&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;randomRestaurant.rating&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;disabled&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;show-score&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;p&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;description&amp;#34;&lt;/span&gt;&amp;gt;{{ randomRestaurant.description }}&amp;lt;/&lt;span style="color:#ff79c6"&gt;p&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;el-card&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;el-col&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;el-col&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;:span&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;12&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;el-card&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;dish-card&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;shadow&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;hover&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;template&lt;/span&gt; #&lt;span style="color:#50fa7b"&gt;header&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;card-header&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;span&lt;/span&gt;&amp;gt;特色美食&amp;lt;/&lt;span style="color:#ff79c6"&gt;span&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;el-button&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;text&lt;/span&gt; @&lt;span style="color:#50fa7b"&gt;click&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;refreshDish&amp;#34;&lt;/span&gt;&amp;gt;换一个&amp;lt;/&lt;span style="color:#ff79c6"&gt;el-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;template&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;el-image&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;:src&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;randomDish.image&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;fit&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;cover&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;dish-image&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;click&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;goToDish(randomDish.id)&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;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;dish-info&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;h3&lt;/span&gt;&amp;gt;{{ randomDish.name }}&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; &amp;lt;&lt;span style="color:#ff79c6"&gt;p&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;restaurant-name&amp;#34;&lt;/span&gt;&amp;gt;{{ randomDish.restaurantName }}&amp;lt;/&lt;span style="color:#ff79c6"&gt;p&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;el-rate&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;v-model&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;randomDish.rating&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;disabled&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;show-score&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;p&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;description&amp;#34;&lt;/span&gt;&amp;gt;{{ randomDish.description }}&amp;lt;/&lt;span style="color:#ff79c6"&gt;p&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;price&amp;#34;&lt;/span&gt;&amp;gt;¥{{ randomDish.price }}&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;el-card&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;el-col&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;el-row&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;template&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;setup&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:#ff79c6"&gt;import&lt;/span&gt; { ref, onMounted } from &lt;span style="color:#f1fa8c"&gt;&amp;#39;vue&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;import&lt;/span&gt; { useRouter } from &lt;span style="color:#f1fa8c"&gt;&amp;#39;vue-router&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; router &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; useRouter()&#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; randomRestaurant &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; ref({})&#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; randomDish &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; ref({})&#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; topRestaurants &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; ref([&#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; id&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; name&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#39;星光食府&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rating&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;4.9&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; image&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#39;/Restaurant/Restaurant1.png&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&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;&#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;// 其他餐厅数据&#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:#ff79c6"&gt;const&lt;/span&gt; allDishes &lt;span style="color:#ff79c6"&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; id&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; name&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#39;松露和牛饭&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; restaurantName&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#39;星光食府&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; rating&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;4.9&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; price&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#bd93f9"&gt;688&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; image&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#39;/foods/food1.jpg&amp;#39;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; description&lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#39;精选A5和牛配以黑松露，口感细腻，香气四溢&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:#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:#ff79c6"&gt;const&lt;/span&gt; selectRandomRestaurant &lt;span style="color:#ff79c6"&gt;=&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:#ff79c6"&gt;const&lt;/span&gt; randomIndex &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;Math&lt;/span&gt;.floor(&lt;span style="color:#8be9fd;font-style:italic"&gt;Math&lt;/span&gt;.random() &lt;span style="color:#ff79c6"&gt;*&lt;/span&gt; topRestaurants.value.length)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; randomRestaurant.value &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; topRestaurants.value[randomIndex]&#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;const&lt;/span&gt; selectRandomDish &lt;span style="color:#ff79c6"&gt;=&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:#ff79c6"&gt;const&lt;/span&gt; randomIndex &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;Math&lt;/span&gt;.floor(&lt;span style="color:#8be9fd;font-style:italic"&gt;Math&lt;/span&gt;.random() &lt;span style="color:#ff79c6"&gt;*&lt;/span&gt; allDishes.length)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; randomDish.value &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; allDishes[randomIndex]&#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;const&lt;/span&gt; refreshRestaurant &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; () =&amp;gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; selectRandomRestaurant();&#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;const&lt;/span&gt; refreshDish &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; () =&amp;gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; selectRandomDish();&#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;const&lt;/span&gt; goToRestaurant &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; (id) =&amp;gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; router.push(&lt;span style="color:#f1fa8c"&gt;`/restaurant/&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;&lt;span style="color:#ff79c6"&gt;const&lt;/span&gt; goToDish &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; (id) =&amp;gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; router.push(&lt;span style="color:#f1fa8c"&gt;`/dish/&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;onMounted(() =&amp;gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; selectRandomRestaurant();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; selectRandomDish();&#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;script&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="二餐厅管理功能"&gt;二、餐厅管理功能&lt;/h2&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;green&amp;rdquo;]这部分代码实现了餐厅管理功能，如餐厅的添加、查看、编辑和删除等操作，操作逻辑清晰。[/scode]&lt;/p&gt;</description></item><item><title>我的音乐平台</title><link>https://blogtypecho.maxtrnn.top/post/167/</link><pubDate>Wed, 13 Nov 2024 16:48:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/167/</guid><description>&lt;p&gt;###我的音乐平台&lt;/p&gt;&#10;&lt;p&gt;本项目是一个基于React的音乐平台，用户可以在平台上进行歌曲搜索、播放以及享受随机播放功能。平台支持歌曲的播放、暂停、切换以及持续随机播放功能，提供了简洁易用的界面和良好的用户体验。以下是平台的功能介绍和实现细节。&lt;/p&gt;&#10;&lt;h2 id="1-项目概述"&gt;1. 项目概述&lt;/h2&gt;&#10;&lt;p&gt;我的音乐平台的核心功能是通过一个搜索框，用户可以搜索到自己喜欢的歌曲并播放。平台内置了随机播放和持续随机播放功能，能够根据用户需求实时播放热门音乐。平台的设计简洁，操作直观，用户可以通过搜索框、播放控制按钮等轻松操作。&lt;/p&gt;&#10;&lt;p&gt;您可以通过以下链接访问项目：[button color=&amp;ldquo;success&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://music.maxtral.fun/&amp;rdquo; type=&amp;ldquo;round&amp;rdquo;]访问音乐平台[/button]&lt;/p&gt;&#10;&lt;h2 id="2-搜索功能"&gt;2. 搜索功能&lt;/h2&gt;&#10;&lt;p&gt;平台的核心功能之一是歌曲搜索。用户可以通过输入歌曲名称来搜索相关的音乐，搜索结果将显示相关歌曲的列表，用户可以选择其中一首进行播放。平台会展示歌曲的名称、艺术家信息以及专辑封面等详细信息。&lt;/p&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;red&amp;rdquo;]下一步目标：计划在搜索功能中加入更多过滤选项，允许用户按照艺术家、专辑等进行更精确的筛选。[/scode]&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;前端代码：&lt;/strong&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-jsx" data-lang="jsx"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#ff79c6"&gt;SearchBar&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;onSearch&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;{handleSearch} /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="3-随机播放功能"&gt;3. 随机播放功能&lt;/h2&gt;&#10;&lt;p&gt;平台支持随机播放功能，用户点击“随机播放飙升音乐”按钮后，平台会自动选择一首随机的热门歌曲并开始播放。该功能帮助用户发现新歌，并能随时体验到不同风格的音乐。&lt;/p&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;blue&amp;rdquo;]下一步目标：进一步优化随机播放逻辑，允许用户根据音乐类别、风格进行筛选，提升音乐推荐的精准度。[/scode]&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;前端代码：&lt;/strong&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-jsx" data-lang="jsx"&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;onClick&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;{handleRandomPlay} &lt;span style="color:#50fa7b"&gt;className&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;random-play-button&amp;#34;&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;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="4-持续随机播放功能"&gt;4. 持续随机播放功能&lt;/h2&gt;&#10;&lt;p&gt;除了普通的随机播放外，平台还提供了持续随机播放的选项。启用此功能后，平台将在当前歌曲播放结束后自动播放下一首随机歌曲，保证用户可以不断地听到新歌，提升音乐体验。&lt;/p&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;green&amp;rdquo;]下一步目标：实现持续随机播放的优化功能，确保无缝播放并在歌曲之间减少加载时间，提升用户的听歌体验。[/scode]&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;前端代码：&lt;/strong&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-jsx" data-lang="jsx"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#ff79c6"&gt;button&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;onClick&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;{handleContinuousRandomPlay}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#50fa7b"&gt;className&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;continuous-random-play-button&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; {isContinuousRandom &lt;span style="color:#ff79c6"&gt;?&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#39;停止持续随机播放&amp;#39;&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;:&lt;/span&gt; &lt;span style="color:#f1fa8c"&gt;&amp;#39;持续随机播放&amp;#39;&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;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="5-播放器组件"&gt;5. 播放器组件&lt;/h2&gt;&#10;&lt;p&gt;平台内的播放器组件提供了基本的播放控制功能，包括播放、暂停、上一首、下一首等操作。用户可以通过播放器随时控制音乐的播放进度，并且可以查看当前播放的歌曲信息。&lt;/p&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;blue&amp;rdquo;]下一步目标：优化播放器界面，增加歌词显示、音量调节等功能，使其更加全面和实用。[/scode]&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;前端代码：&lt;/strong&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-jsx" data-lang="jsx"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#ff79c6"&gt;Player&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;song&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;{selectedSong}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#50fa7b"&gt;ref&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;{audioRef}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#50fa7b"&gt;onPrevious&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;{handlePrevious}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#50fa7b"&gt;onNext&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;{handleNext}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#50fa7b"&gt;hasPrevious&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;{currentIndex &lt;span style="color:#ff79c6"&gt;&amp;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; &lt;span style="color:#50fa7b"&gt;hasNext&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;{&lt;span style="color:#ff79c6"&gt;true&lt;/span&gt;} // &lt;span style="color:#50fa7b"&gt;始终显示&lt;/span&gt;“&lt;span style="color:#50fa7b"&gt;下一首&lt;/span&gt;”&lt;span style="color:#50fa7b"&gt;按钮&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;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="6-播放列表管理"&gt;6. 播放列表管理&lt;/h2&gt;&#10;&lt;p&gt;平台支持播放列表功能，每次选择歌曲播放时，平台会将该歌曲添加到播放列表中。用户可以通过控制按钮来浏览整个播放列表，切换到之前或之后的歌曲，享受更加自由的音乐播放体验。&lt;/p&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;red&amp;rdquo;]下一步目标：在播放列表中加入歌曲删除和排序功能，让用户可以自由管理播放列表中的歌曲。[/scode]&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;前端代码：&lt;/strong&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-jsx" data-lang="jsx"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;lt;&lt;span style="color:#ff79c6"&gt;SongList&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;songs&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;{songs} &lt;span style="color:#50fa7b"&gt;onSelect&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;{handleSelectSong} /&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="7-弹窗与交互"&gt;7. 弹窗与交互&lt;/h2&gt;&#10;&lt;p&gt;为了提升用户体验，平台中的某些功能，如加载提示、错误提示等，都会使用弹窗进行展示。这些弹窗信息直接反馈给用户，帮助用户快速了解当前操作状态。&lt;/p&gt;&#10;&lt;h2 id="8-小结"&gt;8. 小结&lt;/h2&gt;&#10;&lt;p&gt;我的音乐平台通过简洁、直观的设计提供了强大的功能，用户可以方便地进行歌曲搜索、播放，并体验到随机播放和持续随机播放等创新功能。随着平台的不断发展，我们计划在后续版本中进一步优化现有功能，增强用户的互动性和音乐体验。&lt;/p&gt;</description></item><item><title>关于我的门户页面</title><link>https://blogtypecho.maxtrnn.top/post/166/</link><pubDate>Wed, 13 Nov 2024 16:39:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/166/</guid><description>&lt;hr&gt;&#10;&lt;h1 id="门户页面功能介绍"&gt;门户页面功能介绍&lt;/h1&gt;&#10;&lt;p&gt;本项目的门户页面旨在提供一个简洁、互动性强的用户体验，结合了任务管理、留言板、公告等多种功能，支持实时数据展示和互动。用户可以在此页面上高效地管理自己的任务、查看公告信息以及参与留言互动。以下是对各个功能模块的详细介绍。&lt;/p&gt;&#10;&lt;h2 id="1-项目入口"&gt;1. 项目入口&lt;/h2&gt;&#10;&lt;p&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]。&lt;/p&gt;&#10;&lt;h2 id="2-实时时间显示"&gt;2. 实时时间显示&lt;/h2&gt;&#10;&lt;p&gt;页面顶部会显示当前的时间，并每秒钟更新一次，确保用户能够随时了解时间。这一功能通过 &lt;code&gt;timeButton&lt;/code&gt; 按钮呈现，用户可以点击按钮查看详细时间。&lt;/p&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;red&amp;rdquo;]下一步，我计划在项目中进一步优化时间显示功能，考虑加入更多的时区支持，确保不同地区的用户都能看到准确的本地时间。[/scode]&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;前端代码：&lt;/strong&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-html" data-lang="html"&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;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; &lt;span style="color:#50fa7b"&gt;onclick&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;showTime()&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;p&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;timeDisplay&amp;#34;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#ff79c6"&gt;p&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;script&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:#8be9fd;font-style:italic"&gt;function&lt;/span&gt; showTime() {&#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; date &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;new&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;Date&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;document&lt;/span&gt;.getElementById(&lt;span style="color:#f1fa8c"&gt;&amp;#34;timeDisplay&amp;#34;&lt;/span&gt;).innerHTML &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; date.toLocaleTimeString();&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; setTimeout(showTime, &lt;span style="color:#bd93f9"&gt;1000&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;&amp;lt;/&lt;span style="color:#ff79c6"&gt;script&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="3-搜索功能"&gt;3. 搜索功能&lt;/h2&gt;&#10;&lt;p&gt;搜索框功能允许用户在页面中进行信息查询。用户可以输入关键词进行搜索，并通过点击搜索按钮或按下 &lt;code&gt;Enter&lt;/code&gt; 键进行触发。搜索结果会在新页面中展示，确保用户能够快速找到所需内容。&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;前端代码：&lt;/strong&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-html" data-lang="html"&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;searchInput&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;button&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;onclick&lt;/span&gt;&lt;span style="color:#ff79c6"&gt;=&lt;/span&gt;&lt;span style="color:#f1fa8c"&gt;&amp;#34;searchContent()&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;&#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;&amp;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;function&lt;/span&gt; searchContent() {&#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; query &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;document&lt;/span&gt;.getElementById(&lt;span style="color:#f1fa8c"&gt;&amp;#34;searchInput&amp;#34;&lt;/span&gt;).value;&#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; alert(&lt;span style="color:#f1fa8c"&gt;&amp;#39;搜索结果: &amp;#39;&lt;/span&gt; &lt;span style="color:#ff79c6"&gt;+&lt;/span&gt; query);&#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;script&lt;/span&gt;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="4-任务管理"&gt;4. 任务管理&lt;/h2&gt;&#10;&lt;p&gt;任务管理模块提供了任务的查看与管理功能，分为三个主要状态：待开发、开发中、已完成。每个任务都包括任务名称、描述、创建时间和更新时间等信息。任务列表会根据更新时间进行排序，确保用户能够第一时间看到最新的任务。&lt;/p&gt;&#10;&lt;p&gt;[scode type=&amp;ldquo;blue&amp;rdquo;]下一阶段目标：我计划优化任务管理模块，加入任务排序和过滤功能，使得用户可以根据不同的需求快速找到自己关心的任务状态。[/scode]&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;前端代码：&lt;/strong&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-html" data-lang="html"&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;taskList&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;task&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;data-status&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;h3&lt;/span&gt;&amp;gt;任务 1&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; &amp;lt;&lt;span style="color:#ff79c6"&gt;p&lt;/span&gt;&amp;gt;描述: 开发新的功能&amp;lt;/&lt;span style="color:#ff79c6"&gt;p&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;p&lt;/span&gt;&amp;gt;状态: 待开发&amp;lt;/&lt;span style="color:#ff79c6"&gt;p&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&amp;#34;&lt;/span&gt; &lt;span style="color:#50fa7b"&gt;data-status&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;h3&lt;/span&gt;&amp;gt;任务 2&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; &amp;lt;&lt;span style="color:#ff79c6"&gt;p&lt;/span&gt;&amp;gt;描述: 修复Bug&amp;lt;/&lt;span style="color:#ff79c6"&gt;p&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;p&lt;/span&gt;&amp;gt;状态: 开发中&amp;lt;/&lt;span style="color:#ff79c6"&gt;p&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; &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;&#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;&amp;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; tasks &lt;span style="color:#ff79c6"&gt;=&lt;/span&gt; &lt;span style="color:#8be9fd;font-style:italic"&gt;document&lt;/span&gt;.querySelectorAll(&lt;span style="color:#f1fa8c"&gt;&amp;#39;.task&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:#6272a4"&gt;// 根据任务状态进行排序或过滤&#10;&lt;/span&gt;&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;&amp;gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="5-公告模块"&gt;5. 公告模块&lt;/h2&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>校园淘淘项目</title><link>https://blogtypecho.maxtrnn.top/post/79/</link><pubDate>Mon, 14 Oct 2024 04:46:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/79/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;2024年10月14日12:28:28&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;项目名称：校园淘淘**（暂时拟定）**&#10;项目logo：&lt;img src="https://blogtypecho.maxtrnn.top/uploads/2024/10/2270681621.png" alt="2024-10-14T04:29:19.png"&gt;&#10;&lt;strong&gt;（暂时设计的）&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;开发背景：&#10;[scode type=&amp;ldquo;green&amp;rdquo;]&#10;您是否经常买一些二手物品？比如咸鱼这种平台。但是小区域，比如一个校园用咸鱼的平台明显过于繁琐。&#10;您是否购买过校园内的二手物品？ 在哪里获取到的信息呢？ 贴吧，qq群，别人宣传。。。。您是否感到有事买不到一些产品，搜索卖家费劲，qq群人数限制等&#10;为此我们选择开发此项目:一个校园的二手交易平台[/scode]&#10;[scode type=&amp;ldquo;lblue&amp;rdquo;]项目介绍：本项目旨在实现安卓app，微信小程序，qq群群聊三个平台的实时校园二手交易平台，满足校园&#10;内的学生的二手交易，达到便捷，靠谱，资源广的产品理念。[/scode]&#10;&lt;em&gt;（2024年10月14日12:36:30待编写）&lt;/em&gt; &lt;br&gt;&#10;[scode type=&amp;ldquo;red&amp;rdquo;]产品功能（预计实现）：单独学校的独立运行，独立的交易平台，适用于不同学校。&#10;学号+实名信息 绑定注册，确保信息真实可靠。&#10;卖家买家信誉系统，以及线上线下的交易方式保证交易的可靠真实。&#10;商品的发布，搜索，分类，评论留言 。&#10;讨论论坛，帖子公告之类。&#10;订单的创建，商家卖家的多平台提醒：QQ，短信，微信，小程序。以及手动拨打号码等&#10;个人信息的展示，隐私信息的保密，安全设置等。&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;上述功能只为大概意思，具体实现以项目进度为准&lt;/em&gt;[/scode]&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;本项目由22级软件工程&amp;ndash;张贺楠发布，若咨询更多信息请联系我：&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;[collapse status=&amp;ldquo;ture&amp;rdquo; title=&amp;ldquo;联系max&amp;rdquo;]&#10;qq：2577870094&#10;email：2577870094@qq.com[/collapse]&lt;/p&gt;</description></item><item><title>校园二手交易——校园淘淘</title><link>https://blogtypecho.maxtrnn.top/post/77/</link><pubDate>Sat, 12 Oct 2024 15:11:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/77/</guid><description>&lt;hr&gt;&#10;&lt;h2 id="校园淘淘的由来"&gt;校园淘淘的由来&lt;/h2&gt;&#10;&lt;p&gt;2024年10月12日23:08:40&#10;打算改版原来的社区团购为校园交易平台&#10;实现校园二手交易，名为校园淘淘，同步上线安卓app，微信小程序，qq群的一键发布的三个平台&#10;具体功能仍在构思&amp;hellip;.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;2024年10月12日23:11:19&lt;/p&gt;</description></item><item><title>Android项目:生活小助理</title><link>https://blogtypecho.maxtrnn.top/post/47/</link><pubDate>Sat, 07 Sep 2024 17:52:00 +0800</pubDate><guid>https://blogtypecho.maxtrnn.top/post/47/</guid><description>&lt;h2 id="使用手册"&gt;使用手册&lt;/h2&gt;&#10;&lt;p&gt;可以一键式注册账号登录，天气要使用区域编号即可食用，邮件推送要输入开放imap的邮箱地址，邮箱账号和密码(软件不做存储）,最后是qmsg的配置&#10;[button color=&amp;ldquo;info&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://github.com/itmanmax/MAXTR-Plugins&amp;rdquo; type=&amp;ldquo;round&amp;rdquo;]自动邮箱插件地址[/button]&#10;[button color=&amp;ldquo;success&amp;rdquo; icon=&amp;quot;&amp;quot; url=&amp;ldquo;https://github.com/itmanmax/MAXTR-Plugins&amp;rdquo; type=&amp;ldquo;round&amp;rdquo;]qmsg官方文档[/button]&lt;/p&gt;&#10;&lt;h2 id="须知"&gt;须知&lt;/h2&gt;&#10;&lt;p&gt;请不要恶意注册账号以及频繁使用一些功能&lt;/p&gt;&#10;&lt;h2 id="感谢"&gt;感谢&lt;/h2&gt;&#10;&lt;p&gt;max&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>