<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>IMyself</title>
        <link>https://blog.lmyself.top/</link>
        <description>前端技术分享记录~</description>
        <lastBuildDate>Sun, 10 May 2026 03:36:57 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>zh-CN</language>
        <copyright>All rights reserved 2026, IMyself</copyright>
        <item>
            <title><![CDATA[关于CPA、CC-Switch]]></title>
            <link>https://blog.lmyself.top/article/31bee568-45a2-8083-8f81-e4e17e6719bc</link>
            <guid>https://blog.lmyself.top/article/31bee568-45a2-8083-8f81-e4e17e6719bc</guid>
            <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[关于CPA、CC-Switch]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-31bee56845a280838f81e4e17e6719bc"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-31bee56845a280b3ab45e25e98445f86" data-id="31bee56845a280b3ab45e25e98445f86"><span><div id="31bee56845a280b3ab45e25e98445f86" class="notion-header-anchor"></div><a class="notion-hash-link" href="#31bee56845a280b3ab45e25e98445f86" title="CPA（CLIProxyAPI）"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">CPA（CLIProxyAPI）</span></span></h3><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-31bee56845a280d387fef2abceae2a2d" data-id="31bee56845a280d387fef2abceae2a2d"><span><div id="31bee56845a280d387fef2abceae2a2d" class="notion-header-anchor"></div><a class="notion-hash-link" href="#31bee56845a280d387fef2abceae2a2d" title="项目地址"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">项目地址</span></span></h4><div class="notion-row"><a class="notion-bookmark notion-block-31bee56845a2809489ece717592a00d4" href="https://github.com/router-for-me/CLIProxyAPI" target="_blank" rel="noopener noreferrer"><div><div class="notion-bookmark-title">GitHub - router-for-me/CLIProxyAPI: Wrap Gemini CLI, Antigravity, ChatGPT Codex, Claude Code, Qwen Code, iFlow as an OpenAI/Gemini/Claude/Codex compatible API service, allowing you to enjoy the free Gemini 2.5 Pro, GPT 5, Claude, Qwen model through API</div><div class="notion-bookmark-description">Wrap Gemini CLI, Antigravity, ChatGPT Codex, Claude Code, Qwen Code, iFlow as an OpenAI/Gemini/Claude/Codex compatible API service, allowing you to enjoy the free Gemini 2.5 Pro, GPT 5, Claude, Qwe...</div><div class="notion-bookmark-link"><div class="notion-bookmark-link-icon"><img src="https://www.notion.so/image/https%3A%2F%2Fgithub.com%2Ffluidicon.png?table=block&amp;id=31bee568-45a2-8094-89ec-e717592a00d4&amp;t=31bee568-45a2-8094-89ec-e717592a00d4" alt="GitHub - router-for-me/CLIProxyAPI: Wrap Gemini CLI, Antigravity, ChatGPT Codex, Claude Code, Qwen Code, iFlow as an OpenAI/Gemini/Claude/Codex compatible API service, allowing you to enjoy the free Gemini 2.5 Pro, GPT 5, Claude, Qwen model through API" loading="lazy" decoding="async"/></div><div class="notion-bookmark-link-text">https://github.com/router-for-me/CLIProxyAPI</div></div></div><div class="notion-bookmark-image"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fopengraph.githubassets.com%2F32c0c7b6e691520aba762f2afbc5625f9ec632b4b8b549707cedd13170893fcc%2Frouter-for-me%2FCLIProxyAPI?table=block&amp;id=31bee568-45a2-8094-89ec-e717592a00d4&amp;t=31bee568-45a2-8094-89ec-e717592a00d4" alt="GitHub - router-for-me/CLIProxyAPI: Wrap Gemini CLI, Antigravity, ChatGPT Codex, Claude Code, Qwen Code, iFlow as an OpenAI/Gemini/Claude/Codex compatible API service, allowing you to enjoy the free Gemini 2.5 Pro, GPT 5, Claude, Qwen model through API" loading="lazy" decoding="async"/></div></a></div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-31bee56845a2805d86dfd9667d08393b" data-id="31bee56845a2805d86dfd9667d08393b"><span><div id="31bee56845a2805d86dfd9667d08393b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#31bee56845a2805d86dfd9667d08393b" title="只介绍windows下的使用（因为没有MAC）"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">只介绍windows下的使用（因为没有MAC）</span></span></h4><ol start="1" class="notion-list notion-list-numbered notion-block-31bee56845a280109241d00ce7880773" style="list-style-type:decimal"><li>点击<code class="notion-inline-code"><a class="notion-link" href="https://github.com/router-for-me/CLIProxyAPI/releases" target="_blank" rel="noopener noreferrer">releases</a></code>前往下载</li><ol class="notion-list notion-list-numbered notion-block-31bee56845a280109241d00ce7880773" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-31bee56845a280b5a9ecdd4bb0d0c432"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Ae9750a48-afa6-4f1c-b08d-4e90ac8704e4%3Aimage.png?table=block&amp;id=31bee568-45a2-80b5-a9ec-dd4bb0d0c432&amp;t=31bee568-45a2-80b5-a9ec-dd4bb0d0c432" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="2" class="notion-list notion-list-numbered notion-block-31bee56845a2805ab493f948d7db79af" style="list-style-type:decimal"><li>下载后对文件进行解压，复制<code class="notion-inline-code">config.example.yaml</code> 将新文件的文件名修改成<code class="notion-inline-code">config.yaml</code> 编辑文件中的<code class="notion-inline-code">secret-key</code> （后面登录会用到）</li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-31bee56845a28002ba5aeac950d44cb2" style="list-style-type:decimal"><li>双击<code class="notion-inline-code">cli-proxy-api.exe</code> 即可运行</li></ol><ol start="4" class="notion-list notion-list-numbered notion-block-31bee56845a280f39b7fd98c76466d8d" style="list-style-type:decimal"><li>运行成功后浏览器打开<code class="notion-inline-code">http://localhost:8317/management.html</code> 输入当时设置的<code class="notion-inline-code">secret-key</code> 就会进入到管理界面了。下面只介绍Codex的配置</li></ol><ol start="5" class="notion-list notion-list-numbered notion-block-31bee56845a2801fac69e2b5ef67cd21" style="list-style-type:decimal"><li>如果你有Codex的认证文件 那你可以点击认证文件菜单然后点击上传文件把所有的文件进行上传后你会得到下图</li><ol class="notion-list notion-list-numbered notion-block-31bee56845a2801fac69e2b5ef67cd21" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-31bee56845a280628e91f8a40eb8fd59"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Ac7778e49-f80f-417c-81c9-4f30bb848f04%3Aimage.png?table=block&amp;id=31bee568-45a2-8062-8e91-f8a40eb8fd59&amp;t=31bee568-45a2-8062-8e91-f8a40eb8fd59" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="6" class="notion-list notion-list-numbered notion-block-334ee56845a280fbb0dff76376814f09" style="list-style-type:decimal"><li>配置<code class="notion-inline-code">AI</code>提供商（这里以中转站为例）添加<code class="notion-inline-code">Codex API</code>配置 <code class="notion-inline-code"><b>Base URL</b></code><b>需要跟上</b><span class="notion-red"><code class="notion-inline-code"><b>/v1</b></code></span></li></ol><ol start="7" class="notion-list notion-list-numbered notion-block-31bee56845a280088226f885c157e030" style="list-style-type:decimal"><li>然后点击配置面板菜单找到<code class="notion-inline-code"><b>API</b></code><b> 密钥列表点击添加</b><code class="notion-inline-code"><b>API</b></code><b>密钥，</b>保留好密钥后面调用的时候会用到</li></ol><ol start="8" class="notion-list notion-list-numbered notion-block-31bee56845a28081bb6ffa2b35050fe2" style="list-style-type:decimal"><li>如果你是本地启动的魔法不是全局也就是TUN模式的话需要对<code class="notion-inline-code">代理进行配置</code>，使用Socket还是http模式都可以 具体自己尝试</li></ol><div class="notion-text notion-red notion-block-31bee56845a28037aa35dab42fe99a03"><b><a class="notion-link" href="https://help.router-for.me/cn/" target="_blank" rel="noopener noreferrer">官方参考文档</a></b></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-31bee56845a28080a272e3527b49b6cc" data-id="31bee56845a28080a272e3527b49b6cc"><span><div id="31bee56845a28080a272e3527b49b6cc" class="notion-header-anchor"></div><a class="notion-hash-link" href="#31bee56845a28080a272e3527b49b6cc" title="CC-Switch"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">CC-Switch</span></span></h3><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-31bee56845a280b68bf5e6f0f87381e6" data-id="31bee56845a280b68bf5e6f0f87381e6"><span><div id="31bee56845a280b68bf5e6f0f87381e6" class="notion-header-anchor"></div><a class="notion-hash-link" href="#31bee56845a280b68bf5e6f0f87381e6" title="项目地址"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">项目地址</span></span></h4><div class="notion-row"><a class="notion-bookmark notion-block-31bee56845a2803b9195e5c0761c5945" href="https://github.com/farion1231/cc-switch" target="_blank" rel="noopener noreferrer"><div><div class="notion-bookmark-title">GitHub - farion1231/cc-switch: A cross-platform desktop All-in-One assistant tool for Claude Code, Codex, OpenCode, openclaw &amp; Gemini CLI.</div><div class="notion-bookmark-description">A cross-platform desktop All-in-One assistant tool for Claude Code, Codex, OpenCode, openclaw &amp; Gemini CLI. - farion1231/cc-switch</div><div class="notion-bookmark-link"><div class="notion-bookmark-link-icon"><img src="https://www.notion.so/image/https%3A%2F%2Fgithub.com%2Ffluidicon.png?table=block&amp;id=31bee568-45a2-803b-9195-e5c0761c5945&amp;t=31bee568-45a2-803b-9195-e5c0761c5945" alt="GitHub - farion1231/cc-switch: A cross-platform desktop All-in-One assistant tool for Claude Code, Codex, OpenCode, openclaw &amp; Gemini CLI." loading="lazy" decoding="async"/></div><div class="notion-bookmark-link-text">https://github.com/farion1231/cc-switch</div></div></div><div class="notion-bookmark-image"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fopengraph.githubassets.com%2F95175828c0a5815e8446926c9924882ddb693da9f709f069b8981d251b87033a%2Ffarion1231%2Fcc-switch?table=block&amp;id=31bee568-45a2-803b-9195-e5c0761c5945&amp;t=31bee568-45a2-803b-9195-e5c0761c5945" alt="GitHub - farion1231/cc-switch: A cross-platform desktop All-in-One assistant tool for Claude Code, Codex, OpenCode, openclaw &amp; Gemini CLI." loading="lazy" decoding="async"/></div></a></div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-31bee56845a28023ba4bd9ed3d3c3057" data-id="31bee56845a28023ba4bd9ed3d3c3057"><span><div id="31bee56845a28023ba4bd9ed3d3c3057" class="notion-header-anchor"></div><a class="notion-hash-link" href="#31bee56845a28023ba4bd9ed3d3c3057" title="同样只介绍windows下的使用（因为没有MAC）"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">同样只介绍windows下的使用（因为没有MAC）</span></span></h4><ol start="1" class="notion-list notion-list-numbered notion-block-31bee56845a2800588b6ccec086fe6f2" style="list-style-type:decimal"><li>点击<code class="notion-inline-code"><a class="notion-link" href="https://github.com/farion1231/cc-switch/releases" target="_blank" rel="noopener noreferrer">releases</a></code>前往下载（两个都可以 <code class="notion-inline-code">Portable</code>是便携版 无需安装）</li><ol class="notion-list notion-list-numbered notion-block-31bee56845a2800588b6ccec086fe6f2" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-31bee56845a28040a3b7de011ee20892"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A4228eff0-efe5-422e-bad5-fdf7ac270922%3Aimage.png?table=block&amp;id=31bee568-45a2-8040-a3b7-de011ee20892&amp;t=31bee568-45a2-8040-a3b7-de011ee20892" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="2" class="notion-list notion-list-numbered notion-block-31bee56845a280bf992fc739f5777391" style="list-style-type:decimal"><li>下载解压完以后直接双击运行<code class="notion-inline-code">.exe</code>文件即可</li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-31bee56845a280b89c46c69b68bcc181" style="list-style-type:decimal"><li>下面介绍Codex的配置</li><ol class="notion-list notion-list-numbered notion-block-31bee56845a280b89c46c69b68bcc181" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-31bee56845a28033b499ea5c0ff4b607"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3A9a9abe6b-9727-4440-9913-02ddcc6b6f6e%3Aimage.png?table=block&amp;id=31bee568-45a2-8033-b499-ea5c0ff4b607&amp;t=31bee568-45a2-8033-b499-ea5c0ff4b607" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="4" class="notion-list notion-list-numbered notion-block-31bee56845a2801d9dd1d24f9b0b07eb" style="list-style-type:decimal"><li>配置<code class="notion-inline-code">Claude</code>的时候请求地址后面无需跟<code class="notion-inline-code">v1</code></li></ol><ol start="5" class="notion-list notion-list-numbered notion-block-31bee56845a2808cbfe7ddb6174443dd" style="list-style-type:decimal"><li>配置完成后如果你的VsCode安装了<code class="notion-inline-code">Codex</code>和<code class="notion-inline-code">Claude Code</code>插件的话 重启编辑器就可以开始爽用了</li></ol><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-31bee56845a2804eb832f64cc31b17d4" data-id="31bee56845a2804eb832f64cc31b17d4"><span><div id="31bee56845a2804eb832f64cc31b17d4" class="notion-header-anchor"></div><a class="notion-hash-link" href="#31bee56845a2804eb832f64cc31b17d4" title="CPA-clean"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">CPA-clean</span></span></h3><div class="notion-text notion-block-31bee56845a2802b985ac285cfe4b203">清理CPA中过期或者无法使用的账号 可以自行网上搜索</div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[一些项目中用到的东西]]></title>
            <link>https://blog.lmyself.top/article/js625</link>
            <guid>https://blog.lmyself.top/article/js625</guid>
            <pubDate>Wed, 25 Jun 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[一些JS方法的封装]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-21dee56845a280acad4fe3299c00fefd"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2a1ee56845a280448713faa3576be0d0" data-id="2a1ee56845a280448713faa3576be0d0"><span><div id="2a1ee56845a280448713faa3576be0d0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2a1ee56845a280448713faa3576be0d0" title="Google自带分屏"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Google自带分屏</span></span></h3><div class="notion-text notion-block-2a1ee56845a28081a8c4eef2af33ed75"><b>如果没有开启的话在地址栏输入</b><span class="notion-red"><code class="notion-inline-code"><b>chrome://flags/</b></code></span><span class="notion-red"><b> </b></span><b>搜索</b><code class="notion-inline-code"><b>Split View</b></code><b> 然后选择</b><code class="notion-inline-code"><b>Enabled</b></code><b> 开启即可</b></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2a1ee56845a280028f54c97c106c402b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Af81b8f34-a591-4371-b449-1cada8aa5f39%3Aimage.png?table=block&amp;id=2a1ee568-45a2-8002-8f54-c97c106c402b&amp;t=2a1ee568-45a2-8002-8f54-c97c106c402b" alt="notion image" loading="lazy" decoding="async"/></div></figure><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-21dee56845a28046b48de2a196d95564" data-id="21dee56845a28046b48de2a196d95564"><span><div id="21dee56845a28046b48de2a196d95564" class="notion-header-anchor"></div><a class="notion-hash-link" href="#21dee56845a28046b48de2a196d95564" title="获取当年的周数以及当前周的日期区间"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">获取当年的周数以及当前周的日期区间</span></span></h3><div class="notion-text notion-block-21dee56845a2801a9c3dc43d3df08e46">示例数据展示</div><div class="notion-text notion-block-21dee56845a2807e8930ff405d591fd3">方法调用</div><div class="notion-text notion-block-21dee56845a2809abd04eea5ecdb9b4c"><b>判断当前日期是第几周</b></div><details class="notion-toggle notion-block-21dee56845a2809a8842d409fafeca48"><summary><code class="notion-inline-code"><b>Vue vant(v)选择周组件封装</b></code><b> </b></summary><div></div></details><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-22aee56845a280dbb7c5e312a1458d0d" data-id="22aee56845a280dbb7c5e312a1458d0d"><span><div id="22aee56845a280dbb7c5e312a1458d0d" class="notion-header-anchor"></div><a class="notion-hash-link" href="#22aee56845a280dbb7c5e312a1458d0d" title="js控制元素丝滑滚动"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">js控制元素丝滑滚动</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2afee56845a2801e99b7c7c932daf82b" data-id="2afee56845a2801e99b7c7c932daf82b"><span><div id="2afee56845a2801e99b7c7c932daf82b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2afee56845a2801e99b7c7c932daf82b" title=" antd-vue 控制a-table默认滚动条滚动到最右边"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"> antd-vue 控制a-table默认滚动条滚动到最右边</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-232ee56845a280cd9f2cfd3c29894d72" data-id="232ee56845a280cd9f2cfd3c29894d72"><span><div id="232ee56845a280cd9f2cfd3c29894d72" class="notion-header-anchor"></div><a class="notion-hash-link" href="#232ee56845a280cd9f2cfd3c29894d72" title="antd-vue a-table合计功能"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">antd-vue a-table合计功能</span></span></h3><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-232ee56845a280158cd5cddd3c7e9151"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/attachment%3Adec851dd-a584-4505-be91-d452113b990d%3Aimage.png?table=block&amp;id=232ee568-45a2-8015-8cd5-cddd3c7e9151&amp;t=232ee568-45a2-8015-8cd5-cddd3c7e9151" alt="notion image" loading="lazy" decoding="async"/></div></figure><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-237ee56845a280929db2fb2900c38a03" data-id="237ee56845a280929db2fb2900c38a03"><span><div id="237ee56845a280929db2fb2900c38a03" class="notion-header-anchor"></div><a class="notion-hash-link" href="#237ee56845a280929db2fb2900c38a03" title="a-input(Ant Design of Vue1.7x)版本限制只能输入数字并且最多十位"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">a-input(Ant Design of Vue1.7x)版本限制只能输入数字并且最多十位</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-238ee56845a2804798b8ebdd977281e6" data-id="238ee56845a2804798b8ebdd977281e6"><span><div id="238ee56845a2804798b8ebdd977281e6" class="notion-header-anchor"></div><a class="notion-hash-link" href="#238ee56845a2804798b8ebdd977281e6" title="如果碰到表单校验提示导致html错位"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">如果碰到表单校验提示导致html错位</span></span></h3><div class="notion-text notion-block-25aee56845a28046b1d8fb8d5fd00ba3">没用的话就改一下样式吧</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-23aee56845a280bca687f7987d4f9b68" data-id="23aee56845a280bca687f7987d4f9b68"><span><div id="23aee56845a280bca687f7987d4f9b68" class="notion-header-anchor"></div><a class="notion-hash-link" href="#23aee56845a280bca687f7987d4f9b68" title="对象数组补足长度"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">对象数组补足长度</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-23fee56845a2801c81e1f1798a0d0fb2" data-id="23fee56845a2801c81e1f1798a0d0fb2"><span><div id="23fee56845a2801c81e1f1798a0d0fb2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#23fee56845a2801c81e1f1798a0d0fb2" title="a-table序号列设置了fixed导致多出一列空白的问题"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">a-table序号列设置了fixed导致多出一列空白的问题</span></span></h3><div class="notion-callout notion-gray_background_co notion-block-2e6ee56845a28083a771fca0f14c9377"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="💯">💯</span></div><div class="notion-callout-text"><div class="notion-text notion-block-2e6ee56845a280b78421c1de84d2ea86">或者将所有列的宽度加起来等于<code class="notion-inline-code">:scroll=&quot;{ x: m }&quot;</code>里<code class="notion-inline-code">m</code>的值,然后其中一列不设置宽度</div></div></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-240ee56845a28071ba7dc58187e6d83f" data-id="240ee56845a28071ba7dc58187e6d83f"><span><div id="240ee56845a28071ba7dc58187e6d83f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#240ee56845a28071ba7dc58187e6d83f" title="获取指定年份12个月份为数组并替换匹配数据的值"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">获取指定年份12个月份为数组并替换匹配数据的值</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-240ee56845a280dab3a0cf6711f255d0" data-id="240ee56845a280dab3a0cf6711f255d0"><span><div id="240ee56845a280dab3a0cf6711f255d0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#240ee56845a280dab3a0cf6711f255d0" title="flex 布局导致子项高度相同，如何解决"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>flex 布局导致子项高度相同，如何解决</b></span></span></h3><div class="notion-text notion-block-240ee56845a2803aa501fdd533eaa904">直接在<code class="notion-inline-code">flex</code>容器上，将<code class="notion-inline-code">align-items</code>设为<code class="notion-inline-code">flex-start</code>,或者<code class="notion-inline-code">align-items</code>属性的其他值都可以,子项就会保持其自身的高度了</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-257ee56845a280bb808cc75324058568" data-id="257ee56845a280bb808cc75324058568"><span><div id="257ee56845a280bb808cc75324058568" class="notion-header-anchor"></div><a class="notion-hash-link" href="#257ee56845a280bb808cc75324058568" title="CSS :before、:after伪元素 content属性 中文乱码"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>CSS :before、:after伪元素 content属性 中文乱码</b></span></span></h3><div class="notion-text notion-block-257ee56845a2806faa20cdbe1ac1bbc9">将中文转为<code class="notion-inline-code">unicode</code>编码 <a class="notion-link" href="https://link.juejin.cn/?target=http%3A%2F%2Ftool.chinaz.com%2FTools%2FUnicode.aspx" target="_blank" rel="noopener noreferrer">站长工具</a>，例如：<code class="notion-inline-code">、</code>—&gt;<code class="notion-inline-code">\u3001</code></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-257ee56845a2806fbaddd871148755f3" data-id="257ee56845a2806fbaddd871148755f3"><span><div id="257ee56845a2806fbaddd871148755f3" class="notion-header-anchor"></div><a class="notion-hash-link" href="#257ee56845a2806fbaddd871148755f3" title="a-teble滚动加载"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">a-teble滚动加载</span></span></h3><details class="notion-toggle notion-block-25bee56845a280329df7cf1efa5cef63"><summary>监听表格滚动条</summary><div></div></details><details class="notion-toggle notion-block-25bee56845a28033ae08ef8f713410ee"><summary>监听父级容器</summary><div></div></details><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-278ee56845a28058b8cdeade6aed3d01" data-id="278ee56845a28058b8cdeade6aed3d01"><span><div id="278ee56845a28058b8cdeade6aed3d01" class="notion-header-anchor"></div><a class="notion-hash-link" href="#278ee56845a28058b8cdeade6aed3d01" title="修改a-rate 评分颜色"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">修改<code class="notion-inline-code">a-rate</code> 评分颜色</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-27aee56845a28062ac89cb1d560e8da0" data-id="27aee56845a28062ac89cb1d560e8da0"><span><div id="27aee56845a28062ac89cb1d560e8da0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#27aee56845a28062ac89cb1d560e8da0" title="vue中$router.push打开新窗口"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>vue中$router.push打开新窗口</b></span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-27aee56845a2808b9259eb3f501ca980" data-id="27aee56845a2808b9259eb3f501ca980"><span><div id="27aee56845a2808b9259eb3f501ca980" class="notion-header-anchor"></div><a class="notion-hash-link" href="#27aee56845a2808b9259eb3f501ca980" title="最快速删除node_modules的几种方式"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>最快速删除node_modules的几种方式</b></span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-27eee56845a2809586b2e801107b1b0c" data-id="27eee56845a2809586b2e801107b1b0c"><span><div id="27eee56845a2809586b2e801107b1b0c" class="notion-header-anchor"></div><a class="notion-hash-link" href="#27eee56845a2809586b2e801107b1b0c" title="Ant Design of Vue 表单校验问题"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>Ant Design of Vue 表单校验问题</b></span></span></h3><div class="notion-text notion-block-27eee56845a2807faff3d5554a422659"><span class="notion-red">有时候明明已经赋值了但是校验还是提示需要输入值</span></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-27eee56845a280f7a60bed4650928c27" data-id="27eee56845a280f7a60bed4650928c27"><span><div id="27eee56845a280f7a60bed4650928c27" class="notion-header-anchor"></div><a class="notion-hash-link" href="#27eee56845a280f7a60bed4650928c27" title="1. 数据绑定问题"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">1. 数据绑定问题</span></span></h3><div class="notion-text notion-block-27eee56845a28030a31be2b5563f4b6d">确保 <code class="notion-inline-code">form.reckonDate</code>的值格式正确：</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-27eee56845a28079bf08d9e074955b59" data-id="27eee56845a28079bf08d9e074955b59"><span><div id="27eee56845a28079bf08d9e074955b59" class="notion-header-anchor"></div><a class="notion-hash-link" href="#27eee56845a28079bf08d9e074955b59" title="2. 使用 v-model 替代 :value"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">2. 使用 v-model 替代 :value</span></span></h3><div class="notion-text notion-block-27eee56845a28035acaac906c6b48a25">将 <code class="notion-inline-code">:value</code> 改为 <code class="notion-inline-code">v-model</code>：</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-287ee56845a28057937ad13986b5492b" data-id="287ee56845a28057937ad13986b5492b"><span><div id="287ee56845a28057937ad13986b5492b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#287ee56845a28057937ad13986b5492b" title="Vue组件互相引用问题"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Vue组件互相引用问题</span></span></h3><blockquote class="notion-quote notion-block-287ee56845a28083aca2fef07331eb0a"><div>即 A 引用 B，B 又引用 A，并且这两个引用都是<b>第一次</b>导入会形成<b>循环依赖</b>，在大多数情况下会导致报错或未定义行为</div></blockquote><div class="notion-text notion-block-287ee56845a2807097b0c38bdd39c35f">让我们来详细解释一下：</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-287ee56845a28001a9ebedcd0af39d1a" data-id="287ee56845a28001a9ebedcd0af39d1a"><span><div id="287ee56845a28001a9ebedcd0af39d1a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#287ee56845a28001a9ebedcd0af39d1a" title="什么是循环依赖？"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">什么是循环依赖？</span></span></h4><div class="notion-text notion-block-287ee56845a2809fbe15e717e7941248">当模块 A 尝试导入模块 B，而模块 B 又尝试导入模块 A 时，就形成了循环依赖。在 JavaScript（包括 Vue 组件）中，当一个模块被导入时，它的代码会立即执行。</div><ul class="notion-list notion-list-disc notion-block-287ee56845a280cfbde9da17458518f1"><li><b>场景 1: A 导入 B</b></li><ul class="notion-list notion-list-disc notion-block-287ee56845a280cfbde9da17458518f1"><li>JS 引擎开始执行 A。</li><li>A 遇到 import B from &#x27;./B.vue&#x27;。</li><li>JS 引擎暂停执行 A，去执行 B。</li></ul></ul><ul class="notion-list notion-list-disc notion-block-287ee56845a280889231c3f4be99b3bd"><li><b>场景 2: B 导入 A (在执行 B 的过程中)</b></li><ul class="notion-list notion-list-disc notion-block-287ee56845a280889231c3f4be99b3bd"><li>JS 引擎开始执行 B。</li><li>B 遇到 import A from &#x27;./A.vue&#x27;。</li><li>JS 引擎暂停执行 B，去执行 A。</li><li><b>问题来了：</b> A 已经被暂停了，现在又被要求执行。这就会导致一个死循环，或者其中一个模块在导入时会得到 undefined（因为它还没有完全导出）。</li></ul></ul><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-287ee56845a2806a9a38f44df3af6cd0" data-id="287ee56845a2806a9a38f44df3af6cd0"><span><div id="287ee56845a2806a9a38f44df3af6cd0" class="notion-header-anchor"></div><a class="notion-hash-link" href="#287ee56845a2806a9a38f44df3af6cd0" title="为什么 Vue 组件会报错？"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">为什么 Vue 组件会报错？</span></span></h4><div class="notion-text notion-block-287ee56845a280f8a9b0df263abfc3ec">在 Vue 中，当你局部注册一个组件时，你需要提供一个已经完全定义的组件选项对象。</div><ul class="notion-list notion-list-disc notion-block-287ee56845a2806ca4b9c2e537625e14"><li><b>A.vue:</b>codeJavaScript</li><ul class="notion-list notion-list-disc notion-block-287ee56845a2806ca4b9c2e537625e14"></ul></ul><ul class="notion-list notion-list-disc notion-block-287ee56845a2809191defd9aff0770b9"><li><b>B.vue:</b>codeJavaScript</li><ul class="notion-list notion-list-disc notion-block-287ee56845a2809191defd9aff0770b9"></ul></ul><div class="notion-text notion-block-287ee56845a28032b9a4da1be1465539">当你尝试编译 A.vue 时：</div><ol start="1" class="notion-list notion-list-numbered notion-block-287ee56845a2800eb8f2cd143460b794" style="list-style-type:decimal"><li>它需要 B.vue。</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-287ee56845a280f48068fe2a1e78ebf1" style="list-style-type:decimal"><li>编译 B.vue 时，它又需要 A.vue。</li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-287ee56845a2804bb458fd7cfb5c4be5" style="list-style-type:decimal"><li>因为 A.vue 还在等待 B.vue，所以它并没有完全导出。当 B.vue 尝试导入 A.vue 时，它可能得到一个 undefined 或者一个不完整的模块对象。</li></ol><ol start="4" class="notion-list notion-list-numbered notion-block-287ee56845a280849688f42d46042d2a" style="list-style-type:decimal"><li>结果就是，当你尝试在 components 选项中注册这个 undefined 或不完整的对象时，Vue 就会报错，通常是 Unknown custom element 或 Failed to resolve component。</li></ol><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-287ee56845a2806384adf7b53c2419e5" data-id="287ee56845a2806384adf7b53c2419e5"><span><div id="287ee56845a2806384adf7b53c2419e5" class="notion-header-anchor"></div><a class="notion-hash-link" href="#287ee56845a2806384adf7b53c2419e5" title="解决方案"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">解决方案</span></span></h4><div class="notion-text notion-block-287ee56845a280c195beef8c513cf995">解决循环依赖通常有以下几种方法：</div><ol start="1" class="notion-list notion-list-numbered notion-block-287ee56845a2801a852be7ad997760c2" style="list-style-type:decimal"><li><b>异步组件/懒加载 (Lazy Loading)</b>codeJavaScriptcodeJavaScript</li><ol class="notion-list notion-list-numbered notion-block-287ee56845a2801a852be7ad997760c2" style="list-style-type:lower-alpha"><div class="notion-text notion-block-287ee56845a280b39687d7cfa2f563dc">这可以打破导入时的即时执行，但需要组件在用到时才加载。</div><div class="notion-text notion-block-287ee56845a2808b80a3ccbf892ac5d1">这种方法在技术上可行，但仍然表明你的组件设计可能需要优化，因为它并没有真正解决组件之间紧密耦合的问题。</div></ol></ol><ol start="2" class="notion-list notion-list-numbered notion-block-287ee56845a280748b71ebf5897a7e4c" style="list-style-type:decimal"><li><b>全局注册 (谨慎使用)</b>codeJavaScript</li><ol class="notion-list notion-list-numbered notion-block-287ee56845a280748b71ebf5897a7e4c" style="list-style-type:lower-alpha"><div class="notion-text notion-block-287ee56845a28022b153e792b0db83a2">如果你把其中一个或两个组件都全局注册了，那么在它们需要的时候它们就已经在 Vue 实例上可用了，而不需要在另一个组件中 import。</div><div class="notion-text notion-block-287ee56845a28049b62bdc68d706aeea">这样，在 A.vue 和 B.vue 中就都不需要 import 对方了。</div><div class="notion-text notion-block-287ee56845a2808490ecdb46a9c07c7a"><b>缺点：</b> 全局注册会导致所有组件都会被打包，即使有些组件可能只在少数地方使用，增加了首次加载的大小。并且，它同样没有从根本上解决组件耦合的问题，只是绕过了模块导入的限制。</div></ol></ol><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-28bee56845a2809e8a1accc37a62b10a" data-id="28bee56845a2809e8a1accc37a62b10a"><span><div id="28bee56845a2809e8a1accc37a62b10a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#28bee56845a2809e8a1accc37a62b10a" title="antd a-date-picker设置可选时间范围"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">antd a-date-picker设置可选时间范围</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-28dee56845a28069a608c3b32d4b8d83" data-id="28dee56845a28069a608c3b32d4b8d83"><span><div id="28dee56845a28069a608c3b32d4b8d83" class="notion-header-anchor"></div><a class="notion-hash-link" href="#28dee56845a28069a608c3b32d4b8d83" title="Vue无缝滚动插件"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Vue无缝滚动插件</span></span></h3><div class="notion-text notion-block-28dee56845a2800b97f1d1502e422610"><a class="notion-link" href="https://chenxuan0000.github.io/vue-seamless-scroll/zh/" target="_blank" rel="noopener noreferrer">官网</a></div><div class="notion-text notion-block-28dee56845a280938332f96a1cfd534d">注册组件</div><div class="notion-text notion-block-28dee56845a2807ca408c6c74bf4026a">使用组件</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-29bee56845a28084bccbf1b56a512db7" data-id="29bee56845a28084bccbf1b56a512db7"><span><div id="29bee56845a28084bccbf1b56a512db7" class="notion-header-anchor"></div><a class="notion-hash-link" href="#29bee56845a28084bccbf1b56a512db7" title="js控制全局滚动或者元素内部滚动"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">js控制全局滚动或者元素内部滚动</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2aeee56845a2808980e7e227de98ba60" data-id="2aeee56845a2808980e7e227de98ba60"><span><div id="2aeee56845a2808980e7e227de98ba60" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2aeee56845a2808980e7e227de98ba60" title="v-show在template标签不生效"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">v-show在template标签不生效</span></span></h3><blockquote class="notion-quote notion-block-2aeee56845a2809cabe4c13aae6735c9"><div><code class="notion-inline-code"><b>&lt;template&gt;</b></code><b> 标签本身不会被渲染到 DOM 中</b>,所以 <code class="notion-inline-code">v-show</code> 指令在 <code class="notion-inline-code">&lt;template&gt;</code> 上不会生效!</div></blockquote><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2b8ee56845a280baa407e3bd06266d06" data-id="2b8ee56845a280baa407e3bd06266d06"><span><div id="2b8ee56845a280baa407e3bd06266d06" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2b8ee56845a280baa407e3bd06266d06" title="a-form-model自定义校验"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">a-form-model自定义校验</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2b9ee56845a28034adc1e3a045c16cf4" data-id="2b9ee56845a28034adc1e3a045c16cf4"><span><div id="2b9ee56845a28034adc1e3a045c16cf4" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2b9ee56845a28034adc1e3a045c16cf4" title="vue-quill-editor自定义截图上传"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">vue-quill-editor自定义截图上传</span></span></h3><details class="notion-toggle notion-block-2b9ee56845a280e7bd30ee8e6a1ad2cd"><summary>代码</summary><div></div></details><details class="notion-toggle notion-block-2b9ee56845a2805d9827d2adcab056d7"><summary>使用</summary><div></div></details><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2b9ee56845a280a19524c810b29fc910" data-id="2b9ee56845a280a19524c810b29fc910"><span><div id="2b9ee56845a280a19524c810b29fc910" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2b9ee56845a280a19524c810b29fc910" title="表单校验不通过时定位到未通过校验的位置"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">表单校验不通过时定位到未通过校验的位置</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2eeee56845a280bdba44cb24a78e6b94" data-id="2eeee56845a280bdba44cb24a78e6b94"><span><div id="2eeee56845a280bdba44cb24a78e6b94" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2eeee56845a280bdba44cb24a78e6b94" title="通用脱敏方法"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">通用脱敏方法</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2f0ee56845a280b2a817c3d8fbd51099" data-id="2f0ee56845a280b2a817c3d8fbd51099"><span><div id="2f0ee56845a280b2a817c3d8fbd51099" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2f0ee56845a280b2a817c3d8fbd51099" title="在数组中找到对应的对象并将该对象中同名的属性置空"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">在数组中找到对应的对象并将该对象中<b>同名的属性</b>置空</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2fcee56845a280a8bb3ad37e5998099c" data-id="2fcee56845a280a8bb3ad37e5998099c"><span><div id="2fcee56845a280a8bb3ad37e5998099c" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2fcee56845a280a8bb3ad37e5998099c" title="合并对象数组保留指定属性值"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">合并对象数组保留指定属性值</span></span></h3></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Git操作汇总]]></title>
            <link>https://blog.lmyself.top/article/gitbash</link>
            <guid>https://blog.lmyself.top/article/gitbash</guid>
            <pubDate>Wed, 11 Sep 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Git操作汇总]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-cc358a2e94df40548887947cb7055627"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><blockquote class="notion-quote notion-block-2aaee56845a280ce89a8f96412a929df"><div>默认情况下，Git 会尝试缓存你的凭据（用户名和密码），但你可以通过以下方式禁用这个功能</div></blockquote><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-2aaee56845a280aeb3f9db1734517671" data-id="2aaee56845a280aeb3f9db1734517671"><span><div id="2aaee56845a280aeb3f9db1734517671" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2aaee56845a280aeb3f9db1734517671" title="全局禁用"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">全局禁用</span></span></h3><blockquote class="notion-quote notion-block-3fe309cd59e344c89d3bc0fc16f2cef5"><div>公开仓库有时候可能<code class="notion-inline-code">push</code>了隐私内容 删除之前的<code class="notion-inline-code">commit</code>记录</div></blockquote><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-5928db0a72494f938a87173f86e30b5e" data-id="5928db0a72494f938a87173f86e30b5e"><span><div id="5928db0a72494f938a87173f86e30b5e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#5928db0a72494f938a87173f86e30b5e" title="删除前一条或者指定的提交记录"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">删除前一条或者指定的提交记录</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-cab1fd72cf96430ca1473a8fc7bc4b2f" data-id="cab1fd72cf96430ca1473a8fc7bc4b2f"><span><div id="cab1fd72cf96430ca1473a8fc7bc4b2f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#cab1fd72cf96430ca1473a8fc7bc4b2f" title="删除所有提交记录"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">删除所有提交记录</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-fae6e483be344e12ba5456450de6eb46" data-id="fae6e483be344e12ba5456450de6eb46"><span><div id="fae6e483be344e12ba5456450de6eb46" class="notion-header-anchor"></div><a class="notion-hash-link" href="#fae6e483be344e12ba5456450de6eb46" title="强制覆盖本地代码（与Git远程仓库保持一致）"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">强制覆盖本地代码（与Git远程仓库保持一致）</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-122ee56845a280c9920ed59023cef2ba" data-id="122ee56845a280c9920ed59023cef2ba"><span><div id="122ee56845a280c9920ed59023cef2ba" class="notion-header-anchor"></div><a class="notion-hash-link" href="#122ee56845a280c9920ed59023cef2ba" title="github只fork了master分支 想同步仓库源的所有分支"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">github只fork了master分支 想同步仓库源的所有分支</span></span></h3><ol start="1" class="notion-list notion-list-numbered notion-block-122ee56845a280889e54fc9fe000f5b2" style="list-style-type:decimal"><li><b>从 upstream 拉取所有分支：</b></li><ol class="notion-list notion-list-numbered notion-block-122ee56845a280889e54fc9fe000f5b2" style="list-style-type:lower-alpha"></ol></ol><ol start="2" class="notion-list notion-list-numbered notion-block-122ee56845a28033a162fbd3c174b6d9" style="list-style-type:decimal"><li><b>查看所有分支：</b></li><ol class="notion-list notion-list-numbered notion-block-122ee56845a28033a162fbd3c174b6d9" style="list-style-type:lower-alpha"><div class="notion-text notion-block-122ee56845a280f3a407ddbf1cc452fd">你会看到类似：</div></ol></ol><ol start="3" class="notion-list notion-list-numbered notion-block-122ee56845a28069920bcd41b71bc8c9" style="list-style-type:decimal"><li><b>创建并切换到某个分支（例如 </b><code class="notion-inline-code"><b>branch1</b></code><b>）：</b>
