ZiuChen.github.io/works/opensource.html

24 lines
47 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>个人作品 | ZiuChen</title>
<meta name="description" content="Unlimited Progress.">
<link rel="preload stylesheet" href="/assets/style.01b731bf.css" as="style">
<script type="module" src="/assets/app.df344836.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.2ed14f66.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/framework.eaa7ef56.js">
<link rel="modulepreload" href="/assets/chunks/theme.cde553b8.js">
<link rel="modulepreload" href="/assets/works_opensource.md.41143a1c.lean.js">
<link rel="icon" href="/logo.png">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-c9141815><!--[--><!--]--><!--[--><span tabindex="-1" data-v-f364a430></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-f364a430> Skip to content </a><!--]--><!----><header class="VPNav" data-v-c9141815 data-v-39dca61f><div class="VPNavBar has-sidebar" data-v-39dca61f data-v-016664a6><div class="container" data-v-016664a6><div class="title" data-v-016664a6><div class="VPNavBarTitle has-sidebar" data-v-016664a6 data-v-2825b2da><a class="title" href="/" data-v-2825b2da><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.png" alt data-v-f50a87e5><!--]--><!--[-->ZiuChen<!--]--><!--[--><!--]--></a></div></div><div class="content" data-v-016664a6><div class="curtain" data-v-016664a6></div><div class="content-body" data-v-016664a6><!--[--><!--]--><div class="VPNavBarSearch search" data-v-016664a6><!--[--><!----><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg class="DocSearch-Search-Icon" width="20" height="20" viewBox="0 0 20 20" aria-label="search icon"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-016664a6 data-v-e51f2e59><span id="main-nav-aria-label" class="visually-hidden" data-v-e51f2e59>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-e51f2e59 data-v-4a25c51a><!--[--><span data-v-4a25c51a>首页</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-e51f2e59 data-v-e98c12e5><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-e98c12e5><span class="text" data-v-e98c12e5><!----><span data-v-e98c12e5>我的项目</span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-e98c12e5><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-e98c12e5><div class="VPMenu" data-v-e98c12e5 data-v-15053f44><div class="items" data-v-15053f44><!--[--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/project/ClipboardManager/" data-v-d62828c4><!--[-->超级剪贴板<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/project/Markdown/" data-v-d62828c4><!--[-->超级Markdown<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/project/JSRunner/" data-v-d62828c4><!--[-->超级JavaScript<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/project/SmartWordBreak/" data-v-d62828c4><!--[-->超级分词<!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup active" data-v-e51f2e59 data-v-e98c12e5><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-e98c12e5><span class="text" data-v-e98c12e5><!----><span data-v-e98c12e5>开源作品</span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-e98c12e5><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-e98c12e5><div class="VPMenu" data-v-e98c12e5 data-v-15053f44><div class="items" data-v-15053f44><!--[--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link active" href="/works/opensource.html" data-v-d62828c4><!--[-->个人作品<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/works/contribution.html" data-v-d62828c4><!--[-->社区贡献<!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-e51f2e59 data-v-e98c12e5><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-e98c12e5><span class="text" data-v-e98c12e5><!----><span data-v-e98c12e5>学习笔记</span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-e98c12e5><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-e98c12e5><div class="VPMenu" data-v-e98c12e5 data-v-15053f44><div class="items" data-v-15053f44><!--[--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/note/JavaScript.html" data-v-d62828c4><!--[-->JavaScript基础<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/note/CSS.html" data-v-d62828c4><!--[-->CSS基础<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/note/JavaScriptEnhanced.html" data-v-d62828c4><!--[-->JavaScript进阶<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/note/Front-end%20Engineering.html" data-v-d62828c4><!--[-->前端工程化<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/note/SSR.html" data-v-d62828c4><!--[-->服务端渲染<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/note/React.html" data-v-d62828c4><!--[-->React基础<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/note/React%20Hooks.html" data-v-d62828c4><!--[-->React Hooks<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/note/Redux.html" data-v-d62828c4><!--[-->Redux<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/note/React%20Router.html" data-v-d62828c4><!--[-->React Router<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-15053f44 data-v-d62828c4><a class="VPLink link" href="/note/MySQL.html" data-v-d62828c4><!--[-->MySQL<!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/self/" tabindex="0" data-v-e51f2e59 data-v-4a25c51a><!--[--><span data-v-4a25c51a>个人介绍</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-016664a6 data-v-0e3f34fb><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="toggle dark mode" aria-checked="false" data-v-0e3f34fb data-v-842ac2d6 data-v-02e88dea><span class="check" data-v-02e88dea><span class="icon" data-v-02e88dea><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-842ac2d6><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-842ac2d6><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-016664a6 data-v-7862e4c4 data-v-25970e8f><!--[--><a class="VPSocialLink no-icon" href="https://github.com/ZiuChen" aria-label="github" target="_blank" rel="noopener" data-v-25970e8f data-v-377059e4><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><a class="VPSocialLink no-icon" href="https://juejin.cn/user/1887205216238477" aria-label target="_blank" rel="noopener" data-v-25970e8f data-v-377059e4><svg width="36" height="28" viewBox="0 0 36 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M17.5875 6.77268L21.8232 3.40505L17.5875 0.00748237L17.5837 0L13.3555 3.39757L17.5837 6.76894L17.5875 6.77268ZM17.5863 17.3955H17.59L28.5161 8.77432L25.5526 6.39453L17.59 12.6808H17.5863L17.5825 12.6845L9.61993 6.40201L6.66016 8.78181L17.5825 17.3992L17.5863 17.3955ZM17.5828 23.2891L17.5865 23.2854L32.2133 11.7456L35.1768 14.1254L28.5238 19.3752L17.5865 28L0.284376 14.3574L0 14.1291L2.95977 11.7531L17.5828 23.2891Z" fill="#1E80FF"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-016664a6 data-v-c5775a0c data-v-e98c12e5><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-e98c12e5><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="icon" data-v-e98c12e5><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="menu" data-v-e98c12e5><div class="VPMenu" data-v-e98c12e5 data-v-15053f44><!----><!--[--><!--[--><!----><div class="group" data-v-c5775a0c><div class="item appearance" data-v-c5775a0c><p class="label" data-v-c5775a0c>Appearance</p><div class="appearance-action" data-v-c5775a0c><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="toggle dark mode" aria-checked="false" data-v-c5775a0c data-v-842ac2d6 data-v-02e88dea><span class="check" data-v-02e88dea><span class="icon" data-v-02e88dea><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-842ac2d6><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-842ac2d6><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div></div></div><div class="group" data-v-c5775a0c><div class="item social-links" data-v-c5775a0c><div class="VPSocialLinks social-links-list" data-v-c5775a0c data-v-25970e8f><!--[--><a class="VPSocialLink no-icon" href="https://github.com/ZiuChen" aria-label="github" target="_blank" rel="noopener" data-v-25970e8f data-v-377059e4><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><a class="VPSocialLink no-icon" href="https://juejin.cn/user/1887205216238477" aria-label target="_blank" rel="noopener" data-v-25970e8f data-v-377059e4><svg width="36" height="28" viewBox="0 0 36 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M17.5875 6.77268L21.8232 3.40505L17.5875 0.00748237L17.5837 0L13.3555 3.39757L17.5837 6.76894L17.5875 6.77268ZM17.5863 17.3955H17.59L28.5161 8.77432L25.5526 6.39453L17.59 12.6808H17.5863L17.5825 12.6845L9.61993 6.40201L6.66016 8.78181L17.5825 17.3992L17.5863 17.3955ZM17.5828 23.2891L17.5865 23.2854L32.2133 11.7456L35.1768 14.1254L28.5238 19.3752L17.5865 28L0.284376 14.3574L0 14.1291L2.95977 11.7531L17.5828 23.2891Z" fill="#1E80FF"/></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-016664a6 data-v-3b176817><span class="container" data-v-3b176817><span class="top" data-v-3b176817></span><span class="middle" data-v-3b176817></span><span class="bottom" data-v-3b176817></span></span></button></div></div></div></div><!----></header><div class="VPLocalNav reached-top" data-v-c9141815 data-v-7b873ae9><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-7b873ae9><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="menu-icon" data-v-7b873ae9><path d="M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"></path><path d="M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"></path><path d="M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"></path><path d="M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"></path></svg><span class="menu-text" data-v-7b873ae9>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-7b873ae9 data-v-c2e82416><button data-v-c2e82416>Return to top</button><!----></div></div><aside class="VPSidebar" data-v-c9141815 data-v-cadfaea8><div class="curtain" data-v-cadfaea8></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-cadfaea8><span class="visually-hidden" id="sidebar-aria-label" data-v-cadfaea8> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="group" data-v-cadfaea8><section class="VPSidebarItem level-0" data-v-cadfaea8 data-v-d0c47f51><div class="item" role="button" tabindex="0" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><h2 class="text" data-v-d0c47f51>我的项目</h2><!----></div><div class="items" data-v-d0c47f51><!--[--><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/project/ClipboardManager/" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>超级剪贴板</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/project/Markdown/" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>超级Markdown</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/project/JSRunner/" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>超级JavaScript</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/project/SmartWordBreak/" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>超级分词</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-cadfaea8><section class="VPSidebarItem level-0 collapsible has-active" data-v-cadfaea8 data-v-d0c47f51><div class="item" role="button" tabindex="0" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><h2 class="text" data-v-d0c47f51>开源作品</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-d0c47f51><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="caret-icon" data-v-d0c47f51><path d="M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"></path></svg></div></div><div class="items" data-v-d0c47f51><!--[--><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/works/opensource.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>个人作品</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/works/contribution.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>社区贡献</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-cadfaea8><section class="VPSidebarItem level-0 collapsible collapsed" data-v-cadfaea8 data-v-d0c47f51><div class="item" role="button" tabindex="0" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><h2 class="text" data-v-d0c47f51>文章归档</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-d0c47f51><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="caret-icon" data-v-d0c47f51><path d="M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"></path></svg></div></div><div class="items" data-v-d0c47f51><!--[--><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E3%80%902023%E3%80%91%E9%9D%92%E8%AE%AD%E8%90%A5%20-%20%E5%89%8D%E7%AB%AF%E7%BB%83%E4%B9%A0%E9%A2%98%E6%B1%87%E6%80%BB%E8%A7%A3%E6%9E%90.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>【2023】青训营 - 前端练习题汇总解析</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E3%80%90%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E3%80%91%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>【字节跳动】前端面试题总结</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E3%80%90%E5%BF%AB%E6%89%8B%E3%80%91%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>【快手】深入理解前端面试题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E3%80%90%E7%94%A8%E5%8F%8B%E9%87%91%E8%9E%8D%E3%80%91%E5%89%8D%E7%AB%AF%E9%9D%A2%E8%AF%95%E9%A2%98%E6%80%BB%E7%BB%93.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>【用友金融】前端面试题总结</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E4%BA%8B%E4%BB%B6%E5%86%92%E6%B3%A1%E4%B8%8E%E4%BA%8B%E4%BB%B6%E6%8D%95%E8%8E%B7.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>一文读懂事件冒泡与事件捕获</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E4%BC%AA%E7%B1%BB%E4%B8%8E%E4%BC%AA%E5%85%83%E7%B4%A0.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>一文读懂伪类与伪元素</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E4%B8%80%E6%96%87%E8%AF%BB%E6%87%82%E5%87%BD%E6%95%B0%E4%B8%ADthis%E6%8C%87%E5%90%91%E9%97%AE%E9%A2%98.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>一文读懂函数中this指向问题</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E4%BB%8E0%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E5%B9%B4%E5%BA%A6%E6%8A%A5%E5%91%8A.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>从0实现一个年度报告</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E5%BD%BB%E5%BA%95%E6%90%9E%E6%87%82%E5%AF%B9%E8%B1%A1%E7%9A%84%E6%95%B0%E6%8D%AE%E5%B1%9E%E6%80%A7%E6%8F%8F%E8%BF%B0%E7%AC%A6%E3%80%81%E5%AD%98%E5%82%A8%E5%B1%9E%E6%80%A7%E6%8F%8F%E8%BF%B0%E7%AC%A6.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>彻底搞懂对象的数据属性描述符、存储属性描述符</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E6%B5%85%E6%9E%90defineProperty%E4%B8%8EProxy%E5%AE%9E%E7%8E%B0%E7%9A%84%E5%8F%8C%E5%90%91%E7%BB%91%E5%AE%9A.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>浅析defineProperty与Proxy实现的双向绑定</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E6%B7%B1%E5%85%A5JavaScript%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>深入JavaScript数据类型</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E6%B7%B1%E5%85%A5Vue3%E6%BA%90%E7%A0%81%EF%BC%8C%E7%9C%8B%E7%9C%8BVue.use%E5%90%8E%E7%A9%B6%E7%AB%9F%E5%8F%91%E7%94%9F%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%9F.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>深入Vue3源码看看Vue.use后究竟发生了什么</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3Proxy%E4%B8%8EReflect.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>深入理解Proxy与Reflect</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E6%B5%8F%E8%A7%88%E5%99%A8%E7%BC%93%E5%AD%98%E6%9C%BA%E5%88%B6.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>深入理解浏览器缓存机制</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/article/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E6%B5%8F%E8%A7%88%E5%99%A8%E8%BF%90%E8%A1%8C%E5%8E%9F%E7%90%86.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>深入理解浏览器运行原理</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-cadfaea8><section class="VPSidebarItem level-0 collapsible collapsed" data-v-cadfaea8 data-v-d0c47f51><div class="item" role="button" tabindex="0" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><h2 class="text" data-v-d0c47f51>学习笔记</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-d0c47f51><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="caret-icon" data-v-d0c47f51><path d="M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"></path></svg></div></div><div class="items" data-v-d0c47f51><!--[--><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/note/JavaScript.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>JavaScript基础</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/note/CSS.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>CSS基础</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/note/JavaScriptEnhanced.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>JavaScript进阶</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/note/Front-end%20Engineering.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>前端工程化</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/note/SSR.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>服务端渲染</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/note/React.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>React基础</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/note/React%20Hooks.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>React Hooks</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/note/Redux.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>Redux</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/note/React%20Router.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>React Router</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-d0c47f51 data-v-d0c47f51><div class="item" data-v-d0c47f51><div class="indicator" data-v-d0c47f51></div><a class="VPLink link link" href="/note/MySQL.html" data-v-d0c47f51><!--[--><p class="text" data-v-d0c47f51>MySQL</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-c9141815 data-v-a52b0863><div class="VPDoc has-sidebar has-aside" data-v-a52b0863 data-v-4ad9891f><!--[--><!--]--><div class="container" data-v-4ad9891f><div class="aside" data-v-4ad9891f><div class="aside-curtain" data-v-4ad9891f></div><div class="aside-container" data-v-4ad9891f><div class="aside-content" data-v-4ad9891f><div class="VPDocAside" data-v-4ad9891f data-v-00c6d4f2><!--[--><!--]--><!--[--><!--]--><div class="VPDocAsideOutline" role="navigation" data-v-00c6d4f2 data-v-48e05f7c><div class="content" data-v-48e05f7c><div class="outline-marker" data-v-48e05f7c></div><div class="outline-title" role="heading" aria-level="2" data-v-48e05f7c>On this page</div><nav aria-labelledby="doc-outline-aria-label" data-v-48e05f7c><span class="visually-hidden" id="doc-outline-aria-label" data-v-48e05f7c> Table of Contents for current page </span><ul class="root" data-v-48e05f7c data-v-1d1e520e><!--[--><!--]--></ul></nav></div></div><!--[--><!--]--><div class="spacer" data-v-00c6d4f2></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-4ad9891f><div class="content-container" data-v-4ad9891f><!--[--><!--]--><!----><main class="main" data-v-4ad9891f><div style="position:relative;" class="vp-doc _works_opensource" data-v-4ad9891f><div><h1 id="个人作品" tabindex="-1">个人作品 <a class="header-anchor" href="#个人作品" aria-label="Permalink to &quot;个人作品&quot;"></a></h1><h2 id="vue3-typescript后台管理系统" tabindex="-1">Vue3+TypeScript后台管理系统 <a class="header-anchor" href="#vue3-typescript后台管理系统" aria-label="Permalink to &quot;Vue3+TypeScript后台管理系统&quot;"></a></h2><p>Vue3+TypeScript后台管理系统</p><p><a href="https://github.com/ZiuChen/vue3-ts-cms" target="_blank" rel="noreferrer">源代码</a></p><h2 id="typein-效率工具集" tabindex="-1">Typein 效率工具集 <a class="header-anchor" href="#typein-效率工具集" aria-label="Permalink to &quot;Typein 效率工具集&quot;"></a></h2><p>Typein 是一个运行在现代浏览器上的拓展插件,它可以帮助你在保持专注的情况下,高效完成各种操作。</p><p><a href="https://github.com/ZiuChen/Typein" target="_blank" rel="noreferrer">源代码</a></p><p><a href="https://www.bilibili.com/video/BV17F411A7FA" target="_blank" rel="noreferrer">宣传视频</a></p><p><a href="https://microsoftedge.microsoft.com/addons/detail/typein/hfgpceehhndaffdbemhafidaiecdhemi" target="_blank" rel="noreferrer">Microsoft Edge Add-on Store</a></p><h2 id="a-soul浏览器宠物" tabindex="-1">A-SOUL浏览器宠物 <a class="header-anchor" href="#a-soul浏览器宠物" aria-label="Permalink to &quot;A-SOUL浏览器宠物&quot;"></a></h2><p>在浏览器里养一只A-Soul成员当宠物</p><p><a href="https://github.com/ZiuChen/A-Soul-Browser-Pet" target="_blank" rel="noreferrer">源代码</a></p><p><a href="https://www.bilibili.com/video/BV1gB4y1275J" target="_blank" rel="noreferrer">宣传视频</a></p><h2 id="北京交通大学课程平台功能增强" tabindex="-1">北京交通大学课程平台功能增强 <a class="header-anchor" href="#北京交通大学课程平台功能增强" aria-label="Permalink to &quot;北京交通大学课程平台功能增强&quot;"></a></h2><p>北京交通大学课程平台功能增强脚本,实现信息聚合,附件上传,让你高效处理课程信息。</p><p><a href="https://github.com/ZiuChen/NO-FLASH-Upload" target="_blank" rel="noreferrer">源代码</a></p><h2 id="超级剪贴板" tabindex="-1">超级剪贴板 <a class="header-anchor" href="#超级剪贴板" aria-label="Permalink to &quot;超级剪贴板&quot;"></a></h2><p>uTools插件一款强大的剪贴板管理工具。基于Vue3构建</p><p><a href="https://github.com/ZiuChen/ClipboardManager" target="_blank" rel="noreferrer">源代码</a></p><p><a href="./../project/ClipboardManager/">主页</a></p><h2 id="超级粘贴" tabindex="-1">超级粘贴 <a class="header-anchor" href="#超级粘贴" aria-label="Permalink to &quot;超级粘贴&quot;"></a></h2><p>uTools插件将剪切板内容直接粘贴为文件。功能基于NodeJS</p><p><a href="https://github.com/ZiuChen/FileSaver-uTools" target="_blank" rel="noreferrer">源代码</a></p><h2 id="超级分词" tabindex="-1">超级分词 <a class="header-anchor" href="#超级分词" aria-label="Permalink to &quot;超级分词&quot;"></a></h2><p>uTools插件前台使用Vue3+ElementPlus构建后台基于Express封装结巴分词并暴露API接口</p><h2 id="超级连点器" tabindex="-1">超级连点器 <a class="header-anchor" href="#超级连点器" aria-label="Permalink to &quot;超级连点器&quot;"></a></h2><p>uTools插件界面使用Vue3+AntDesign构建功能基于Worker</p><h2 id="popnotify" tabindex="-1">PopNotify <a class="header-anchor" href="#popnotify" aria-label="Permalink to &quot;PopNotify&quot;"></a></h2><p>仿 Element UI 的通知卡片。</p><p><a href="https://github.com/ZiuChen/PopNotify" target="_blank" rel="noreferrer">源代码</a></p><p><a href="https://ziuchen.github.io/PopNotify/demo/Demo.html" target="_blank" rel="noreferrer">Demo</a></p><h2 id="userscripts" tabindex="-1">UserScripts <a class="header-anchor" href="#userscripts" aria-label="Permalink to &quot;UserScripts&quot;"></a></h2><p>用户脚本合集,生产力工具、效率工具、自动化脚本</p><p><a href="https://github.com/ZiuChen/userscript" target="_blank" rel="noreferrer">源代码</a></p></div></div></main><footer class="VPDocFooter" data-v-4ad9891f data-v-3ec2f4a2><!--[--><!--]--><div class="edit-info" data-v-3ec2f4a2><!----><div class="last-updated" data-v-3ec2f4a2><p class="VPLastUpdated" data-v-3ec2f4a2 data-v-a4c9a2aa>Updated Date: <time datetime="2023-11-16T16:33:46.000Z" data-v-a4c9a2aa></time></p></div></div><nav class="prev-next" data-v-3ec2f4a2><div class="pager" data-v-3ec2f4a2><a class="pager-link prev" href="/project/SmartWordBreak/" data-v-3ec2f4a2><span class="desc" data-v-3ec2f4a2>Previous page</span><span class="title" data-v-3ec2f4a2>超级分词</span></a></div><div class="pager" data-v-3ec2f4a2><a class="pager-link next" href="/works/contribution.html" data-v-3ec2f4a2><span class="desc" data-v-3ec2f4a2>Next page</span><span class="title" data-v-3ec2f4a2>社区贡献</span></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-c9141815 data-v-9d485890><div class="container" data-v-9d485890><p class="message" data-v-9d485890>Released under the MIT License.</p><p class="copyright" data-v-9d485890>Copyright © 2019-present Ziu Chen</p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"note_mysql.md\":\"ff8922c9\",\"article_深入理解浏览器运行原理.md\":\"8c6f3275\",\"project_smartwordbreak_index.md\":\"af309eda\",\"project_smartwordbreak_log_index.md\":\"31ac59f5\",\"project_smartwordbreak_statement_index.md\":\"81fd9b75\",\"works_contribution.md\":\"8306e443\",\"project_clipboardmanager_guide_index.md\":\"dccd8f03\",\"article_浅析defineproperty与proxy实现的双向绑定.md\":\"4637264b\",\"index.md\":\"630640f7\",\"note_front-end engineering.md\":\"83907b9b\",\"article_一文读懂伪类与伪元素.md\":\"71e171a9\",\"article_一文读懂事件冒泡与事件捕获.md\":\"3070d1c2\",\"note_css.md\":\"03b93408\",\"self_index.md\":\"bfa7a821\",\"project_jsrunner_index.md\":\"643e2654\",\"project_markdown_index.md\":\"dae1c90a\",\"project_markdown_shortcut_index.md\":\"a8947c74\",\"project_markdown_log_index.md\":\"1f92f094\",\"article_彻底搞懂对象的数据属性描述符、存储属性描述符.md\":\"03c60053\",\"works_opensource.md\":\"41143a1c\",\"note_ssr.md\":\"be3c09d1\",\"project_clipboardmanager_log_index.md\":\"b71f99ad\",\"project_clipboardmanager_statement_index.md\":\"ea3425cd\",\"article_深入理解proxy与reflect.md\":\"94ee110c\",\"article_【快手】深入理解前端面试题.md\":\"d7a7227f\",\"article_从0实现一个年度报告.md\":\"91662ae0\",\"article_【2023】青训营 - 前端练习题汇总解析.md\":\"37fd1957\",\"article_深入vue3源码看看vue.use后究竟发生了什么.md\":\"636ae3ca\",\"note_javascript.md\":\"1094591b\",\"note_redux.md\":\"046d6b05\",\"article_深入javascript数据类型.md\":\"9097d859\",\"article_深入理解浏览器缓存机制.md\":\"ce1c6591\",\"article_【字节跳动】前端面试题总结.md\":\"429af843\",\"project_jsrunner_log_index.md\":\"90b9639e\",\"article_一文读懂函数中this指向问题.md\":\"e7119865\",\"note_react router.md\":\"27eec1ee\",\"note_react hooks.md\":\"81283fc9\",\"article_【用友金融】前端面试题总结.md\":\"8ced60ed\",\"project_clipboardmanager_index.md\":\"41ff38a8\",\"note_react.md\":\"4d7f393e\",\"note_javascriptenhanced.md\":\"a36ac08d\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"ZiuChen\",\"description\":\"Unlimited Progress.\",\"base\":\"/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"logo\":\"/logo.png\",\"nav\":[{\"text\":\"首页\",\"link\":\"/\"},{\"text\":\"我的项目\",\"items\":[{\"text\":\"超级剪贴板\",\"link\":\"/project/ClipboardManager/\"},{\"text\":\"超级Markdown\",\"link\":\"/project/Markdown/\"},{\"text\":\"超级JavaScript\",\"link\":\"/project/JSRunner/\"},{\"text\":\"超级分词\",\"link\":\"/project/SmartWordBreak/\"}]},{\"text\":\"开源作品\",\"items\":[{\"text\":\"个人作品\",\"link\":\"/works/opensource\"},{\"text\":\"社区贡献\",\"link\":\"/works/contribution\"}]},{\"text\":\"学习笔记\",\"items\":[{\"text\":\"JavaScript基础\",\"link\":\"/note/JavaScript\"},{\"text\":\"CSS基础\",\"link\":\"/note/CSS\"},{\"text\":\"JavaScript进阶\",\"link\":\"/note/JavaScriptEnhanced\"},{\"text\":\"前端工程化\",\"link\":\"/note/Front-end Engineering\"},{\"text\":\"服务端渲染\",\"link\":\"/note/SSR\"},{\"text\":\"React基础\",\"link\":\"/note/React\"},{\"text\":\"React Hooks\",\"link\":\"/note/React Hooks\"},{\"text\":\"Redux\",\"link\":\"/note/Redux\"},{\"text\":\"React Router\",\"link\":\"/note/React Router\"},{\"text\":\"MySQL\",\"link\":\"/note/MySQL\"}]},{\"text\":\"个人介绍\",\"link\":\"/self/\"}],\"sidebar\":[{\"text\":\"我的项目\",\"items\":[{\"text\":\"超级剪贴板\",\"link\":\"/project/ClipboardManager/\"},{\"text\":\"超级Markdown\",\"link\":\"/project/Markdown/\"},{\"text\":\"超级JavaScript\",\"link\":\"/project/JSRunner/\"},{\"text\":\"超级分词\",\"link\":\"/project/SmartWordBreak/\"}]},{\"text\":\"开源作品\",\"collapsed\":true,\"items\":[{\"text\":\"个人作品\",\"link\":\"/works/opensource\"},{\"text\":\"社区贡献\",\"link\":\"/works/contribution\"}]},{\"text\":\"文章归档\",\"collapsed\":true,\"items\":[{\"text\":\"【2023】青训营 - 前端练习题汇总解析\",\"link\":\"/article/【2023】青训营 - 前端练习题汇总解析\"},{\"text\":\"【字节跳动】前端面试题总结\",\"link\":\"/article/【字节跳动】前端面试题总结\"},{\"text\":\"【快手】深入理解前端面试题\",\"link\":\"/article/【快手】深入理解前端面试题\"},{\"text\":\"【用友金融】前端面试题总结\",\"link\":\"/article/【用友金融】前端面试题总结\"},{\"text\":\"一文读懂事件冒泡与事件捕获\",\"link\":\"/article/一文读懂事件冒泡与事件捕获\"},{\"text\":\"一文读懂伪类与伪元素\",\"link\":\"/article/一文读懂伪类与伪元素\"},{\"text\":\"一文读懂函数中this指向问题\",\"link\":\"/article/一文读懂函数中this指向问题\"},{\"text\":\"从0实现一个年度报告\",\"link\":\"/article/从0实现一个年度报告\"},{\"text\":\"彻底搞懂对象的数据属性描述符、存储属性描述符\",\"link\":\"/article/彻底搞懂对象的数据属性描述符、存储属性描述符\"},{\"text\":\"浅析defineProperty与Proxy实现的双向绑定\",\"link\":\"/article/浅析defineProperty与Proxy实现的双向绑定\"},{\"text\":\"深入JavaScript数据类型\",\"link\":\"/article/深入JavaScript数据类型\"},{\"text\":\"深入Vue3源码看看Vue.use后究竟发生了什么\",\"link\":\"/article/深入Vue3源码看看Vue.use后究竟发生了什么\"},{\"text\":\"深入理解Proxy与Reflect\",\"link\":\"/article/深入理解Proxy与Reflect\"},{\"text\":\"深入理解浏览器缓存机制\",\"link\":\"/article/深入理解浏览器缓存机制\"},{\"text\":\"深入理解浏览器运行原理\",\"link\":\"/article/深入理解浏览器运行原理\"}]},{\"text\":\"学习笔记\",\"collapsed\":true,\"items\":[{\"text\":\"JavaScript基础\",\"link\":\"/note/JavaScript\"},{\"text\":\"CSS基础\",\"link\":\"/note/CSS\"},{\"text\":\"JavaScript进阶\",\"link\":\"/note/JavaScriptEnhanced\"},{\"text\":\"前端工程化\",\"link\":\"/note/Front-end Engineering\"},{\"text\":\"服务端渲染\",\"link\":\"/note/SSR\"},{\"text\":\"React基础\",\"link\":\"/note/React\"},{\"text\":\"React Hooks\",\"link\":\"/note/React Hooks\"},{\"text\":\"Redux\",\"link\":\"/note/Redux\"},{\"text\":\"React Router\",\"link\":\"/note/React Router\"},{\"text\":\"MySQL\",\"link\":\"/note/MySQL\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/ZiuChen\"},{\"icon\":{\"svg\":\"<svg width=\\\"36\\\" height=\\\"28\\\" viewBox=\\\"0 0 36 28\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\"><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M17.5875 6.77268L21.8232 3.40505L17.5875 0.00748237L17.5837 0L13.3555 3.39757L17.5837 6.76894L17.5875 6.77268ZM17.5863 17.3955H17.59L28.5161 8.77432L25.5526 6.39453L17.59 12.6808H17.5863L17.5825 12.6845L9.61993 6.40201L6.66016 8.78181L17.5825 17.3992L17.5863 17.3955ZM17.5828 23.2891L17.5865 23.2854L32.2133 11.7456L35.1768 14.1254L28.5238 19.3752L17.5865 28L0.284376 14.3574L0 14.1291L2.95977 11.7531L17.5828 23.2891Z\\\" fill=\\\"#1E80FF\\\"/></svg>\"},\"link\":\"https://juejin.cn/user/1887205216238477\"}],\"editLink\":{\"pattern\":\"https://github.com/ZiuChen/ZiuChen.github.io/edit/main/docs/:path\",\"text\":\"Edit this page on GitHub\"},\"footer\":{\"message\":\"Released under the MIT License.\",\"copyright\":\"Copyright © 2019-present Ziu Chen\"},\"lastUpdatedText\":\"Updated Date\",\"search\":{\"provider\":\"algolia\",\"options\":{\"appId\":\"LFZ2CPWWUG\",\"apiKey\":\"b4fd296ea5e467b3ac4a582160ff3122\",\"indexName\":\"ziuchenio\"}}},\"locales\":{},\"scrollOffset\":90,\"cleanUrls\":false}");</script>
</body>
</html>