如果你想同步 <code class="notion-inline-code">branch1</code>：</li><ol class="notion-list notion-list-numbered notion-block-122ee56845a28069920bcd41b71bc8c9" style="list-style-type:lower-alpha"></ol></ol><ol start="4" class="notion-list notion-list-numbered notion-block-122ee56845a28001b7dfdd47bf682fee" style="list-style-type:decimal"><li><b>将新分支推送到你的 Fork 仓库：</b></li><ol class="notion-list notion-list-numbered notion-block-122ee56845a28001b7dfdd47bf682fee" style="list-style-type:lower-alpha"></ol></ol><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-122ee56845a280b6b330da767a06d93d" data-id="122ee56845a280b6b330da767a06d93d"><span><div id="122ee56845a280b6b330da767a06d93d" class="notion-header-anchor"></div><a class="notion-hash-link" href="#122ee56845a280b6b330da767a06d93d" title="git同步上游分支"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">git同步上游分支</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-167ee56845a28055ab31c60ae13db61c" data-id="167ee56845a28055ab31c60ae13db61c"><span><div id="167ee56845a28055ab31c60ae13db61c" class="notion-header-anchor"></div><a class="notion-hash-link" href="#167ee56845a28055ab31c60ae13db61c" title="git推送当前代码到新分支"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">git推送当前代码到新分支</span></span></h3></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Css效果demo]]></title>
            <link>https://blog.lmyself.top/article/28dee568-45a2-8051-a13f-d3adb9f03544</link>
            <guid>https://blog.lmyself.top/article/28dee568-45a2-8051-a13f-d3adb9f03544</guid>
            <pubDate>Wed, 15 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Css效果demo]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-28dee56845a28051a13fd3adb9f03544"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-28dee56845a280cb88bdd4f5555f52e4" data-id="28dee56845a280cb88bdd4f5555f52e4"><span><div id="28dee56845a280cb88bdd4f5555f52e4" class="notion-header-anchor"></div><a class="notion-hash-link" href="#28dee56845a280cb88bdd4f5555f52e4" title="动态彩虹渐变字效"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">动态彩虹渐变字效</span></span></h3><details class="notion-toggle notion-block-28dee56845a28046b8b2fcd5f4b9a9dd"><summary>代码</summary><div></div></details><figure class="notion-asset-wrapper notion-asset-wrapper-embed notion-block-28dee56845a28039a10ddb94b29ed30a"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:624px;max-width:100%;flex-direction:column;height:204px"><iframe class="notion-asset-object-fit" src="https://shadownc.github.io/css-demo/color-text.html?spaceId=78e60bf6-694d-4c51-9a70-87ef76f09217" title="iframe embed" frameBorder="0" allowfullscreen="" loading="lazy" scrolling="auto"></iframe></div></figure></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[魔法推荐]]></title>
            <link>https://blog.lmyself.top/article/5b775599-2c70-4b29-9cae-bd2663111442</link>
            <guid>https://blog.lmyself.top/article/5b775599-2c70-4b29-9cae-bd2663111442</guid>
            <pubDate>Mon, 19 Aug 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[魔法推荐]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-5b7755992c704b299caebd2663111442"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-63e330b4d8c340899e2dadff9fac37ac" data-id="63e330b4d8c340899e2dadff9fac37ac"><span><div id="63e330b4d8c340899e2dadff9fac37ac" class="notion-header-anchor"></div><a class="notion-hash-link" href="#63e330b4d8c340899e2dadff9fac37ac" title="魔法推荐"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">魔法推荐</span></span></h3><table class="notion-simple-table notion-block-6e67b54215ab40b093d9b97401ee0c85"><tbody><tr class="notion-simple-table-row notion-block-190c01b06d434dbf9fbef9e6bfb9ae7b"><td class="" style="width:172.5px"><div class="notion-simple-table-cell">机场名</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">地址</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">白嫖码</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">速度</div></td></tr><tr class="notion-simple-table-row notion-block-05e43ee1893f4a7cb54ceee1dd5835b7"><td class="" style="width:172.5px"><div class="notion-simple-table-cell">赔钱机场</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell"><a class="notion-link" href="https://xn--cp3a08l.com/#/register?code=0EM285tx" target="_blank" rel="noopener noreferrer">赔钱机场</a></div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">暂无</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">还行</div></td></tr><tr class="notion-simple-table-row notion-block-721ab2f4ccc94d2881cf68919af1ef49"><td class="" style="width:172.5px"><div class="notion-simple-table-cell">亏本机场</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell"><a class="notion-link" href="https://xn--7kq24s4ynvb.site/#/register?code=tKlNXFv0" target="_blank" rel="noopener noreferrer">亏本机场</a></div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">暂无</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">还行</div></td></tr><tr class="notion-simple-table-row notion-block-a549a8b33ac84f2abb49bc5cee7e7057"><td class="" style="width:172.5px"><div class="notion-simple-table-cell">飞兔云</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell"><a class="notion-link" href="https://feitu.im/index.html?register=xPi2rLWS" target="_blank" rel="noopener noreferrer">飞兔云</a></div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">暂无</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">中上</div></td></tr><tr class="notion-simple-table-row notion-block-472ddec5c9154a56835d049124b91c62"><td class="" style="width:172.5px"><div class="notion-simple-table-cell">追云加速器</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell"><a class="notion-link" href="https://sux.lol/#/register?code=5Ma9Bhd3" target="_blank" rel="noopener noreferrer">追云加速器</a></div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">目前0元100G套餐</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">一般</div></td></tr><tr class="notion-simple-table-row notion-block-38ec0169025247c38bd12299e9e50f35"><td class="" style="width:172.5px"><div class="notion-simple-table-cell">小飞棍</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell"><a class="notion-link" href="https://xiaofeigun.online/#/register?code=y7vvWeEr" target="_blank" rel="noopener noreferrer">小飞棍</a></div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">目前注册每天送10G</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">一般</div></td></tr><tr class="notion-simple-table-row notion-block-52e8373a04ac41b8b53db425cb889330"><td class="" style="width:172.5px"><div class="notion-simple-table-cell">小小布吉岛</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell"><a class="notion-link" href="https://app.bujidao.org/register?code=9wx1IVNX" target="_blank" rel="noopener noreferrer">小小布吉岛</a></div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">现在注册就送1000G</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">一般</div></td></tr><tr class="notion-simple-table-row notion-block-714f0c6ffe7a4f97a8609ab2974bc22c"><td class="" style="width:172.5px"><div class="notion-simple-table-cell">马铃薯</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell"><a class="notion-link" href="https://mlshu.com/#/register?code=4LNw1kY6" target="_blank" rel="noopener noreferrer">马铃薯</a></div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">3年每天50G</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">还行</div></td></tr><tr class="notion-simple-table-row notion-block-a34b478a9dfc4243b27f311172d2f4f0"><td class="" style="width:172.5px"><div class="notion-simple-table-cell">CAC</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell"><a class="notion-link" href="https://www.cacapex.com/#/register?code=BTpZvFjn" target="_blank" rel="noopener noreferrer">CAC</a></div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">MFDHM(一个月1000G)</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">还行</div></td></tr><tr class="notion-simple-table-row notion-block-1c0ee56845a28026864dc267e047fae9"><td class="" style="width:172.5px"><div class="notion-simple-table-cell">静帆</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell"><a class="notion-link" href="https://app.jingfan.me/#/register?code=13IkqqpM" target="_blank" rel="noopener noreferrer">静帆</a></div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">静帆</div></td><td class="" style="width:172.5px"><div class="notion-simple-table-cell">还行</div></td></tr></tbody></table><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-24f5aec3bca44319bbc4f0ad8ff748a5"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:512px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F9f6733dd-a5a6-4f5b-ae4f-6855e870fc9a%2Fimage.png?table=block&amp;id=24f5aec3-bca4-4319-bbc4-f0ad8ff748a5&amp;t=24f5aec3-bca4-4319-bbc4-f0ad8ff748a5&amp;width=512&amp;cache=v2" alt="便宜和贵的差距都在图上了" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption"><span class="notion-red"><b>便宜和贵的差距都在图上了</b></span></figcaption></div></figure><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-f400c0ff91f649b3a70f248f955a713f" data-id="f400c0ff91f649b3a70f248f955a713f"><span><div id="f400c0ff91f649b3a70f248f955a713f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#f400c0ff91f649b3a70f248f955a713f" title="魔法工具推荐"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">魔法工具推荐</span></span></h3><div class="notion-row"><a class="notion-bookmark notion-block-827a1511bd9c4474b709157fbeb5341b" href="https://github.com/clash-verge-rev/clash-verge-rev/releases" target="_blank" rel="noopener noreferrer"><div><div class="notion-bookmark-title">Releases · clash-verge-rev/clash-verge-rev</div><div class="notion-bookmark-description">Continuation of Clash Verge - A Clash Meta GUI based on Tauri (Windows, MacOS, Linux) - clash-verge-rev/clash-verge-rev</div><div class="notion-bookmark-link"><div class="notion-bookmark-link-icon"><img src="https://www.notion.so/image/https%3A%2F%2Fgithub.com%2Ffluidicon.png?table=block&amp;id=827a1511-bd9c-4474-b709-157fbeb5341b&amp;t=827a1511-bd9c-4474-b709-157fbeb5341b" alt="Releases · clash-verge-rev/clash-verge-rev" loading="lazy" decoding="async"/></div><div class="notion-bookmark-link-text">https://github.com/clash-verge-rev/clash-verge-rev/releases</div></div></div><div class="notion-bookmark-image"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fopengraph.githubassets.com%2Fe55e7f55ab54803f42b41716af8cb1b4a524a1d1be571ed8f4ef8d09b45da190%2Fclash-verge-rev%2Fclash-verge-rev?table=block&amp;id=827a1511-bd9c-4474-b709-157fbeb5341b&amp;t=827a1511-bd9c-4474-b709-157fbeb5341b" alt="Releases · clash-verge-rev/clash-verge-rev" loading="lazy" decoding="async"/></div></a></div><div class="notion-text notion-block-10bee56845a280f0abf0e906a5da69bd">全局Merge</div><div class="notion-text notion-block-51df07bc9a7349a19a3f7ce76513f9f6">适配的全局拓展脚本</div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Serv00搭建各种服务]]></title>
            <link>https://blog.lmyself.top/article/6a1de94b-6aee-4556-87f8-0793ca98fe71</link>
            <guid>https://blog.lmyself.top/article/6a1de94b-6aee-4556-87f8-0793ca98fe71</guid>
            <pubDate>Wed, 10 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Serv00搭建各种服务]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-6a1de94b6aee455687f80793ca98fe71"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-a94907c30831492f9246647f611701a3" data-id="a94907c30831492f9246647f611701a3"><span><div id="a94907c30831492f9246647f611701a3" class="notion-header-anchor"></div><a class="notion-hash-link" href="#a94907c30831492f9246647f611701a3" title="部署应用前的一些准备工作"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>部署应用前的一些准备工作</b></span></span></h3><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-b94a8dbc94ce4e429d214f9ca35d1d2f" data-id="b94a8dbc94ce4e429d214f9ca35d1d2f"><span><div id="b94a8dbc94ce4e429d214f9ca35d1d2f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#b94a8dbc94ce4e429d214f9ca35d1d2f" title="运行自己的应用"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>运行自己的应用</b></span></span></h4><div class="notion-text notion-block-cd357625f7a14d08af3bfc97da2db469">Additional services 选项卡中找到 Run your own applications 项目，将其设置为 Enabled 即可。<b>如果不开启这一项，自己的用户目录下的所有文件都无法添加可执行权限。</b></div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-d5276e0412aa410bb1284067d490959b" data-id="d5276e0412aa410bb1284067d490959b"><span><div id="d5276e0412aa410bb1284067d490959b" class="notion-header-anchor"></div><a class="notion-hash-link" href="#d5276e0412aa410bb1284067d490959b" title="SSH连接"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">SSH连接</span></span></h4><div class="notion-text notion-block-243c46e23cda49beae405d95f81f348b"><code class="notion-inline-code">s6.serv00.com</code>可能会因为被墙连不上,可以用<code class="notion-inline-code">web6.serv00.com</code>或者<code class="notion-inline-code">cache6.serv00.com</code> </div><div class="notion-text notion-block-ee821cd58312404b9dcf9893c7f256f1">最近还碰到了封ip的可以打开链接解锁（<b>解锁的时候必须关掉魔法！！！</b>）：</div><div class="notion-row"><a class="notion-bookmark notion-block-15d91632eaa047ac87cd8c1474da448e" href="https://www.serv00.com/ip_unban/" target="_blank" rel="noopener noreferrer"><div><div class="notion-bookmark-title">Serv00.com » Unblock IP</div><div class="notion-bookmark-description">Please use the below form to unblock your IP from our IPS system.</div><div class="notion-bookmark-link"><div class="notion-bookmark-link-text">https://www.serv00.com/ip_unban/</div></div></div></a></div><div class="notion-text notion-block-ea607290d88c4a6f92f71359663d8ceb"><b>其他</b><code class="notion-inline-code"><b>s4、s7</b></code><b>也一样</b></div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-5d14a543de2b41f6a3feb35284f17cc1" data-id="5d14a543de2b41f6a3feb35284f17cc1"><span><div id="5d14a543de2b41f6a3feb35284f17cc1" class="notion-header-anchor"></div><a class="notion-hash-link" href="#5d14a543de2b41f6a3feb35284f17cc1" title="安装pm2"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">安装pm2</span></span></h4><div class="notion-text notion-block-7cded0eb71b9470fbb554b69278ba590">在 SSH 连接 serv00 之后，直接使用一键脚本安装 pm2 ：</div><blockquote class="notion-quote notion-block-fb6b2c53edbb4117a148b9e26c3756e8"><div><span class="notion-red">如果是第一天注册安装的时候可能会卡着不动等到第二天再安装即可。如果安装完成后执行 </span><span class="notion-red"><code class="notion-inline-code">pm2</code></span><span class="notion-red"> 提示命令未找到，你可以断开 SSH 连接，再重新连接，即可。</span></div></blockquote><details class="notion-toggle notion-block-666b6b79878343399fce252d8af84d8b"><summary>自建安装pm2脚本</summary><div><div class="notion-text notion-block-c8fe8b33d031486fb14309d27871b09a">1. 使用 nano 创建一个名为 <code class="notion-inline-code">install_pm2.sh</code> 的文件<div class="notion-text-children"></div></div><ol start="2" class="notion-list notion-list-numbered notion-block-4b28b89998cf4b9280f850d2d0087ed7" style="list-style-type:decimal"><li>复制脚本并粘贴</li><ol class="notion-list notion-list-numbered notion-block-4b28b89998cf4b9280f850d2d0087ed7" style="list-style-type:lower-alpha"></ol></ol><ol start="2" class="notion-list notion-list-numbered notion-block-a3cdcc682d534cbe9b53ace37d6c3caa" style="list-style-type:decimal"><li>保存文件并退出编辑器 </li><ol class="notion-list notion-list-numbered notion-block-a3cdcc682d534cbe9b53ace37d6c3caa" style="list-style-type:lower-alpha"><ul class="notion-list notion-list-disc notion-block-2647158fc2dd47a48ada996d59ddadb4"><li>如果使用 nano，按 <code class="notion-inline-code">Ctrl+X</code>，然后按 <code class="notion-inline-code">Y</code>，最后按 <code class="notion-inline-code">Enter</code>。</li></ul><ul class="notion-list notion-list-disc notion-block-37062ec18ffe4cfd8f9065865d01987b"><li>如果使用 vim，按 <code class="notion-inline-code">Esc</code>，然后输入 <code class="notion-inline-code">:wq</code>，最后按 Enter。</li></ul></ol></ol><ol start="3" class="notion-list notion-list-numbered notion-block-50a27ab8e85d412fa89349965b5f22c4" style="list-style-type:decimal"><li>给脚本添加执行权限：</li><ol class="notion-list notion-list-numbered notion-block-50a27ab8e85d412fa89349965b5f22c4" style="list-style-type:lower-alpha"></ol></ol><ol start="4" class="notion-list notion-list-numbered notion-block-9f5a134951ea4094b57093590b891fdc" style="list-style-type:decimal"><li>运行脚本</li><ol class="notion-list notion-list-numbered notion-block-9f5a134951ea4094b57093590b891fdc" style="list-style-type:lower-alpha"></ol></ol></div></details><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-0227e5f9963744a6ad4f8253c6fff932" data-id="0227e5f9963744a6ad4f8253c6fff932"><span><div id="0227e5f9963744a6ad4f8253c6fff932" class="notion-header-anchor"></div><a class="notion-hash-link" href="#0227e5f9963744a6ad4f8253c6fff932" title="Cloudflared"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>Cloudflared</b></span></span></h4><ol start="1" class="notion-list notion-list-numbered notion-block-c2d0476ce06f498fa40e2f841f6fc478" style="list-style-type:decimal"><li>创建并进入Cloudflared 的工作目录：</li><ol class="notion-list notion-list-numbered notion-block-c2d0476ce06f498fa40e2f841f6fc478" style="list-style-type:lower-alpha"></ol></ol><ol start="2" class="notion-list notion-list-numbered notion-block-231c997d4eb640e9bf4680e9aa98a277" style="list-style-type:decimal"><li>下载 Cloudflared：</li><ol class="notion-list notion-list-numbered notion-block-231c997d4eb640e9bf4680e9aa98a277" style="list-style-type:lower-alpha"></ol></ol><ol start="3" class="notion-list notion-list-numbered notion-block-928efdb9f8b14ab1acf67c78be515d1e" style="list-style-type:decimal"><li>测试运行：</li><ol class="notion-list notion-list-numbered notion-block-928efdb9f8b14ab1acf67c78be515d1e" style="list-style-type:lower-alpha"><blockquote class="notion-quote notion-block-2be69e9b17fa43e3b459dd4e163df51c"><div>其中 <code class="notion-inline-code">ARGO_TOKEN</code>要替换成自己的。确定运行没有问题后，按 <code class="notion-inline-code">Ctrl+c</code>即可停止运行。</div></blockquote></ol></ol><ol start="4" class="notion-list notion-list-numbered notion-block-aa5e09c6a8a8435ba019ca699af62326" style="list-style-type:decimal"><li>使用 pm2 启动 Cloudflared：</li><ol class="notion-list notion-list-numbered notion-block-aa5e09c6a8a8435ba019ca699af62326" style="list-style-type:lower-alpha"><blockquote class="notion-quote notion-block-cf2a4cfac3d94a7881930bcc5133473e"><div>其中<code class="notion-inline-code">ARGO_TOKEN</code> 要替换成自己的。</div></blockquote><div class="notion-callout notion-gray_background_co notion-block-74ded5b728e54d428f1b402d53fc45a0"><div class="notion-page-icon-inline notion-page-icon-span"><span class="notion-page-icon" role="img" aria-label="🤎">🤎</span></div><div class="notion-callout-text">获取<code class="notion-inline-code">ARGO_TOKEN</code> </div></div><details class="notion-toggle notion-block-163c45bd498c46f2913fff2765309c70"><summary><span class="notion-red">步骤如下：</span></summary><div><ol start="1" class="notion-list notion-list-numbered notion-block-159f3a8f1cf84382bb045503eb8d6482" style="list-style-type:decimal"><li>进入<b>Cloudflared</b>登录点击左侧菜单的<code class="notion-inline-code">Zero Trust</code> 然后点击<code class="notion-inline-code">Networks</code> 点击<code class="notion-inline-code">Create a tunnel</code></li><ol class="notion-list notion-list-numbered notion-block-159f3a8f1cf84382bb045503eb8d6482" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-6be43b192a0645b3967c1ce883866e33"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2Ff2e0877a-5686-4eea-bc68-b6c5a86471ce%2FUntitled.png?table=block&amp;id=6be43b19-2a06-45b3-967c-1ce883866e33&amp;t=6be43b19-2a06-45b3-967c-1ce883866e33&amp;width=1623&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="2" class="notion-list notion-list-numbered notion-block-24ed50a9878d47a9bdbf488dd426748b" style="list-style-type:decimal"><li>这里以memos项目为例 默认选择就下 点击<code class="notion-inline-code">Next</code></li><ol class="notion-list notion-list-numbered notion-block-24ed50a9878d47a9bdbf488dd426748b" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-7fc27e40a85b47fe9d79da5705d88ffb"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F11b9591b-98b3-4654-a64a-c4b3e6b6660e%2FUntitled.png?table=block&amp;id=7fc27e40-a85b-47fe-9d79-da5705d88ffb&amp;t=7fc27e40-a85b-47fe-9d79-da5705d88ffb&amp;width=744&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="3" class="notion-list notion-list-numbered notion-block-8dc9a4594b36432aa671436dd25fe60d" style="list-style-type:decimal"><li>输入<code class="notion-inline-code"><b>tunnel Name</b></code></li><ol class="notion-list notion-list-numbered notion-block-8dc9a4594b36432aa671436dd25fe60d" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-b0d708afa9384aeabcb48045e0e53ecf"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F37564b3b-83be-400f-b279-9c3b04b46978%2FUntitled.png?table=block&amp;id=b0d708af-a938-4aea-bcb4-8045e0e53ecf&amp;t=b0d708af-a938-4aea-bcb4-8045e0e53ecf&amp;width=652&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="4" class="notion-list notion-list-numbered notion-block-42a211664c68418fbf269fdf41f83163" style="list-style-type:decimal"><li>配置<code class="notion-inline-code">Public Hostname Page</code></li><ol class="notion-list notion-list-numbered notion-block-42a211664c68418fbf269fdf41f83163" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-8f217f6e69a44860bfc737a7ce7e9a80"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2Ff9ad19bf-aa9d-4194-84e5-24a32d53528a%2FUntitled.png?table=block&amp;id=8f217f6e-69a4-4860-bfc7-37a7ce7e9a80&amp;t=8f217f6e-69a4-4860-bfc7-37a7ce7e9a80&amp;width=1345&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="5" class="notion-list notion-list-numbered notion-block-18444490a23f4cd093034a2b30741137" style="list-style-type:decimal"><li>接着，拷贝 <code class="notion-inline-code">ARGO_TOKEN</code> 并记录好：</li><ol class="notion-list notion-list-numbered notion-block-18444490a23f4cd093034a2b30741137" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-6e543c1a348f4e2aa279cb8a451f29e5"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F45aef43c-5bc1-482b-9f44-d78947f78b36%2FUntitled.png?table=block&amp;id=6e543c1a-348f-4e2a-a279-cb8a451f29e5&amp;t=6e543c1a-348f-4e2a-a279-cb8a451f29e5&amp;width=1377&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol></div></details></ol></ol><ol start="5" class="notion-list notion-list-numbered notion-block-aa7670613a3b4530bcdf9fe4043e180c" style="list-style-type:decimal"><li>脚本启动</li><ol class="notion-list notion-list-numbered notion-block-aa7670613a3b4530bcdf9fe4043e180c" style="list-style-type:lower-alpha"></ol></ol><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-0f5761e309d642b58b2c4b35892b8f44" data-id="0f5761e309d642b58b2c4b35892b8f44"><span><div id="0f5761e309d642b58b2c4b35892b8f44" class="notion-header-anchor"></div><a class="notion-hash-link" href="#0f5761e309d642b58b2c4b35892b8f44" title="安装 go1.22"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>安装 go1.22</b></span></span></h4><div class="notion-text notion-block-e87157e07fea45cf9ec917078b64e78b">由于 Serv00 服务器上并未提供 go1.22 ，只提供了 go1.20.3 ，无法正常进行构建工作，所以需要手动安装 go1.22 环境。</div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-ff7437c6b4eb4ec8bcdfcb215a1a612a" data-id="ff7437c6b4eb4ec8bcdfcb215a1a612a"><span><div id="ff7437c6b4eb4ec8bcdfcb215a1a612a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#ff7437c6b4eb4ec8bcdfcb215a1a612a" title="Proxy搭配cf托管域名解析"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Proxy搭配cf托管域名解析</span></span></h4><ol start="1" class="notion-list notion-list-numbered notion-block-fc155bcac6544a7d8b2a2453bc16b074" style="list-style-type:decimal"><li>Proxy步骤</li><ol class="notion-list notion-list-numbered notion-block-fc155bcac6544a7d8b2a2453bc16b074" style="list-style-type:lower-alpha"><ul class="notion-list notion-list-disc notion-block-8ea8039f09cb4bb5b0ed4423f7df1158"><li>添加端口</li><ul class="notion-list notion-list-disc notion-block-8ea8039f09cb4bb5b0ed4423f7df1158"><div class="notion-text notion-block-15a8925512234177ae1afa134a95a9f4">在serv00面板点击 Port reservation - Add port 并点击random或者自定义未被占用端口，再点击add完成添加。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-17995373ec4d4a4ea4aece3d06f611ea"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F69d35276-cfc2-4b8c-a775-a13f754b9c92%2FUntitled.png?table=block&amp;id=17995373-ec4d-4a4e-a4ae-ce3d06f611ea&amp;t=17995373-ec4d-4a4e-a4ae-ce3d06f611ea&amp;width=460&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ul></ul><ul class="notion-list notion-list-disc notion-block-75d5df7464db4ddaab8cc362cfee4c55"><li>添加DNS</li><ul class="notion-list notion-list-disc notion-block-75d5df7464db4ddaab8cc362cfee4c55"><div class="notion-text notion-block-585bfbdffb094b4ead102ae538a08568">在cf新建二级或自定义级别域名，然后先不要开小云朵 如<code class="notion-inline-code">alistc.example.com</code> </div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-8303f04ed87f4ede9f314859fcb9f243"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F189000b7-d105-4f31-9b7d-92a0fef60c48%2FUntitled.png?table=block&amp;id=8303f04e-d87f-4ede-9f31-4859fcb9f243&amp;t=8303f04e-d87f-4ede-9f31-4859fcb9f243&amp;width=455&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-db95204eb7554e85a778cdae9d017ba8">然后在serv00面板 DNS zones - Add new zone新建域名，名字与cf(<code class="notion-inline-code">alist.example.com</code>)一致，新建成功后点击edit复制 A 记录的ip</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-e045482099944428ad1fdcddae8e3315"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2Fc0dd6554-06c3-44f6-880f-e8862990a681%2FUntitled.png?table=block&amp;id=e0454820-9994-4428-ad1f-dcddae8e3315&amp;t=e0454820-9994-4428-ad1f-dcddae8e3315&amp;width=455&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-d8d20893b8384686839101d99de1e006">将cf的二级域名地址替换为A记录的ip，并点亮小云朵(<span class="notion-red"><b>要先在serv00面板申请SSL证书后再打开</b></span>)</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-dded8faff75f4faeada0053694e99a7e"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F7a5e6865-4227-4f7e-8373-d8924428d78e%2FUntitled.png?table=block&amp;id=dded8faf-f75f-4fae-ada0-053694e99a7e&amp;t=dded8faf-f75f-4fae-ada0-053694e99a7e&amp;width=652&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ul></ul><ul class="notion-list notion-list-disc notion-block-5335cf5e503044059bca6095826615a5"><li>添加网站</li><ul class="notion-list notion-list-disc notion-block-5335cf5e503044059bca6095826615a5"><div class="notion-text notion-block-5e84308cc7ae4e83a1188fe8cc2e2969">在serv00面板点击 WWW websites - Add new websites 并点击 Advanced settings 新建网站，地址与之前保持一致，注意这里点选一个Proxy port，你所有开放的端口都自动列有选项。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-2cc72e38d21448deb0961e5d0006730b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2Ffd9a467d-71a3-44a5-80af-8739bf54e297%2FUntitled.png?table=block&amp;id=2cc72e38-d214-48de-b096-1e5d0006730b&amp;t=2cc72e38-d214-48de-b096-1e5d0006730b&amp;width=652&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ul></ul></ol></ol><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-796a87ca1a054277b1ef4f1af265700a" data-id="796a87ca1a054277b1ef4f1af265700a"><span><div id="796a87ca1a054277b1ef4f1af265700a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#796a87ca1a054277b1ef4f1af265700a" title="部署Memos"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">部署Memos</span></span></h3><div class="notion-text notion-block-e443ef2bd86a4b0eaf204e4a5055cd73">首先在 Panel 中放行<b>两个相邻的端口</b>，接着按照下表 Add a New Website (我是开放了13140和13141端口)：</div><table class="notion-simple-table notion-block-0ba587b553bf45e7b6bcd9dd62ec2926"><tbody><tr class="notion-simple-table-row notion-block-5502173ad41e40df9ee688155276268a"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>Key</b></div></td><td class="" style="width:596px"><div class="notion-simple-table-cell"><b>Value</b></div></td></tr><tr class="notion-simple-table-row notion-block-bae5130d61d941d88d3cd4d4add71e84"><td class="" style="width:120px"><div class="notion-simple-table-cell">Domain</div></td><td class="" style="width:596px"><div class="notion-simple-table-cell"><code class="notion-inline-code">xxx.USERNAME.serv00.net</code>（也可以把原有的USERNAME.serv00.net删掉后重新添加）</div></td></tr><tr class="notion-simple-table-row notion-block-5a7f41f12fdc4770815ca60383cd887e"><td class="" style="width:120px"><div class="notion-simple-table-cell">Website Type</div></td><td class="" style="width:596px"><div class="notion-simple-table-cell">proxy</div></td></tr><tr class="notion-simple-table-row notion-block-30ec2c4b771c48bca7e62481ce63b09e"><td class="" style="width:120px"><div class="notion-simple-table-cell">Proxy Target</div></td><td class="" style="width:596px"><div class="notion-simple-table-cell">localhost</div></td></tr><tr class="notion-simple-table-row notion-block-5495d059d5294f5cb431b4c45d847d1a"><td class="" style="width:120px"><div class="notion-simple-table-cell">Proxy URL</div></td><td class="" style="width:596px"><div class="notion-simple-table-cell">留空</div></td></tr><tr class="notion-simple-table-row notion-block-6cfd4ee9034246cca521a6cfc6a43796"><td class="" style="width:120px"><div class="notion-simple-table-cell">Proxy port</div></td><td class="" style="width:596px"><div class="notion-simple-table-cell">刚刚放行的<b>两个相邻的端口中小的那一个</b></div></td></tr><tr class="notion-simple-table-row notion-block-06a126b9689b418b912020e1b741a662"><td class="" style="width:120px"><div class="notion-simple-table-cell">Use HTPPS</div></td><td class="" style="width:596px"><div class="notion-simple-table-cell">False</div></td></tr><tr class="notion-simple-table-row notion-block-31227b6d37c1446797cafdad2baee3a9"><td class="" style="width:120px"><div class="notion-simple-table-cell">DNS support</div></td><td class="" style="width:596px"><div class="notion-simple-table-cell">True</div></td></tr></tbody></table><div class="notion-text notion-block-4d10a99a105743a89d7d57946d01f348">添加完新站点后，继续点击上方的 <code class="notion-inline-code">Manage SSL certificates</code> ，接着在出口 IP 的右侧点击 <code class="notion-inline-code">Manage</code> ，再点击 <code class="notion-inline-code">Add certificate</code> ：</div><table class="notion-simple-table notion-block-72b8d81b3622487caba3c50addca7aae"><tbody><tr class="notion-simple-table-row notion-block-7098946d650944ecb55eaa3187bc1d59"><td class="" style="width:214px"><div class="notion-simple-table-cell"><b>Type</b></div></td><td class="" style="width:505px"><div class="notion-simple-table-cell"><b>Domain</b></div></td></tr><tr class="notion-simple-table-row notion-block-8867a746e0054d51a89e594e9455dd12"><td class="" style="width:214px"><div class="notion-simple-table-cell">Generate Let’s Encrypted certificate</div></td><td class="" style="width:505px"><div class="notion-simple-table-cell">与刚刚添加的站点域名保持一致（如果是原有的<code class="notion-inline-code">USERNAME.serv00.net</code> ，可以省略此步）</div></td></tr></tbody></table><div class="notion-text notion-block-b78e8189fdb94d42892b70f2e2dc6412">接着SSH登入，并进入刚刚你新建的域名目录下的 <code class="notion-inline-code">public_html</code> 路径下：</div><div class="notion-text notion-block-4ff3bf31d4854738add8e8a2d8e50772">关于运行，有两种方式进行：</div><div class="notion-text notion-block-9f284a50f67e41319b215d51f72cb111">① SQLite</div><div class="notion-text notion-block-fd7ff04a53c440d78204d2cea44cd807">如果选择使用 SQLite 作为数据库运行，则可以直接运行：</div><div class="notion-text notion-block-0b92a96cb7d548c9b54a50a988f94bb8"><b>脚本启动</b></div><details class="notion-toggle notion-block-0af69b4d744b444ba59b3b69458e3665"><summary>自动升级脚本</summary><div><ol start="1" class="notion-list notion-list-numbered notion-block-6356c6987a424991adb81e1ed92c7825" style="list-style-type:decimal"><li>新建脚本</li><ol class="notion-list notion-list-numbered notion-block-6356c6987a424991adb81e1ed92c7825" style="list-style-type:lower-alpha"></ol></ol><ol start="2" class="notion-list notion-list-numbered notion-block-98d930b6e43248bdbaa209587804b2c9" style="list-style-type:decimal"><li>复制脚本内容</li><ol class="notion-list notion-list-numbered notion-block-98d930b6e43248bdbaa209587804b2c9" style="list-style-type:lower-alpha"></ol></ol><ol start="3" class="notion-list notion-list-numbered notion-block-55a1f652c51b479ebf6faf1bdf160254" style="list-style-type:decimal"><li>粘贴完成后，按 <code class="notion-inline-code">Ctrl+X</code> 退出，然后按 <code class="notion-inline-code">Y</code> 确认保存，最后按 <code class="notion-inline-code">Enter</code> 确认文件名</li></ol><ol start="4" class="notion-list notion-list-numbered notion-block-2dec206ab28e4a7d984b70b96dcc1b06" style="list-style-type:decimal"><li>给予脚本执行权限</li><ol class="notion-list notion-list-numbered notion-block-2dec206ab28e4a7d984b70b96dcc1b06" style="list-style-type:lower-alpha"></ol></ol><ol start="5" class="notion-list notion-list-numbered notion-block-2fd6ccdd78d6456da267378f2df4e184" style="list-style-type:decimal"><li>运行</li><ol class="notion-list notion-list-numbered notion-block-2fd6ccdd78d6456da267378f2df4e184" style="list-style-type:lower-alpha"></ol></ol></div></details><div class="notion-text notion-block-1886f8d3de39425798ace68c50627131">② 外接 MySQL / PostgreSQL(<span class="notion-red"><b>我没有试成功</b></span>)</div><div class="notion-text notion-block-277c3ac991ab45ac975d7ff3ed93fe16">你可以使用面板自带的 MySQL / PostgreSQL 新建数据库，或者使用其他平台提供的远程数据库：</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-0c1462a8ab424e30b5f6ae7aa7f000ed" data-id="0c1462a8ab424e30b5f6ae7aa7f000ed"><span><div id="0c1462a8ab424e30b5f6ae7aa7f000ed" class="notion-header-anchor"></div><a class="notion-hash-link" href="#0c1462a8ab424e30b5f6ae7aa7f000ed" title="部署始皇最新玩具(fuclaude)"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">部署始皇最新玩具(fuclaude)</span></span></h3><div class="notion-text notion-block-b52f1c0e815f43b287f1a5b4e5128906">Serv00面板<code class="notion-inline-code">Port reservation</code> 点击<code class="notion-inline-code">Add port</code> 开放<code class="notion-inline-code">13142</code>端口</div><div class="notion-text notion-block-c12d08958a4e4d498aff69a215db82c0">接着按照下表 Add a New Website：</div><table class="notion-simple-table notion-block-d52dc1b0c68f417f87b0c7f653b18780"><tbody><tr class="notion-simple-table-row notion-block-1a14436aab6241558d68947a2239289d"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>Key</b></div></td><td class="" style="width:588px"><div class="notion-simple-table-cell"><b>Value</b></div></td></tr><tr class="notion-simple-table-row notion-block-681a4e53800b4a8cb67c27125ba88343"><td class="" style="width:120px"><div class="notion-simple-table-cell">Domain</div></td><td class="" style="width:588px"><div class="notion-simple-table-cell"><code class="notion-inline-code">xxx.USERNAME.serv00.net</code>（也可以把原有的USERNAME.serv00.net删掉后重新添加）</div></td></tr><tr class="notion-simple-table-row notion-block-05d8d9e4fe654400af388d476a44b3dc"><td class="" style="width:120px"><div class="notion-simple-table-cell">Website Type</div></td><td class="" style="width:588px"><div class="notion-simple-table-cell">proxy</div></td></tr><tr class="notion-simple-table-row notion-block-e4615c2bc03f47ee9725d4cf9d123864"><td class="" style="width:120px"><div class="notion-simple-table-cell">Proxy Target</div></td><td class="" style="width:588px"><div class="notion-simple-table-cell">localhost</div></td></tr><tr class="notion-simple-table-row notion-block-8947ea415d1a4530aa603d4f10c21108"><td class="" style="width:120px"><div class="notion-simple-table-cell">Proxy URL</div></td><td class="" style="width:588px"><div class="notion-simple-table-cell">留空</div></td></tr><tr class="notion-simple-table-row notion-block-e78c19ac33e9443ebe020f2f246e1a47"><td class="" style="width:120px"><div class="notion-simple-table-cell">Proxy port</div></td><td class="" style="width:588px"><div class="notion-simple-table-cell">刚刚放行的<b>端口13142</b></div></td></tr><tr class="notion-simple-table-row notion-block-052511f37d6e4c6aab5e789a5553e1d0"><td class="" style="width:120px"><div class="notion-simple-table-cell">Use HTPPS</div></td><td class="" style="width:588px"><div class="notion-simple-table-cell">False</div></td></tr><tr class="notion-simple-table-row notion-block-db4e73eeb87a4de38af6ece247566925"><td class="" style="width:120px"><div class="notion-simple-table-cell">DNS support</div></td><td class="" style="width:588px"><div class="notion-simple-table-cell">True</div></td></tr></tbody></table><div class="notion-text notion-block-42376df185894789b3009d1bf539bef9">接着SSH登入，并进入刚刚你新建的域名目录下的 <code class="notion-inline-code">public_html</code> 路径下：</div><div class="notion-text notion-block-5d18cc77a3a94752a5b44563785a21f5">历史版本：</div><details class="notion-toggle notion-block-ad4902350df8489ab46733dc74fb9ee8"><summary>v0.1.2</summary><div></div></details><details class="notion-toggle notion-block-6e21ddb74a7344ad93c0c160b9506d62"><summary>v0.2.x</summary><div></div></details><details class="notion-toggle notion-block-14f009c7793c4a4eafeeb21ca802bb7b"><summary>v0.3.x</summary><div></div></details><details class="notion-toggle notion-block-c5f5c5bbcb224bb2b70eee0681c68060"><summary>自动更新脚本</summary><div></div></details><div class="notion-text notion-block-0536c257beb543489fe8d1b760c99fcf">pm2启动</div><details class="notion-toggle notion-block-28335e8fe33c4ae1aed33567abc397b9"><summary><b>搭配CF的worker实现会话隔离</b></summary><div></div></details><div class="notion-text notion-block-0fa16a360a7e42aa9b935be392b502a0"><b>脚本启动</b></div><ol start="1" class="notion-list notion-list-numbered notion-block-137c2c8ba8c54b18b3e669cb2016402e" style="list-style-type:decimal"><li>在解压后的文件夹内即和<code class="notion-inline-code">fuclaude</code>可执行程序同级目录下创建脚本</li><ol class="notion-list notion-list-numbered notion-block-137c2c8ba8c54b18b3e669cb2016402e" style="list-style-type:lower-alpha"></ol></ol><ol start="2" class="notion-list notion-list-numbered notion-block-15dad4a01ced4889b2dbc35b827f6499" style="list-style-type:decimal"><li>赋予脚本执行权限</li><ol class="notion-list notion-list-numbered notion-block-15dad4a01ced4889b2dbc35b827f6499" style="list-style-type:lower-alpha"></ol></ol><ol start="3" class="notion-list notion-list-numbered notion-block-89834d57996f4497ba5eac620ede90cc" style="list-style-type:decimal"><li>后台执行脚本</li><ol class="notion-list notion-list-numbered notion-block-89834d57996f4497ba5eac620ede90cc" style="list-style-type:lower-alpha"></ol></ol><ol start="4" class="notion-list notion-list-numbered notion-block-e591070dd91643ceba1ef8f2c5328b8a" style="list-style-type:decimal"><li>创建<code class="notion-inline-code">Cron jobs</code> </li><ol class="notion-list notion-list-numbered notion-block-e591070dd91643ceba1ef8f2c5328b8a" style="list-style-type:lower-alpha"></ol></ol><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-6af7b16cc4824394b3371df140c66e23" data-id="6af7b16cc4824394b3371df140c66e23"><span><div id="6af7b16cc4824394b3371df140c66e23" class="notion-header-anchor"></div><a class="notion-hash-link" href="#6af7b16cc4824394b3371df140c66e23" title="部署Alist"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">部署Alist</span></span></h3><div class="notion-text notion-block-c4e6536dd9384b2cad5231923c7447f3">首先在 Panel 中放行一个端口，接着按照下表 Add a New Website ：</div><table class="notion-simple-table notion-block-f4e9d26ba7dc4b1eba2eb2b14ee808c2"><tbody><tr class="notion-simple-table-row notion-block-5730b220dd974796a944e766725844a9"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>Key</b></div></td><td class="" style="width:584px"><div class="notion-simple-table-cell"><b>Value</b></div></td></tr><tr class="notion-simple-table-row notion-block-97f6250c139e43bf8859f3966e63e3d9"><td class="" style="width:120px"><div class="notion-simple-table-cell">Domain</div></td><td class="" style="width:584px"><div class="notion-simple-table-cell"><code class="notion-inline-code">xxx.USERNAME.serv00.net</code>（也可以把原有的 USERNAME.serv00.net 删掉后重新添加）</div></td></tr><tr class="notion-simple-table-row notion-block-4bd9bf9a4dc94bad8c8f2b22cc83e82d"><td class="" style="width:120px"><div class="notion-simple-table-cell">Website Type</div></td><td class="" style="width:584px"><div class="notion-simple-table-cell">proxy</div></td></tr><tr class="notion-simple-table-row notion-block-11cf9ac56873477aba961a5e9fc7c0f8"><td class="" style="width:120px"><div class="notion-simple-table-cell">Proxy Target</div></td><td class="" style="width:584px"><div class="notion-simple-table-cell">localhost</div></td></tr><tr class="notion-simple-table-row notion-block-070104d6018e4fd0ac2e12da411a316d"><td class="" style="width:120px"><div class="notion-simple-table-cell">Proxy URL</div></td><td class="" style="width:584px"><div class="notion-simple-table-cell">留空</div></td></tr><tr class="notion-simple-table-row notion-block-6e45044c0d334d55bd04c5670946e369"><td class="" style="width:120px"><div class="notion-simple-table-cell">Proxy port</div></td><td class="" style="width:584px"><div class="notion-simple-table-cell">你准备用来部署 Alist 的端口</div></td></tr><tr class="notion-simple-table-row notion-block-a492d7786d384e088bd2fa9034d4772b"><td class="" style="width:120px"><div class="notion-simple-table-cell">Use HTPPS</div></td><td class="" style="width:584px"><div class="notion-simple-table-cell">False</div></td></tr><tr class="notion-simple-table-row notion-block-7120c51bc289482a92619e2d07dcc20f"><td class="" style="width:120px"><div class="notion-simple-table-cell">DNS support</div></td><td class="" style="width:584px"><div class="notion-simple-table-cell">True</div></td></tr></tbody></table><div class="notion-text notion-block-76ad6b1d5d2440b0b890900401055ad5">添加完新站点后，继续点击上方的 Manage SSL certificates ，接着在出口 IP 的右侧点击 Manage ，再点击 Add certificate ：</div><table class="notion-simple-table notion-block-e2d0cc99f3824cd3aaa5aa1e54c8bfde"><tbody><tr class="notion-simple-table-row notion-block-32f68396c4c642fb9d2adcabf99153b0"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>Type</b></div></td><td class="" style="width:585px"><div class="notion-simple-table-cell"><b>Domain</b></div></td></tr><tr class="notion-simple-table-row notion-block-7d4c8db3fbd547b691730cb593211b64"><td class="" style="width:120px"><div class="notion-simple-table-cell">Generate Let’s Encrypted certificate</div></td><td class="" style="width:585px"><div class="notion-simple-table-cell">与刚刚添加的站点域名保持一致（如果是原有的<code class="notion-inline-code">USERNAME.serv00.net</code> ，可以省略此步）</div></td></tr></tbody></table><div class="notion-text notion-block-5e7a50bf166c4c6c960adf20546c0d5f">接着 SSH 登入，并进入刚刚你新建的域名目录下的 <code class="notion-inline-code">public_html</code> 路径下：</div><div class="notion-text notion-block-832dd7d1aee1486ca151d563a4827f42">在 Panel 中进入 MySQL 选项卡，使用 Add database 功能新建一个数据库。</div><blockquote class="notion-quote notion-block-dc7b06679d7743738a1adc0b7a792096"><div>密码要求含有大写字母、小写字母和数字三种字符，且长度必须超过6个字符。</div></blockquote><div class="notion-text notion-block-6992e212b68945968432dcd8328e7887">接下来进入 File manager 选项卡，进入 <code class="notion-inline-code">~/domains/xxx.USERNAME.serv00.net/public_html/data</code> 路径，可以看到一个名为 <code class="notion-inline-code">config.json</code> 的文件，右键点击，选择 View/Edit &gt; Source Editor ，进行编辑：</div><div class="notion-text notion-block-2695ac4f29634971b98ebd81cfafd1f1">我主要修改了 CDN、database、scheme 三个部分，其中CDN可以在 <a class="notion-link" href="https://alist.nn.ci/zh/config/configuration.html#cdn" target="_blank" rel="noopener noreferrer">Alist 的官方文档</a>找到，请选择你本地网络连接速度最快的一个。</div><div class="notion-text notion-block-bbb7cef8f60e46aeaf4d264a00a953e1">scheme 部分，我选择修改 adress 为 <code class="notion-inline-code">127.0.0.1</code>本地回环，是为了避免被他人使用 <code class="notion-inline-code">http://ip:port</code>的方式进行访问。</div><div class="notion-text notion-block-52a10c40d0b1472f9b8432137094f873">database 部分，type 需要改成 <code class="notion-inline-code">mysql</code> ，host 填写你在注册邮件中看到的 mysql 的地址， port 是默认的 3306，用户名、密码、数据库名则按照你创建的情况进行填写。</div><blockquote class="notion-quote notion-block-71b3c85ed8054851a29a1568657b13d0"><div>最新版本的 Alist 如果不想开启 S3 Server，请把对应的配置文件中的端口配置为 0 。</div></blockquote><div class="notion-text notion-block-46cf7b91e1bb433493fd14f52dd8232c">改完之后，点击 save 保存，接着回到 SSH 窗口中进行操作 测试启动 Alist：：</div><blockquote class="notion-quote notion-block-ae7c67e07b434c63a049a47dcad49382"><div>确定运行没有问题后，按 <code class="notion-inline-code">Ctrl+c</code>即可停止运行。</div></blockquote><div class="notion-text notion-block-2075752adbc64a4f84208a1ee3ce7c03">使用 pm2 启动并管理 alist：</div><blockquote class="notion-quote notion-block-56568050ac6e44ad89c14a0df17d06c3"><div>同样的，你还可以使用 Cloudflared 隧道添加域名，而不选择使用 Proxy</div></blockquote><div class="notion-text notion-block-c51395ecc6a6495ab131466af2935e96"><b>脚本运行 不使用pm2</b></div><ol start="1" class="notion-list notion-list-numbered notion-block-15034bd7b10b4b10afa877e228181b3d" style="list-style-type:decimal"><li>在<code class="notion-inline-code">public_html</code> 创建脚本</li><ol class="notion-list notion-list-numbered notion-block-15034bd7b10b4b10afa877e228181b3d" style="list-style-type:lower-alpha"></ol></ol><ol start="2" class="notion-list notion-list-numbered notion-block-9819083c87e14fa6ad32dbcb1c98bdf8" style="list-style-type:decimal"><li>赋予脚本执行权限</li><ol class="notion-list notion-list-numbered notion-block-9819083c87e14fa6ad32dbcb1c98bdf8" style="list-style-type:lower-alpha"></ol></ol><ol start="3" class="notion-list notion-list-numbered notion-block-a083a12e35564de7a5679a0683a25110" style="list-style-type:decimal"><li>后台执行脚本</li><ol class="notion-list notion-list-numbered notion-block-a083a12e35564de7a5679a0683a25110" style="list-style-type:lower-alpha"></ol></ol><ol start="4" class="notion-list notion-list-numbered notion-block-a0ba11d4c08b4fb6b61d1a453fc52738" style="list-style-type:decimal"><li>创建<code class="notion-inline-code">Cron jobs</code></li><ol class="notion-list notion-list-numbered notion-block-a0ba11d4c08b4fb6b61d1a453fc52738" style="list-style-type:lower-alpha"></ol></ol><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-ada0f555827345ddbf436621dae549f9" data-id="ada0f555827345ddbf436621dae549f9"><span><div id="ada0f555827345ddbf436621dae549f9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#ada0f555827345ddbf436621dae549f9" title="部署哪吒面板"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">部署哪吒面板</span></span></h3><ol start="1" class="notion-list notion-list-numbered notion-block-e84756292b0d41e080ab57d0f32ee7dc" style="list-style-type:decimal"><li>需要先安装go 开放两个端口备用</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-aba49cf822f8406b86b458abf1dfbefe" style="list-style-type:decimal"><li>参考<b>Proxy搭配cf托管域名解析</b> 新增<code class="notion-inline-code">Add a New Website</code> </li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-78f718f464b4429890f4b711b6bc6ee7" style="list-style-type:decimal"><li>新建脚本(<code class="notion-inline-code">USERNAME.serv00.com</code>替换成自己的域名;我开放的端口是13140和13141 不一样的话脚本里的地方自己替换) </li><ol class="notion-list notion-list-numbered notion-block-78f718f464b4429890f4b711b6bc6ee7" style="list-style-type:lower-alpha"><div class="notion-text notion-block-e1cb083c78ea4401b4b989904b8ba434"><b>github登录配置参考</b><b><a class="notion-link" href="https://nezha.wiki/guide/dashboard.html" target="_blank" rel="noopener noreferrer">文档</a></b></div></ol></ol><ol start="4" class="notion-list notion-list-numbered notion-block-e23f30d80ed54194a5150b7b8da68368" style="list-style-type:decimal"><li>使用<em><code class="notion-inline-code"><b>Agent</b></code></em><em><b> </b></em>同样提供脚本(13141端口替换成自己配置文件中<code class="notion-inline-code">grpcport</code>对应的端口)</li><ol class="notion-list notion-list-numbered notion-block-e23f30d80ed54194a5150b7b8da68368" style="list-style-type:lower-alpha"><div class="notion-text notion-block-dd51dc748cba43d384d5ddb0dd1cc902"><code class="notion-inline-code"><b>USERNAME</b></code> 说明：serv00用户名</div><div class="notion-text notion-block-fbd73a74fc3f4a9eb6992250b072be32"><code class="notion-inline-code"><b>password</b></code><b> </b>说明：前面搭建好之后 登录面板 后台新增服务器会生成密钥点击复制即可</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-77ba4bac6aba4ab7a8790660ff51ef0f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2Faa2fadaf-8cc8-4846-9b37-485e7817fb47%2FUntitled.png?table=block&amp;id=77ba4bac-6aba-4ab7-a879-0660ff51ef0f&amp;t=77ba4bac-6aba-4ab7-a879-0660ff51ef0f&amp;width=483&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="5" class="notion-list notion-list-numbered notion-block-f6492047a35f4e97832487ac672160a0" style="list-style-type:decimal"><li>脚本运行及保活</li><ol class="notion-list notion-list-numbered notion-block-f6492047a35f4e97832487ac672160a0" style="list-style-type:lower-alpha"><div class="notion-text notion-block-c5e50bc38aca4cd19cc936ea24c3934e">新建脚本<code class="notion-inline-code">start_dashboard.sh</code>和<code class="notion-inline-code">start_nezha_agent.sh</code> </div><div class="notion-text notion-block-152c73d661a34ced85d4749eb46e97dc">创建<code class="notion-inline-code">Cron jobs</code> 分别在<code class="notion-inline-code">After reboot</code> 和<code class="notion-inline-code">Specify manually</code>设置</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-9c7856a2869243349f42ddfe94c2b2f9"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F7a7f9a62-d2d6-4325-a7ce-b9fdc290ecd5%2FUntitled.png?table=block&amp;id=9c7856a2-8692-4334-9f42-ddfe94c2b2f9&amp;t=9c7856a2-8692-4334-9f42-ddfe94c2b2f9&amp;width=680&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="6" class="notion-list notion-list-numbered notion-block-e1ab883916bd4da4817d0b5f0c06f103" style="list-style-type:decimal"><li>面板后台样式配置</li><ol class="notion-list notion-list-numbered notion-block-e1ab883916bd4da4817d0b5f0c06f103" style="list-style-type:lower-alpha"><details class="notion-toggle notion-block-06e3a7f52eb845f2a5fdc047ae8981d7"><summary>在自定义代码内复制粘贴下面的代码保存</summary><div></div></details></ol></ol><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-6df8b63aa3b1469bb6a45e009c357e17" data-id="6df8b63aa3b1469bb6a45e009c357e17"><span><div id="6df8b63aa3b1469bb6a45e009c357e17" class="notion-header-anchor"></div><a class="notion-hash-link" href="#6df8b63aa3b1469bb6a45e009c357e17" title="部署随机壁纸api"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">部署随机壁纸api</span></span></h3><ol start="1" class="notion-list notion-list-numbered notion-block-f900da44212447d891977a29aa3b6da1" style="list-style-type:decimal"><li>serv00添加端口 可随机生成端口</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-f1e32c0b42d340f49168ce4526aec067" style="list-style-type:decimal"><li>在cf新建二级或自定义级别域名，然后先不要开小云朵（如果是<code class="notion-inline-code">cloudns</code>等需要双向解析的域名记得先去<code class="notion-inline-code">cloudns</code>添加<code class="notion-inline-code">NS</code>记录）</li><ol class="notion-list notion-list-numbered notion-block-f1e32c0b42d340f49168ce4526aec067" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-81a9b912d9124106985d9ebdc04b9866"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2Fcba999db-32be-4720-a9c0-02c1b3bc5f4f%2Fimage.png?table=block&amp;id=81a9b912-d912-4106-985d-9ebdc04b9866&amp;t=81a9b912-d912-4106-985d-9ebdc04b9866&amp;width=680&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="3" class="notion-list notion-list-numbered notion-block-5221a3ef044349d49937911e624fe256" style="list-style-type:decimal"><li>然后在serv00面板 DNS zones - Add new zone新建域名，名字与cf(<code class="notion-inline-code">selfimg.lmyself.cloudns.be</code>)一致，<span class="notion-red">新建成功后点击edit复制 A 记录的ip</span></li><ol class="notion-list notion-list-numbered notion-block-5221a3ef044349d49937911e624fe256" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-29e527067aac41e688463794c0a6323b"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F3b927911-711b-4455-9f7e-ebdbe3fc0a34%2Fimage.png?table=block&amp;id=29e52706-7aac-41e6-8846-3794c0a6323b&amp;t=29e52706-7aac-41e6-8846-3794c0a6323b&amp;width=680&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="4" class="notion-list notion-list-numbered notion-block-ea455f39e6b8433f9a1908aad7017235" style="list-style-type:decimal"><li>serv00面板点击<code class="notion-inline-code">WWW websites</code> 点击<code class="notion-inline-code">Add new website</code></li><ol class="notion-list notion-list-numbered notion-block-ea455f39e6b8433f9a1908aad7017235" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3bbd1220308d4c99aeb86526bca63f61"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F5fafb9c7-5451-48c8-b823-5beeb8fbee17%2Fimage.png?table=block&amp;id=3bbd1220-308d-4c99-aeb8-6526bca63f61&amp;t=3bbd1220-308d-4c99-aeb8-6526bca63f61&amp;width=680&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="5" class="notion-list notion-list-numbered notion-block-c405bc99c0b84657a13629fd3488f4b8" style="list-style-type:decimal"><li><span class="notion-orange">修改cf的IPv4地址为你刚才复制的A记录的ip 注意 还是不要打开小黄云</span></li><ol class="notion-list notion-list-numbered notion-block-c405bc99c0b84657a13629fd3488f4b8" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-aa72d765fc8c4c968677e558d90b0b64"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F445758e7-f3b1-4c70-bebd-6d3acde4d195%2Fimage.png?table=block&amp;id=aa72d765-fc8c-4c96-8677-e558d90b0b64&amp;t=aa72d765-fc8c-4c96-8677-e558d90b0b64&amp;width=680&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="6" class="notion-list notion-list-numbered notion-block-34b33b68af50485ba365fe6b6c1d7131" style="list-style-type:decimal"><li>点击 <code class="notion-inline-code">Manage SSL certificates</code> 到<code class="notion-inline-code">Add certificates</code> 申请证书</li><ol class="notion-list notion-list-numbered notion-block-34b33b68af50485ba365fe6b6c1d7131" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-7a09bad1a40945b49c459b5618197439"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F7592b68f-1721-49c7-8749-0b0d8b1b5656%2Fimage.png?table=block&amp;id=7a09bad1-a409-45b4-9c45-9b5618197439&amp;t=7a09bad1-a409-45b4-9c45-9b5618197439&amp;width=680&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="7" class="notion-list notion-list-numbered notion-block-cd56e7956b0142099076600472220ec1" style="list-style-type:decimal"><li>证书申请成功后可以打开cf的小黄云</li><ol class="notion-list notion-list-numbered notion-block-cd56e7956b0142099076600472220ec1" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-14361e15754d47b5907555cbab6d141f"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2Ff2f46944-c8eb-4822-a22d-ad3a71023597%2Fimage.png?table=block&amp;id=14361e15-754d-47b5-9075-55cbab6d141f&amp;t=14361e15-754d-47b5-9075-55cbab6d141f&amp;width=680&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="8" class="notion-list notion-list-numbered notion-block-80be917656484c4884e31cba462b74f4" style="list-style-type:decimal"><li>安装go（参考上面）</li></ol><ol start="9" class="notion-list notion-list-numbered notion-block-d00bc1fbe67f405b99780d245a077bd5" style="list-style-type:decimal"><li><a class="notion-link" href="https://github.com/Shadownc/serv00-sh/releases/tag/imgapi" target="_blank" rel="noopener noreferrer">下载压缩包</a>（解压密码blog.lmyself.top）,放到你创建的域名下的<code class="notion-inline-code">public_html</code>下</li></ol><ol start="10" class="notion-list notion-list-numbered notion-block-60383ba078634e72adf3cb12bb6a721d" style="list-style-type:decimal"><li>新建<code class="notion-inline-code">.env</code> 文件，内容如下：</li><ol class="notion-list notion-list-numbered notion-block-60383ba078634e72adf3cb12bb6a721d" style="list-style-type:lower-alpha"></ol></ol><ol start="11" class="notion-list notion-list-numbered notion-block-860e12812ad6470b8f8875b378c47830" style="list-style-type:decimal"><li>赋予脚本执行权限然后运行</li><ol class="notion-list notion-list-numbered notion-block-860e12812ad6470b8f8875b378c47830" style="list-style-type:lower-alpha"></ol></ol><ol start="12" class="notion-list notion-list-numbered notion-block-b709b3dafed24887a95f354d328c4b56" style="list-style-type:decimal"><li>或者使用安装脚本一键部署</li><ol class="notion-list notion-list-numbered notion-block-b709b3dafed24887a95f354d328c4b56" style="list-style-type:lower-alpha"><blockquote class="notion-quote notion-block-dfacfdf636e44e349cbd466e2dadf6d1"><div>使用前要修改内容：
1. <code class="notion-inline-code">USERNAME.serv00.net</code>替换为自己的域名
2. 数据库用户名 使用<code class="notion-inline-code">serv00</code>的<code class="notion-inline-code">mysql</code>一般有前缀 要带上
3. 数据库密码
4. <code class="notion-inline-code">DB_HOST </code>如果使用的是<code class="notion-inline-code">serv00</code>的<code class="notion-inline-code">mysql </code>要换成<code class="notion-inline-code">mysql10.serv00.com</code> 你是s几就填几 我这里用的是s10
5. 数据库名 使用<code class="notion-inline-code">serv00</code>的<code class="notion-inline-code">mysql</code>一般有前缀 要带上
6. <code class="notion-inline-code">SERVER_PORT</code>换成前面自己定义或者随机生成的端口</div></blockquote></ol></ol><ol start="13" class="notion-list notion-list-numbered notion-block-a1b297e0ae6343d396afe4f8f471f42a" style="list-style-type:decimal"><li>脚本启动</li><ol class="notion-list notion-list-numbered notion-block-a1b297e0ae6343d396afe4f8f471f42a" style="list-style-type:lower-alpha"></ol></ol><ol start="14" class="notion-list notion-list-numbered notion-block-513d29e8852c4ce287eca76c0b56cd56" style="list-style-type:decimal"><li>创建<code class="notion-inline-code">Cron jobs</code> 分别在<code class="notion-inline-code">After reboot</code> 和<code class="notion-inline-code">Specify manually</code>设置</li><ol class="notion-list notion-list-numbered notion-block-513d29e8852c4ce287eca76c0b56cd56" style="list-style-type:lower-alpha"></ol></ol><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-69303510d356418eb4c4e0d1da49e951" data-id="69303510d356418eb4c4e0d1da49e951"><span><div id="69303510d356418eb4c4e0d1da49e951" class="notion-header-anchor"></div><a class="notion-hash-link" href="#69303510d356418eb4c4e0d1da49e951" title="部署在线开发工具箱"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">部署在线开发工具箱</span></span></h3><ol start="1" class="notion-list notion-list-numbered notion-block-c7b543f3820042dc92ad62364478ff4c" style="list-style-type:decimal"><li>拉取代码</li><ol class="notion-list notion-list-numbered notion-block-c7b543f3820042dc92ad62364478ff4c" style="list-style-type:lower-alpha"><div class="notion-row"><a class="notion-bookmark notion-block-0b9a87c0bdd0434c96deaa56021db2aa" href="https://github.com/Shadownc/toolbox" target="_blank" rel="noopener noreferrer"><div><div class="notion-bookmark-title">GitHub - Shadownc/toolbox</div><div class="notion-bookmark-description">Contribute to Shadownc/toolbox development by creating an account on GitHub.</div><div class="notion-bookmark-link"><div class="notion-bookmark-link-icon"><img src="https://www.notion.so/image/https%3A%2F%2Fgithub.com%2Ffluidicon.png?table=block&amp;id=0b9a87c0-bdd0-434c-96de-aa56021db2aa&amp;t=0b9a87c0-bdd0-434c-96de-aa56021db2aa" alt="GitHub - Shadownc/toolbox" loading="lazy" decoding="async"/></div><div class="notion-bookmark-link-text">https://github.com/Shadownc/toolbox</div></div></div><div class="notion-bookmark-image"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fopengraph.githubassets.com%2Fe599f168acff7f0c93b53b602117896f358272afa501d5c8c19449e63b398dd6%2FShadownc%2Ftoolbox?table=block&amp;id=0b9a87c0-bdd0-434c-96de-aa56021db2aa&amp;t=0b9a87c0-bdd0-434c-96de-aa56021db2aa" alt="GitHub - Shadownc/toolbox" loading="lazy" decoding="async"/></div></a></div></ol></ol><ol start="2" class="notion-list notion-list-numbered notion-block-2441e7ce4f6c4124a54cf9fd4a95e3cd" style="list-style-type:decimal"><li>登录<code class="notion-inline-code">serv00</code>面板点击<code class="notion-inline-code">WWW websites</code> 点击<code class="notion-inline-code">Add new website</code> 输入你托管在<code class="notion-inline-code">cf</code>的域名</li><ol class="notion-list notion-list-numbered notion-block-2441e7ce4f6c4124a54cf9fd4a95e3cd" style="list-style-type:lower-alpha"><div class="notion-text notion-block-49adf612eb7e42cd8531e6264858ea6d"><code class="notion-inline-code">cloudflare</code>添加<code class="notion-inline-code">DNS</code>解析新增<code class="notion-inline-code">A</code>记录 指向你在<code class="notion-inline-code">serv00</code>创建的网站的域名<code class="notion-inline-code">DNS</code>解析的<code class="notion-inline-code">A</code>记录地址(在<code class="notion-inline-code">serv00</code>的面板<code class="notion-inline-code">SSL Management</code>申请<code class="notion-inline-code">SSL</code>证书 <s>申请之前不要开启</s><s><code class="notion-inline-code">cf</code></s><s>的小黄云 证书申请成功后可开启小黄云 </s>似乎开启小黄云会导致无法访问)</div></ol></ol><ol start="3" class="notion-list notion-list-numbered notion-block-8dcc77ee25d34eb095bd8b671f9570dd" style="list-style-type:decimal"><li>点击<code class="notion-inline-code">File Manager</code> 将项目除了<code class="notion-inline-code">public</code> 文件夹以外的文件传到你的域名根目录下 将<code class="notion-inline-code">public</code>文件夹内的文件传到<code class="notion-inline-code">public_html</code>文件夹下（上传之前请确保<code class="notion-inline-code">public_html</code>文件夹内无其他文件）</li></ol><ol start="4" class="notion-list notion-list-numbered notion-block-8ebf7a43ba7f440e8d4645fb078d0646" style="list-style-type:decimal"><li>修改<code class="notion-inline-code"><b>Open Basedir directories</b></code><b> </b></li><ol class="notion-list notion-list-numbered notion-block-8ebf7a43ba7f440e8d4645fb078d0646" style="list-style-type:lower-alpha"><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-c975ff7be2de48ad87a82f28e33d109e"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:589px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F5fe92e41-dbfb-4385-88a9-ba59224ac101%2Fimage.png?table=block&amp;id=c975ff7b-e2de-48ad-87a8-2f28e33d109e&amp;t=c975ff7b-e2de-48ad-87a8-2f28e33d109e&amp;width=589&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure></ol></ol><ol start="5" class="notion-list notion-list-numbered notion-block-428426c3057c413cac1b6987c9866b9e" style="list-style-type:decimal"><li>访问<code class="notion-inline-code">域名/admin</code> 默认用户名密码都是<code class="notion-inline-code">admin</code> 登录后台修改账号密码</li></ol><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-107ee56845a2806cbc78e1d1cf785572" data-id="107ee56845a2806cbc78e1d1cf785572"><span><div id="107ee56845a2806cbc78e1d1cf785572" class="notion-header-anchor"></div><a class="notion-hash-link" href="#107ee56845a2806cbc78e1d1cf785572" title="部署Webssh"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">部署Webssh</span></span></h3><blockquote class="notion-quote notion-block-239823569fe9413b98f6af6e486a4c56"><div><a class="notion-link" href="https://linux.do/t/topic/211113" target="_blank" rel="noopener noreferrer">原文</a></div></blockquote><ol start="1" class="notion-list notion-list-numbered notion-block-107ee56845a2807aa021ee443edc2e52" style="list-style-type:decimal"><li>开放端口</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-8a2d856f354d4439afe582a81e5c9ae2" style="list-style-type:decimal"><li>创建网站</li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-cdd82aef88914a44b2cf8129465c430f" style="list-style-type:decimal"><li>拉取代码</li><ol class="notion-list notion-list-numbered notion-block-cdd82aef88914a44b2cf8129465c430f" style="list-style-type:lower-alpha"></ol></ol><ol start="4" class="notion-list notion-list-numbered notion-block-fc03256b95bb4887aaa96e04b7b03911" style="list-style-type:decimal"><li>将项目内所有文件移动到<code class="notion-inline-code">public_html</code> 下</li><ol class="notion-list notion-list-numbered notion-block-fc03256b95bb4887aaa96e04b7b03911" style="list-style-type:lower-alpha"></ol></ol><ol start="5" class="notion-list notion-list-numbered notion-block-107ee56845a2808faba5d8c31ec96c76" style="list-style-type:decimal"><li>创建启动脚本</li><ol class="notion-list notion-list-numbered notion-block-107ee56845a2808faba5d8c31ec96c76" style="list-style-type:lower-alpha"></ol></ol><ol start="6" class="notion-list notion-list-numbered notion-block-107ee56845a280a6a8bffd1b88de3238" style="list-style-type:decimal"><li>创建<code class="notion-inline-code">Cron jobs</code></li><ol class="notion-list notion-list-numbered notion-block-107ee56845a280a6a8bffd1b88de3238" style="list-style-type:lower-alpha"></ol></ol><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-11fee56845a280fb8fecf9cf07f4d88f" data-id="11fee56845a280fb8fecf9cf07f4d88f"><span><div id="11fee56845a280fb8fecf9cf07f4d88f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#11fee56845a280fb8fecf9cf07f4d88f" title="部署ChatGPT-to-API"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">部署ChatGPT-to-API</span></span></h3><div class="notion-text notion-block-11fee56845a28072857df4365f0b0b07"><a class="notion-link" href="https://github.com/xqdoo00o/ChatGPT-to-API" target="_blank" rel="noopener noreferrer">项目地址</a></div><ol start="1" class="notion-list notion-list-numbered notion-block-11fee56845a280cca17ec09ede824fbc" style="list-style-type:decimal"><li>开放端口</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-11fee56845a2805993c4e5975ad63bfd" style="list-style-type:decimal"><li>自定义域名以及<code class="notion-inline-code">cf</code>解析申请证书参考<a class="notion-link" href="https://blog.lmyself.top/article/6a1de94b-6aee-4556-87f8-0793ca98fe71#6df8b63aa3b1469bb6a45e009c357e17" target="_blank" rel="noopener noreferrer">部署随机壁纸api</a></li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-11fee56845a28027bcccc70c97275895" style="list-style-type:decimal"><li>已经安装好<code class="notion-inline-code">go</code>的接着往下走 没有安装<code class="notion-inline-code">go</code>的往上看先安装<code class="notion-inline-code">go</code></li></ol><ol start="4" class="notion-list notion-list-numbered notion-block-11fee56845a280dfb2ffd3513c2ef427" style="list-style-type:decimal"><li>进入<code class="notion-inline-code">~/domains/你的域名/public_html</code>下拉取代码</li><ol class="notion-list notion-list-numbered notion-block-11fee56845a280dfb2ffd3513c2ef427" style="list-style-type:lower-alpha"></ol></ol><ol start="5" class="notion-list notion-list-numbered notion-block-11fee56845a2808ab62bd3c26fb440f3" style="list-style-type:decimal"><li>在<code class="notion-inline-code">public_html</code>下创建启动脚本<code class="notion-inline-code">start_freechatgpt.sh</code></li><ol class="notion-list notion-list-numbered notion-block-11fee56845a2808ab62bd3c26fb440f3" style="list-style-type:lower-alpha"></ol></ol><ol start="6" class="notion-list notion-list-numbered notion-block-11fee56845a28029afcdd3313e6a9315" style="list-style-type:decimal"><li>赋予脚本可执行权限</li><ol class="notion-list notion-list-numbered notion-block-11fee56845a28029afcdd3313e6a9315" style="list-style-type:lower-alpha"></ol></ol><ol start="7" class="notion-list notion-list-numbered notion-block-11fee56845a28096a387c1299b2cda03" style="list-style-type:decimal"><li><code class="notion-inline-code">Cron jobs保活</code></li><ol class="notion-list notion-list-numbered notion-block-11fee56845a28096a387c1299b2cda03" style="list-style-type:lower-alpha"></ol></ol><blockquote class="notion-quote notion-block-11fee56845a280bfaaf9f62bf20c3136"><div>你的Serv00用户名 换成自己的</div><div class="notion-text notion-block-11fee56845a2803d8badd3fd82e4aeed"><code class="notion-inline-code">example.com</code> 换成自己的域名</div><div class="notion-text notion-block-11fee56845a280208eabdd69580d0fe4"><code class="notion-inline-code">SERVER_PORT</code> 如果开放的端口不是<code class="notion-inline-code">5005</code> 可自行修改</div></blockquote><div class="notion-text notion-block-11fee56845a2801fa836d58a6a4d9da1"><b>如果不想安装go 下面提供一键安装脚本 前提是完成开放端口以及站点的创建</b></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-1bcee56845a28020a95acd7196b8050f" data-id="1bcee56845a28020a95acd7196b8050f"><span><div id="1bcee56845a28020a95acd7196b8050f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#1bcee56845a28020a95acd7196b8050f" title="部署DDG-Chat-go"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">部署DDG-Chat-go</span></span></h3><ol start="1" class="notion-list notion-list-numbered notion-block-1bcee56845a28049a168dc88e9795289" style="list-style-type:decimal"><li>开放端口</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-1bcee56845a280298550dd3e34699095" style="list-style-type:decimal"><li>自定义域名以及<code class="notion-inline-code">cf</code>解析申请证书参考<a class="notion-link" href="https://blog.lmyself.top/article/6a1de94b-6aee-4556-87f8-0793ca98fe71#6df8b63aa3b1469bb6a45e009c357e17" target="_blank" rel="noopener noreferrer">部署随机壁纸api</a></li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-1bcee56845a280ad8796dc9e6a9094b2" style="list-style-type:decimal"><li>已经安装好<code class="notion-inline-code">go</code>的接着往下走 没有安装<code class="notion-inline-code">go</code>的往上看先安装<code class="notion-inline-code">go</code> </li></ol><ol start="4" class="notion-list notion-list-numbered notion-block-1bcee56845a280efb0f4ffb443112cd5" style="list-style-type:decimal"><li>进入<code class="notion-inline-code">~/domains/你的域名/public_html</code> 创建安装脚本<code class="notion-inline-code">install_ddgchatgo.sh</code>并赋予可执行权限(<code class="notion-inline-code">chmod +x install_ddgchatgo.sh</code>)</li><ol class="notion-list notion-list-numbered notion-block-1bcee56845a280efb0f4ffb443112cd5" style="list-style-type:lower-alpha"></ol></ol><ol start="5" class="notion-list notion-list-numbered notion-block-1bcee56845a280838538cdd5df3812f5" style="list-style-type:decimal"><li>启动脚本<code class="notion-inline-code">start_ddgchatgo.sh</code>并赋予可执行权限(<code class="notion-inline-code">chmod +x start_ddgchatgo.sh</code>)</li><ol class="notion-list notion-list-numbered notion-block-1bcee56845a280838538cdd5df3812f5" style="list-style-type:lower-alpha"></ol></ol><ol start="6" class="notion-list notion-list-numbered notion-block-1bcee56845a280c78e5acd0ebacdf560" style="list-style-type:decimal"><li><code class="notion-inline-code">Cron jobs保活</code></li><ol class="notion-list notion-list-numbered notion-block-1bcee56845a280c78e5acd0ebacdf560" style="list-style-type:lower-alpha"></ol></ol><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-67e70f0a9ba44f21b74a667f05dc5763" data-id="67e70f0a9ba44f21b74a667f05dc5763"><span><div id="67e70f0a9ba44f21b74a667f05dc5763" class="notion-header-anchor"></div><a class="notion-hash-link" href="#67e70f0a9ba44f21b74a667f05dc5763" title="自动启动"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">自动启动</span></span></h3><div class="notion-text notion-block-5fb1d12076ca412eb7dd8ded8bab38da">听说 Serv00 的主机会不定时重启，所以需要添加自启任务。</div><div class="notion-text notion-block-2c4953cab66046309e5478c314681d8c">请<b>注意</b>在添加以下定时任务之前先 SSH 窗口保存 pm2 的当前任务列表快照：</div><div class="notion-text notion-block-2b2a9cb7a56042d48d27ad7e9b56c384">如果没有先pm2 save，再添加第一条任务的话会把进程全部清空，这样就要重新自己手动启动服务了。</div><div class="notion-text notion-block-436371e4fd894f5a9b1742cec6d625dc">在 Panel 中找到 Cron jobs 选项卡，使用 Add cron job 功能添加任务，Specify time 选择 After reboot，即为重启后运行。Form type 选择 Advanced，Command 写：</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-cb901a684e36484483962d42ec2ea304"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F9e37b399-f69e-45cb-aa44-f6d7622ddd8f%2FUntitled.png?table=block&amp;id=cb901a68-4e36-4844-8396-2d42ec2ea304&amp;t=cb901a68-4e36-4844-8396-2d42ec2ea304&amp;width=708&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-5a4a49eb0ed84ea390a4ac3cfe56c416">在 Panel 中找到 Cron jobs 选项卡，使用 Add cron job 功能添加任务，Specify time 选择 Specify manually，即为手动指定。Form type 选择 Advanced，Minute 选择Every，其他的都选Each time，Command 写：</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-49c5705cc42d4edc88319aabfbfaadd0"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F78e60bf6-694d-4c51-9a70-87ef76f09217%2F93f216cb-476d-4090-a066-31a152eebdf6%2FUntitled.png?table=block&amp;id=49c5705c-c42d-4edc-8831-9aabfbfaadd0&amp;t=49c5705c-c42d-4edc-8831-9aabfbfaadd0&amp;width=708&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-a8db506d404842bc9ad89698f87001e4">然后再在SSH 窗口保存一次 pm2的当前任务列表快照：</div><details class="notion-toggle notion-block-0ba9b2024dd24606956ae70302731d9a"><summary><s>这个方法好像无效</s></summary><div><div class="notion-text notion-block-30efa1e82241404d9c2a95070e7ebdf0">在 Panel 中找到 Cron jobs 选项卡，使用 Add cron job 功能添加任务，Specify time 选择 After reboot，即为重启后运行。Form type 选择 Advanced，Command 写：</div><blockquote class="notion-quote notion-block-6c13800368d2424e86e21e2ae4cef664"><div><span class="notion-red">记得把你的用户名改为你的用户名</span></div></blockquote><div class="notion-text notion-block-d1ec4fccd88d4ee4af5934625b68271e">添加完之后，在 SSH 窗口保存 pm2 的当前任务列表快照：</div></div></details><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-840e86b22a604809a198cbeffde0ee6a" data-id="840e86b22a604809a198cbeffde0ee6a"><span><div id="840e86b22a604809a198cbeffde0ee6a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#840e86b22a604809a198cbeffde0ee6a" title="检测启动情况"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">检测启动情况</span></span></h3><div class="notion-text notion-block-8a750ed24d9c45549e4295324a2536c4">在脚本开头处填好所有的环境变量即可使用（脚本<a class="notion-link" href="https://saika.us.kg/2024/01/27/serv00_logs/" target="_blank" rel="noopener noreferrer">来源</a>）：</div><table class="notion-simple-table notion-block-0e8f864dfe584cc28d14601fb2c8eff6"><tbody><tr class="notion-simple-table-row notion-block-ef00e88d7e7b437a8f284b33015106d7"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>变量名</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>是否必须</b></div></td><td class="" style="width:467px"><div class="notion-simple-table-cell"><b>备注</b></div></td></tr><tr class="notion-simple-table-row notion-block-6403c541cd2f483f8275176b9bf8d583"><td class="" style="width:120px"><div class="notion-simple-table-cell">USERNAME</div></td><td class="" style="width:120px"><div class="notion-simple-table-cell">是</div></td><td class="" style="width:467px"><div class="notion-simple-table-cell">Serv00 的账户用户名</div></td></tr><tr class="notion-simple-table-row notion-block-455f2a9102784d7aa30c5a7241c40b10"><td class="" style="width:120px"><div class="notion-simple-table-cell">PASSWORD</div></td><td class="" style="width:120px"><div class="notion-simple-table-cell">是</div></td><td class="" style="width:467px"><div class="notion-simple-table-cell">Serv00 的账户密码</div></td></tr><tr class="notion-simple-table-row notion-block-974043600f844d1f832779bd600bcaf2"><td class="" style="width:120px"><div class="notion-simple-table-cell">SSH_ADDRESS</div></td><td class="" style="width:120px"><div class="notion-simple-table-cell">是</div></td><td class="" style="width:467px"><div class="notion-simple-table-cell">Serv00 的账户 SSH 连接的地址（如<code class="notion-inline-code">s4.serv00.com</code>）</div></td></tr><tr class="notion-simple-table-row notion-block-f536befa807f4308bfbb275cf0756165"><td class="" style="width:120px"><div class="notion-simple-table-cell">SERVER_ADDRESS</div></td><td class="" style="width:120px"><div class="notion-simple-table-cell">是</div></td><td class="" style="width:467px"><div class="notion-simple-table-cell">需要检测的 Web 服务地址（如<code class="notion-inline-code">https://xxx.username.serv00.net</code>）</div></td></tr><tr class="notion-simple-table-row notion-block-df361c84d29c498a989ca1616930ca2e"><td class="" style="width:120px"><div class="notion-simple-table-cell">SMTP_SERVER_ADDRESS</div></td><td class="" style="width:120px"><div class="notion-simple-table-cell">否</div></td><td class="" style="width:467px"><div class="notion-simple-table-cell">发送通知邮件的 SMTP 服务器地址（如<code class="notion-inline-code">mail4.serv00.com</code>、<code class="notion-inline-code">smtp.163.com</code>）</div></td></tr><tr class="notion-simple-table-row notion-block-d220ddbcec62426ea4eb96e38e0def36"><td class="" style="width:120px"><div class="notion-simple-table-cell">SMTP_SERVER_PORT</div></td><td class="" style="width:120px"><div class="notion-simple-table-cell">否</div></td><td class="" style="width:467px"><div class="notion-simple-table-cell">发送通知邮件的 SMTP 服务器端口，必须使用 SSL（如<code class="notion-inline-code">465</code>、<code class="notion-inline-code">995</code>）</div></td></tr><tr class="notion-simple-table-row notion-block-2a33fe68d8284f809432b9f5a69f6d9a"><td class="" style="width:120px"><div class="notion-simple-table-cell">SMTP_EMAIL</div></td><td class="" style="width:120px"><div class="notion-simple-table-cell">否</div></td><td class="" style="width:467px"><div class="notion-simple-table-cell">用于发送通知邮件的邮箱</div></td></tr><tr class="notion-simple-table-row notion-block-cec9367d7f94443ca37e5e8dba6d2a17"><td class="" style="width:120px"><div class="notion-simple-table-cell">SMTP_PASSWORD</div></td><td class="" style="width:120px"><div class="notion-simple-table-cell">否</div></td><td class="" style="width:467px"><div class="notion-simple-table-cell">用于发送通知邮件的邮箱的密码或秘钥</div></td></tr><tr class="notion-simple-table-row notion-block-dccdb51167c8404e9fe5221a1138dc94"><td class="" style="width:120px"><div class="notion-simple-table-cell">TARGET_EMAIL</div></td><td class="" style="width:120px"><div class="notion-simple-table-cell">否</div></td><td class="" style="width:467px"><div class="notion-simple-table-cell">用于接收通知邮件的邮箱</div></td></tr></tbody></table><div class="notion-text notion-block-f1566411a9a348279813fb22a139dd26">在你的用户目录下任意路径新建一个名为 <code class="notion-inline-code">check_health.sh</code> 的文件，把上述脚本填好环境变量后粘贴进去，并在 Console 中使用 <code class="notion-inline-code">chmod +x check_health.sh</code> 命令为脚本添加可执行权限。</div><div class="notion-text notion-block-1daa6b74e2d749a6a88d6813c6b48462">再去 Panel 中找到 Cron jobs 选项卡，使用 Add cron job 功能添加任务，Specify time 选择 Special manually，Form type 选择 Advanced， 然后把下方的 Minute、Hour、Day of month、Month、Day of week 都改成 Every ，然后在 Minute 后填入 5（即每 5 分钟一次），其他的都填 1。Command 写 <code class="notion-inline-code">check_health.sh</code> 脚本文件的绝对路径，如 <code class="notion-inline-code">/home/username/check_health.sh &gt;/dev/null 2&gt;&amp;1</code> 即可。你也可以根据你的需求自由修改定时。</div><div class="notion-text notion-block-78161b5bcff145e4bb26974ea600d02d">还有一个加入了循环的版本，有需求的可以移植到其他服务使用：</div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-d7dfdbb7fae249e0837689f452647374" data-id="d7dfdbb7fae249e0837689f452647374"><span><div id="d7dfdbb7fae249e0837689f452647374" class="notion-header-anchor"></div><a class="notion-hash-link" href="#d7dfdbb7fae249e0837689f452647374" title="常用指令"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">常用指令</span></span></h3><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-123ee56845a28081bf1dedf0f607ee07" data-id="123ee56845a28081bf1dedf0f607ee07"><span><div id="123ee56845a28081bf1dedf0f607ee07" class="notion-header-anchor"></div><a class="notion-hash-link" href="#123ee56845a28081bf1dedf0f607ee07" title="防止在public_html下的文件泄露"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">防止在public_html下的文件泄露</span></span></h3><ol start="1" class="notion-list notion-list-numbered notion-block-123ee56845a2809987a5f0714075d69f" style="list-style-type:decimal"><li>在<code class="notion-inline-code">public_html</code> 文件夹下新建一个<code class="notion-inline-code">.htaccess</code> 文件</li><ol class="notion-list notion-list-numbered notion-block-123ee56845a2809987a5f0714075d69f" style="list-style-type:lower-alpha"></ol></ol><ol start="2" class="notion-list notion-list-numbered notion-block-123ee56845a28006b4daffee609a3e3c" style="list-style-type:decimal"><li>在<code class="notion-inline-code">/usr/home/你的serv00用户名/domains/username.serv00.net或者自己的域名/</code> 路径下新建<code class="notion-inline-code">.htpasswd</code> </li><ol class="notion-list notion-list-numbered notion-block-123ee56845a28006b4daffee609a3e3c" style="list-style-type:lower-alpha"><div class="notion-text notion-block-123ee56845a280598e03d344f205a471">需要执行用户名密码可以访问<code class="notion-inline-code">hostingcanada.org</code> 生成：<a class="notion-link" href="https://hostingcanada.org/htpasswd-generator/" target="_blank" rel="noopener noreferrer">点击访问</a></div></ol></ol><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-c4ba07b1051a458ab9d0ab18c1f21fc9" data-id="c4ba07b1051a458ab9d0ab18c1f21fc9"><span><div id="c4ba07b1051a458ab9d0ab18c1f21fc9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#c4ba07b1051a458ab9d0ab18c1f21fc9" title="自动续期"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">自动续期</span></span></h3><div class="notion-row"><a class="notion-bookmark notion-block-64db32dc3bfb496d880e6455a6b979c7" href="https://github.com/Shadownc/Serv00-auto-login" target="_blank" rel="noopener noreferrer"><div><div class="notion-bookmark-title">GitHub - Shadownc/Serv00-auto-login: Serv00控制面板自动登录脚本</div><div class="notion-bookmark-description">Serv00控制面板自动登录脚本. Contribute to Shadownc/Serv00-auto-login development by creating an account on GitHub.</div><div class="notion-bookmark-link"><div class="notion-bookmark-link-icon"><img src="https://www.notion.so/image/https%3A%2F%2Fgithub.com%2Ffluidicon.png?table=block&amp;id=64db32dc-3bfb-496d-880e-6455a6b979c7&amp;t=64db32dc-3bfb-496d-880e-6455a6b979c7" alt="GitHub - Shadownc/Serv00-auto-login: Serv00控制面板自动登录脚本" loading="lazy" decoding="async"/></div><div class="notion-bookmark-link-text">https://github.com/Shadownc/Serv00-auto-login</div></div></div><div class="notion-bookmark-image"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fopengraph.githubassets.com%2Fc9f03270f659739b4330d9f6e2b967abfb5beacfc79343340370dc351767b120%2FShadownc%2FServ00-auto-login?table=block&amp;id=64db32dc-3bfb-496d-880e-6455a6b979c7&amp;t=64db32dc-3bfb-496d-880e-6455a6b979c7" alt="GitHub - Shadownc/Serv00-auto-login: Serv00控制面板自动登录脚本" loading="lazy" decoding="async"/></div></a></div></main></div>]]></content:encoded>
        </item>
    </channel>
</rss>