Deploying to gh-pages from @ ZiuChen/ZiuChen.github.io@5b448443dd 🚀

This commit is contained in:
ZiuChen
2023-04-09 07:49:47 +00:00
parent f23dd8bce3
commit 6fc1b43289
117 changed files with 192 additions and 192 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 504 KiB

View File

@@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const A=JSON.parse('{"title":"【2023】青训营 - 前端练习题汇总解析","description":"","frontmatter":{},"headers":[{"level":2,"title":"选择题","slug":"选择题","link":"#选择题","children":[{"level":3,"title":"DAY 1","slug":"day-1","link":"#day-1","children":[]},{"level":3,"title":"DAY 2","slug":"day-2","link":"#day-2","children":[]},{"level":3,"title":"DAY 3","slug":"day-3","link":"#day-3","children":[]},{"level":3,"title":"DAY 4","slug":"day-4","link":"#day-4","children":[]},{"level":3,"title":"DAY 5","slug":"day-5","link":"#day-5","children":[]},{"level":3,"title":"DAY 6","slug":"day-6","link":"#day-6","children":[]},{"level":3,"title":"DAY 7","slug":"day-7","link":"#day-7","children":[]},{"level":3,"title":"DAY 8","slug":"day-8","link":"#day-8","children":[]},{"level":3,"title":"DAY 9","slug":"day-9","link":"#day-9","children":[]}]},{"level":2,"title":"编程题","slug":"编程题","link":"#编程题","children":[{"level":3,"title":"题目 1","slug":"题目-1","link":"#题目-1","children":[]},{"level":3,"title":"题目 2","slug":"题目-2","link":"#题目-2","children":[]},{"level":3,"title":"题目 3","slug":"题目-3","link":"#题目-3","children":[]}]}],"relativePath":"article/【2023】青训营 - 前端练习题汇总解析.md","lastUpdated":1680702249000}'),p={name:"article/【2023】青训营 - 前端练习题汇总解析.md"},e=l(`<h1 id="【2023】青训营-前端练习题汇总解析" tabindex="-1">【2023】青训营 - 前端练习题汇总解析 <a class="header-anchor" href="#【2023】青训营-前端练习题汇总解析" aria-hidden="true">#</a></h1><p>汇总了青训营官方账号每天发布的练习题,并且给出了答案、做了简单解析与知识扩充,有不足之处欢迎一起交流学习。</p><p>每天的选择题不同而编程题是一样的直接去Leetcode刷题即可。</p><h2 id="选择题" tabindex="-1">选择题 <a class="header-anchor" href="#选择题" aria-hidden="true">#</a></h2><h3 id="day-1" tabindex="-1">DAY 1 <a class="header-anchor" href="#day-1" aria-hidden="true">#</a></h3><h4 id="题目描述" tabindex="-1">题目描述 <a class="header-anchor" href="#题目描述" aria-hidden="true">#</a></h4><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">选择题 1 </span></span>
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const A=JSON.parse('{"title":"【2023】青训营 - 前端练习题汇总解析","description":"","frontmatter":{},"headers":[{"level":2,"title":"选择题","slug":"选择题","link":"#选择题","children":[{"level":3,"title":"DAY 1","slug":"day-1","link":"#day-1","children":[]},{"level":3,"title":"DAY 2","slug":"day-2","link":"#day-2","children":[]},{"level":3,"title":"DAY 3","slug":"day-3","link":"#day-3","children":[]},{"level":3,"title":"DAY 4","slug":"day-4","link":"#day-4","children":[]},{"level":3,"title":"DAY 5","slug":"day-5","link":"#day-5","children":[]},{"level":3,"title":"DAY 6","slug":"day-6","link":"#day-6","children":[]},{"level":3,"title":"DAY 7","slug":"day-7","link":"#day-7","children":[]},{"level":3,"title":"DAY 8","slug":"day-8","link":"#day-8","children":[]},{"level":3,"title":"DAY 9","slug":"day-9","link":"#day-9","children":[]}]},{"level":2,"title":"编程题","slug":"编程题","link":"#编程题","children":[{"level":3,"title":"题目 1","slug":"题目-1","link":"#题目-1","children":[]},{"level":3,"title":"题目 2","slug":"题目-2","link":"#题目-2","children":[]},{"level":3,"title":"题目 3","slug":"题目-3","link":"#题目-3","children":[]}]}],"relativePath":"article/【2023】青训营 - 前端练习题汇总解析.md","lastUpdated":1681026524000}'),p={name:"article/【2023】青训营 - 前端练习题汇总解析.md"},e=l(`<h1 id="【2023】青训营-前端练习题汇总解析" tabindex="-1">【2023】青训营 - 前端练习题汇总解析 <a class="header-anchor" href="#【2023】青训营-前端练习题汇总解析" aria-hidden="true">#</a></h1><p>汇总了青训营官方账号每天发布的练习题,并且给出了答案、做了简单解析与知识扩充,有不足之处欢迎一起交流学习。</p><p>每天的选择题不同而编程题是一样的直接去Leetcode刷题即可。</p><h2 id="选择题" tabindex="-1">选择题 <a class="header-anchor" href="#选择题" aria-hidden="true">#</a></h2><h3 id="day-1" tabindex="-1">DAY 1 <a class="header-anchor" href="#day-1" aria-hidden="true">#</a></h3><h4 id="题目描述" tabindex="-1">题目描述 <a class="header-anchor" href="#题目描述" aria-hidden="true">#</a></h4><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">选择题 1 </span></span>
<span class="line"><span style="color:#A6ACCD;">下列哪些是 HTML5 的新特性 </span></span>
<span class="line"><span style="color:#A6ACCD;">A. 语义标签 </span></span>
<span class="line"><span style="color:#A6ACCD;">B. Canvas 绘图 </span></span>

View File

@@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const A=JSON.parse('{"title":"【2023】青训营 - 前端练习题汇总解析","description":"","frontmatter":{},"headers":[{"level":2,"title":"选择题","slug":"选择题","link":"#选择题","children":[{"level":3,"title":"DAY 1","slug":"day-1","link":"#day-1","children":[]},{"level":3,"title":"DAY 2","slug":"day-2","link":"#day-2","children":[]},{"level":3,"title":"DAY 3","slug":"day-3","link":"#day-3","children":[]},{"level":3,"title":"DAY 4","slug":"day-4","link":"#day-4","children":[]},{"level":3,"title":"DAY 5","slug":"day-5","link":"#day-5","children":[]},{"level":3,"title":"DAY 6","slug":"day-6","link":"#day-6","children":[]},{"level":3,"title":"DAY 7","slug":"day-7","link":"#day-7","children":[]},{"level":3,"title":"DAY 8","slug":"day-8","link":"#day-8","children":[]},{"level":3,"title":"DAY 9","slug":"day-9","link":"#day-9","children":[]}]},{"level":2,"title":"编程题","slug":"编程题","link":"#编程题","children":[{"level":3,"title":"题目 1","slug":"题目-1","link":"#题目-1","children":[]},{"level":3,"title":"题目 2","slug":"题目-2","link":"#题目-2","children":[]},{"level":3,"title":"题目 3","slug":"题目-3","link":"#题目-3","children":[]}]}],"relativePath":"article/【2023】青训营 - 前端练习题汇总解析.md","lastUpdated":1680702249000}'),p={name:"article/【2023】青训营 - 前端练习题汇总解析.md"},e=l("",150),o=[e];function r(c,t,i,y,C,d){return n(),a("div",null,o)}const b=s(p,[["render",r]]);export{A as __pageData,b as default};
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const A=JSON.parse('{"title":"【2023】青训营 - 前端练习题汇总解析","description":"","frontmatter":{},"headers":[{"level":2,"title":"选择题","slug":"选择题","link":"#选择题","children":[{"level":3,"title":"DAY 1","slug":"day-1","link":"#day-1","children":[]},{"level":3,"title":"DAY 2","slug":"day-2","link":"#day-2","children":[]},{"level":3,"title":"DAY 3","slug":"day-3","link":"#day-3","children":[]},{"level":3,"title":"DAY 4","slug":"day-4","link":"#day-4","children":[]},{"level":3,"title":"DAY 5","slug":"day-5","link":"#day-5","children":[]},{"level":3,"title":"DAY 6","slug":"day-6","link":"#day-6","children":[]},{"level":3,"title":"DAY 7","slug":"day-7","link":"#day-7","children":[]},{"level":3,"title":"DAY 8","slug":"day-8","link":"#day-8","children":[]},{"level":3,"title":"DAY 9","slug":"day-9","link":"#day-9","children":[]}]},{"level":2,"title":"编程题","slug":"编程题","link":"#编程题","children":[{"level":3,"title":"题目 1","slug":"题目-1","link":"#题目-1","children":[]},{"level":3,"title":"题目 2","slug":"题目-2","link":"#题目-2","children":[]},{"level":3,"title":"题目 3","slug":"题目-3","link":"#题目-3","children":[]}]}],"relativePath":"article/【2023】青训营 - 前端练习题汇总解析.md","lastUpdated":1681026524000}'),p={name:"article/【2023】青训营 - 前端练习题汇总解析.md"},e=l("",150),o=[e];function r(c,t,i,y,C,d){return n(),a("div",null,o)}const b=s(p,[["render",r]]);export{A as __pageData,b as default};

View File

@@ -1,4 +1,4 @@
import{_ as s,o as a,c as n,a as l}from"./app.ab8d0b9f.js";const A=JSON.parse('{"title":"【字节跳动】前端面试题总结","description":"","frontmatter":{},"headers":[{"level":2,"title":"看代码说结果","slug":"看代码说结果","link":"#看代码说结果","children":[{"level":3,"title":"代码输出结果1","slug":"代码输出结果1","link":"#代码输出结果1","children":[]},{"level":3,"title":"代码输出结果2","slug":"代码输出结果2","link":"#代码输出结果2","children":[]},{"level":3,"title":"代码输出结果3","slug":"代码输出结果3","link":"#代码输出结果3","children":[]},{"level":3,"title":"代码输出结果4","slug":"代码输出结果4","link":"#代码输出结果4","children":[]},{"level":3,"title":"代码输出结果5","slug":"代码输出结果5","link":"#代码输出结果5","children":[]},{"level":3,"title":"代码输出结果6","slug":"代码输出结果6","link":"#代码输出结果6","children":[]},{"level":3,"title":"代码输出结果7","slug":"代码输出结果7","link":"#代码输出结果7","children":[]}]},{"level":2,"title":"问答题","slug":"问答题","link":"#问答题","children":[{"level":3,"title":"HTTP缓存的请求头与响应头有哪些","slug":"http缓存的请求头与响应头有哪些","link":"#http缓存的请求头与响应头有哪些","children":[]},{"level":3,"title":"宏任务与微任务有哪些区别?简述他们的应用场景","slug":"宏任务与微任务有哪些区别-简述他们的应用场景","link":"#宏任务与微任务有哪些区别-简述他们的应用场景","children":[]}]},{"level":2,"title":"算法","slug":"算法","link":"#算法","children":[]}],"relativePath":"article/【字节跳动】前端面试题总结.md","lastUpdated":1680702249000}'),p={name:"article/【字节跳动】前端面试题总结.md"},e=l(`<h1 id="【字节跳动】前端面试题总结" tabindex="-1">【字节跳动】前端面试题总结 <a class="header-anchor" href="#【字节跳动】前端面试题总结" aria-hidden="true">#</a></h1><h2 id="看代码说结果" tabindex="-1">看代码说结果 <a class="header-anchor" href="#看代码说结果" aria-hidden="true">#</a></h2><h3 id="代码输出结果1" tabindex="-1">代码输出结果1 <a class="header-anchor" href="#代码输出结果1" aria-hidden="true">#</a></h3><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">([</span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">1</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">2</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">3</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">]</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">map</span><span style="color:#A6ACCD;">(parseInt))</span></span>
import{_ as s,o as a,c as n,a as l}from"./app.ab8d0b9f.js";const A=JSON.parse('{"title":"【字节跳动】前端面试题总结","description":"","frontmatter":{},"headers":[{"level":2,"title":"看代码说结果","slug":"看代码说结果","link":"#看代码说结果","children":[{"level":3,"title":"代码输出结果1","slug":"代码输出结果1","link":"#代码输出结果1","children":[]},{"level":3,"title":"代码输出结果2","slug":"代码输出结果2","link":"#代码输出结果2","children":[]},{"level":3,"title":"代码输出结果3","slug":"代码输出结果3","link":"#代码输出结果3","children":[]},{"level":3,"title":"代码输出结果4","slug":"代码输出结果4","link":"#代码输出结果4","children":[]},{"level":3,"title":"代码输出结果5","slug":"代码输出结果5","link":"#代码输出结果5","children":[]},{"level":3,"title":"代码输出结果6","slug":"代码输出结果6","link":"#代码输出结果6","children":[]},{"level":3,"title":"代码输出结果7","slug":"代码输出结果7","link":"#代码输出结果7","children":[]}]},{"level":2,"title":"问答题","slug":"问答题","link":"#问答题","children":[{"level":3,"title":"HTTP缓存的请求头与响应头有哪些","slug":"http缓存的请求头与响应头有哪些","link":"#http缓存的请求头与响应头有哪些","children":[]},{"level":3,"title":"宏任务与微任务有哪些区别?简述他们的应用场景","slug":"宏任务与微任务有哪些区别-简述他们的应用场景","link":"#宏任务与微任务有哪些区别-简述他们的应用场景","children":[]}]},{"level":2,"title":"算法","slug":"算法","link":"#算法","children":[]}],"relativePath":"article/【字节跳动】前端面试题总结.md","lastUpdated":1681026524000}'),p={name:"article/【字节跳动】前端面试题总结.md"},e=l(`<h1 id="【字节跳动】前端面试题总结" tabindex="-1">【字节跳动】前端面试题总结 <a class="header-anchor" href="#【字节跳动】前端面试题总结" aria-hidden="true">#</a></h1><h2 id="看代码说结果" tabindex="-1">看代码说结果 <a class="header-anchor" href="#看代码说结果" aria-hidden="true">#</a></h2><h3 id="代码输出结果1" tabindex="-1">代码输出结果1 <a class="header-anchor" href="#代码输出结果1" aria-hidden="true">#</a></h3><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">([</span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">1</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">2</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">3</span><span style="color:#89DDFF;">&#39;</span><span style="color:#A6ACCD;">]</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">map</span><span style="color:#A6ACCD;">(parseInt))</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">[1, NaN, NaN]</span></span>
<span class="line"><span style="color:#A6ACCD;"></span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><h3 id="2" tabindex="-1">2 <a class="header-anchor" href="#2" aria-hidden="true">#</a></h3><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#C792EA;">let</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">[</span><span style="color:#A6ACCD;">a </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">1</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> b</span><span style="color:#89DDFF;">]</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> []</span></span>
<span class="line"><span style="color:#A6ACCD;">console</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">log</span><span style="color:#A6ACCD;">(a</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> b)</span></span>

View File

@@ -1 +1 @@
import{_ as s,o as a,c as n,a as l}from"./app.ab8d0b9f.js";const A=JSON.parse('{"title":"【字节跳动】前端面试题总结","description":"","frontmatter":{},"headers":[{"level":2,"title":"看代码说结果","slug":"看代码说结果","link":"#看代码说结果","children":[{"level":3,"title":"代码输出结果1","slug":"代码输出结果1","link":"#代码输出结果1","children":[]},{"level":3,"title":"代码输出结果2","slug":"代码输出结果2","link":"#代码输出结果2","children":[]},{"level":3,"title":"代码输出结果3","slug":"代码输出结果3","link":"#代码输出结果3","children":[]},{"level":3,"title":"代码输出结果4","slug":"代码输出结果4","link":"#代码输出结果4","children":[]},{"level":3,"title":"代码输出结果5","slug":"代码输出结果5","link":"#代码输出结果5","children":[]},{"level":3,"title":"代码输出结果6","slug":"代码输出结果6","link":"#代码输出结果6","children":[]},{"level":3,"title":"代码输出结果7","slug":"代码输出结果7","link":"#代码输出结果7","children":[]}]},{"level":2,"title":"问答题","slug":"问答题","link":"#问答题","children":[{"level":3,"title":"HTTP缓存的请求头与响应头有哪些","slug":"http缓存的请求头与响应头有哪些","link":"#http缓存的请求头与响应头有哪些","children":[]},{"level":3,"title":"宏任务与微任务有哪些区别?简述他们的应用场景","slug":"宏任务与微任务有哪些区别-简述他们的应用场景","link":"#宏任务与微任务有哪些区别-简述他们的应用场景","children":[]}]},{"level":2,"title":"算法","slug":"算法","link":"#算法","children":[]}],"relativePath":"article/【字节跳动】前端面试题总结.md","lastUpdated":1680702249000}'),p={name:"article/【字节跳动】前端面试题总结.md"},e=l("",36),o=[e];function r(c,t,i,y,D,C){return a(),n("div",null,o)}const d=s(p,[["render",r]]);export{A as __pageData,d as default};
import{_ as s,o as a,c as n,a as l}from"./app.ab8d0b9f.js";const A=JSON.parse('{"title":"【字节跳动】前端面试题总结","description":"","frontmatter":{},"headers":[{"level":2,"title":"看代码说结果","slug":"看代码说结果","link":"#看代码说结果","children":[{"level":3,"title":"代码输出结果1","slug":"代码输出结果1","link":"#代码输出结果1","children":[]},{"level":3,"title":"代码输出结果2","slug":"代码输出结果2","link":"#代码输出结果2","children":[]},{"level":3,"title":"代码输出结果3","slug":"代码输出结果3","link":"#代码输出结果3","children":[]},{"level":3,"title":"代码输出结果4","slug":"代码输出结果4","link":"#代码输出结果4","children":[]},{"level":3,"title":"代码输出结果5","slug":"代码输出结果5","link":"#代码输出结果5","children":[]},{"level":3,"title":"代码输出结果6","slug":"代码输出结果6","link":"#代码输出结果6","children":[]},{"level":3,"title":"代码输出结果7","slug":"代码输出结果7","link":"#代码输出结果7","children":[]}]},{"level":2,"title":"问答题","slug":"问答题","link":"#问答题","children":[{"level":3,"title":"HTTP缓存的请求头与响应头有哪些","slug":"http缓存的请求头与响应头有哪些","link":"#http缓存的请求头与响应头有哪些","children":[]},{"level":3,"title":"宏任务与微任务有哪些区别?简述他们的应用场景","slug":"宏任务与微任务有哪些区别-简述他们的应用场景","link":"#宏任务与微任务有哪些区别-简述他们的应用场景","children":[]}]},{"level":2,"title":"算法","slug":"算法","link":"#算法","children":[]}],"relativePath":"article/【字节跳动】前端面试题总结.md","lastUpdated":1681026524000}'),p={name:"article/【字节跳动】前端面试题总结.md"},e=l("",36),o=[e];function r(c,t,i,y,D,C){return a(),n("div",null,o)}const d=s(p,[["render",r]]);export{A as __pageData,d as default};

View File

@@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const A=JSON.parse('{"title":"【快手】深入理解前端面试题","description":"","frontmatter":{},"headers":[{"level":2,"title":"快手一面","slug":"快手一面","link":"#快手一面","children":[{"level":3,"title":"Vue生命周期","slug":"vue生命周期","link":"#vue生命周期","children":[]},{"level":3,"title":"网络请求一般在什么时候发起,为什么","slug":"网络请求一般在什么时候发起-为什么","link":"#网络请求一般在什么时候发起-为什么","children":[]},{"level":3,"title":"setup的执行时机相当于哪个生命周期","slug":"setup的执行时机相当于哪个生命周期","link":"#setup的执行时机相当于哪个生命周期","children":[]},{"level":3,"title":"Vue2和Vue3的响应式原理","slug":"vue2和vue3的响应式原理","link":"#vue2和vue3的响应式原理","children":[]},{"level":3,"title":"Proxy相比于defineProperty有何优势","slug":"proxy相比于defineproperty有何优势","link":"#proxy相比于defineproperty有何优势","children":[]},{"level":3,"title":"Vue3数据双向绑定原理","slug":"vue3数据双向绑定原理","link":"#vue3数据双向绑定原理","children":[]},{"level":3,"title":"ref与reactive区别与适用场景","slug":"ref与reactive区别与适用场景","link":"#ref与reactive区别与适用场景","children":[]},{"level":3,"title":"Vue3功能上相比于Vue2有哪些优点","slug":"vue3功能上相比于vue2有哪些优点","link":"#vue3功能上相比于vue2有哪些优点","children":[]},{"level":3,"title":"Vue组件传参方法","slug":"vue组件传参方法","link":"#vue组件传参方法","children":[]},{"level":3,"title":"Vuex异步操作如何同时修改多个state","slug":"vuex异步操作如何同时修改多个state","link":"#vuex异步操作如何同时修改多个state","children":[]},{"level":3,"title":"ES6特性了解哪些","slug":"es6特性了解哪些","link":"#es6特性了解哪些","children":[]},{"level":3,"title":"let & const的特性","slug":"let-const的特性","link":"#let-const的特性","children":[]},{"level":3,"title":"Promise介绍一下","slug":"promise介绍一下","link":"#promise介绍一下","children":[]},{"level":3,"title":"Promise.all .race .any功能及区别","slug":"promise-all-race-any功能及区别","link":"#promise-all-race-any功能及区别","children":[]},{"level":3,"title":"Promise看代码写结果","slug":"promise看代码写结果","link":"#promise看代码写结果","children":[]},{"level":3,"title":"手写Promise.all()","slug":"手写promise-all","link":"#手写promise-all","children":[]},{"level":3,"title":"Cookie localStorage SessionStorage区别及使用场景","slug":"cookie-localstorage-sessionstorage区别及使用场景","link":"#cookie-localstorage-sessionstorage区别及使用场景","children":[]},{"level":3,"title":"localStorage常用方法","slug":"localstorage常用方法","link":"#localstorage常用方法","children":[]},{"level":3,"title":"跨域解决方法","slug":"跨域解决方法","link":"#跨域解决方法","children":[]},{"level":3,"title":"介绍一下事件循环","slug":"介绍一下事件循环","link":"#介绍一下事件循环","children":[]},{"level":3,"title":"事件循环代码运行结果","slug":"事件循环代码运行结果","link":"#事件循环代码运行结果","children":[]},{"level":3,"title":"介绍一下Flex布局","slug":"介绍一下flex布局","link":"#介绍一下flex布局","children":[]}]},{"level":2,"title":"快手二面","slug":"快手二面","link":"#快手二面","children":[{"level":3,"title":"CSS主题切换方案","slug":"css主题切换方案","link":"#css主题切换方案","children":[]},{"level":3,"title":"Proxy与defineProperty实现数据劫持","slug":"proxy与defineproperty实现数据劫持","link":"#proxy与defineproperty实现数据劫持","children":[]},{"level":3,"title":"算法: 两数之和-修改版","slug":"算法-两数之和-修改版","link":"#算法-两数之和-修改版","children":[]}]}],"relativePath":"article/【快手】深入理解前端面试题.md","lastUpdated":1680702249000}'),p={name:"article/【快手】深入理解前端面试题.md"},e=l("",87),o=[e];function r(c,t,y,F,i,D){return n(),a("div",null,o)}const d=s(p,[["render",r]]);export{A as __pageData,d as default};
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const A=JSON.parse('{"title":"【快手】深入理解前端面试题","description":"","frontmatter":{},"headers":[{"level":2,"title":"快手一面","slug":"快手一面","link":"#快手一面","children":[{"level":3,"title":"Vue生命周期","slug":"vue生命周期","link":"#vue生命周期","children":[]},{"level":3,"title":"网络请求一般在什么时候发起,为什么","slug":"网络请求一般在什么时候发起-为什么","link":"#网络请求一般在什么时候发起-为什么","children":[]},{"level":3,"title":"setup的执行时机相当于哪个生命周期","slug":"setup的执行时机相当于哪个生命周期","link":"#setup的执行时机相当于哪个生命周期","children":[]},{"level":3,"title":"Vue2和Vue3的响应式原理","slug":"vue2和vue3的响应式原理","link":"#vue2和vue3的响应式原理","children":[]},{"level":3,"title":"Proxy相比于defineProperty有何优势","slug":"proxy相比于defineproperty有何优势","link":"#proxy相比于defineproperty有何优势","children":[]},{"level":3,"title":"Vue3数据双向绑定原理","slug":"vue3数据双向绑定原理","link":"#vue3数据双向绑定原理","children":[]},{"level":3,"title":"ref与reactive区别与适用场景","slug":"ref与reactive区别与适用场景","link":"#ref与reactive区别与适用场景","children":[]},{"level":3,"title":"Vue3功能上相比于Vue2有哪些优点","slug":"vue3功能上相比于vue2有哪些优点","link":"#vue3功能上相比于vue2有哪些优点","children":[]},{"level":3,"title":"Vue组件传参方法","slug":"vue组件传参方法","link":"#vue组件传参方法","children":[]},{"level":3,"title":"Vuex异步操作如何同时修改多个state","slug":"vuex异步操作如何同时修改多个state","link":"#vuex异步操作如何同时修改多个state","children":[]},{"level":3,"title":"ES6特性了解哪些","slug":"es6特性了解哪些","link":"#es6特性了解哪些","children":[]},{"level":3,"title":"let & const的特性","slug":"let-const的特性","link":"#let-const的特性","children":[]},{"level":3,"title":"Promise介绍一下","slug":"promise介绍一下","link":"#promise介绍一下","children":[]},{"level":3,"title":"Promise.all .race .any功能及区别","slug":"promise-all-race-any功能及区别","link":"#promise-all-race-any功能及区别","children":[]},{"level":3,"title":"Promise看代码写结果","slug":"promise看代码写结果","link":"#promise看代码写结果","children":[]},{"level":3,"title":"手写Promise.all()","slug":"手写promise-all","link":"#手写promise-all","children":[]},{"level":3,"title":"Cookie localStorage SessionStorage区别及使用场景","slug":"cookie-localstorage-sessionstorage区别及使用场景","link":"#cookie-localstorage-sessionstorage区别及使用场景","children":[]},{"level":3,"title":"localStorage常用方法","slug":"localstorage常用方法","link":"#localstorage常用方法","children":[]},{"level":3,"title":"跨域解决方法","slug":"跨域解决方法","link":"#跨域解决方法","children":[]},{"level":3,"title":"介绍一下事件循环","slug":"介绍一下事件循环","link":"#介绍一下事件循环","children":[]},{"level":3,"title":"事件循环代码运行结果","slug":"事件循环代码运行结果","link":"#事件循环代码运行结果","children":[]},{"level":3,"title":"介绍一下Flex布局","slug":"介绍一下flex布局","link":"#介绍一下flex布局","children":[]}]},{"level":2,"title":"快手二面","slug":"快手二面","link":"#快手二面","children":[{"level":3,"title":"CSS主题切换方案","slug":"css主题切换方案","link":"#css主题切换方案","children":[]},{"level":3,"title":"Proxy与defineProperty实现数据劫持","slug":"proxy与defineproperty实现数据劫持","link":"#proxy与defineproperty实现数据劫持","children":[]},{"level":3,"title":"算法: 两数之和-修改版","slug":"算法-两数之和-修改版","link":"#算法-两数之和-修改版","children":[]}]}],"relativePath":"article/【快手】深入理解前端面试题.md","lastUpdated":1681026524000}'),p={name:"article/【快手】深入理解前端面试题.md"},e=l("",87),o=[e];function r(c,t,y,F,i,D){return n(),a("div",null,o)}const d=s(p,[["render",r]]);export{A as __pageData,d as default};

View File

@@ -1 +1 @@
import{_ as s,o as a,c as n,a as l}from"./app.ab8d0b9f.js";const D=JSON.parse('{"title":"【用友金融】前端面试题总结","description":"","frontmatter":{},"headers":[{"level":2,"title":"回流与重绘","slug":"回流与重绘","link":"#回流与重绘","children":[]},{"level":2,"title":"CSS属性","slug":"css属性","link":"#css属性","children":[]},{"level":2,"title":"函数执行结果","slug":"函数执行结果","link":"#函数执行结果","children":[{"level":3,"title":"题目1","slug":"题目1","link":"#题目1","children":[]},{"level":3,"title":"题目2","slug":"题目2","link":"#题目2","children":[]},{"level":3,"title":"题目3","slug":"题目3","link":"#题目3","children":[]},{"level":3,"title":"题目4","slug":"题目4","link":"#题目4","children":[]},{"level":3,"title":"题目5","slug":"题目5","link":"#题目5","children":[]},{"level":3,"title":"题目6","slug":"题目6","link":"#题目6","children":[]},{"level":3,"title":"题目7","slug":"题目7","link":"#题目7","children":[]},{"level":3,"title":"题目8","slug":"题目8","link":"#题目8","children":[]}]},{"level":2,"title":"CSS权重的优先级","slug":"css权重的优先级","link":"#css权重的优先级","children":[]},{"level":2,"title":"HTTP状态码","slug":"http状态码","link":"#http状态码","children":[]},{"level":2,"title":"BFC(块级格式上下文)","slug":"bfc-块级格式上下文","link":"#bfc-块级格式上下文","children":[]},{"level":2,"title":"元素浮动","slug":"元素浮动","link":"#元素浮动","children":[]},{"level":2,"title":"HTTP请求方法","slug":"http请求方法","link":"#http请求方法","children":[]},{"level":2,"title":"跨域问题","slug":"跨域问题","link":"#跨域问题","children":[]},{"level":2,"title":"了解Webpack的哪些配置项","slug":"了解webpack的哪些配置项","link":"#了解webpack的哪些配置项","children":[]},{"level":2,"title":"判断变量类型","slug":"判断变量类型","link":"#判断变量类型","children":[]},{"level":2,"title":"JS浮点数相加精度问题","slug":"js浮点数相加精度问题","link":"#js浮点数相加精度问题","children":[]},{"level":2,"title":"简单讲讲Vue Router原理","slug":"简单讲讲vue-router原理","link":"#简单讲讲vue-router原理","children":[]},{"level":2,"title":"ES6熟悉吗","slug":"es6熟悉吗","link":"#es6熟悉吗","children":[]},{"level":2,"title":"CSS如何实现水平居中与垂直居中","slug":"css如何实现水平居中与垂直居中","link":"#css如何实现水平居中与垂直居中","children":[]}],"relativePath":"article/【用友金融】前端面试题总结.md","lastUpdated":1680702249000}'),e={name:"article/【用友金融】前端面试题总结.md"},p=l("",71),o=[p];function r(c,t,i,d,y,C){return a(),n("div",null,o)}const F=s(e,[["render",r]]);export{D as __pageData,F as default};
import{_ as s,o as a,c as n,a as l}from"./app.ab8d0b9f.js";const D=JSON.parse('{"title":"【用友金融】前端面试题总结","description":"","frontmatter":{},"headers":[{"level":2,"title":"回流与重绘","slug":"回流与重绘","link":"#回流与重绘","children":[]},{"level":2,"title":"CSS属性","slug":"css属性","link":"#css属性","children":[]},{"level":2,"title":"函数执行结果","slug":"函数执行结果","link":"#函数执行结果","children":[{"level":3,"title":"题目1","slug":"题目1","link":"#题目1","children":[]},{"level":3,"title":"题目2","slug":"题目2","link":"#题目2","children":[]},{"level":3,"title":"题目3","slug":"题目3","link":"#题目3","children":[]},{"level":3,"title":"题目4","slug":"题目4","link":"#题目4","children":[]},{"level":3,"title":"题目5","slug":"题目5","link":"#题目5","children":[]},{"level":3,"title":"题目6","slug":"题目6","link":"#题目6","children":[]},{"level":3,"title":"题目7","slug":"题目7","link":"#题目7","children":[]},{"level":3,"title":"题目8","slug":"题目8","link":"#题目8","children":[]}]},{"level":2,"title":"CSS权重的优先级","slug":"css权重的优先级","link":"#css权重的优先级","children":[]},{"level":2,"title":"HTTP状态码","slug":"http状态码","link":"#http状态码","children":[]},{"level":2,"title":"BFC(块级格式上下文)","slug":"bfc-块级格式上下文","link":"#bfc-块级格式上下文","children":[]},{"level":2,"title":"元素浮动","slug":"元素浮动","link":"#元素浮动","children":[]},{"level":2,"title":"HTTP请求方法","slug":"http请求方法","link":"#http请求方法","children":[]},{"level":2,"title":"跨域问题","slug":"跨域问题","link":"#跨域问题","children":[]},{"level":2,"title":"了解Webpack的哪些配置项","slug":"了解webpack的哪些配置项","link":"#了解webpack的哪些配置项","children":[]},{"level":2,"title":"判断变量类型","slug":"判断变量类型","link":"#判断变量类型","children":[]},{"level":2,"title":"JS浮点数相加精度问题","slug":"js浮点数相加精度问题","link":"#js浮点数相加精度问题","children":[]},{"level":2,"title":"简单讲讲Vue Router原理","slug":"简单讲讲vue-router原理","link":"#简单讲讲vue-router原理","children":[]},{"level":2,"title":"ES6熟悉吗","slug":"es6熟悉吗","link":"#es6熟悉吗","children":[]},{"level":2,"title":"CSS如何实现水平居中与垂直居中","slug":"css如何实现水平居中与垂直居中","link":"#css如何实现水平居中与垂直居中","children":[]}],"relativePath":"article/【用友金融】前端面试题总结.md","lastUpdated":1681026524000}'),e={name:"article/【用友金融】前端面试题总结.md"},p=l("",71),o=[p];function r(c,t,i,d,y,C){return a(),n("div",null,o)}const F=s(e,[["render",r]]);export{D as __pageData,F as default};

View File

@@ -1 +1 @@
import{_ as s,o as n,c as a,a as e}from"./app.ab8d0b9f.js";const u=JSON.parse('{"title":"一文读懂事件冒泡与事件捕获","description":"","frontmatter":{},"headers":[{"level":2,"title":"💡 从例子入手","slug":"💡-从例子入手","link":"#💡-从例子入手","children":[]},{"level":2,"title":"🤔 什么是事件冒泡机制?事件捕获又是什么?","slug":"🤔-什么是事件冒泡机制-事件捕获又是什么","link":"#🤔-什么是事件冒泡机制-事件捕获又是什么","children":[{"level":3,"title":"📌 用例子验证结论","slug":"📌-用例子验证结论","link":"#📌-用例子验证结论","children":[]}]},{"level":2,"title":"🧐 为什么有两个阶段?它们有什么用?","slug":"🧐-为什么有两个阶段-它们有什么用","link":"#🧐-为什么有两个阶段-它们有什么用","children":[{"level":3,"title":"📌 历史渊源","slug":"📌-历史渊源","link":"#📌-历史渊源","children":[]},{"level":3,"title":"📌 事件代理 (Event delegation)","slug":"📌-事件代理-event-delegation","link":"#📌-事件代理-event-delegation","children":[]},{"level":3,"title":"📌 事件对象中的target与currentTarget","slug":"📌-事件对象中的target与currenttarget","link":"#📌-事件对象中的target与currenttarget","children":[]}]},{"level":2,"title":"🥳 如何阻止事件冒泡?","slug":"🥳-如何阻止事件冒泡","link":"#🥳-如何阻止事件冒泡","children":[{"level":3,"title":"📌 .stopPropagation()","slug":"📌-stoppropagation","link":"#📌-stoppropagation","children":[]},{"level":3,"title":"📌 e.target == e.currentTarget","slug":"📌-e-target-e-currenttarget","link":"#📌-e-target-e-currenttarget","children":[]},{"level":3,"title":"📌 return false","slug":"📌-return-false","link":"#📌-return-false","children":[]}]},{"level":2,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}],"relativePath":"article/一文读懂事件冒泡与事件捕获.md","lastUpdated":1680702249000}'),l={name:"article/一文读懂事件冒泡与事件捕获.md"},p=e("",63),o=[p];function t(r,c,i,d,D,y){return n(),a("div",null,o)}const C=s(l,[["render",t]]);export{u as __pageData,C as default};
import{_ as s,o as n,c as a,a as e}from"./app.ab8d0b9f.js";const u=JSON.parse('{"title":"一文读懂事件冒泡与事件捕获","description":"","frontmatter":{},"headers":[{"level":2,"title":"💡 从例子入手","slug":"💡-从例子入手","link":"#💡-从例子入手","children":[]},{"level":2,"title":"🤔 什么是事件冒泡机制?事件捕获又是什么?","slug":"🤔-什么是事件冒泡机制-事件捕获又是什么","link":"#🤔-什么是事件冒泡机制-事件捕获又是什么","children":[{"level":3,"title":"📌 用例子验证结论","slug":"📌-用例子验证结论","link":"#📌-用例子验证结论","children":[]}]},{"level":2,"title":"🧐 为什么有两个阶段?它们有什么用?","slug":"🧐-为什么有两个阶段-它们有什么用","link":"#🧐-为什么有两个阶段-它们有什么用","children":[{"level":3,"title":"📌 历史渊源","slug":"📌-历史渊源","link":"#📌-历史渊源","children":[]},{"level":3,"title":"📌 事件代理 (Event delegation)","slug":"📌-事件代理-event-delegation","link":"#📌-事件代理-event-delegation","children":[]},{"level":3,"title":"📌 事件对象中的target与currentTarget","slug":"📌-事件对象中的target与currenttarget","link":"#📌-事件对象中的target与currenttarget","children":[]}]},{"level":2,"title":"🥳 如何阻止事件冒泡?","slug":"🥳-如何阻止事件冒泡","link":"#🥳-如何阻止事件冒泡","children":[{"level":3,"title":"📌 .stopPropagation()","slug":"📌-stoppropagation","link":"#📌-stoppropagation","children":[]},{"level":3,"title":"📌 e.target == e.currentTarget","slug":"📌-e-target-e-currenttarget","link":"#📌-e-target-e-currenttarget","children":[]},{"level":3,"title":"📌 return false","slug":"📌-return-false","link":"#📌-return-false","children":[]}]},{"level":2,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}],"relativePath":"article/一文读懂事件冒泡与事件捕获.md","lastUpdated":1681026524000}'),l={name:"article/一文读懂事件冒泡与事件捕获.md"},p=e("",63),o=[p];function t(r,c,i,d,D,y){return n(),a("div",null,o)}const C=s(l,[["render",t]]);export{u as __pageData,C as default};

View File

@@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const d=JSON.parse('{"title":"一文读懂伪类与伪元素","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 什么是伪类?","slug":"🔰-什么是伪类","link":"#🔰-什么是伪类","children":[{"level":3,"title":"典型的伪类关键字","slug":"典型的伪类关键字","link":"#典型的伪类关键字","children":[]},{"level":3,"title":"单独使用的伪类关键字","slug":"单独使用的伪类关键字","link":"#单独使用的伪类关键字","children":[]}]},{"level":2,"title":"🔰 什么是伪元素?","slug":"🔰-什么是伪元素","link":"#🔰-什么是伪元素","children":[]},{"level":2,"title":"📌 伪类与伪元素共同使用","slug":"📌-伪类与伪元素共同使用","link":"#📌-伪类与伪元素共同使用","children":[{"level":3,"title":"题目解读","slug":"题目解读","link":"#题目解读","children":[]},{"level":3,"title":"实现代码","slug":"实现代码","link":"#实现代码","children":[]},{"level":3,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}]}],"relativePath":"article/一文读懂伪类与伪元素.md","lastUpdated":1680702249000}'),p={name:"article/一文读懂伪类与伪元素.md"},e=l(`<h1 id="一文读懂伪类与伪元素" tabindex="-1">一文读懂伪类与伪元素 <a class="header-anchor" href="#一文读懂伪类与伪元素" aria-hidden="true">#</a></h1><h2 id="🔰-什么是伪类" tabindex="-1">🔰 什么是伪类? <a class="header-anchor" href="#🔰-什么是伪类" aria-hidden="true">#</a></h2><p>伪类是添加到选择器的 <strong>关键字</strong> ,指定要选择的元素的特殊状态。</p><h3 id="典型的伪类关键字" tabindex="-1">典型的伪类关键字 <a class="header-anchor" href="#典型的伪类关键字" aria-hidden="true">#</a></h3><p>在大多数情况下,<strong>伪类都与基础选择器搭配使用</strong>,下述是伪类在一些典型场景下的应用。</p><h4 id="hover" tabindex="-1"><code>:hover</code> <a class="header-anchor" href="#hover" aria-hidden="true">#</a></h4><p>指针在 <code>&lt;button&gt;</code> 上悬停,但没有激活它时,按钮颜色变为蓝色</p><div class="language-css line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">css</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">button</span><span style="color:#89DDFF;">:</span><span style="color:#C792EA;">hover</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const d=JSON.parse('{"title":"一文读懂伪类与伪元素","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 什么是伪类?","slug":"🔰-什么是伪类","link":"#🔰-什么是伪类","children":[{"level":3,"title":"典型的伪类关键字","slug":"典型的伪类关键字","link":"#典型的伪类关键字","children":[]},{"level":3,"title":"单独使用的伪类关键字","slug":"单独使用的伪类关键字","link":"#单独使用的伪类关键字","children":[]}]},{"level":2,"title":"🔰 什么是伪元素?","slug":"🔰-什么是伪元素","link":"#🔰-什么是伪元素","children":[]},{"level":2,"title":"📌 伪类与伪元素共同使用","slug":"📌-伪类与伪元素共同使用","link":"#📌-伪类与伪元素共同使用","children":[{"level":3,"title":"题目解读","slug":"题目解读","link":"#题目解读","children":[]},{"level":3,"title":"实现代码","slug":"实现代码","link":"#实现代码","children":[]},{"level":3,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}]}],"relativePath":"article/一文读懂伪类与伪元素.md","lastUpdated":1681026524000}'),p={name:"article/一文读懂伪类与伪元素.md"},e=l(`<h1 id="一文读懂伪类与伪元素" tabindex="-1">一文读懂伪类与伪元素 <a class="header-anchor" href="#一文读懂伪类与伪元素" aria-hidden="true">#</a></h1><h2 id="🔰-什么是伪类" tabindex="-1">🔰 什么是伪类? <a class="header-anchor" href="#🔰-什么是伪类" aria-hidden="true">#</a></h2><p>伪类是添加到选择器的 <strong>关键字</strong> ,指定要选择的元素的特殊状态。</p><h3 id="典型的伪类关键字" tabindex="-1">典型的伪类关键字 <a class="header-anchor" href="#典型的伪类关键字" aria-hidden="true">#</a></h3><p>在大多数情况下,<strong>伪类都与基础选择器搭配使用</strong>,下述是伪类在一些典型场景下的应用。</p><h4 id="hover" tabindex="-1"><code>:hover</code> <a class="header-anchor" href="#hover" aria-hidden="true">#</a></h4><p>指针在 <code>&lt;button&gt;</code> 上悬停,但没有激活它时,按钮颜色变为蓝色</p><div class="language-css line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">css</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">button</span><span style="color:#89DDFF;">:</span><span style="color:#C792EA;">hover</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#B2CCD6;">color</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> blue</span><span style="color:#89DDFF;">;</span></span>
<span class="line"><span style="color:#89DDFF;">}</span></span>
<span class="line"></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><blockquote><p><strong></strong>:  <code>:hover</code> <code>:hover</code> 使</p></blockquote><h4 id="not" tabindex="-1"><code>:not</code> <a class="header-anchor" href="#not" aria-hidden="true">#</a></h4><p><strong><code>:not()</code></strong> <em></em><em>negation pseudo-class</em></p><p><code>&lt;p&gt;</code></p><div class="language-css line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">css</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">body</span><span style="color:#89DDFF;">:</span><span style="color:#C792EA;">not</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">p</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>

View File

@@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const d=JSON.parse('{"title":"一文读懂伪类与伪元素","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 什么是伪类?","slug":"🔰-什么是伪类","link":"#🔰-什么是伪类","children":[{"level":3,"title":"典型的伪类关键字","slug":"典型的伪类关键字","link":"#典型的伪类关键字","children":[]},{"level":3,"title":"单独使用的伪类关键字","slug":"单独使用的伪类关键字","link":"#单独使用的伪类关键字","children":[]}]},{"level":2,"title":"🔰 什么是伪元素?","slug":"🔰-什么是伪元素","link":"#🔰-什么是伪元素","children":[]},{"level":2,"title":"📌 伪类与伪元素共同使用","slug":"📌-伪类与伪元素共同使用","link":"#📌-伪类与伪元素共同使用","children":[{"level":3,"title":"题目解读","slug":"题目解读","link":"#题目解读","children":[]},{"level":3,"title":"实现代码","slug":"实现代码","link":"#实现代码","children":[]},{"level":3,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}]}],"relativePath":"article/一文读懂伪类与伪元素.md","lastUpdated":1680702249000}'),p={name:"article/一文读懂伪类与伪元素.md"},e=l("",56),o=[e];function c(r,t,i,D,y,C){return n(),a("div",null,o)}const b=s(p,[["render",c]]);export{d as __pageData,b as default};
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const d=JSON.parse('{"title":"一文读懂伪类与伪元素","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 什么是伪类?","slug":"🔰-什么是伪类","link":"#🔰-什么是伪类","children":[{"level":3,"title":"典型的伪类关键字","slug":"典型的伪类关键字","link":"#典型的伪类关键字","children":[]},{"level":3,"title":"单独使用的伪类关键字","slug":"单独使用的伪类关键字","link":"#单独使用的伪类关键字","children":[]}]},{"level":2,"title":"🔰 什么是伪元素?","slug":"🔰-什么是伪元素","link":"#🔰-什么是伪元素","children":[]},{"level":2,"title":"📌 伪类与伪元素共同使用","slug":"📌-伪类与伪元素共同使用","link":"#📌-伪类与伪元素共同使用","children":[{"level":3,"title":"题目解读","slug":"题目解读","link":"#题目解读","children":[]},{"level":3,"title":"实现代码","slug":"实现代码","link":"#实现代码","children":[]},{"level":3,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}]}],"relativePath":"article/一文读懂伪类与伪元素.md","lastUpdated":1681026524000}'),p={name:"article/一文读懂伪类与伪元素.md"},e=l("",56),o=[e];function c(r,t,i,D,y,C){return n(),a("div",null,o)}const b=s(p,[["render",c]]);export{d as __pageData,b as default};

View File

@@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const u=JSON.parse('{"title":"一文读懂函数中this指向问题","description":"","frontmatter":{},"headers":[{"level":2,"title":"函数中this指向","slug":"函数中this指向","link":"#函数中this指向","children":[]},{"level":2,"title":"如何改变this的指向","slug":"如何改变this的指向","link":"#如何改变this的指向","children":[{"level":3,"title":"new 实例化一个函数","slug":"new-实例化一个函数","link":"#new-实例化一个函数","children":[]},{"level":3,"title":"使用 call apply bind","slug":"使用-call-apply-bind","link":"#使用-call-apply-bind","children":[]}]},{"level":2,"title":"箭头函数","slug":"箭头函数","link":"#箭头函数","children":[{"level":3,"title":"箭头函数中的this","slug":"箭头函数中的this","link":"#箭头函数中的this","children":[]},{"level":3,"title":"箭头函数中this的查找规则","slug":"箭头函数中this的查找规则","link":"#箭头函数中this的查找规则","children":[]},{"level":3,"title":"严格模式","slug":"严格模式","link":"#严格模式","children":[]}]},{"level":2,"title":"this面试题","slug":"this面试题","link":"#this面试题","children":[]}],"relativePath":"article/一文读懂函数中this指向问题.md","lastUpdated":1680702249000}'),e={name:"article/一文读懂函数中this指向问题.md"},p=l(`<h1 id="一文读懂函数中this指向问题" tabindex="-1">一文读懂函数中this指向问题 <a class="header-anchor" href="#一文读懂函数中this指向问题" aria-hidden="true">#</a></h1><h2 id="函数中this指向" tabindex="-1">函数中this指向 <a class="header-anchor" href="#函数中this指向" aria-hidden="true">#</a></h2><p>函数在调用时, Javascript会默认为this绑定一个值</p><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">// 定义一个函数</span></span>
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const u=JSON.parse('{"title":"一文读懂函数中this指向问题","description":"","frontmatter":{},"headers":[{"level":2,"title":"函数中this指向","slug":"函数中this指向","link":"#函数中this指向","children":[]},{"level":2,"title":"如何改变this的指向","slug":"如何改变this的指向","link":"#如何改变this的指向","children":[{"level":3,"title":"new 实例化一个函数","slug":"new-实例化一个函数","link":"#new-实例化一个函数","children":[]},{"level":3,"title":"使用 call apply bind","slug":"使用-call-apply-bind","link":"#使用-call-apply-bind","children":[]}]},{"level":2,"title":"箭头函数","slug":"箭头函数","link":"#箭头函数","children":[{"level":3,"title":"箭头函数中的this","slug":"箭头函数中的this","link":"#箭头函数中的this","children":[]},{"level":3,"title":"箭头函数中this的查找规则","slug":"箭头函数中this的查找规则","link":"#箭头函数中this的查找规则","children":[]},{"level":3,"title":"严格模式","slug":"严格模式","link":"#严格模式","children":[]}]},{"level":2,"title":"this面试题","slug":"this面试题","link":"#this面试题","children":[]}],"relativePath":"article/一文读懂函数中this指向问题.md","lastUpdated":1681026524000}'),e={name:"article/一文读懂函数中this指向问题.md"},p=l(`<h1 id="一文读懂函数中this指向问题" tabindex="-1">一文读懂函数中this指向问题 <a class="header-anchor" href="#一文读懂函数中this指向问题" aria-hidden="true">#</a></h1><h2 id="函数中this指向" tabindex="-1">函数中this指向 <a class="header-anchor" href="#函数中this指向" aria-hidden="true">#</a></h2><p>函数在调用时, Javascript会默认为this绑定一个值</p><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">// 定义一个函数</span></span>
<span class="line"><span style="color:#A6ACCD;">function foo() {</span></span>
<span class="line"><span style="color:#A6ACCD;">  console.log(this)</span></span>
<span class="line"><span style="color:#A6ACCD;">}</span></span>

View File

@@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const u=JSON.parse('{"title":"一文读懂函数中this指向问题","description":"","frontmatter":{},"headers":[{"level":2,"title":"函数中this指向","slug":"函数中this指向","link":"#函数中this指向","children":[]},{"level":2,"title":"如何改变this的指向","slug":"如何改变this的指向","link":"#如何改变this的指向","children":[{"level":3,"title":"new 实例化一个函数","slug":"new-实例化一个函数","link":"#new-实例化一个函数","children":[]},{"level":3,"title":"使用 call apply bind","slug":"使用-call-apply-bind","link":"#使用-call-apply-bind","children":[]}]},{"level":2,"title":"箭头函数","slug":"箭头函数","link":"#箭头函数","children":[{"level":3,"title":"箭头函数中的this","slug":"箭头函数中的this","link":"#箭头函数中的this","children":[]},{"level":3,"title":"箭头函数中this的查找规则","slug":"箭头函数中this的查找规则","link":"#箭头函数中this的查找规则","children":[]},{"level":3,"title":"严格模式","slug":"严格模式","link":"#严格模式","children":[]}]},{"level":2,"title":"this面试题","slug":"this面试题","link":"#this面试题","children":[]}],"relativePath":"article/一文读懂函数中this指向问题.md","lastUpdated":1680702249000}'),e={name:"article/一文读懂函数中this指向问题.md"},p=l("",59),o=[p];function c(i,r,t,b,C,d){return n(),a("div",null,o)}const m=s(e,[["render",c]]);export{u as __pageData,m as default};
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const u=JSON.parse('{"title":"一文读懂函数中this指向问题","description":"","frontmatter":{},"headers":[{"level":2,"title":"函数中this指向","slug":"函数中this指向","link":"#函数中this指向","children":[]},{"level":2,"title":"如何改变this的指向","slug":"如何改变this的指向","link":"#如何改变this的指向","children":[{"level":3,"title":"new 实例化一个函数","slug":"new-实例化一个函数","link":"#new-实例化一个函数","children":[]},{"level":3,"title":"使用 call apply bind","slug":"使用-call-apply-bind","link":"#使用-call-apply-bind","children":[]}]},{"level":2,"title":"箭头函数","slug":"箭头函数","link":"#箭头函数","children":[{"level":3,"title":"箭头函数中的this","slug":"箭头函数中的this","link":"#箭头函数中的this","children":[]},{"level":3,"title":"箭头函数中this的查找规则","slug":"箭头函数中this的查找规则","link":"#箭头函数中this的查找规则","children":[]},{"level":3,"title":"严格模式","slug":"严格模式","link":"#严格模式","children":[]}]},{"level":2,"title":"this面试题","slug":"this面试题","link":"#this面试题","children":[]}],"relativePath":"article/一文读懂函数中this指向问题.md","lastUpdated":1681026524000}'),e={name:"article/一文读懂函数中this指向问题.md"},p=l("",59),o=[p];function c(i,r,t,b,C,d){return n(),a("div",null,o)}const m=s(e,[["render",c]]);export{u as __pageData,m as default};

View File

@@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const u=JSON.parse('{"title":"从0实现一个年度报告","description":"","frontmatter":{},"headers":[{"level":2,"title":"实现难点","slug":"实现难点","link":"#实现难点","children":[{"level":3,"title":"1. 数据模拟","slug":"_1-数据模拟","link":"#_1-数据模拟","children":[]},{"level":3,"title":"2. 屏幕适配","slug":"_2-屏幕适配","link":"#_2-屏幕适配","children":[]},{"level":3,"title":"3. 动画效果","slug":"_3-动画效果","link":"#_3-动画效果","children":[]},{"level":3,"title":"4. 音乐播放","slug":"_4-音乐播放","link":"#_4-音乐播放","children":[]}]},{"level":2,"title":"用户数据","slug":"用户数据","link":"#用户数据","children":[{"level":3,"title":"用户数据内容","slug":"用户数据内容","link":"#用户数据内容","children":[]},{"level":3,"title":"数据模拟","slug":"数据模拟","link":"#数据模拟","children":[]}]},{"level":2,"title":"编码中遇到的问题","slug":"编码中遇到的问题","link":"#编码中遇到的问题","children":[{"level":3,"title":"音乐自动播放的问题","slug":"音乐自动播放的问题","link":"#音乐自动播放的问题","children":[]},{"level":3,"title":"VNode调整样式的问题","slug":"vnode调整样式的问题","link":"#vnode调整样式的问题","children":[]},{"level":3,"title":"监听Animation结束事件并更新响应式变量","slug":"监听animation结束事件并更新响应式变量","link":"#监听animation结束事件并更新响应式变量","children":[]},{"level":3,"title":"切换页面支持触控滑动滚轮键盘","slug":"切换页面支持触控滑动滚轮键盘","link":"#切换页面支持触控滑动滚轮键盘","children":[]},{"level":3,"title":"代码打包","slug":"代码打包","link":"#代码打包","children":[]}]},{"level":2,"title":"技术介绍","slug":"技术介绍","link":"#技术介绍","children":[]},{"level":2,"title":"功能介绍","slug":"功能介绍","link":"#功能介绍","children":[]},{"level":2,"title":"Demo展示","slug":"demo展示","link":"#demo展示","children":[]}],"relativePath":"article/从0实现一个年度报告.md","lastUpdated":1680702249000}'),p={name:"article/从0实现一个年度报告.md"},o=l("",59),e=[o];function t(c,r,F,D,y,i){return n(),a("div",null,e)}const d=s(p,[["render",t]]);export{u as __pageData,d as default};
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const u=JSON.parse('{"title":"从0实现一个年度报告","description":"","frontmatter":{},"headers":[{"level":2,"title":"实现难点","slug":"实现难点","link":"#实现难点","children":[{"level":3,"title":"1. 数据模拟","slug":"_1-数据模拟","link":"#_1-数据模拟","children":[]},{"level":3,"title":"2. 屏幕适配","slug":"_2-屏幕适配","link":"#_2-屏幕适配","children":[]},{"level":3,"title":"3. 动画效果","slug":"_3-动画效果","link":"#_3-动画效果","children":[]},{"level":3,"title":"4. 音乐播放","slug":"_4-音乐播放","link":"#_4-音乐播放","children":[]}]},{"level":2,"title":"用户数据","slug":"用户数据","link":"#用户数据","children":[{"level":3,"title":"用户数据内容","slug":"用户数据内容","link":"#用户数据内容","children":[]},{"level":3,"title":"数据模拟","slug":"数据模拟","link":"#数据模拟","children":[]}]},{"level":2,"title":"编码中遇到的问题","slug":"编码中遇到的问题","link":"#编码中遇到的问题","children":[{"level":3,"title":"音乐自动播放的问题","slug":"音乐自动播放的问题","link":"#音乐自动播放的问题","children":[]},{"level":3,"title":"VNode调整样式的问题","slug":"vnode调整样式的问题","link":"#vnode调整样式的问题","children":[]},{"level":3,"title":"监听Animation结束事件并更新响应式变量","slug":"监听animation结束事件并更新响应式变量","link":"#监听animation结束事件并更新响应式变量","children":[]},{"level":3,"title":"切换页面支持触控滑动滚轮键盘","slug":"切换页面支持触控滑动滚轮键盘","link":"#切换页面支持触控滑动滚轮键盘","children":[]},{"level":3,"title":"代码打包","slug":"代码打包","link":"#代码打包","children":[]}]},{"level":2,"title":"技术介绍","slug":"技术介绍","link":"#技术介绍","children":[]},{"level":2,"title":"功能介绍","slug":"功能介绍","link":"#功能介绍","children":[]},{"level":2,"title":"Demo展示","slug":"demo展示","link":"#demo展示","children":[]}],"relativePath":"article/从0实现一个年度报告.md","lastUpdated":1681026524000}'),p={name:"article/从0实现一个年度报告.md"},o=l("",59),e=[o];function t(c,r,F,D,y,i){return n(),a("div",null,e)}const d=s(p,[["render",t]]);export{u as __pageData,d as default};

View File

@@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const C=JSON.parse('{"title":"彻底搞懂对象的数据属性描述符、存储属性描述符","description":"","frontmatter":{},"headers":[{"level":2,"title":"属性描述符","slug":"属性描述符","link":"#属性描述符","children":[{"level":3,"title":"数据属性描述符","slug":"数据属性描述符","link":"#数据属性描述符","children":[]},{"level":3,"title":"存储属性描述符","slug":"存储属性描述符","link":"#存储属性描述符","children":[]},{"level":3,"title":"应用场景","slug":"应用场景","link":"#应用场景","children":[]}]}],"relativePath":"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md","lastUpdated":1680702249000}'),p={name:"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md"},o=l(`<h1 id="彻底搞懂对象的数据属性描述符、存储属性描述符" tabindex="-1">彻底搞懂对象的数据属性描述符、存储属性描述符 <a class="header-anchor" href="#彻底搞懂对象的数据属性描述符、存储属性描述符" aria-hidden="true">#</a></h1><h2 id="属性描述符" tabindex="-1">属性描述符 <a class="header-anchor" href="#属性描述符" aria-hidden="true">#</a></h2><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">let</span><span style="color:#A6ACCD;"> obj </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const C=JSON.parse('{"title":"彻底搞懂对象的数据属性描述符、存储属性描述符","description":"","frontmatter":{},"headers":[{"level":2,"title":"属性描述符","slug":"属性描述符","link":"#属性描述符","children":[{"level":3,"title":"数据属性描述符","slug":"数据属性描述符","link":"#数据属性描述符","children":[]},{"level":3,"title":"存储属性描述符","slug":"存储属性描述符","link":"#存储属性描述符","children":[]},{"level":3,"title":"应用场景","slug":"应用场景","link":"#应用场景","children":[]}]}],"relativePath":"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md","lastUpdated":1681026524000}'),p={name:"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md"},o=l(`<h1 id="彻底搞懂对象的数据属性描述符、存储属性描述符" tabindex="-1">彻底搞懂对象的数据属性描述符、存储属性描述符 <a class="header-anchor" href="#彻底搞懂对象的数据属性描述符、存储属性描述符" aria-hidden="true">#</a></h1><h2 id="属性描述符" tabindex="-1">属性描述符 <a class="header-anchor" href="#属性描述符" aria-hidden="true">#</a></h2><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">let</span><span style="color:#A6ACCD;"> obj </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">name</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">ziu</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">age</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">18</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">}</span></span>

View File

@@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const C=JSON.parse('{"title":"彻底搞懂对象的数据属性描述符、存储属性描述符","description":"","frontmatter":{},"headers":[{"level":2,"title":"属性描述符","slug":"属性描述符","link":"#属性描述符","children":[{"level":3,"title":"数据属性描述符","slug":"数据属性描述符","link":"#数据属性描述符","children":[]},{"level":3,"title":"存储属性描述符","slug":"存储属性描述符","link":"#存储属性描述符","children":[]},{"level":3,"title":"应用场景","slug":"应用场景","link":"#应用场景","children":[]}]}],"relativePath":"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md","lastUpdated":1680702249000}'),p={name:"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md"},o=l("",18),e=[o];function c(t,r,D,y,F,i){return n(),a("div",null,e)}const d=s(p,[["render",c]]);export{C as __pageData,d as default};
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const C=JSON.parse('{"title":"彻底搞懂对象的数据属性描述符、存储属性描述符","description":"","frontmatter":{},"headers":[{"level":2,"title":"属性描述符","slug":"属性描述符","link":"#属性描述符","children":[{"level":3,"title":"数据属性描述符","slug":"数据属性描述符","link":"#数据属性描述符","children":[]},{"level":3,"title":"存储属性描述符","slug":"存储属性描述符","link":"#存储属性描述符","children":[]},{"level":3,"title":"应用场景","slug":"应用场景","link":"#应用场景","children":[]}]}],"relativePath":"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md","lastUpdated":1681026524000}'),p={name:"article/彻底搞懂对象的数据属性描述符、存储属性描述符.md"},o=l("",18),e=[o];function c(t,r,D,y,F,i){return n(),a("div",null,e)}const d=s(p,[["render",c]]);export{C as __pageData,d as default};

View File

@@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as e}from"./app.ab8d0b9f.js";const C=JSON.parse('{"title":"浅析defineProperty与Proxy实现的双向绑定","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 Vue2的响应式原理","slug":"🔰-vue2的响应式原理","link":"#🔰-vue2的响应式原理","children":[]},{"level":2,"title":"🔰 Vue3的响应式原理","slug":"🔰-vue3的响应式原理","link":"#🔰-vue3的响应式原理","children":[]}],"relativePath":"article/浅析defineProperty与Proxy实现的双向绑定.md","lastUpdated":1680702249000}'),l={name:"article/浅析defineProperty与Proxy实现的双向绑定.md"},p=e(`<h1 id="浅析defineproperty与proxy实现的双向绑定" tabindex="-1">浅析defineProperty与Proxy实现的双向绑定 <a class="header-anchor" href="#浅析defineproperty与proxy实现的双向绑定" aria-hidden="true">#</a></h1><blockquote><p>文章内容总结自Vue官网 <a href="https://cn.vuejs.org/v2/guide/reactivity.html#%E5%A6%82%E4%BD%95%E8%BF%BD%E8%B8%AA%E5%8F%98%E5%8C%96" target="_blank" rel="noreferrer">深入响应式原理</a></p></blockquote><h2 id="🔰-vue2的响应式原理" tabindex="-1">🔰 Vue2的响应式原理 <a class="header-anchor" href="#🔰-vue2的响应式原理" aria-hidden="true">#</a></h2><p><img src="https://v2.cn.vuejs.org/images/data.png" alt="image.png"></p><blockquote><p>当你把一个普通的 JavaScript 对象传入 Vue 实例作为 <code>data</code> 选项Vue 将遍历此对象所有的 property并使用 <a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty" target="_blank" rel="noreferrer"><code>Object.defineProperty</code></a> 把这些 property 全部转为 <a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Working_with_Objects#%E5%AE%9A%E4%B9%89_getters_%E4%B8%8E_setters" target="_blank" rel="noreferrer">getter/setter</a>。</p><p>每个组件实例都对应一个 <strong>watcher</strong> 实例,它会在组件渲染的过程中把“接触”过的数据 property 记录为依赖。之后当依赖项的 setter 触发时,会通知 watcher从而使它关联的组件重新渲染。</p></blockquote><p>Vue2的响应式原理利用的是 <code>Object.defineProperty()</code> 的 <code>setter</code> 属性:</p><p><code>defineProperty()</code> 方法用于<strong>精确</strong>定义一个对象的属性,能够指定属性的各种特征,其中的 <code>set</code> 属性能够为对象指定一个 <code>setter</code> 函数,每次该属性的值发生修改,就会调用此函数。</p><blockquote><p>更多可以配置的属性请参看:<a href="https://juejin.cn/post/7088335075061792782" target="_blank" rel="noreferrer">什么是对象的数据属性描述符?存储属性描述符?</a></p></blockquote><p>这也是Vue2实现响应式数据、数据双向绑定的原理。</p><p>可以使用此方法实现一个简单的数据双向绑定的Demo</p><p><img src="https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f241135dbeb04e829fe6897c2e418aa2~tplv-k3u1fbpfcp-watermark.image?" alt="image.png"></p><ul><li>输入框内的内容改变,<code>.vBox</code> 展示的文本会随之改变。</li><li>点击按钮修改 <code>vm.text</code>,输入框内的值和 <code>.vBox</code> 的文本都会发生改变。</li></ul><div class="language-html line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">html</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">body</span><span style="color:#89DDFF;">&gt;</span></span>
import{_ as s,o as n,c as a,a as e}from"./app.ab8d0b9f.js";const C=JSON.parse('{"title":"浅析defineProperty与Proxy实现的双向绑定","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 Vue2的响应式原理","slug":"🔰-vue2的响应式原理","link":"#🔰-vue2的响应式原理","children":[]},{"level":2,"title":"🔰 Vue3的响应式原理","slug":"🔰-vue3的响应式原理","link":"#🔰-vue3的响应式原理","children":[]}],"relativePath":"article/浅析defineProperty与Proxy实现的双向绑定.md","lastUpdated":1681026524000}'),l={name:"article/浅析defineProperty与Proxy实现的双向绑定.md"},p=e(`<h1 id="浅析defineproperty与proxy实现的双向绑定" tabindex="-1">浅析defineProperty与Proxy实现的双向绑定 <a class="header-anchor" href="#浅析defineproperty与proxy实现的双向绑定" aria-hidden="true">#</a></h1><blockquote><p>文章内容总结自Vue官网 <a href="https://cn.vuejs.org/v2/guide/reactivity.html#%E5%A6%82%E4%BD%95%E8%BF%BD%E8%B8%AA%E5%8F%98%E5%8C%96" target="_blank" rel="noreferrer">深入响应式原理</a></p></blockquote><h2 id="🔰-vue2的响应式原理" tabindex="-1">🔰 Vue2的响应式原理 <a class="header-anchor" href="#🔰-vue2的响应式原理" aria-hidden="true">#</a></h2><p><img src="https://v2.cn.vuejs.org/images/data.png" alt="image.png"></p><blockquote><p>当你把一个普通的 JavaScript 对象传入 Vue 实例作为 <code>data</code> 选项Vue 将遍历此对象所有的 property并使用 <a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty" target="_blank" rel="noreferrer"><code>Object.defineProperty</code></a> 把这些 property 全部转为 <a href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Working_with_Objects#%E5%AE%9A%E4%B9%89_getters_%E4%B8%8E_setters" target="_blank" rel="noreferrer">getter/setter</a>。</p><p>每个组件实例都对应一个 <strong>watcher</strong> 实例,它会在组件渲染的过程中把“接触”过的数据 property 记录为依赖。之后当依赖项的 setter 触发时,会通知 watcher从而使它关联的组件重新渲染。</p></blockquote><p>Vue2的响应式原理利用的是 <code>Object.defineProperty()</code> 的 <code>setter</code> 属性:</p><p><code>defineProperty()</code> 方法用于<strong>精确</strong>定义一个对象的属性,能够指定属性的各种特征,其中的 <code>set</code> 属性能够为对象指定一个 <code>setter</code> 函数,每次该属性的值发生修改,就会调用此函数。</p><blockquote><p>更多可以配置的属性请参看:<a href="https://juejin.cn/post/7088335075061792782" target="_blank" rel="noreferrer">什么是对象的数据属性描述符?存储属性描述符?</a></p></blockquote><p>这也是Vue2实现响应式数据、数据双向绑定的原理。</p><p>可以使用此方法实现一个简单的数据双向绑定的Demo</p><p><img src="https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f241135dbeb04e829fe6897c2e418aa2~tplv-k3u1fbpfcp-watermark.image?" alt="image.png"></p><ul><li>输入框内的内容改变,<code>.vBox</code> 展示的文本会随之改变。</li><li>点击按钮修改 <code>vm.text</code>,输入框内的值和 <code>.vBox</code> 的文本都会发生改变。</li></ul><div class="language-html line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">html</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">body</span><span style="color:#89DDFF;">&gt;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">input</span><span style="color:#89DDFF;"> </span><span style="color:#C792EA;">type</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">text</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;"> </span><span style="color:#C792EA;">id</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">input</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;"> /&gt;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">button</span><span style="color:#89DDFF;"> </span><span style="color:#C792EA;">onclick</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">&quot;</span><span style="color:#A6ACCD;">vm</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">text</span><span style="color:#89DDFF;">=&#39;</span><span style="color:#C3E88D;">Hello, World.</span><span style="color:#89DDFF;">&#39;&quot;</span><span style="color:#89DDFF;">&gt;</span><span style="color:#A6ACCD;">Modify vm.text</span><span style="color:#89DDFF;">&lt;/</span><span style="color:#F07178;">button</span><span style="color:#89DDFF;">&gt;</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">div</span><span style="color:#89DDFF;"> </span><span style="color:#C792EA;">class</span><span style="color:#89DDFF;">=</span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">vBox</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">&gt;&lt;/</span><span style="color:#F07178;">div</span><span style="color:#89DDFF;">&gt;</span></span>

View File

@@ -1 +1 @@
import{_ as s,o as n,c as a,a as e}from"./app.ab8d0b9f.js";const C=JSON.parse('{"title":"浅析defineProperty与Proxy实现的双向绑定","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 Vue2的响应式原理","slug":"🔰-vue2的响应式原理","link":"#🔰-vue2的响应式原理","children":[]},{"level":2,"title":"🔰 Vue3的响应式原理","slug":"🔰-vue3的响应式原理","link":"#🔰-vue3的响应式原理","children":[]}],"relativePath":"article/浅析defineProperty与Proxy实现的双向绑定.md","lastUpdated":1680702249000}'),l={name:"article/浅析defineProperty与Proxy实现的双向绑定.md"},p=e("",20),o=[p];function t(r,c,D,y,F,i){return n(),a("div",null,o)}const u=s(l,[["render",t]]);export{C as __pageData,u as default};
import{_ as s,o as n,c as a,a as e}from"./app.ab8d0b9f.js";const C=JSON.parse('{"title":"浅析defineProperty与Proxy实现的双向绑定","description":"","frontmatter":{},"headers":[{"level":2,"title":"🔰 Vue2的响应式原理","slug":"🔰-vue2的响应式原理","link":"#🔰-vue2的响应式原理","children":[]},{"level":2,"title":"🔰 Vue3的响应式原理","slug":"🔰-vue3的响应式原理","link":"#🔰-vue3的响应式原理","children":[]}],"relativePath":"article/浅析defineProperty与Proxy实现的双向绑定.md","lastUpdated":1681026524000}'),l={name:"article/浅析defineProperty与Proxy实现的双向绑定.md"},p=e("",20),o=[p];function t(r,c,D,y,F,i){return n(),a("div",null,o)}const u=s(l,[["render",t]]);export{C as __pageData,u as default};

View File

@@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const o="/assets/Object.prototype.toString.70e8308c.png",d=JSON.parse(`{"title":"","description":"","frontmatter":{},"headers":[{"level":2,"title":"深入JavaScript数据类型","slug":"深入javascript数据类型","link":"#深入javascript数据类型","children":[]},{"level":2,"title":"typeof运算符","slug":"typeof运算符","link":"#typeof运算符","children":[{"level":3,"title":"typeof null === 'object'","slug":"typeof-null-object","link":"#typeof-null-object","children":[]},{"level":3,"title":"关于new操作符","slug":"关于new操作符","link":"#关于new操作符","children":[]},{"level":3,"title":"字符串原始值和字符串对象","slug":"字符串原始值和字符串对象","link":"#字符串原始值和字符串对象","children":[]}]},{"level":2,"title":"包装类型","slug":"包装类型","link":"#包装类型","children":[]},{"level":2,"title":"使用toString检查对象类型","slug":"使用tostring检查对象类型","link":"#使用tostring检查对象类型","children":[{"level":3,"title":"核心原理","slug":"核心原理","link":"#核心原理","children":[]}]}],"relativePath":"article/深入JavaScript数据类型.md","lastUpdated":1680702249000}`),e={name:"article/深入JavaScript数据类型.md"},p=l(`<h2 id="深入javascript数据类型" tabindex="-1">深入JavaScript数据类型 <a class="header-anchor" href="#深入javascript数据类型" aria-hidden="true">#</a></h2><p>JavaScript包含以下几种数据类型</p><ul><li>Number 数字</li><li>String 字符串</li><li>Boolean 布尔值</li><li>Symbol 符号 ES6新增</li><li>Object 对象 <ul><li>Function 函数</li><li>Array 数组</li><li>Date 日期</li><li>RegExp 正则表达式</li><li>...</li></ul></li><li>null 空</li><li>undefined 未定义</li></ul><p>从语言底层值的可变与不可变可以将JS中的数据分为两种不可变值原始类型和可变值引用类型</p><p>除了Object及继承自Object的特殊对象其他的类型都为<strong>原始类型</strong>。</p><h2 id="typeof运算符" tabindex="-1">typeof运算符 <a class="header-anchor" href="#typeof运算符" aria-hidden="true">#</a></h2><p>除了null所有<strong>原始类型</strong>都可以通过<code>typeof</code>运算符得到不同的结果</p><p>而null与object通过<code>typeof</code>运算符得到的结果都为<code>&#39;object&#39;</code></p><div class="language-javascript line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#676E95;font-style:italic;">// 除了 null 其他原始类型的变量都可以通过 typeof 得到其类型</span></span>
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const o="/assets/Object.prototype.toString.70e8308c.png",d=JSON.parse(`{"title":"","description":"","frontmatter":{},"headers":[{"level":2,"title":"深入JavaScript数据类型","slug":"深入javascript数据类型","link":"#深入javascript数据类型","children":[]},{"level":2,"title":"typeof运算符","slug":"typeof运算符","link":"#typeof运算符","children":[{"level":3,"title":"typeof null === 'object'","slug":"typeof-null-object","link":"#typeof-null-object","children":[]},{"level":3,"title":"关于new操作符","slug":"关于new操作符","link":"#关于new操作符","children":[]},{"level":3,"title":"字符串原始值和字符串对象","slug":"字符串原始值和字符串对象","link":"#字符串原始值和字符串对象","children":[]}]},{"level":2,"title":"包装类型","slug":"包装类型","link":"#包装类型","children":[]},{"level":2,"title":"使用toString检查对象类型","slug":"使用tostring检查对象类型","link":"#使用tostring检查对象类型","children":[{"level":3,"title":"核心原理","slug":"核心原理","link":"#核心原理","children":[]}]}],"relativePath":"article/深入JavaScript数据类型.md","lastUpdated":1681026524000}`),e={name:"article/深入JavaScript数据类型.md"},p=l(`<h2 id="深入javascript数据类型" tabindex="-1">深入JavaScript数据类型 <a class="header-anchor" href="#深入javascript数据类型" aria-hidden="true">#</a></h2><p>JavaScript包含以下几种数据类型</p><ul><li>Number 数字</li><li>String 字符串</li><li>Boolean 布尔值</li><li>Symbol 符号 ES6新增</li><li>Object 对象 <ul><li>Function 函数</li><li>Array 数组</li><li>Date 日期</li><li>RegExp 正则表达式</li><li>...</li></ul></li><li>null 空</li><li>undefined 未定义</li></ul><p>从语言底层值的可变与不可变可以将JS中的数据分为两种不可变值原始类型和可变值引用类型</p><p>除了Object及继承自Object的特殊对象其他的类型都为<strong>原始类型</strong>。</p><h2 id="typeof运算符" tabindex="-1">typeof运算符 <a class="header-anchor" href="#typeof运算符" aria-hidden="true">#</a></h2><p>除了null所有<strong>原始类型</strong>都可以通过<code>typeof</code>运算符得到不同的结果</p><p>而null与object通过<code>typeof</code>运算符得到的结果都为<code>&#39;object&#39;</code></p><div class="language-javascript line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#676E95;font-style:italic;">// 除了 null 其他原始类型的变量都可以通过 typeof 得到其类型</span></span>
<span class="line"><span style="color:#676E95;font-style:italic;">// 而 null 与 object 通过 typeof 运算得到的都是 &#39;object&#39;</span></span>
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> targets </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> [</span><span style="color:#F78C6C;">18</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">Ziu</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#FF9CAC;">true</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">Symbol</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">&#39;&#39;</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{},</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">null,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">undefined</span><span style="color:#A6ACCD;">]</span></span>
<span class="line"></span>

View File

@@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const o="/assets/Object.prototype.toString.70e8308c.png",d=JSON.parse(`{"title":"","description":"","frontmatter":{},"headers":[{"level":2,"title":"深入JavaScript数据类型","slug":"深入javascript数据类型","link":"#深入javascript数据类型","children":[]},{"level":2,"title":"typeof运算符","slug":"typeof运算符","link":"#typeof运算符","children":[{"level":3,"title":"typeof null === 'object'","slug":"typeof-null-object","link":"#typeof-null-object","children":[]},{"level":3,"title":"关于new操作符","slug":"关于new操作符","link":"#关于new操作符","children":[]},{"level":3,"title":"字符串原始值和字符串对象","slug":"字符串原始值和字符串对象","link":"#字符串原始值和字符串对象","children":[]}]},{"level":2,"title":"包装类型","slug":"包装类型","link":"#包装类型","children":[]},{"level":2,"title":"使用toString检查对象类型","slug":"使用tostring检查对象类型","link":"#使用tostring检查对象类型","children":[{"level":3,"title":"核心原理","slug":"核心原理","link":"#核心原理","children":[]}]}],"relativePath":"article/深入JavaScript数据类型.md","lastUpdated":1680702249000}`),e={name:"article/深入JavaScript数据类型.md"},p=l("",46),t=[p];function c(r,i,y,D,A,F){return n(),a("div",null,t)}const b=s(e,[["render",c]]);export{d as __pageData,b as default};
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const o="/assets/Object.prototype.toString.70e8308c.png",d=JSON.parse(`{"title":"","description":"","frontmatter":{},"headers":[{"level":2,"title":"深入JavaScript数据类型","slug":"深入javascript数据类型","link":"#深入javascript数据类型","children":[]},{"level":2,"title":"typeof运算符","slug":"typeof运算符","link":"#typeof运算符","children":[{"level":3,"title":"typeof null === 'object'","slug":"typeof-null-object","link":"#typeof-null-object","children":[]},{"level":3,"title":"关于new操作符","slug":"关于new操作符","link":"#关于new操作符","children":[]},{"level":3,"title":"字符串原始值和字符串对象","slug":"字符串原始值和字符串对象","link":"#字符串原始值和字符串对象","children":[]}]},{"level":2,"title":"包装类型","slug":"包装类型","link":"#包装类型","children":[]},{"level":2,"title":"使用toString检查对象类型","slug":"使用tostring检查对象类型","link":"#使用tostring检查对象类型","children":[{"level":3,"title":"核心原理","slug":"核心原理","link":"#核心原理","children":[]}]}],"relativePath":"article/深入JavaScript数据类型.md","lastUpdated":1681026524000}`),e={name:"article/深入JavaScript数据类型.md"},p=l("",46),t=[p];function c(r,i,y,D,A,F){return n(),a("div",null,t)}const b=s(e,[["render",c]]);export{d as __pageData,b as default};

View File

@@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const u=JSON.parse('{"title":"深入Vue3源码看看Vue.use后究竟发生了什么","description":"","frontmatter":{},"headers":[{"level":2,"title":"从全局注册组件库入手","slug":"从全局注册组件库入手","link":"#从全局注册组件库入手","children":[]},{"level":2,"title":"深入源码","slug":"深入源码","link":"#深入源码","children":[]},{"level":2,"title":"手动引入&注册组件","slug":"手动引入-注册组件","link":"#手动引入-注册组件","children":[]},{"level":2,"title":"参考阅读","slug":"参考阅读","link":"#参考阅读","children":[]}],"relativePath":"article/深入Vue3源码看看Vue.use后究竟发生了什么.md","lastUpdated":1680702249000}'),p={name:"article/深入Vue3源码看看Vue.use后究竟发生了什么.md"},e=l(`<h1 id="深入vue3源码-看看vue-use后究竟发生了什么" tabindex="-1">深入Vue3源码看看Vue.use后究竟发生了什么 <a class="header-anchor" href="#深入vue3源码-看看vue-use后究竟发生了什么" aria-hidden="true">#</a></h1><h2 id="从全局注册组件库入手" tabindex="-1">从全局注册组件库入手 <a class="header-anchor" href="#从全局注册组件库入手" aria-hidden="true">#</a></h2><p>如果我们自定义了几个自定义组件,当我们想在<code>.vue</code>文件中使用它们时,需要手动<code>import</code>导入组件并在<code>component</code>中注册:</p><div class="language-html line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">html</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">script</span><span style="color:#89DDFF;">&gt;</span></span>
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const u=JSON.parse('{"title":"深入Vue3源码看看Vue.use后究竟发生了什么","description":"","frontmatter":{},"headers":[{"level":2,"title":"从全局注册组件库入手","slug":"从全局注册组件库入手","link":"#从全局注册组件库入手","children":[]},{"level":2,"title":"深入源码","slug":"深入源码","link":"#深入源码","children":[]},{"level":2,"title":"手动引入&注册组件","slug":"手动引入-注册组件","link":"#手动引入-注册组件","children":[]},{"level":2,"title":"参考阅读","slug":"参考阅读","link":"#参考阅读","children":[]}],"relativePath":"article/深入Vue3源码看看Vue.use后究竟发生了什么.md","lastUpdated":1681026524000}'),p={name:"article/深入Vue3源码看看Vue.use后究竟发生了什么.md"},e=l(`<h1 id="深入vue3源码-看看vue-use后究竟发生了什么" tabindex="-1">深入Vue3源码看看Vue.use后究竟发生了什么 <a class="header-anchor" href="#深入vue3源码-看看vue-use后究竟发生了什么" aria-hidden="true">#</a></h1><h2 id="从全局注册组件库入手" tabindex="-1">从全局注册组件库入手 <a class="header-anchor" href="#从全局注册组件库入手" aria-hidden="true">#</a></h2><p>如果我们自定义了几个自定义组件,当我们想在<code>.vue</code>文件中使用它们时,需要手动<code>import</code>导入组件并在<code>component</code>中注册:</p><div class="language-html line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">html</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">script</span><span style="color:#89DDFF;">&gt;</span></span>
<span class="line"><span style="color:#89DDFF;font-style:italic;">import</span><span style="color:#A6ACCD;"> CustomInput </span><span style="color:#89DDFF;font-style:italic;">from</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">@/component/CustomInput.vue</span><span style="color:#89DDFF;">&#39;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#89DDFF;font-style:italic;">export</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;font-style:italic;">default</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>

View File

@@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const u=JSON.parse('{"title":"深入Vue3源码看看Vue.use后究竟发生了什么","description":"","frontmatter":{},"headers":[{"level":2,"title":"从全局注册组件库入手","slug":"从全局注册组件库入手","link":"#从全局注册组件库入手","children":[]},{"level":2,"title":"深入源码","slug":"深入源码","link":"#深入源码","children":[]},{"level":2,"title":"手动引入&注册组件","slug":"手动引入-注册组件","link":"#手动引入-注册组件","children":[]},{"level":2,"title":"参考阅读","slug":"参考阅读","link":"#参考阅读","children":[]}],"relativePath":"article/深入Vue3源码看看Vue.use后究竟发生了什么.md","lastUpdated":1680702249000}'),p={name:"article/深入Vue3源码看看Vue.use后究竟发生了什么.md"},e=l("",26),o=[e];function t(c,r,i,y,F,D){return n(),a("div",null,o)}const C=s(p,[["render",t]]);export{u as __pageData,C as default};
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const u=JSON.parse('{"title":"深入Vue3源码看看Vue.use后究竟发生了什么","description":"","frontmatter":{},"headers":[{"level":2,"title":"从全局注册组件库入手","slug":"从全局注册组件库入手","link":"#从全局注册组件库入手","children":[]},{"level":2,"title":"深入源码","slug":"深入源码","link":"#深入源码","children":[]},{"level":2,"title":"手动引入&注册组件","slug":"手动引入-注册组件","link":"#手动引入-注册组件","children":[]},{"level":2,"title":"参考阅读","slug":"参考阅读","link":"#参考阅读","children":[]}],"relativePath":"article/深入Vue3源码看看Vue.use后究竟发生了什么.md","lastUpdated":1681026524000}'),p={name:"article/深入Vue3源码看看Vue.use后究竟发生了什么.md"},e=l("",26),o=[e];function t(c,r,i,y,F,D){return n(),a("div",null,o)}const C=s(p,[["render",t]]);export{u as __pageData,C as default};

View File

@@ -1,4 +1,4 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const i=JSON.parse('{"title":"深入理解Proxy与Reflect","description":"","frontmatter":{},"headers":[{"level":3,"title":"监听对象的操作","slug":"监听对象的操作","link":"#监听对象的操作","children":[]},{"level":3,"title":"Proxy类基本使用","slug":"proxy类基本使用","link":"#proxy类基本使用","children":[]},{"level":3,"title":"捕获器","slug":"捕获器","link":"#捕获器","children":[]},{"level":3,"title":"Reflect","slug":"reflect","link":"#reflect","children":[]},{"level":3,"title":"与Object的区别","slug":"与object的区别","link":"#与object的区别","children":[]},{"level":3,"title":"Reflect常见方法","slug":"reflect常见方法","link":"#reflect常见方法","children":[]},{"level":3,"title":"Reflect.construct方法","slug":"reflect-construct方法","link":"#reflect-construct方法","children":[]}],"relativePath":"article/深入理解Proxy与Reflect.md","lastUpdated":1680702249000}'),p={name:"article/深入理解Proxy与Reflect.md"},o=l(`<h1 id="深入理解proxy与reflect" tabindex="-1">深入理解Proxy与Reflect <a class="header-anchor" href="#深入理解proxy与reflect" aria-hidden="true">#</a></h1><h3 id="监听对象的操作" tabindex="-1">监听对象的操作 <a class="header-anchor" href="#监听对象的操作" aria-hidden="true">#</a></h3><p>可以使用Proxy对象将原对象包裹此后的操作都对<code>proxy</code>进行,每次<code>get</code>与<code>set</code>被触发时都会自动执行相应代码</p><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> obj </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const i=JSON.parse('{"title":"深入理解Proxy与Reflect","description":"","frontmatter":{},"headers":[{"level":3,"title":"监听对象的操作","slug":"监听对象的操作","link":"#监听对象的操作","children":[]},{"level":3,"title":"Proxy类基本使用","slug":"proxy类基本使用","link":"#proxy类基本使用","children":[]},{"level":3,"title":"捕获器","slug":"捕获器","link":"#捕获器","children":[]},{"level":3,"title":"Reflect","slug":"reflect","link":"#reflect","children":[]},{"level":3,"title":"与Object的区别","slug":"与object的区别","link":"#与object的区别","children":[]},{"level":3,"title":"Reflect常见方法","slug":"reflect常见方法","link":"#reflect常见方法","children":[]},{"level":3,"title":"Reflect.construct方法","slug":"reflect-construct方法","link":"#reflect-construct方法","children":[]}],"relativePath":"article/深入理解Proxy与Reflect.md","lastUpdated":1681026524000}'),p={name:"article/深入理解Proxy与Reflect.md"},o=l(`<h1 id="深入理解proxy与reflect" tabindex="-1">深入理解Proxy与Reflect <a class="header-anchor" href="#深入理解proxy与reflect" aria-hidden="true">#</a></h1><h3 id="监听对象的操作" tabindex="-1">监听对象的操作 <a class="header-anchor" href="#监听对象的操作" aria-hidden="true">#</a></h3><p>可以使用Proxy对象将原对象包裹此后的操作都对<code>proxy</code>进行,每次<code>get</code>与<code>set</code>被触发时都会自动执行相应代码</p><div class="language-js line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> obj </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">name</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&#39;</span><span style="color:#C3E88D;">ziu</span><span style="color:#89DDFF;">&#39;</span><span style="color:#89DDFF;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">age</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">18</span><span style="color:#89DDFF;">,</span></span>
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">height</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">1.88</span></span>

View File

@@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const i=JSON.parse('{"title":"深入理解Proxy与Reflect","description":"","frontmatter":{},"headers":[{"level":3,"title":"监听对象的操作","slug":"监听对象的操作","link":"#监听对象的操作","children":[]},{"level":3,"title":"Proxy类基本使用","slug":"proxy类基本使用","link":"#proxy类基本使用","children":[]},{"level":3,"title":"捕获器","slug":"捕获器","link":"#捕获器","children":[]},{"level":3,"title":"Reflect","slug":"reflect","link":"#reflect","children":[]},{"level":3,"title":"与Object的区别","slug":"与object的区别","link":"#与object的区别","children":[]},{"level":3,"title":"Reflect常见方法","slug":"reflect常见方法","link":"#reflect常见方法","children":[]},{"level":3,"title":"Reflect.construct方法","slug":"reflect-construct方法","link":"#reflect-construct方法","children":[]}],"relativePath":"article/深入理解Proxy与Reflect.md","lastUpdated":1680702249000}'),p={name:"article/深入理解Proxy与Reflect.md"},o=l("",44),e=[o];function c(t,r,y,D,F,A){return n(),a("div",null,e)}const b=s(p,[["render",c]]);export{i as __pageData,b as default};
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const i=JSON.parse('{"title":"深入理解Proxy与Reflect","description":"","frontmatter":{},"headers":[{"level":3,"title":"监听对象的操作","slug":"监听对象的操作","link":"#监听对象的操作","children":[]},{"level":3,"title":"Proxy类基本使用","slug":"proxy类基本使用","link":"#proxy类基本使用","children":[]},{"level":3,"title":"捕获器","slug":"捕获器","link":"#捕获器","children":[]},{"level":3,"title":"Reflect","slug":"reflect","link":"#reflect","children":[]},{"level":3,"title":"与Object的区别","slug":"与object的区别","link":"#与object的区别","children":[]},{"level":3,"title":"Reflect常见方法","slug":"reflect常见方法","link":"#reflect常见方法","children":[]},{"level":3,"title":"Reflect.construct方法","slug":"reflect-construct方法","link":"#reflect-construct方法","children":[]}],"relativePath":"article/深入理解Proxy与Reflect.md","lastUpdated":1681026524000}'),p={name:"article/深入理解Proxy与Reflect.md"},o=l("",44),e=[o];function c(t,r,y,D,F,A){return n(),a("div",null,e)}const b=s(p,[["render",c]]);export{i as __pageData,b as default};

View File

@@ -1 +1 @@
import{_ as e,o as a,c as s,a as l}from"./app.ab8d0b9f.js";const f=JSON.parse('{"title":"深入理解浏览器缓存机制","description":"","frontmatter":{},"headers":[{"level":2,"title":"强制缓存","slug":"强制缓存","link":"#强制缓存","children":[{"level":3,"title":"什么是强制缓存","slug":"什么是强制缓存","link":"#什么是强制缓存","children":[]},{"level":3,"title":"强制缓存的规则","slug":"强制缓存的规则","link":"#强制缓存的规则","children":[]},{"level":3,"title":"Expires与Cache-Control","slug":"expires与cache-control","link":"#expires与cache-control","children":[]}]},{"level":2,"title":"协商缓存","slug":"协商缓存","link":"#协商缓存","children":[{"level":3,"title":"协商缓存的规则","slug":"协商缓存的规则","link":"#协商缓存的规则","children":[]}]},{"level":2,"title":"内存缓存与硬盘缓存","slug":"内存缓存与硬盘缓存","link":"#内存缓存与硬盘缓存","children":[]},{"level":2,"title":"用户对浏览器缓存的控制","slug":"用户对浏览器缓存的控制","link":"#用户对浏览器缓存的控制","children":[]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"relativePath":"article/深入理解浏览器缓存机制.md","lastUpdated":1680702249000}'),n={name:"article/深入理解浏览器缓存机制.md"},o=l("",66),c=[o];function i(r,p,t,d,h,u){return a(),s("div",null,c)}const b=e(n,[["render",i]]);export{f as __pageData,b as default};
import{_ as e,o as a,c as s,a as l}from"./app.ab8d0b9f.js";const f=JSON.parse('{"title":"深入理解浏览器缓存机制","description":"","frontmatter":{},"headers":[{"level":2,"title":"强制缓存","slug":"强制缓存","link":"#强制缓存","children":[{"level":3,"title":"什么是强制缓存","slug":"什么是强制缓存","link":"#什么是强制缓存","children":[]},{"level":3,"title":"强制缓存的规则","slug":"强制缓存的规则","link":"#强制缓存的规则","children":[]},{"level":3,"title":"Expires与Cache-Control","slug":"expires与cache-control","link":"#expires与cache-control","children":[]}]},{"level":2,"title":"协商缓存","slug":"协商缓存","link":"#协商缓存","children":[{"level":3,"title":"协商缓存的规则","slug":"协商缓存的规则","link":"#协商缓存的规则","children":[]}]},{"level":2,"title":"内存缓存与硬盘缓存","slug":"内存缓存与硬盘缓存","link":"#内存缓存与硬盘缓存","children":[]},{"level":2,"title":"用户对浏览器缓存的控制","slug":"用户对浏览器缓存的控制","link":"#用户对浏览器缓存的控制","children":[]},{"level":2,"title":"参考资料","slug":"参考资料","link":"#参考资料","children":[]}],"relativePath":"article/深入理解浏览器缓存机制.md","lastUpdated":1681026524000}'),n={name:"article/深入理解浏览器缓存机制.md"},o=l("",66),c=[o];function i(r,p,t,d,h,u){return a(),s("div",null,c)}const b=e(n,[["render",i]]);export{f as __pageData,b as default};

View File

@@ -1 +1 @@
import{_ as s,o as n,c as a,a as e}from"./app.ab8d0b9f.js";const m=JSON.parse('{"title":"深入理解浏览器运行原理","description":"","frontmatter":{},"headers":[{"level":2,"title":"网页解析过程","slug":"网页解析过程","link":"#网页解析过程","children":[]},{"level":2,"title":"HTML解析过程","slug":"html解析过程","link":"#html解析过程","children":[]},{"level":2,"title":"生成CSS规则","slug":"生成css规则","link":"#生成css规则","children":[]},{"level":2,"title":"构建Render Tree","slug":"构建render-tree","link":"#构建render-tree","children":[]},{"level":2,"title":"布局和绘制(Layout & Paint)","slug":"布局和绘制-layout-paint","link":"#布局和绘制-layout-paint","children":[]},{"level":2,"title":"回流和重绘(Reflow & )","slug":"回流和重绘-reflow","link":"#回流和重绘-reflow","children":[]},{"level":2,"title":"特殊解析: composite合成","slug":"特殊解析-composite合成","link":"#特殊解析-composite合成","children":[{"level":3,"title":"案例1同一层渲染","slug":"案例1-同一层渲染","link":"#案例1-同一层渲染","children":[]},{"level":3,"title":"案例2分层渲染","slug":"案例2-分层渲染","link":"#案例2-分层渲染","children":[]},{"level":3,"title":"案例3transform 3D","slug":"案例3-transform-3d","link":"#案例3-transform-3d","children":[]},{"level":3,"title":"案例4transition+transform","slug":"案例4-transition-transform","link":"#案例4-transition-transform","children":[]},{"level":3,"title":"案例5transition+opacity","slug":"案例5-transition-opacity","link":"#案例5-transition-opacity","children":[]},{"level":3,"title":"总结","slug":"总结","link":"#总结","children":[]}]},{"level":2,"title":"浏览器对script元素的处理","slug":"浏览器对script元素的处理","link":"#浏览器对script元素的处理","children":[]},{"level":2,"title":"defer属性","slug":"defer属性","link":"#defer属性","children":[]},{"level":2,"title":"async属性","slug":"async属性","link":"#async属性","children":[]}],"relativePath":"article/深入理解浏览器运行原理.md","lastUpdated":1680702249000}'),l={name:"article/深入理解浏览器运行原理.md"},p=e("",87),i=[p];function r(c,t,o,d,u,b){return n(),a("div",null,i)}const C=s(l,[["render",r]]);export{m as __pageData,C as default};
import{_ as s,o as n,c as a,a as e}from"./app.ab8d0b9f.js";const m=JSON.parse('{"title":"深入理解浏览器运行原理","description":"","frontmatter":{},"headers":[{"level":2,"title":"网页解析过程","slug":"网页解析过程","link":"#网页解析过程","children":[]},{"level":2,"title":"HTML解析过程","slug":"html解析过程","link":"#html解析过程","children":[]},{"level":2,"title":"生成CSS规则","slug":"生成css规则","link":"#生成css规则","children":[]},{"level":2,"title":"构建Render Tree","slug":"构建render-tree","link":"#构建render-tree","children":[]},{"level":2,"title":"布局和绘制(Layout & Paint)","slug":"布局和绘制-layout-paint","link":"#布局和绘制-layout-paint","children":[]},{"level":2,"title":"回流和重绘(Reflow & )","slug":"回流和重绘-reflow","link":"#回流和重绘-reflow","children":[]},{"level":2,"title":"特殊解析: composite合成","slug":"特殊解析-composite合成","link":"#特殊解析-composite合成","children":[{"level":3,"title":"案例1同一层渲染","slug":"案例1-同一层渲染","link":"#案例1-同一层渲染","children":[]},{"level":3,"title":"案例2分层渲染","slug":"案例2-分层渲染","link":"#案例2-分层渲染","children":[]},{"level":3,"title":"案例3transform 3D","slug":"案例3-transform-3d","link":"#案例3-transform-3d","children":[]},{"level":3,"title":"案例4transition+transform","slug":"案例4-transition-transform","link":"#案例4-transition-transform","children":[]},{"level":3,"title":"案例5transition+opacity","slug":"案例5-transition-opacity","link":"#案例5-transition-opacity","children":[]},{"level":3,"title":"总结","slug":"总结","link":"#总结","children":[]}]},{"level":2,"title":"浏览器对script元素的处理","slug":"浏览器对script元素的处理","link":"#浏览器对script元素的处理","children":[]},{"level":2,"title":"defer属性","slug":"defer属性","link":"#defer属性","children":[]},{"level":2,"title":"async属性","slug":"async属性","link":"#async属性","children":[]}],"relativePath":"article/深入理解浏览器运行原理.md","lastUpdated":1681026524000}'),l={name:"article/深入理解浏览器运行原理.md"},p=e("",87),i=[p];function r(c,t,o,d,u,b){return n(),a("div",null,i)}const C=s(l,[["render",r]]);export{m as __pageData,C as default};

BIN
assets/img1.715ef8d7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 KiB

BIN
assets/img2.446c4d69.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 KiB

BIN
assets/img3.78c806d9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

View File

@@ -1 +1 @@
import{_ as t,o as e,c as i}from"./app.ab8d0b9f.js";const p=JSON.parse('{"title":"主页","description":"","frontmatter":{"layout":"home","title":"主页","hero":{"name":"ZiuChen","text":"无限进步.","tagline":"Infinite Progress...","actions":[{"theme":"brand","text":"Get Started","link":"/self/"},{"theme":"alt","text":"View on GitHub","link":"https://github.com/ZiuChen"}]},"features":[{"icon":"🎓","title":"Electronic Information Major","details":"电子信息工程"},{"icon":"🎯","title":"JavaScript & TypeScript","details":"自学前端 热爱技术"},{"icon":"👆","title":"See more information","details":"访问导航栏查看更多信息"}]},"headers":[],"relativePath":"index.md","lastUpdated":1680702249000}'),a={name:"index.md"};function n(o,r,s,c,l,d){return e(),i("div")}const f=t(a,[["render",n]]);export{p as __pageData,f as default};
import{_ as t,o as e,c as i}from"./app.ab8d0b9f.js";const p=JSON.parse('{"title":"主页","description":"","frontmatter":{"layout":"home","title":"主页","hero":{"name":"ZiuChen","text":"无限进步.","tagline":"Infinite Progress...","actions":[{"theme":"brand","text":"Get Started","link":"/self/"},{"theme":"alt","text":"View on GitHub","link":"https://github.com/ZiuChen"}]},"features":[{"icon":"🎓","title":"Electronic Information Major","details":"电子信息工程"},{"icon":"🎯","title":"JavaScript & TypeScript","details":"自学前端 热爱技术"},{"icon":"👆","title":"See more information","details":"访问导航栏查看更多信息"}]},"headers":[],"relativePath":"index.md","lastUpdated":1681026524000}'),a={name:"index.md"};function n(o,r,s,c,l,d){return e(),i("div")}const f=t(a,[["render",n]]);export{p as __pageData,f as default};

View File

@@ -1 +1 @@
import{_ as t,o as e,c as i}from"./app.ab8d0b9f.js";const p=JSON.parse('{"title":"主页","description":"","frontmatter":{"layout":"home","title":"主页","hero":{"name":"ZiuChen","text":"无限进步.","tagline":"Infinite Progress...","actions":[{"theme":"brand","text":"Get Started","link":"/self/"},{"theme":"alt","text":"View on GitHub","link":"https://github.com/ZiuChen"}]},"features":[{"icon":"🎓","title":"Electronic Information Major","details":"电子信息工程"},{"icon":"🎯","title":"JavaScript & TypeScript","details":"自学前端 热爱技术"},{"icon":"👆","title":"See more information","details":"访问导航栏查看更多信息"}]},"headers":[],"relativePath":"index.md","lastUpdated":1680702249000}'),a={name:"index.md"};function n(o,r,s,c,l,d){return e(),i("div")}const f=t(a,[["render",n]]);export{p as __pageData,f as default};
import{_ as t,o as e,c as i}from"./app.ab8d0b9f.js";const p=JSON.parse('{"title":"主页","description":"","frontmatter":{"layout":"home","title":"主页","hero":{"name":"ZiuChen","text":"无限进步.","tagline":"Infinite Progress...","actions":[{"theme":"brand","text":"Get Started","link":"/self/"},{"theme":"alt","text":"View on GitHub","link":"https://github.com/ZiuChen"}]},"features":[{"icon":"🎓","title":"Electronic Information Major","details":"电子信息工程"},{"icon":"🎯","title":"JavaScript & TypeScript","details":"自学前端 热爱技术"},{"icon":"👆","title":"See more information","details":"访问导航栏查看更多信息"}]},"headers":[],"relativePath":"index.md","lastUpdated":1681026524000}'),a={name:"index.md"};function n(o,r,s,c,l,d){return e(),i("div")}const f=t(a,[["render",n]]);export{p as __pageData,f as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const F=JSON.parse('{"title":"前端工程化","description":"","frontmatter":{},"headers":[{"level":2,"title":"Node.js","slug":"node-js","link":"#node-js","children":[{"level":3,"title":"什么是Node.js","slug":"什么是node-js","link":"#什么是node-js","children":[]},{"level":3,"title":"Node.js的应用场景","slug":"node-js的应用场景","link":"#node-js的应用场景","children":[]},{"level":3,"title":"Node.js的参数传递","slug":"node-js的参数传递","link":"#node-js的参数传递","children":[]},{"level":3,"title":"Node中的全局对象","slug":"node中的全局对象","link":"#node中的全局对象","children":[]}]},{"level":2,"title":"模块化开发","slug":"模块化开发","link":"#模块化开发","children":[{"level":3,"title":"模块化的初衷","slug":"模块化的初衷","link":"#模块化的初衷","children":[]},{"level":3,"title":"CommonJS","slug":"commonjs","link":"#commonjs","children":[]},{"level":3,"title":"ESModule","slug":"esmodule","link":"#esmodule","children":[]},{"level":3,"title":"深入理解模块加载","slug":"深入理解模块加载","link":"#深入理解模块加载","children":[]},{"level":3,"title":"拓展内容","slug":"拓展内容","link":"#拓展内容","children":[]}]},{"level":2,"title":"包管理工具","slug":"包管理工具","link":"#包管理工具","children":[{"level":3,"title":"npm","slug":"npm","link":"#npm","children":[]},{"level":3,"title":"package.json","slug":"package-json","link":"#package-json","children":[]},{"level":3,"title":"npx","slug":"npx","link":"#npx","children":[]},{"level":3,"title":"npm包的发布","slug":"npm包的发布","link":"#npm包的发布","children":[]},{"level":3,"title":"npm包的开发调试","slug":"npm包的开发调试","link":"#npm包的开发调试","children":[]},{"level":3,"title":"PNPM","slug":"pnpm","link":"#pnpm","children":[]}]},{"level":2,"title":"系统学习Webpack","slug":"系统学习webpack","link":"#系统学习webpack","children":[{"level":3,"title":"Node内置模块 path","slug":"node内置模块-path","link":"#node内置模块-path","children":[]},{"level":3,"title":"初识Webpack","slug":"初识webpack","link":"#初识webpack","children":[]}]}],"relativePath":"note/Front-end Engineering.md","lastUpdated":1680702249000}'),e={name:"note/Front-end Engineering.md"},o=l("",254),p=[o];function c(r,t,i,d,y,D){return n(),a("div",null,p)}const A=s(e,[["render",c]]);export{F as __pageData,A as default};
import{_ as s,o as n,c as a,a as l}from"./app.ab8d0b9f.js";const F=JSON.parse('{"title":"前端工程化","description":"","frontmatter":{},"headers":[{"level":2,"title":"Node.js","slug":"node-js","link":"#node-js","children":[{"level":3,"title":"什么是Node.js","slug":"什么是node-js","link":"#什么是node-js","children":[]},{"level":3,"title":"Node.js的应用场景","slug":"node-js的应用场景","link":"#node-js的应用场景","children":[]},{"level":3,"title":"Node.js的参数传递","slug":"node-js的参数传递","link":"#node-js的参数传递","children":[]},{"level":3,"title":"Node中的全局对象","slug":"node中的全局对象","link":"#node中的全局对象","children":[]}]},{"level":2,"title":"模块化开发","slug":"模块化开发","link":"#模块化开发","children":[{"level":3,"title":"模块化的初衷","slug":"模块化的初衷","link":"#模块化的初衷","children":[]},{"level":3,"title":"CommonJS","slug":"commonjs","link":"#commonjs","children":[]},{"level":3,"title":"ESModule","slug":"esmodule","link":"#esmodule","children":[]},{"level":3,"title":"深入理解模块加载","slug":"深入理解模块加载","link":"#深入理解模块加载","children":[]},{"level":3,"title":"拓展内容","slug":"拓展内容","link":"#拓展内容","children":[]}]},{"level":2,"title":"包管理工具","slug":"包管理工具","link":"#包管理工具","children":[{"level":3,"title":"npm","slug":"npm","link":"#npm","children":[]},{"level":3,"title":"package.json","slug":"package-json","link":"#package-json","children":[]},{"level":3,"title":"npx","slug":"npx","link":"#npx","children":[]},{"level":3,"title":"npm包的发布","slug":"npm包的发布","link":"#npm包的发布","children":[]},{"level":3,"title":"npm包的开发调试","slug":"npm包的开发调试","link":"#npm包的开发调试","children":[]},{"level":3,"title":"PNPM","slug":"pnpm","link":"#pnpm","children":[]}]},{"level":2,"title":"系统学习Webpack","slug":"系统学习webpack","link":"#系统学习webpack","children":[{"level":3,"title":"Node内置模块 path","slug":"node内置模块-path","link":"#node内置模块-path","children":[]},{"level":3,"title":"初识Webpack","slug":"初识webpack","link":"#初识webpack","children":[]}]}],"relativePath":"note/Front-end Engineering.md","lastUpdated":1681026524000}'),e={name:"note/Front-end Engineering.md"},o=l("",254),p=[o];function c(r,t,i,d,y,D){return n(),a("div",null,p)}const A=s(e,[["render",c]]);export{F as __pageData,A as default};

View File

@@ -1 +1 @@
import{_ as a,o as e,c as r,b as t,d as s}from"./app.ab8d0b9f.js";const S=JSON.parse('{"title":"JavaScript 基础","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"note/JavaScript.md","lastUpdated":1680702249000}'),c={name:"note/JavaScript.md"},i=t("h1",{id:"javascript-基础",tabindex:"-1"},[s("JavaScript 基础 "),t("a",{class:"header-anchor",href:"#javascript-基础","aria-hidden":"true"},"#")],-1),n=t("p",null,"JavaScript 组成",-1),o=t("ul",null,[t("li",null,"ECMAScript 定义语言规范"),t("li",null,"DOM 用于操作文档的API"),t("li",null,"BOM 用于操作浏览器的API")],-1),l=[i,n,o];function d(p,_,h,u,v,f){return e(),r("div",null,l)}const J=a(c,[["render",d]]);export{S as __pageData,J as default};
import{_ as a,o as e,c as r,b as t,d as s}from"./app.ab8d0b9f.js";const S=JSON.parse('{"title":"JavaScript 基础","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"note/JavaScript.md","lastUpdated":1681026524000}'),c={name:"note/JavaScript.md"},i=t("h1",{id:"javascript-基础",tabindex:"-1"},[s("JavaScript 基础 "),t("a",{class:"header-anchor",href:"#javascript-基础","aria-hidden":"true"},"#")],-1),n=t("p",null,"JavaScript 组成",-1),o=t("ul",null,[t("li",null,"ECMAScript 定义语言规范"),t("li",null,"DOM 用于操作文档的API"),t("li",null,"BOM 用于操作浏览器的API")],-1),l=[i,n,o];function d(p,_,h,u,v,f){return e(),r("div",null,l)}const J=a(c,[["render",d]]);export{S as __pageData,J as default};

View File

@@ -1 +1 @@
import{_ as a,o as e,c as r,b as t,d as s}from"./app.ab8d0b9f.js";const S=JSON.parse('{"title":"JavaScript 基础","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"note/JavaScript.md","lastUpdated":1680702249000}'),c={name:"note/JavaScript.md"},i=t("h1",{id:"javascript-基础",tabindex:"-1"},[s("JavaScript 基础 "),t("a",{class:"header-anchor",href:"#javascript-基础","aria-hidden":"true"},"#")],-1),n=t("p",null,"JavaScript 组成",-1),o=t("ul",null,[t("li",null,"ECMAScript 定义语言规范"),t("li",null,"DOM 用于操作文档的API"),t("li",null,"BOM 用于操作浏览器的API")],-1),l=[i,n,o];function d(p,_,h,u,v,f){return e(),r("div",null,l)}const J=a(c,[["render",d]]);export{S as __pageData,J as default};
import{_ as a,o as e,c as r,b as t,d as s}from"./app.ab8d0b9f.js";const S=JSON.parse('{"title":"JavaScript 基础","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"note/JavaScript.md","lastUpdated":1681026524000}'),c={name:"note/JavaScript.md"},i=t("h1",{id:"javascript-基础",tabindex:"-1"},[s("JavaScript 基础 "),t("a",{class:"header-anchor",href:"#javascript-基础","aria-hidden":"true"},"#")],-1),n=t("p",null,"JavaScript 组成",-1),o=t("ul",null,[t("li",null,"ECMAScript 定义语言规范"),t("li",null,"DOM 用于操作文档的API"),t("li",null,"BOM 用于操作浏览器的API")],-1),l=[i,n,o];function d(p,_,h,u,v,f){return e(),r("div",null,l)}const J=a(c,[["render",d]]);export{S as __pageData,J as default};

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
import{_ as l,o as e,c as i,a as s}from"./app.ab8d0b9f.js";const g=JSON.parse('{"title":"服务端渲染(SSR)","description":"","frontmatter":{},"headers":[{"level":2,"title":"邂逅SPA和SSR","slug":"邂逅spa和ssr","link":"#邂逅spa和ssr","children":[{"level":3,"title":"SPA的优点与缺点","slug":"spa的优点与缺点","link":"#spa的优点与缺点","children":[]},{"level":3,"title":"SEO优化","slug":"seo优化","link":"#seo优化","children":[]}]},{"level":2,"title":"服务端渲染 SSR","slug":"服务端渲染-ssr-1","link":"#服务端渲染-ssr-1","children":[{"level":3,"title":"SSR的优点","slug":"ssr的优点","link":"#ssr的优点","children":[]},{"level":3,"title":"SSR的缺点","slug":"ssr的缺点","link":"#ssr的缺点","children":[]},{"level":3,"title":"SSR 解决方案","slug":"ssr-解决方案","link":"#ssr-解决方案","children":[]}]},{"level":2,"title":"静态网站生成 SSG","slug":"静态网站生成-ssg","link":"#静态网站生成-ssg","children":[{"level":3,"title":"SSR与SSG的优势","slug":"ssr与ssg的优势","link":"#ssr与ssg的优势","children":[]},{"level":3,"title":"跨请求状态污染","slug":"跨请求状态污染","link":"#跨请求状态污染","children":[]}]},{"level":2,"title":"Nuxt3 系统学习","slug":"nuxt3-系统学习","link":"#nuxt3-系统学习","children":[{"level":3,"title":"认识Nuxt3","slug":"认识nuxt3","link":"#认识nuxt3","children":[]},{"level":3,"title":"搭建Nuxt3环境","slug":"搭建nuxt3环境","link":"#搭建nuxt3环境","children":[]},{"level":3,"title":"配置 Configuration","slug":"配置-configuration","link":"#配置-configuration","children":[]},{"level":3,"title":"页面与组件 View and Component","slug":"页面与组件-view-and-component","link":"#页面与组件-view-and-component","children":[]},{"level":3,"title":"创建页面","slug":"创建页面","link":"#创建页面","children":[]},{"level":3,"title":"页面布局 Layout","slug":"页面布局-layout","link":"#页面布局-layout","children":[]},{"level":3,"title":"渲染模式","slug":"渲染模式","link":"#渲染模式","children":[]}]}],"relativePath":"note/SSR.md","lastUpdated":1680702249000}'),o={name:"note/SSR.md"},a=s("",80),n=[a];function t(d,c,r,p,u,h){return e(),i("div",null,n)}const D=l(o,[["render",t]]);export{g as __pageData,D as default};
import{_ as l,o as e,c as i,a as s}from"./app.ab8d0b9f.js";const g=JSON.parse('{"title":"服务端渲染(SSR)","description":"","frontmatter":{},"headers":[{"level":2,"title":"邂逅SPA和SSR","slug":"邂逅spa和ssr","link":"#邂逅spa和ssr","children":[{"level":3,"title":"SPA的优点与缺点","slug":"spa的优点与缺点","link":"#spa的优点与缺点","children":[]},{"level":3,"title":"SEO优化","slug":"seo优化","link":"#seo优化","children":[]}]},{"level":2,"title":"服务端渲染 SSR","slug":"服务端渲染-ssr-1","link":"#服务端渲染-ssr-1","children":[{"level":3,"title":"SSR的优点","slug":"ssr的优点","link":"#ssr的优点","children":[]},{"level":3,"title":"SSR的缺点","slug":"ssr的缺点","link":"#ssr的缺点","children":[]},{"level":3,"title":"SSR 解决方案","slug":"ssr-解决方案","link":"#ssr-解决方案","children":[]}]},{"level":2,"title":"静态网站生成 SSG","slug":"静态网站生成-ssg","link":"#静态网站生成-ssg","children":[{"level":3,"title":"SSR与SSG的优势","slug":"ssr与ssg的优势","link":"#ssr与ssg的优势","children":[]},{"level":3,"title":"跨请求状态污染","slug":"跨请求状态污染","link":"#跨请求状态污染","children":[]}]},{"level":2,"title":"Nuxt3 系统学习","slug":"nuxt3-系统学习","link":"#nuxt3-系统学习","children":[{"level":3,"title":"认识Nuxt3","slug":"认识nuxt3","link":"#认识nuxt3","children":[]},{"level":3,"title":"搭建Nuxt3环境","slug":"搭建nuxt3环境","link":"#搭建nuxt3环境","children":[]},{"level":3,"title":"配置 Configuration","slug":"配置-configuration","link":"#配置-configuration","children":[]},{"level":3,"title":"页面与组件 View and Component","slug":"页面与组件-view-and-component","link":"#页面与组件-view-and-component","children":[]},{"level":3,"title":"创建页面","slug":"创建页面","link":"#创建页面","children":[]},{"level":3,"title":"页面布局 Layout","slug":"页面布局-layout","link":"#页面布局-layout","children":[]},{"level":3,"title":"渲染模式","slug":"渲染模式","link":"#渲染模式","children":[]}]}],"relativePath":"note/SSR.md","lastUpdated":1681026524000}'),o={name:"note/SSR.md"},a=s("",80),n=[a];function t(d,c,r,p,u,h){return e(),i("div",null,n)}const D=l(o,[["render",t]]);export{g as __pageData,D as default};

View File

@@ -1 +1 @@
import{_ as l,r as p,o as c,c as t,b as s,d as e,e as n,a as o}from"./app.ab8d0b9f.js";const r="/assets/gi3.c83cee76.png",d="/assets/gi3-2.8cc1f8a9.png",i="/assets/gi3-3.47dffc9b.png",D="/assets/sign-mac.2c3e272f.png",h="/assets/sign-mac-2.5861d44c.png",u="/assets/mac-chmod.bf888724.jpg",F="/assets/guide-jianguo-1.a7e6fa82.png",y="/assets/guide-jianguo-2.14924b1b.png",_="/assets/gi4.e4051a3e.png",C="/assets/gi5.f517b425.png",O=JSON.parse('{"title":"使用指南","description":"","frontmatter":{},"headers":[{"level":2,"title":"快捷键一览","slug":"快捷键一览","link":"#快捷键一览","children":[]},{"level":2,"title":"如何手动安装clipboard-event-handler","slug":"如何手动安装clipboard-event-handler","link":"#如何手动安装clipboard-event-handler","children":[{"level":3,"title":"1. 下载监听程序","slug":"_1-下载监听程序","link":"#_1-下载监听程序","children":[]},{"level":3,"title":"2. 找到剪贴板数据文件所在目录","slug":"_2-找到剪贴板数据文件所在目录","link":"#_2-找到剪贴板数据文件所在目录","children":[]},{"level":3,"title":"3. 将监听程序拷贝到目录中","slug":"_3-将监听程序拷贝到目录中","link":"#_3-将监听程序拷贝到目录中","children":[]},{"level":3,"title":"4. 【重要】注意事项","slug":"_4-【重要】注意事项","link":"#_4-【重要】注意事项","children":[]}]},{"level":2,"title":"如何实现多端同步","slug":"如何实现多端同步","link":"#如何实现多端同步","children":[{"level":3,"title":"WebDav同步","slug":"webdav同步","link":"#webdav同步","children":[]},{"level":3,"title":"坚果云同步文件夹","slug":"坚果云同步文件夹","link":"#坚果云同步文件夹","children":[]}]},{"level":2,"title":"如何迁移数据","slug":"如何迁移数据","link":"#如何迁移数据","children":[]},{"level":2,"title":"如何创造自己的功能按钮","slug":"如何创造自己的功能按钮","link":"#如何创造自己的功能按钮","children":[]}],"relativePath":"project/ClipboardManager/guide/index.md","lastUpdated":1680702249000}'),g={name:"project/ClipboardManager/guide/index.md"},m=s("h1",{id:"使用指南",tabindex:"-1"},[e("使用指南 "),s("a",{class:"header-anchor",href:"#使用指南","aria-hidden":"true"},"#")],-1),b=s("h2",{id:"快捷键一览",tabindex:"-1"},[e("快捷键一览 "),s("a",{class:"header-anchor",href:"#快捷键一览","aria-hidden":"true"},"#")],-1),A=o("",6),v=s("code",null,"Ctrl/Command+鼠标左键",-1),q=o("",35),f={id:"webdav同步",tabindex:"-1"},x=s("a",{class:"header-anchor",href:"#webdav同步","aria-hidden":"true"},"#",-1),E=s("div",{class:"tip custom-block"},[s("p",{class:"custom-block-title"},"TIP"),s("p",null,[e("自"),s("code",null,"v2.0.0"),e("起,可以通过开通插件会员启用"),s("strong",null,"WebDav同步功能")])],-1),k=s("p",null,[e("👉👉👉"),s("a",{href:"./../vip/#webdav同步功能"},"插件会员/WebDav同步功能"),e("👈👈👈")],-1),w={id:"坚果云同步文件夹",tabindex:"-1"},T=s("a",{class:"header-anchor",href:"#坚果云同步文件夹","aria-hidden":"true"},"#",-1),S=o("",28);function j(B,N,V,I,W,P){const a=p("Badge");return c(),t("div",null,[m,b,s("ul",null,[A,s("li",null,[v,e("点击文本/图片/文件 直接进入预览/打开所在文件夹 "),n(a,{type:"warning",text:"插件会员"})])]),q,s("h3",f,[e("WebDav同步 "),n(a,{type:"tip",text:"^2.0.0"}),e(),x]),E,k,s("h3",w,[e("坚果云同步文件夹 "),n(a,{type:"warning",text:"仅旧版本"}),e(),T]),S])}const R=l(g,[["render",j]]);export{O as __pageData,R as default};
import{_ as l,r as p,o as c,c as t,b as s,d as e,e as n,a as o}from"./app.ab8d0b9f.js";const r="/assets/gi3.c83cee76.png",d="/assets/gi3-2.8cc1f8a9.png",i="/assets/gi3-3.47dffc9b.png",D="/assets/sign-mac.2c3e272f.png",h="/assets/sign-mac-2.5861d44c.png",u="/assets/mac-chmod.bf888724.jpg",F="/assets/guide-jianguo-1.a7e6fa82.png",y="/assets/guide-jianguo-2.14924b1b.png",_="/assets/gi4.e4051a3e.png",C="/assets/gi5.f517b425.png",O=JSON.parse('{"title":"使用指南","description":"","frontmatter":{},"headers":[{"level":2,"title":"快捷键一览","slug":"快捷键一览","link":"#快捷键一览","children":[]},{"level":2,"title":"如何手动安装clipboard-event-handler","slug":"如何手动安装clipboard-event-handler","link":"#如何手动安装clipboard-event-handler","children":[{"level":3,"title":"1. 下载监听程序","slug":"_1-下载监听程序","link":"#_1-下载监听程序","children":[]},{"level":3,"title":"2. 找到剪贴板数据文件所在目录","slug":"_2-找到剪贴板数据文件所在目录","link":"#_2-找到剪贴板数据文件所在目录","children":[]},{"level":3,"title":"3. 将监听程序拷贝到目录中","slug":"_3-将监听程序拷贝到目录中","link":"#_3-将监听程序拷贝到目录中","children":[]},{"level":3,"title":"4. 【重要】注意事项","slug":"_4-【重要】注意事项","link":"#_4-【重要】注意事项","children":[]}]},{"level":2,"title":"如何实现多端同步","slug":"如何实现多端同步","link":"#如何实现多端同步","children":[{"level":3,"title":"WebDav同步","slug":"webdav同步","link":"#webdav同步","children":[]},{"level":3,"title":"坚果云同步文件夹","slug":"坚果云同步文件夹","link":"#坚果云同步文件夹","children":[]}]},{"level":2,"title":"如何迁移数据","slug":"如何迁移数据","link":"#如何迁移数据","children":[]},{"level":2,"title":"如何创造自己的功能按钮","slug":"如何创造自己的功能按钮","link":"#如何创造自己的功能按钮","children":[]}],"relativePath":"project/ClipboardManager/guide/index.md","lastUpdated":1681026524000}'),g={name:"project/ClipboardManager/guide/index.md"},m=s("h1",{id:"使用指南",tabindex:"-1"},[e("使用指南 "),s("a",{class:"header-anchor",href:"#使用指南","aria-hidden":"true"},"#")],-1),b=s("h2",{id:"快捷键一览",tabindex:"-1"},[e("快捷键一览 "),s("a",{class:"header-anchor",href:"#快捷键一览","aria-hidden":"true"},"#")],-1),A=o("",6),v=s("code",null,"Ctrl/Command+鼠标左键",-1),q=o("",35),f={id:"webdav同步",tabindex:"-1"},x=s("a",{class:"header-anchor",href:"#webdav同步","aria-hidden":"true"},"#",-1),E=s("div",{class:"tip custom-block"},[s("p",{class:"custom-block-title"},"TIP"),s("p",null,[e("自"),s("code",null,"v2.0.0"),e("起,可以通过开通插件会员启用"),s("strong",null,"WebDav同步功能")])],-1),k=s("p",null,[e("👉👉👉"),s("a",{href:"./../vip/#webdav同步功能"},"插件会员/WebDav同步功能"),e("👈👈👈")],-1),w={id:"坚果云同步文件夹",tabindex:"-1"},T=s("a",{class:"header-anchor",href:"#坚果云同步文件夹","aria-hidden":"true"},"#",-1),S=o("",28);function j(B,N,V,I,W,P){const a=p("Badge");return c(),t("div",null,[m,b,s("ul",null,[A,s("li",null,[v,e("点击文本/图片/文件 直接进入预览/打开所在文件夹 "),n(a,{type:"warning",text:"插件会员"})])]),q,s("h3",f,[e("WebDav同步 "),n(a,{type:"tip",text:"^2.0.0"}),e(),x]),E,k,s("h3",w,[e("坚果云同步文件夹 "),n(a,{type:"warning",text:"仅旧版本"}),e(),T]),S])}const R=l(g,[["render",j]]);export{O as __pageData,R as default};

View File

@@ -1 +1 @@
import{r as e,o as n,c as a,e as o,n as d,g as i,b as l,a as g}from"./app.ab8d0b9f.js";const p="/assets/logo.98e788ed.png",_="/assets/11.3cd0cf4e.png",m="/assets/22.8fe09229.png",h="/assets/33.63eddf1e.png",u="/assets/44.a788d6b3.png",b="/assets/55.9e8a964d.png",f="/assets/66.54616de1.png",T="/assets/77.2791123e.png",C=l("br",null,null,-1),S=g('<h2 id="🔰-开始使用" tabindex="-1">🔰 开始使用 <a class="header-anchor" href="#🔰-开始使用" aria-hidden="true">#</a></h2><p><strong>首次安装需要设置“跟随主程序同时启动”</strong></p><ul><li>✅ 监听剪贴板并持续将新内容更新到本地磁盘 数据读写<strong>完全本地化</strong></li><li>✅ 快速<code>收藏</code>/<code>转存</code>/<code>分词</code>/<code>复制</code>/<code>删除</code>/<code>打开文件&amp;目标文件夹</code></li><li>✅ 功能按钮 定义<strong>无限可能</strong> <code>OCR识别</code> <code>百度搜索</code> <code>百度识图</code> <code>统计文本字数</code> <code>颜色管理</code> <code>识别图片中二维码</code> <code>上传到图床</code> <code>翻译</code></li><li>✅ <code>鼠标左键</code> 复制并粘贴 <code>鼠标右键</code> 仅复制</li><li>✅ 按下<code>Shift</code>或<code>空格</code>进入<strong>多选模式</strong> 连续选择多条内容合并复制 支持<strong>跨标签</strong>合并复制/粘贴</li><li>✅ 键盘 <code>↑</code> <code>↓</code> 选中历史记录,按下回车直接粘贴</li><li>✅ 键盘 <code>←</code> <code>→</code>切换分类 <code>Tab</code>键连续切换分类</li><li>✅ 使用 <code>Ctrl/Alt+数字键</code> 快速粘贴</li><li>✅ 插件内<code>输入任意字母或数字</code>自动聚焦搜索框 支持使用<code>空格</code>同时检索<strong>多个关键词</strong></li><li>✅ <strong>智慧分词</strong> 快速拖选指定内容 <strong>超级粘贴</strong> 直接转存为文件</li><li>✅ 优雅的界面动效与交互 跟随系统的深色模式</li><li>✅ 优秀的剪贴板监听性能 强大的自定义功能按钮 自搭建多端同步 ···</li></ul><h2 id="📚-安装方式" tabindex="-1">📚 安装方式 <a class="header-anchor" href="#📚-安装方式" aria-hidden="true">#</a></h2><ul><li>官方插件市场安装</li><li>离线插件安装:<a href="https://pan.baidu.com/s/14GJIXWDU2F4jsqDDq73aFg?pwd=Ziuc" target="_blank" rel="noreferrer">百度网盘</a></li></ul><p><a href="https://qm.qq.com/cgi-bin/qm/qr?k=9qfHKTaQuWqYN1ys1yiQPdJ4iIlHwgL5&amp;jump_from=webapi" target="_blank" rel="noreferrer">催更群 769115389</a> <a href="https://github.com/ZiuChen" target="_blank" rel="noreferrer">Github</a></p>',6),N=JSON.parse('{"title":"超级剪贴板","description":"","frontmatter":{"title":"超级剪贴板","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/ClipboardManager/index.md","lastUpdated":1680702249000}'),k={name:"project/ClipboardManager/index.md"},P=Object.assign(k,{setup(q){const t={subTitle:"✨ 强大的剪贴板管理工具。",logo:p,linkList:[{content:"⭐ 开源代码",target:"https://github.com/ZiuChen/ClipboardManager"},{content:"🚀 使用指南",target:"./guide/"},{content:"🌎 疑难解答",target:"./statement/"},{content:"👑 插件会员",target:"./vip/"},{content:"🚚 更新日志",target:"./log/"}]},c=[{src:_},{src:m},{src:h},{src:u},{src:b},{src:f},{src:T}];return(v,I)=>{const s=e("Title"),r=e("ImgSlider");return n(),a("div",null,[o(s,d(i(t)),null,16),C,o(r,{imgSliderList:c}),S])}}});export{N as __pageData,P as default};
import{r as e,o as n,c as a,e as o,n as d,g as i,b as l,a as g}from"./app.ab8d0b9f.js";const p="/assets/logo.98e788ed.png",_="/assets/11.3cd0cf4e.png",m="/assets/22.8fe09229.png",h="/assets/33.63eddf1e.png",u="/assets/44.a788d6b3.png",b="/assets/55.9e8a964d.png",f="/assets/66.54616de1.png",T="/assets/77.2791123e.png",C=l("br",null,null,-1),S=g('<h2 id="🔰-开始使用" tabindex="-1">🔰 开始使用 <a class="header-anchor" href="#🔰-开始使用" aria-hidden="true">#</a></h2><p><strong>首次安装需要设置“跟随主程序同时启动”</strong></p><ul><li>✅ 监听剪贴板并持续将新内容更新到本地磁盘 数据读写<strong>完全本地化</strong></li><li>✅ 快速<code>收藏</code>/<code>转存</code>/<code>分词</code>/<code>复制</code>/<code>删除</code>/<code>打开文件&amp;目标文件夹</code></li><li>✅ 功能按钮 定义<strong>无限可能</strong> <code>OCR识别</code> <code>百度搜索</code> <code>百度识图</code> <code>统计文本字数</code> <code>颜色管理</code> <code>识别图片中二维码</code> <code>上传到图床</code> <code>翻译</code></li><li>✅ <code>鼠标左键</code> 复制并粘贴 <code>鼠标右键</code> 仅复制</li><li>✅ 按下<code>Shift</code>或<code>空格</code>进入<strong>多选模式</strong> 连续选择多条内容合并复制 支持<strong>跨标签</strong>合并复制/粘贴</li><li>✅ 键盘 <code>↑</code> <code>↓</code> 选中历史记录,按下回车直接粘贴</li><li>✅ 键盘 <code>←</code> <code>→</code>切换分类 <code>Tab</code>键连续切换分类</li><li>✅ 使用 <code>Ctrl/Alt+数字键</code> 快速粘贴</li><li>✅ 插件内<code>输入任意字母或数字</code>自动聚焦搜索框 支持使用<code>空格</code>同时检索<strong>多个关键词</strong></li><li>✅ <strong>智慧分词</strong> 快速拖选指定内容 <strong>超级粘贴</strong> 直接转存为文件</li><li>✅ 优雅的界面动效与交互 跟随系统的深色模式</li><li>✅ 优秀的剪贴板监听性能 强大的自定义功能按钮 自搭建多端同步 ···</li></ul><h2 id="📚-安装方式" tabindex="-1">📚 安装方式 <a class="header-anchor" href="#📚-安装方式" aria-hidden="true">#</a></h2><ul><li>官方插件市场安装</li><li>离线插件安装:<a href="https://pan.baidu.com/s/14GJIXWDU2F4jsqDDq73aFg?pwd=Ziuc" target="_blank" rel="noreferrer">百度网盘</a></li></ul><p><a href="https://qm.qq.com/cgi-bin/qm/qr?k=9qfHKTaQuWqYN1ys1yiQPdJ4iIlHwgL5&amp;jump_from=webapi" target="_blank" rel="noreferrer">催更群 769115389</a> <a href="https://github.com/ZiuChen" target="_blank" rel="noreferrer">Github</a></p>',6),N=JSON.parse('{"title":"超级剪贴板","description":"","frontmatter":{"title":"超级剪贴板","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/ClipboardManager/index.md","lastUpdated":1681026524000}'),k={name:"project/ClipboardManager/index.md"},P=Object.assign(k,{setup(q){const t={subTitle:"✨ 强大的剪贴板管理工具。",logo:p,linkList:[{content:"⭐ 开源代码",target:"https://github.com/ZiuChen/ClipboardManager"},{content:"🚀 使用指南",target:"./guide/"},{content:"🌎 疑难解答",target:"./statement/"},{content:"👑 插件会员",target:"./vip/"},{content:"🚚 更新日志",target:"./log/"}]},c=[{src:_},{src:m},{src:h},{src:u},{src:b},{src:f},{src:T}];return(v,I)=>{const s=e("Title"),r=e("ImgSlider");return n(),a("div",null,[o(s,d(i(t)),null,16),C,o(r,{imgSliderList:c}),S])}}});export{N as __pageData,P as default};

View File

@@ -1 +1 @@
import{r as e,o as n,c as a,e as o,n as d,g as i,b as l,a as g}from"./app.ab8d0b9f.js";const p="/assets/logo.98e788ed.png",_="/assets/11.3cd0cf4e.png",m="/assets/22.8fe09229.png",h="/assets/33.63eddf1e.png",u="/assets/44.a788d6b3.png",b="/assets/55.9e8a964d.png",f="/assets/66.54616de1.png",T="/assets/77.2791123e.png",C=l("br",null,null,-1),S=g("",6),N=JSON.parse('{"title":"超级剪贴板","description":"","frontmatter":{"title":"超级剪贴板","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/ClipboardManager/index.md","lastUpdated":1680702249000}'),k={name:"project/ClipboardManager/index.md"},P=Object.assign(k,{setup(q){const t={subTitle:"✨ 强大的剪贴板管理工具。",logo:p,linkList:[{content:"⭐ 开源代码",target:"https://github.com/ZiuChen/ClipboardManager"},{content:"🚀 使用指南",target:"./guide/"},{content:"🌎 疑难解答",target:"./statement/"},{content:"👑 插件会员",target:"./vip/"},{content:"🚚 更新日志",target:"./log/"}]},c=[{src:_},{src:m},{src:h},{src:u},{src:b},{src:f},{src:T}];return(v,I)=>{const s=e("Title"),r=e("ImgSlider");return n(),a("div",null,[o(s,d(i(t)),null,16),C,o(r,{imgSliderList:c}),S])}}});export{N as __pageData,P as default};
import{r as e,o as n,c as a,e as o,n as d,g as i,b as l,a as g}from"./app.ab8d0b9f.js";const p="/assets/logo.98e788ed.png",_="/assets/11.3cd0cf4e.png",m="/assets/22.8fe09229.png",h="/assets/33.63eddf1e.png",u="/assets/44.a788d6b3.png",b="/assets/55.9e8a964d.png",f="/assets/66.54616de1.png",T="/assets/77.2791123e.png",C=l("br",null,null,-1),S=g("",6),N=JSON.parse('{"title":"超级剪贴板","description":"","frontmatter":{"title":"超级剪贴板","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/ClipboardManager/index.md","lastUpdated":1681026524000}'),k={name:"project/ClipboardManager/index.md"},P=Object.assign(k,{setup(q){const t={subTitle:"✨ 强大的剪贴板管理工具。",logo:p,linkList:[{content:"⭐ 开源代码",target:"https://github.com/ZiuChen/ClipboardManager"},{content:"🚀 使用指南",target:"./guide/"},{content:"🌎 疑难解答",target:"./statement/"},{content:"👑 插件会员",target:"./vip/"},{content:"🚚 更新日志",target:"./log/"}]},c=[{src:_},{src:m},{src:h},{src:u},{src:b},{src:f},{src:T}];return(v,I)=>{const s=e("Title"),r=e("ImgSlider");return n(),a("div",null,[o(s,d(i(t)),null,16),C,o(r,{imgSliderList:c}),S])}}});export{N as __pageData,P as default};

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
import{_ as l,o as e,c as i,a}from"./app.ab8d0b9f.js";const x=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v2.1.1","slug":"v2-1-1","link":"#v2-1-1","children":[]},{"level":2,"title":"v2.1.0","slug":"v2-1-0","link":"#v2-1-0","children":[]},{"level":2,"title":"v2.0.11","slug":"v2-0-11","link":"#v2-0-11","children":[]},{"level":2,"title":"v2.0.10","slug":"v2-0-10","link":"#v2-0-10","children":[]},{"level":2,"title":"v2.0.9","slug":"v2-0-9","link":"#v2-0-9","children":[]},{"level":2,"title":"v2.0.8","slug":"v2-0-8","link":"#v2-0-8","children":[]},{"level":2,"title":"v2.0.7","slug":"v2-0-7","link":"#v2-0-7","children":[]},{"level":2,"title":"v2.0.6","slug":"v2-0-6","link":"#v2-0-6","children":[]},{"level":2,"title":"v2.0.5","slug":"v2-0-5","link":"#v2-0-5","children":[]},{"level":2,"title":"v2.0.4","slug":"v2-0-4","link":"#v2-0-4","children":[]},{"level":2,"title":"v2.0.3","slug":"v2-0-3","link":"#v2-0-3","children":[]},{"level":2,"title":"v2.0.2","slug":"v2-0-2","link":"#v2-0-2","children":[]},{"level":2,"title":"v2.0.1","slug":"v2-0-1","link":"#v2-0-1","children":[]},{"level":2,"title":"v2.0.0","slug":"v2-0-0","link":"#v2-0-0","children":[]},{"level":2,"title":"v1.4.7","slug":"v1-4-7","link":"#v1-4-7","children":[]},{"level":2,"title":"v1.4.6","slug":"v1-4-6","link":"#v1-4-6","children":[]},{"level":2,"title":"v1.4.5","slug":"v1-4-5","link":"#v1-4-5","children":[]},{"level":2,"title":"v1.4.4","slug":"v1-4-4","link":"#v1-4-4","children":[]},{"level":2,"title":"v1.4.3","slug":"v1-4-3","link":"#v1-4-3","children":[]},{"level":2,"title":"v1.4.2","slug":"v1-4-2","link":"#v1-4-2","children":[]},{"level":2,"title":"v1.4.1","slug":"v1-4-1","link":"#v1-4-1","children":[]},{"level":2,"title":"v1.4.0","slug":"v1-4-0","link":"#v1-4-0","children":[]},{"level":2,"title":"v1.3.4","slug":"v1-3-4","link":"#v1-3-4","children":[]},{"level":2,"title":"v1.3.3","slug":"v1-3-3","link":"#v1-3-3","children":[]},{"level":2,"title":"v1.3.2","slug":"v1-3-2","link":"#v1-3-2","children":[]},{"level":2,"title":"v1.3.1","slug":"v1-3-1","link":"#v1-3-1","children":[]},{"level":2,"title":"v1.3.0","slug":"v1-3-0","link":"#v1-3-0","children":[]},{"level":2,"title":"v1.2.3","slug":"v1-2-3","link":"#v1-2-3","children":[]},{"level":2,"title":"v1.2.2","slug":"v1-2-2","link":"#v1-2-2","children":[]},{"level":2,"title":"v1.2.1","slug":"v1-2-1","link":"#v1-2-1","children":[]},{"level":2,"title":"v1.2.0","slug":"v1-2-0","link":"#v1-2-0","children":[]},{"level":2,"title":"v1.1.7","slug":"v1-1-7","link":"#v1-1-7","children":[]},{"level":2,"title":"v1.1.6","slug":"v1-1-6","link":"#v1-1-6","children":[]},{"level":2,"title":"v1.1.5","slug":"v1-1-5","link":"#v1-1-5","children":[]},{"level":2,"title":"v1.1.4","slug":"v1-1-4","link":"#v1-1-4","children":[]},{"level":2,"title":"v1.1.3","slug":"v1-1-3","link":"#v1-1-3","children":[]},{"level":2,"title":"v1.1.2","slug":"v1-1-2","link":"#v1-1-2","children":[]},{"level":2,"title":"v1.1.1","slug":"v1-1-1","link":"#v1-1-1","children":[]},{"level":2,"title":"v1.1.0","slug":"v1-1-0","link":"#v1-1-0","children":[]},{"level":2,"title":"v1.0.4","slug":"v1-0-4","link":"#v1-0-4","children":[]},{"level":2,"title":"v1.0.3","slug":"v1-0-3","link":"#v1-0-3","children":[]},{"level":2,"title":"v1.0.2","slug":"v1-0-2","link":"#v1-0-2","children":[]},{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/ClipboardManager/log/index.md","lastUpdated":1680702249000}'),d={name:"project/ClipboardManager/log/index.md"},h=a("",135),r=[h];function c(t,v,n,o,f,u){return e(),i("div",null,r)}const p=l(d,[["render",c]]);export{x as __pageData,p as default};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
import{_ as l,o as e,c as i,a}from"./app.ab8d0b9f.js";const x=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v2.1.2","slug":"v2-1-2","link":"#v2-1-2","children":[]},{"level":2,"title":"v2.1.1","slug":"v2-1-1","link":"#v2-1-1","children":[]},{"level":2,"title":"v2.1.0","slug":"v2-1-0","link":"#v2-1-0","children":[]},{"level":2,"title":"v2.0.11","slug":"v2-0-11","link":"#v2-0-11","children":[]},{"level":2,"title":"v2.0.10","slug":"v2-0-10","link":"#v2-0-10","children":[]},{"level":2,"title":"v2.0.9","slug":"v2-0-9","link":"#v2-0-9","children":[]},{"level":2,"title":"v2.0.8","slug":"v2-0-8","link":"#v2-0-8","children":[]},{"level":2,"title":"v2.0.7","slug":"v2-0-7","link":"#v2-0-7","children":[]},{"level":2,"title":"v2.0.6","slug":"v2-0-6","link":"#v2-0-6","children":[]},{"level":2,"title":"v2.0.5","slug":"v2-0-5","link":"#v2-0-5","children":[]},{"level":2,"title":"v2.0.4","slug":"v2-0-4","link":"#v2-0-4","children":[]},{"level":2,"title":"v2.0.3","slug":"v2-0-3","link":"#v2-0-3","children":[]},{"level":2,"title":"v2.0.2","slug":"v2-0-2","link":"#v2-0-2","children":[]},{"level":2,"title":"v2.0.1","slug":"v2-0-1","link":"#v2-0-1","children":[]},{"level":2,"title":"v2.0.0","slug":"v2-0-0","link":"#v2-0-0","children":[]},{"level":2,"title":"v1.4.7","slug":"v1-4-7","link":"#v1-4-7","children":[]},{"level":2,"title":"v1.4.6","slug":"v1-4-6","link":"#v1-4-6","children":[]},{"level":2,"title":"v1.4.5","slug":"v1-4-5","link":"#v1-4-5","children":[]},{"level":2,"title":"v1.4.4","slug":"v1-4-4","link":"#v1-4-4","children":[]},{"level":2,"title":"v1.4.3","slug":"v1-4-3","link":"#v1-4-3","children":[]},{"level":2,"title":"v1.4.2","slug":"v1-4-2","link":"#v1-4-2","children":[]},{"level":2,"title":"v1.4.1","slug":"v1-4-1","link":"#v1-4-1","children":[]},{"level":2,"title":"v1.4.0","slug":"v1-4-0","link":"#v1-4-0","children":[]},{"level":2,"title":"v1.3.4","slug":"v1-3-4","link":"#v1-3-4","children":[]},{"level":2,"title":"v1.3.3","slug":"v1-3-3","link":"#v1-3-3","children":[]},{"level":2,"title":"v1.3.2","slug":"v1-3-2","link":"#v1-3-2","children":[]},{"level":2,"title":"v1.3.1","slug":"v1-3-1","link":"#v1-3-1","children":[]},{"level":2,"title":"v1.3.0","slug":"v1-3-0","link":"#v1-3-0","children":[]},{"level":2,"title":"v1.2.3","slug":"v1-2-3","link":"#v1-2-3","children":[]},{"level":2,"title":"v1.2.2","slug":"v1-2-2","link":"#v1-2-2","children":[]},{"level":2,"title":"v1.2.1","slug":"v1-2-1","link":"#v1-2-1","children":[]},{"level":2,"title":"v1.2.0","slug":"v1-2-0","link":"#v1-2-0","children":[]},{"level":2,"title":"v1.1.7","slug":"v1-1-7","link":"#v1-1-7","children":[]},{"level":2,"title":"v1.1.6","slug":"v1-1-6","link":"#v1-1-6","children":[]},{"level":2,"title":"v1.1.5","slug":"v1-1-5","link":"#v1-1-5","children":[]},{"level":2,"title":"v1.1.4","slug":"v1-1-4","link":"#v1-1-4","children":[]},{"level":2,"title":"v1.1.3","slug":"v1-1-3","link":"#v1-1-3","children":[]},{"level":2,"title":"v1.1.2","slug":"v1-1-2","link":"#v1-1-2","children":[]},{"level":2,"title":"v1.1.1","slug":"v1-1-1","link":"#v1-1-1","children":[]},{"level":2,"title":"v1.1.0","slug":"v1-1-0","link":"#v1-1-0","children":[]},{"level":2,"title":"v1.0.4","slug":"v1-0-4","link":"#v1-0-4","children":[]},{"level":2,"title":"v1.0.3","slug":"v1-0-3","link":"#v1-0-3","children":[]},{"level":2,"title":"v1.0.2","slug":"v1-0-2","link":"#v1-0-2","children":[]},{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/ClipboardManager/log/index.md","lastUpdated":1681026524000}'),d={name:"project/ClipboardManager/log/index.md"},h=a("",138),r=[h];function t(c,v,n,o,f,u){return e(),i("div",null,r)}const p=l(d,[["render",t]]);export{x as __pageData,p as default};

View File

@@ -1 +1 @@
import{_ as e,o as l,c as a,a as i}from"./app.ab8d0b9f.js";const g=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[{"level":2,"title":"插件启动时报错/白屏","slug":"插件启动时报错-白屏","link":"#插件启动时报错-白屏","children":[]},{"level":2,"title":"自动粘贴(自动上屏)功能失灵了","slug":"自动粘贴-自动上屏-功能失灵了","link":"#自动粘贴-自动上屏-功能失灵了","children":[]},{"level":2,"title":"插件内操作延迟、卡顿","slug":"插件内操作延迟、卡顿","link":"#插件内操作延迟、卡顿","children":[]},{"level":2,"title":"剪贴板记录丢失","slug":"剪贴板记录丢失","link":"#剪贴板记录丢失","children":[]},{"level":2,"title":"为什么偶尔CPU占用特别高? 为什么预览图片时插件卡顿?","slug":"为什么偶尔cpu占用特别高-为什么预览图片时插件卡顿","link":"#为什么偶尔cpu占用特别高-为什么预览图片时插件卡顿","children":[]},{"level":2,"title":"为什么官方的剪贴板插件没有CPU占用高这个问题?","slug":"为什么官方的剪贴板插件没有cpu占用高这个问题","link":"#为什么官方的剪贴板插件没有cpu占用高这个问题","children":[]},{"level":2,"title":"我对这个插件的安全性有担忧, 插件偷窃我的隐私怎么办?","slug":"我对这个插件的安全性有担忧-插件偷窃我的隐私怎么办","link":"#我对这个插件的安全性有担忧-插件偷窃我的隐私怎么办","children":[]},{"level":2,"title":"开源版本和插件市场版本的区别?","slug":"开源版本和插件市场版本的区别","link":"#开源版本和插件市场版本的区别","children":[]},{"level":2,"title":"为什么不开源了, 为什么要开始收费?","slug":"为什么不开源了-为什么要开始收费","link":"#为什么不开源了-为什么要开始收费","children":[]}],"relativePath":"project/ClipboardManager/statement/index.md","lastUpdated":1680702249000}'),r={name:"project/ClipboardManager/statement/index.md"},d=i("",31),t=[d];function n(o,c,h,s,p,u){return l(),a("div",null,t)}const f=e(r,[["render",n]]);export{g as __pageData,f as default};
import{_ as e,o as l,c as a,a as i}from"./app.ab8d0b9f.js";const g=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[{"level":2,"title":"插件启动时报错/白屏","slug":"插件启动时报错-白屏","link":"#插件启动时报错-白屏","children":[]},{"level":2,"title":"自动粘贴(自动上屏)功能失灵了","slug":"自动粘贴-自动上屏-功能失灵了","link":"#自动粘贴-自动上屏-功能失灵了","children":[]},{"level":2,"title":"插件内操作延迟、卡顿","slug":"插件内操作延迟、卡顿","link":"#插件内操作延迟、卡顿","children":[]},{"level":2,"title":"剪贴板记录丢失","slug":"剪贴板记录丢失","link":"#剪贴板记录丢失","children":[]},{"level":2,"title":"为什么偶尔CPU占用特别高? 为什么预览图片时插件卡顿?","slug":"为什么偶尔cpu占用特别高-为什么预览图片时插件卡顿","link":"#为什么偶尔cpu占用特别高-为什么预览图片时插件卡顿","children":[]},{"level":2,"title":"为什么官方的剪贴板插件没有CPU占用高这个问题?","slug":"为什么官方的剪贴板插件没有cpu占用高这个问题","link":"#为什么官方的剪贴板插件没有cpu占用高这个问题","children":[]},{"level":2,"title":"我对这个插件的安全性有担忧, 插件偷窃我的隐私怎么办?","slug":"我对这个插件的安全性有担忧-插件偷窃我的隐私怎么办","link":"#我对这个插件的安全性有担忧-插件偷窃我的隐私怎么办","children":[]},{"level":2,"title":"开源版本和插件市场版本的区别?","slug":"开源版本和插件市场版本的区别","link":"#开源版本和插件市场版本的区别","children":[]},{"level":2,"title":"为什么不开源了, 为什么要开始收费?","slug":"为什么不开源了-为什么要开始收费","link":"#为什么不开源了-为什么要开始收费","children":[]}],"relativePath":"project/ClipboardManager/statement/index.md","lastUpdated":1681026524000}'),r={name:"project/ClipboardManager/statement/index.md"},d=i("",31),t=[d];function n(o,c,h,s,p,u){return l(),a("div",null,t)}const f=e(r,[["render",n]]);export{g as __pageData,f as default};

View File

@@ -1 +1 @@
import{_ as a,r as n,o as c,c as s,b as e,d as t,e as o,a as i}from"./app.ab8d0b9f.js";const d="/assets/vip-webdav.2e7c539c.png",r="/assets/vip-highlight.e3827906.png",B=JSON.parse('{"title":"插件会员","description":"","frontmatter":{},"headers":[{"level":2,"title":"会员权益","slug":"会员权益","link":"#会员权益","children":[]},{"level":2,"title":"会员定价","slug":"会员定价","link":"#会员定价","children":[]},{"level":2,"title":"WebDav同步功能","slug":"webdav同步功能","link":"#webdav同步功能","children":[]},{"level":2,"title":"代码高亮功能","slug":"代码高亮功能","link":"#代码高亮功能","children":[]},{"level":2,"title":"更多内容","slug":"更多内容","link":"#更多内容","children":[]}],"relativePath":"project/ClipboardManager/vip/index.md","lastUpdated":1680702249000}'),p={name:"project/ClipboardManager/vip/index.md"},h=i("",3),_=e("strong",null,"插件会员",-1),u=e("code",null,"WebDav数据多端同步",-1),g=e("code",null,"支持保存2000条历史记录",-1),b=e("code",null,"不限制历史记录过期时间",-1),v=e("code",null,"文本/图片/文件预览增强, 按住Ctrl/Command点击 解锁更多操作",-1),m=e("code",null,"键盘操作模式 屏蔽鼠标 高效快捷",-1),k=e("code",null,"简洁模式 隐藏页面中不必要的组件与元素",-1),f=e("code",null,"自定义分类排序",-1),x=e("code",null,"预览页代码高亮",-1),T=e("code",null,"关闭剪贴板图片记录",-1),D=e("code",null,"插件使用统计",-1),y=e("li",null,[e("strong",null,"...")],-1),N=e("strong",null,"uTools会员",-1),w=e("code",null,"插件使用统计",-1),C=i("",21);function W(j,S,V,A,I,P){const l=n("Badge");return c(),s("div",null,[h,e("ul",null,[e("li",null,[_,e("ul",null,[e("li",null,[u,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[g,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[b,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[v,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[m,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[k,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[f,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[x,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[T,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[D,t(),o(l,{type:"tip",text:"已上线"})]),y])]),e("li",null,[N,e("ul",null,[e("li",null,[w,t(),o(l,{type:"tip",text:"已上线"})])])])]),C])}const R=a(p,[["render",W]]);export{B as __pageData,R as default};
import{_ as a,r as n,o as c,c as s,b as e,d as t,e as o,a as i}from"./app.ab8d0b9f.js";const d="/assets/vip-webdav.2e7c539c.png",r="/assets/vip-highlight.e3827906.png",B=JSON.parse('{"title":"插件会员","description":"","frontmatter":{},"headers":[{"level":2,"title":"会员权益","slug":"会员权益","link":"#会员权益","children":[]},{"level":2,"title":"会员定价","slug":"会员定价","link":"#会员定价","children":[]},{"level":2,"title":"WebDav同步功能","slug":"webdav同步功能","link":"#webdav同步功能","children":[]},{"level":2,"title":"代码高亮功能","slug":"代码高亮功能","link":"#代码高亮功能","children":[]},{"level":2,"title":"更多内容","slug":"更多内容","link":"#更多内容","children":[]}],"relativePath":"project/ClipboardManager/vip/index.md","lastUpdated":1681026524000}'),p={name:"project/ClipboardManager/vip/index.md"},h=i("",3),_=e("strong",null,"插件会员",-1),u=e("code",null,"WebDav数据多端同步",-1),g=e("code",null,"支持保存2000条历史记录",-1),b=e("code",null,"不限制历史记录过期时间",-1),v=e("code",null,"文本/图片/文件预览增强, 按住Ctrl/Command点击 解锁更多操作",-1),m=e("code",null,"键盘操作模式 屏蔽鼠标 高效快捷",-1),k=e("code",null,"简洁模式 隐藏页面中不必要的组件与元素",-1),f=e("code",null,"自定义分类排序",-1),x=e("code",null,"预览页代码高亮",-1),T=e("code",null,"关闭剪贴板图片记录",-1),D=e("code",null,"插件使用统计",-1),y=e("li",null,[e("strong",null,"...")],-1),N=e("strong",null,"uTools会员",-1),w=e("code",null,"插件使用统计",-1),C=i("",21);function W(j,S,V,A,I,P){const l=n("Badge");return c(),s("div",null,[h,e("ul",null,[e("li",null,[_,e("ul",null,[e("li",null,[u,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[g,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[b,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[v,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[m,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[k,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[f,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[x,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[T,t(),o(l,{type:"tip",text:"已上线"})]),e("li",null,[D,t(),o(l,{type:"tip",text:"已上线"})]),y])]),e("li",null,[N,e("ul",null,[e("li",null,[w,t(),o(l,{type:"tip",text:"已上线"})])])])]),C])}const R=a(p,[["render",W]]);export{B as __pageData,R as default};

View File

@@ -1 +0,0 @@
import{r as e,o as n,c as r,e as t,n as s,g as c,b as d,a as _}from"./app.ab8d0b9f.js";const m="/assets/logo.16601c26.png",p="/assets/1.72e0ae9e.png",g=d("br",null,null,-1),u=_('<h2 id="🔰-开始使用" tabindex="-1">🔰 开始使用 <a class="header-anchor" href="#🔰-开始使用" aria-hidden="true">#</a></h2><ul><li>由ByteMD强力驱动功能丰富、性能强劲</li><li>支持GFM扩展语法、脚注、Gemoji、KaTeX数学公式、Mermaid图表</li><li>支持通过Frontmatter设置多种主题、代码高亮样式</li><li>支持多级目录,目录支持无限嵌套</li><li>支持通过粘贴/拖拽的方式批量上传图片、支持截取屏幕截图</li><li>支持Markdown文件的批量导入、批量导出</li><li>支持插件多开,同时编辑/参考多个文章</li><li>支持实时同步预览、自动保存</li></ul>',2),f=JSON.parse('{"title":"超级Markdown","description":"","frontmatter":{"title":"超级Markdown","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]}],"relativePath":"project/Markdown/index.md","lastUpdated":1680702249000}'),h={name:"project/Markdown/index.md"},b=Object.assign(h,{setup(k){const a={subTitle:"✨ 强大的Markdown编辑器",logo:m,linkList:[{content:"🚀 快捷键一览",target:"./shortcut/"},{content:"🚚 更新日志",target:"./log/"}]},l=[{src:p}];return(T,M)=>{const o=e("Title"),i=e("ImgSlider");return n(),r("div",null,[t(o,s(c(a)),null,16),g,t(i,{imgSliderList:l}),u])}}});export{f as __pageData,b as default};

View File

@@ -1 +0,0 @@
import{r as e,o as n,c as r,e as t,n as s,g as c,b as d,a as _}from"./app.ab8d0b9f.js";const m="/assets/logo.16601c26.png",p="/assets/1.72e0ae9e.png",g=d("br",null,null,-1),u=_("",2),f=JSON.parse('{"title":"超级Markdown","description":"","frontmatter":{"title":"超级Markdown","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]}],"relativePath":"project/Markdown/index.md","lastUpdated":1680702249000}'),h={name:"project/Markdown/index.md"},b=Object.assign(h,{setup(k){const a={subTitle:"✨ 强大的Markdown编辑器",logo:m,linkList:[{content:"🚀 快捷键一览",target:"./shortcut/"},{content:"🚚 更新日志",target:"./log/"}]},l=[{src:p}];return(T,M)=>{const o=e("Title"),i=e("ImgSlider");return n(),r("div",null,[t(o,s(c(a)),null,16),g,t(i,{imgSliderList:l}),u])}}});export{f as __pageData,b as default};

View File

@@ -0,0 +1 @@
import{r as e,o as l,c as o,e as t,n as r,g as c,b as d,a as _}from"./app.ab8d0b9f.js";const m="/assets/logo.16601c26.png",g="/assets/img1.715ef8d7.png",p="/assets/img2.446c4d69.png",u="/assets/img3.78c806d9.png",h=d("br",null,null,-1),k=_('<h2 id="🔰-开始使用" tabindex="-1">🔰 开始使用 <a class="header-anchor" href="#🔰-开始使用" aria-hidden="true">#</a></h2><ul><li>由ByteMD强力驱动功能丰富、性能强劲</li><li>支持GFM扩展语法、脚注、Gemoji、KaTeX数学公式、Mermaid图表</li><li>支持通过Frontmatter设置多种主题、代码高亮样式</li><li>支持多级目录,目录支持无限嵌套</li><li>支持通过粘贴/拖拽的方式批量上传图片、支持截取屏幕截图</li><li>支持Markdown文件的批量导入、批量导出</li><li>支持插件多开,同时编辑/参考多个文章</li><li>支持实时同步预览、自动保存</li></ul>',2),v=JSON.parse('{"title":"超级Markdown","description":"","frontmatter":{"title":"超级Markdown","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]}],"relativePath":"project/Markdown/index.md","lastUpdated":1681026524000}'),T={name:"project/Markdown/index.md"},w=Object.assign(T,{setup(f){const a={subTitle:"✨ 强大的Markdown编辑器",logo:m,linkList:[{content:"🚀 快捷键一览",target:"./shortcut/"},{content:"🚚 更新日志",target:"./log/"}]},s=[{src:g},{src:p},{src:u}];return(M,S)=>{const i=e("Title"),n=e("ImgSlider");return l(),o("div",null,[t(i,r(c(a)),null,16),h,t(n,{imgSliderList:s}),k])}}});export{v as __pageData,w as default};

View File

@@ -0,0 +1 @@
import{r as e,o as l,c as o,e as t,n as r,g as c,b as d,a as _}from"./app.ab8d0b9f.js";const m="/assets/logo.16601c26.png",g="/assets/img1.715ef8d7.png",p="/assets/img2.446c4d69.png",u="/assets/img3.78c806d9.png",h=d("br",null,null,-1),k=_("",2),v=JSON.parse('{"title":"超级Markdown","description":"","frontmatter":{"title":"超级Markdown","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]}],"relativePath":"project/Markdown/index.md","lastUpdated":1681026524000}'),T={name:"project/Markdown/index.md"},w=Object.assign(T,{setup(f){const a={subTitle:"✨ 强大的Markdown编辑器",logo:m,linkList:[{content:"🚀 快捷键一览",target:"./shortcut/"},{content:"🚚 更新日志",target:"./log/"}]},s=[{src:g},{src:p},{src:u}];return(M,S)=>{const i=e("Title"),n=e("ImgSlider");return l(),o("div",null,[t(i,r(c(a)),null,16),h,t(n,{imgSliderList:s}),k])}}});export{v as __pageData,w as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as i,c as a,a as l}from"./app.ab8d0b9f.js";const p=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v1.1.0","slug":"v1-1-0","link":"#v1-1-0","children":[]},{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/Markdown/log/index.md","lastUpdated":1681026524000}'),t={name:"project/Markdown/log/index.md"},d=l('<h1 id="更新日志" tabindex="-1">更新日志 <a class="header-anchor" href="#更新日志" aria-hidden="true">#</a></h1><h2 id="v1-1-0" tabindex="-1">v1.1.0 <a class="header-anchor" href="#v1-1-0" aria-hidden="true">#</a></h2><p><code>2023-04-09</code></p><ul><li>feat: 支持通过关键字创建文章</li><li>feat: 支持从超级剪贴板多选合并创建文章</li><li>feat: 支持从文本/图片快速创建文章</li><li>feat: 支持批量导入Markdown文档</li><li>feat: 支持点击设置页关键字跳转</li><li>fix: 修复脚标点击跳转问题</li><li>fix: 修复部分场景下滚动条样式问题</li><li>fix: 修复部分场景下工具栏展示问题</li></ul><h2 id="v1-0-1" tabindex="-1">v1.0.1 <a class="header-anchor" href="#v1-0-1" aria-hidden="true">#</a></h2><p><code>2023-04-05</code></p><ul><li>feat: 支持插件多开 同时编辑/参考多个文档</li><li>fix: 修复图片被滚动条遮挡的问题</li><li>fix: 修复部分场景下标题栏与侧栏的bug</li></ul><h2 id="v1-0-0" tabindex="-1">v1.0.0 <a class="header-anchor" href="#v1-0-0" aria-hidden="true">#</a></h2><p><code>2023-04-01</code></p><ul><li>插件发布</li></ul>',10),r=[d];function n(o,c,s,h,_,v){return i(),a("div",null,r)}const u=e(t,[["render",n]]);export{p as __pageData,u as default};

View File

@@ -0,0 +1 @@
import{_ as e,o as i,c as a,a as l}from"./app.ab8d0b9f.js";const p=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v1.1.0","slug":"v1-1-0","link":"#v1-1-0","children":[]},{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/Markdown/log/index.md","lastUpdated":1681026524000}'),t={name:"project/Markdown/log/index.md"},d=l("",10),r=[d];function n(o,c,s,h,_,v){return i(),a("div",null,r)}const u=e(t,[["render",n]]);export{p as __pageData,u as default};

View File

@@ -1 +0,0 @@
import{_ as e,o as a,c as t,a as i}from"./app.ab8d0b9f.js";const u=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/Markdown/log/index.md","lastUpdated":1680702249000}'),d={name:"project/Markdown/log/index.md"},r=i('<h1 id="更新日志" tabindex="-1">更新日志 <a class="header-anchor" href="#更新日志" aria-hidden="true">#</a></h1><h2 id="v1-0-1" tabindex="-1">v1.0.1 <a class="header-anchor" href="#v1-0-1" aria-hidden="true">#</a></h2><p><code>2023-04-05</code></p><ul><li>feat: 支持插件多开 同时编辑/参考多个文档</li><li>fix: 修复图片被滚动条遮挡的问题</li><li>fix: 修复部分场景下标题栏与侧栏的bug</li></ul><h2 id="v1-0-0" tabindex="-1">v1.0.0 <a class="header-anchor" href="#v1-0-0" aria-hidden="true">#</a></h2><p><code>2023-04-01</code></p><ul><li>插件发布</li></ul>',7),l=[r];function n(o,c,s,_,h,p){return a(),t("div",null,l)}const f=e(d,[["render",n]]);export{u as __pageData,f as default};

View File

@@ -1 +0,0 @@
import{_ as e,o as a,c as t,a as i}from"./app.ab8d0b9f.js";const u=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/Markdown/log/index.md","lastUpdated":1680702249000}'),d={name:"project/Markdown/log/index.md"},r=i("",7),l=[r];function n(o,c,s,_,h,p){return a(),t("div",null,l)}const f=e(d,[["render",n]]);export{u as __pageData,f as default};

View File

@@ -1 +1 @@
import{_ as e,o as d,c as o,a as c}from"./app.ab8d0b9f.js";const f=JSON.parse('{"title":"快捷键一览","description":"","frontmatter":{},"headers":[{"level":2,"title":"Markdown 语法","slug":"markdown-语法","link":"#markdown-语法","children":[]}],"relativePath":"project/Markdown/shortcut/index.md","lastUpdated":1680702249000}'),p={name:"project/Markdown/shortcut/index.md"},t=c('<h1 id="快捷键一览" tabindex="-1">快捷键一览 <a class="header-anchor" href="#快捷键一览" aria-hidden="true">#</a></h1><p>粗体 <code>Cmd-B</code></p><p>斜体 <code>Cmd-I</code></p><p>链接 <code>Cmd-K</code></p><p>图片 <code>Shift-Cmd-I</code></p><p>代码 <code>Shift-Cmd-K</code></p><p>代码块 <code>Shift-Cmd-C</code></p><p>无序列表 <code>Shift-Cmd-U</code></p><p>有序列表 <code>Shift-Cmd-O</code></p><h2 id="markdown-语法" tabindex="-1">Markdown 语法 <a class="header-anchor" href="#markdown-语法" aria-hidden="true">#</a></h2><p>一级标题 <code># 标题</code></p><p>二级标题 <code>## 标题</code></p><p>三级标题 <code>### 标题</code></p><p>粗体 <code>**粗体文本**</code></p><p>斜体 <code>*斜体文本*</code></p><p>引用 <code>&gt; 引用文本</code></p><p>链接 <code>[链接描述](url)</code></p><p>图片 <code>![alt](url &quot;图片描述&quot;)</code></p><p>代码 <code>代码</code></p><p>代码块 <code> ```编程语言↵</code></p><p>无序列表 <code>- 项目</code></p><p>有序列表 <code>1. 项目</code></p><p>分割线 <code>---</code></p><p>删除线 <code>~~文本~~</code></p><p>任务列表 <code>- [ ] 待办事项</code></p><p>行内公式 <code>$公式$</code></p><p>块级公式 <code>$$↵公式↵$$</code></p><p>Mermaid图表 <code> ```mermaid</code></p>',28),a=[t];function r(n,i,s,_,h,m){return d(),o("div",null,a)}const u=e(p,[["render",r]]);export{f as __pageData,u as default};
import{_ as e,o as d,c as o,a as c}from"./app.ab8d0b9f.js";const f=JSON.parse('{"title":"快捷键一览","description":"","frontmatter":{},"headers":[{"level":2,"title":"Markdown 语法","slug":"markdown-语法","link":"#markdown-语法","children":[]}],"relativePath":"project/Markdown/shortcut/index.md","lastUpdated":1681026524000}'),p={name:"project/Markdown/shortcut/index.md"},t=c('<h1 id="快捷键一览" tabindex="-1">快捷键一览 <a class="header-anchor" href="#快捷键一览" aria-hidden="true">#</a></h1><p>粗体 <code>Cmd-B</code></p><p>斜体 <code>Cmd-I</code></p><p>链接 <code>Cmd-K</code></p><p>图片 <code>Shift-Cmd-I</code></p><p>代码 <code>Shift-Cmd-K</code></p><p>代码块 <code>Shift-Cmd-C</code></p><p>无序列表 <code>Shift-Cmd-U</code></p><p>有序列表 <code>Shift-Cmd-O</code></p><h2 id="markdown-语法" tabindex="-1">Markdown 语法 <a class="header-anchor" href="#markdown-语法" aria-hidden="true">#</a></h2><p>一级标题 <code># 标题</code></p><p>二级标题 <code>## 标题</code></p><p>三级标题 <code>### 标题</code></p><p>粗体 <code>**粗体文本**</code></p><p>斜体 <code>*斜体文本*</code></p><p>引用 <code>&gt; 引用文本</code></p><p>链接 <code>[链接描述](url)</code></p><p>图片 <code>![alt](url &quot;图片描述&quot;)</code></p><p>代码 <code>代码</code></p><p>代码块 <code> ```编程语言↵</code></p><p>无序列表 <code>- 项目</code></p><p>有序列表 <code>1. 项目</code></p><p>分割线 <code>---</code></p><p>删除线 <code>~~文本~~</code></p><p>任务列表 <code>- [ ] 待办事项</code></p><p>行内公式 <code>$公式$</code></p><p>块级公式 <code>$$↵公式↵$$</code></p><p>Mermaid图表 <code> ```mermaid</code></p>',28),a=[t];function r(n,i,s,_,h,m){return d(),o("div",null,a)}const u=e(p,[["render",r]]);export{f as __pageData,u as default};

View File

@@ -1 +1 @@
import{_ as e,o as d,c as o,a as c}from"./app.ab8d0b9f.js";const f=JSON.parse('{"title":"快捷键一览","description":"","frontmatter":{},"headers":[{"level":2,"title":"Markdown 语法","slug":"markdown-语法","link":"#markdown-语法","children":[]}],"relativePath":"project/Markdown/shortcut/index.md","lastUpdated":1680702249000}'),p={name:"project/Markdown/shortcut/index.md"},t=c("",28),a=[t];function r(n,i,s,_,h,m){return d(),o("div",null,a)}const u=e(p,[["render",r]]);export{f as __pageData,u as default};
import{_ as e,o as d,c as o,a as c}from"./app.ab8d0b9f.js";const f=JSON.parse('{"title":"快捷键一览","description":"","frontmatter":{},"headers":[{"level":2,"title":"Markdown 语法","slug":"markdown-语法","link":"#markdown-语法","children":[]}],"relativePath":"project/Markdown/shortcut/index.md","lastUpdated":1681026524000}'),p={name:"project/Markdown/shortcut/index.md"},t=c("",28),a=[t];function r(n,i,s,_,h,m){return d(),o("div",null,a)}const u=e(p,[["render",r]]);export{f as __pageData,u as default};

View File

@@ -1 +1 @@
import{r as a,o as l,c as i,e as r,n,g as s,a as o}from"./app.ab8d0b9f.js";const c="/assets/img1.c8b019e1.png",d="/assets/img2.e389ad4d.png",_="/assets/logo.b98f7a12.png",p=o('<h2 id="🔰-开始使用" tabindex="-1">🔰 开始使用 <a class="header-anchor" href="#🔰-开始使用" aria-hidden="true">#</a></h2><p><strong>服务器不会保留处理的数据, 但请避免使用此功能处理敏感数据</strong></p><ul><li>✅ 支持选中文本后通过超级面板直接进入分词</li><li>✅ 支持直接读取剪贴板文本分词</li><li>✅ 支持单选/拖拽/跨段落快速拖选</li><li>✅ 支持一键合并复制/粘贴/翻译/搜索</li><li>✅ 普通用户有每日免费额度 每日0:00重置</li><li>✅ 优雅、迅速的动效与交互 适配深色模式</li><li>✅ 可以通过插件内入口获取更多额度</li><li>✅ 与<code>超级剪贴板</code>插件集成,一次购买 多处使用</li></ul><hr><p><img src="'+c+'" alt=""></p><p><img src="'+d+'" alt=""></p><h2 id="📚-安装方式" tabindex="-1">📚 安装方式 <a class="header-anchor" href="#📚-安装方式" aria-hidden="true">#</a></h2><ul><li>官方插件市场安装</li><li>离线插件安装:<a href="https://pan.baidu.com/s/1Shq6mtU9tjhICvcawrp9Ug?pwd=Ziuc" target="_blank" rel="noreferrer">百度网盘</a></li></ul>',8),b=JSON.parse('{"title":"超级分词","description":"","frontmatter":{"title":"超级分词","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/SmartWordBreak/index.md","lastUpdated":1680702249000}'),h={name:"project/SmartWordBreak/index.md"},T=Object.assign(h,{setup(g){const e={subTitle:"✨ 智慧分词,快速提取文本关键词。",logo:_,linkList:[{content:"⭐ 插件发布页",target:"https://yuanliao.info/d/5722/29"},{content:"🌎 Q&A",target:"./statement/"},{content:"🚚 更新日志",target:"./log/"}]};return(m,u)=>{const t=a("Title");return l(),i("div",null,[r(t,n(s(e)),null,16),p])}}});export{b as __pageData,T as default};
import{r as a,o as l,c as i,e as r,n,g as s,a as o}from"./app.ab8d0b9f.js";const c="/assets/img1.c8b019e1.png",d="/assets/img2.e389ad4d.png",_="/assets/logo.b98f7a12.png",p=o('<h2 id="🔰-开始使用" tabindex="-1">🔰 开始使用 <a class="header-anchor" href="#🔰-开始使用" aria-hidden="true">#</a></h2><p><strong>服务器不会保留处理的数据, 但请避免使用此功能处理敏感数据</strong></p><ul><li>✅ 支持选中文本后通过超级面板直接进入分词</li><li>✅ 支持直接读取剪贴板文本分词</li><li>✅ 支持单选/拖拽/跨段落快速拖选</li><li>✅ 支持一键合并复制/粘贴/翻译/搜索</li><li>✅ 普通用户有每日免费额度 每日0:00重置</li><li>✅ 优雅、迅速的动效与交互 适配深色模式</li><li>✅ 可以通过插件内入口获取更多额度</li><li>✅ 与<code>超级剪贴板</code>插件集成,一次购买 多处使用</li></ul><hr><p><img src="'+c+'" alt=""></p><p><img src="'+d+'" alt=""></p><h2 id="📚-安装方式" tabindex="-1">📚 安装方式 <a class="header-anchor" href="#📚-安装方式" aria-hidden="true">#</a></h2><ul><li>官方插件市场安装</li><li>离线插件安装:<a href="https://pan.baidu.com/s/1Shq6mtU9tjhICvcawrp9Ug?pwd=Ziuc" target="_blank" rel="noreferrer">百度网盘</a></li></ul>',8),b=JSON.parse('{"title":"超级分词","description":"","frontmatter":{"title":"超级分词","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/SmartWordBreak/index.md","lastUpdated":1681026524000}'),h={name:"project/SmartWordBreak/index.md"},T=Object.assign(h,{setup(g){const e={subTitle:"✨ 智慧分词,快速提取文本关键词。",logo:_,linkList:[{content:"⭐ 插件发布页",target:"https://yuanliao.info/d/5722/29"},{content:"🌎 Q&A",target:"./statement/"},{content:"🚚 更新日志",target:"./log/"}]};return(m,u)=>{const t=a("Title");return l(),i("div",null,[r(t,n(s(e)),null,16),p])}}});export{b as __pageData,T as default};

View File

@@ -1 +1 @@
import{r as a,o as l,c as i,e as r,n,g as s,a as o}from"./app.ab8d0b9f.js";const c="/assets/img1.c8b019e1.png",d="/assets/img2.e389ad4d.png",_="/assets/logo.b98f7a12.png",p=o("",8),b=JSON.parse('{"title":"超级分词","description":"","frontmatter":{"title":"超级分词","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/SmartWordBreak/index.md","lastUpdated":1680702249000}'),h={name:"project/SmartWordBreak/index.md"},T=Object.assign(h,{setup(g){const e={subTitle:"✨ 智慧分词,快速提取文本关键词。",logo:_,linkList:[{content:"⭐ 插件发布页",target:"https://yuanliao.info/d/5722/29"},{content:"🌎 Q&A",target:"./statement/"},{content:"🚚 更新日志",target:"./log/"}]};return(m,u)=>{const t=a("Title");return l(),i("div",null,[r(t,n(s(e)),null,16),p])}}});export{b as __pageData,T as default};
import{r as a,o as l,c as i,e as r,n,g as s,a as o}from"./app.ab8d0b9f.js";const c="/assets/img1.c8b019e1.png",d="/assets/img2.e389ad4d.png",_="/assets/logo.b98f7a12.png",p=o("",8),b=JSON.parse('{"title":"超级分词","description":"","frontmatter":{"title":"超级分词","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]}],"relativePath":"project/SmartWordBreak/index.md","lastUpdated":1681026524000}'),h={name:"project/SmartWordBreak/index.md"},T=Object.assign(h,{setup(g){const e={subTitle:"✨ 智慧分词,快速提取文本关键词。",logo:_,linkList:[{content:"⭐ 插件发布页",target:"https://yuanliao.info/d/5722/29"},{content:"🌎 Q&A",target:"./statement/"},{content:"🚚 更新日志",target:"./log/"}]};return(m,u)=>{const t=a("Title");return l(),i("div",null,[r(t,n(s(e)),null,16),p])}}});export{b as __pageData,T as default};

View File

@@ -1 +1 @@
import{_ as e,o as a,c as l,a as i}from"./app.ab8d0b9f.js";const f=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v1.0.5","slug":"v1-0-5","link":"#v1-0-5","children":[]},{"level":2,"title":"v1.0.4","slug":"v1-0-4","link":"#v1-0-4","children":[]},{"level":2,"title":"v1.0.3","slug":"v1-0-3","link":"#v1-0-3","children":[]},{"level":2,"title":"v1.0.2","slug":"v1-0-2","link":"#v1-0-2","children":[]},{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/SmartWordBreak/log/index.md","lastUpdated":1680702249000}'),d={name:"project/SmartWordBreak/log/index.md"},t=i('<h1 id="更新日志" tabindex="-1">更新日志 <a class="header-anchor" href="#更新日志" aria-hidden="true">#</a></h1><h2 id="v1-0-5" tabindex="-1">v1.0.5 <a class="header-anchor" href="#v1-0-5" aria-hidden="true">#</a></h2><p><code>2022-12-17</code></p><ul><li>feat: 限免活动 每日免费额度调整为99 移除充值入口</li><li>fix: 修复历史记录显示问题</li></ul><h2 id="v1-0-4" tabindex="-1">v1.0.4 <a class="header-anchor" href="#v1-0-4" aria-hidden="true">#</a></h2><p><code>2022-09-25</code></p><ul><li>feat: 分词上限提高到了1000个字符</li><li>feat: token支持本地缓存</li></ul><h2 id="v1-0-3" tabindex="-1">v1.0.3 <a class="header-anchor" href="#v1-0-3" aria-hidden="true">#</a></h2><p><code>2022-09-19</code></p><ul><li>feat: 增加历史记录功能</li><li>fix: 移除了在tag外按下鼠标拖选的功能</li></ul><h2 id="v1-0-2" tabindex="-1">v1.0.2 <a class="header-anchor" href="#v1-0-2" aria-hidden="true">#</a></h2><p><code>2022-09-13</code></p><ul><li>feat: 支持跨段快速拖选</li><li>feat: 分词页添加了<code>搜索</code>与<code>粘贴</code>功能</li><li>feat: 优化换行符在分词页的表现 支持包含换行符拖选</li></ul><h2 id="v1-0-1" tabindex="-1">v1.0.1 <a class="header-anchor" href="#v1-0-1" aria-hidden="true">#</a></h2><p><code>2022-09-13</code></p><ul><li>feat: 增加了拖选过程中的动效</li><li>feat: 调整了按钮样式与颜色</li><li>fix: 移除了碍事的toast</li></ul><h2 id="v1-0-0" tabindex="-1">v1.0.0 <a class="header-anchor" href="#v1-0-0" aria-hidden="true">#</a></h2><p><code>2022-09-11</code></p><ul><li>release: v1.0.0发布</li></ul>',19),r=[t];function c(n,h,o,v,s,u){return a(),l("div",null,r)}const p=e(d,[["render",c]]);export{f as __pageData,p as default};
import{_ as e,o as a,c as l,a as i}from"./app.ab8d0b9f.js";const f=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v1.0.5","slug":"v1-0-5","link":"#v1-0-5","children":[]},{"level":2,"title":"v1.0.4","slug":"v1-0-4","link":"#v1-0-4","children":[]},{"level":2,"title":"v1.0.3","slug":"v1-0-3","link":"#v1-0-3","children":[]},{"level":2,"title":"v1.0.2","slug":"v1-0-2","link":"#v1-0-2","children":[]},{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/SmartWordBreak/log/index.md","lastUpdated":1681026524000}'),d={name:"project/SmartWordBreak/log/index.md"},t=i('<h1 id="更新日志" tabindex="-1">更新日志 <a class="header-anchor" href="#更新日志" aria-hidden="true">#</a></h1><h2 id="v1-0-5" tabindex="-1">v1.0.5 <a class="header-anchor" href="#v1-0-5" aria-hidden="true">#</a></h2><p><code>2022-12-17</code></p><ul><li>feat: 限免活动 每日免费额度调整为99 移除充值入口</li><li>fix: 修复历史记录显示问题</li></ul><h2 id="v1-0-4" tabindex="-1">v1.0.4 <a class="header-anchor" href="#v1-0-4" aria-hidden="true">#</a></h2><p><code>2022-09-25</code></p><ul><li>feat: 分词上限提高到了1000个字符</li><li>feat: token支持本地缓存</li></ul><h2 id="v1-0-3" tabindex="-1">v1.0.3 <a class="header-anchor" href="#v1-0-3" aria-hidden="true">#</a></h2><p><code>2022-09-19</code></p><ul><li>feat: 增加历史记录功能</li><li>fix: 移除了在tag外按下鼠标拖选的功能</li></ul><h2 id="v1-0-2" tabindex="-1">v1.0.2 <a class="header-anchor" href="#v1-0-2" aria-hidden="true">#</a></h2><p><code>2022-09-13</code></p><ul><li>feat: 支持跨段快速拖选</li><li>feat: 分词页添加了<code>搜索</code>与<code>粘贴</code>功能</li><li>feat: 优化换行符在分词页的表现 支持包含换行符拖选</li></ul><h2 id="v1-0-1" tabindex="-1">v1.0.1 <a class="header-anchor" href="#v1-0-1" aria-hidden="true">#</a></h2><p><code>2022-09-13</code></p><ul><li>feat: 增加了拖选过程中的动效</li><li>feat: 调整了按钮样式与颜色</li><li>fix: 移除了碍事的toast</li></ul><h2 id="v1-0-0" tabindex="-1">v1.0.0 <a class="header-anchor" href="#v1-0-0" aria-hidden="true">#</a></h2><p><code>2022-09-11</code></p><ul><li>release: v1.0.0发布</li></ul>',19),r=[t];function c(n,h,o,v,s,u){return a(),l("div",null,r)}const p=e(d,[["render",c]]);export{f as __pageData,p as default};

View File

@@ -1 +1 @@
import{_ as e,o as a,c as l,a as i}from"./app.ab8d0b9f.js";const f=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v1.0.5","slug":"v1-0-5","link":"#v1-0-5","children":[]},{"level":2,"title":"v1.0.4","slug":"v1-0-4","link":"#v1-0-4","children":[]},{"level":2,"title":"v1.0.3","slug":"v1-0-3","link":"#v1-0-3","children":[]},{"level":2,"title":"v1.0.2","slug":"v1-0-2","link":"#v1-0-2","children":[]},{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/SmartWordBreak/log/index.md","lastUpdated":1680702249000}'),d={name:"project/SmartWordBreak/log/index.md"},t=i("",19),r=[t];function c(n,h,o,v,s,u){return a(),l("div",null,r)}const p=e(d,[["render",c]]);export{f as __pageData,p as default};
import{_ as e,o as a,c as l,a as i}from"./app.ab8d0b9f.js";const f=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"level":2,"title":"v1.0.5","slug":"v1-0-5","link":"#v1-0-5","children":[]},{"level":2,"title":"v1.0.4","slug":"v1-0-4","link":"#v1-0-4","children":[]},{"level":2,"title":"v1.0.3","slug":"v1-0-3","link":"#v1-0-3","children":[]},{"level":2,"title":"v1.0.2","slug":"v1-0-2","link":"#v1-0-2","children":[]},{"level":2,"title":"v1.0.1","slug":"v1-0-1","link":"#v1-0-1","children":[]},{"level":2,"title":"v1.0.0","slug":"v1-0-0","link":"#v1-0-0","children":[]}],"relativePath":"project/SmartWordBreak/log/index.md","lastUpdated":1681026524000}'),d={name:"project/SmartWordBreak/log/index.md"},t=i("",19),r=[t];function c(n,h,o,v,s,u){return a(),l("div",null,r)}const p=e(d,[["render",c]]);export{f as __pageData,p as default};

View File

@@ -1 +1 @@
import{_ as e,o as a,c as o,a as t}from"./app.ab8d0b9f.js";const h=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[],"relativePath":"project/SmartWordBreak/statement/index.md","lastUpdated":1680702249000}'),i={name:"project/SmartWordBreak/statement/index.md"},l=t('<h1 id="q-a" tabindex="-1">Q&amp;A <a class="header-anchor" href="#q-a" aria-hidden="true">#</a></h1><ul><li>Q: 为什么要收费</li><li>A: 此功能需要服务器资源, 而服务器资源有限, 故暂时只开放部分的免费资源给大家使用, 普通用户每日有部分免费额度, 额度每日0:00重置</li></ul><hr><ul><li>Q: 我支付了,但是没有收到额度</li><li>A: 支付成功后,插件会自动获取最新用户信息,如果信息没有自动更新,请尝试退出插件后重新进入,如果仍未收到额度,请加入<a href="https://qm.qq.com/cgi-bin/qm/qr?k=9qfHKTaQuWqYN1ys1yiQPdJ4iIlHwgL5&amp;jump_from=webapi" target="_blank" rel="noreferrer">QQ群 769115389</a>并联系我,我会尽快核实并为你解决</li></ul><hr><ul><li>Q: 我之前赞赏过,可以有优惠吗</li><li>A: 2022年9月13日0:00前赞赏过我的uTools用户请发送 <ul><li><code>UUID</code>(超级分词插件内展示)</li><li><code>赞赏金额</code></li><li><code>赞赏时间</code></li><li><code>支付截图</code></li></ul></li><li>到邮箱<code>ZiuChen@outlook.com</code>,邮箱主题为:<code>申请超级分词赞赏额度</code>,我将在核实后为你提供<code>赞赏金额+15%</code>的额度,感谢你的支持!💖。</li></ul>',6),r=[l];function c(d,n,s,_,m,p){return a(),o("div",null,r)}const f=e(i,[["render",c]]);export{h as __pageData,f as default};
import{_ as e,o as a,c as o,a as t}from"./app.ab8d0b9f.js";const h=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[],"relativePath":"project/SmartWordBreak/statement/index.md","lastUpdated":1681026524000}'),i={name:"project/SmartWordBreak/statement/index.md"},l=t('<h1 id="q-a" tabindex="-1">Q&amp;A <a class="header-anchor" href="#q-a" aria-hidden="true">#</a></h1><ul><li>Q: 为什么要收费</li><li>A: 此功能需要服务器资源, 而服务器资源有限, 故暂时只开放部分的免费资源给大家使用, 普通用户每日有部分免费额度, 额度每日0:00重置</li></ul><hr><ul><li>Q: 我支付了,但是没有收到额度</li><li>A: 支付成功后,插件会自动获取最新用户信息,如果信息没有自动更新,请尝试退出插件后重新进入,如果仍未收到额度,请加入<a href="https://qm.qq.com/cgi-bin/qm/qr?k=9qfHKTaQuWqYN1ys1yiQPdJ4iIlHwgL5&amp;jump_from=webapi" target="_blank" rel="noreferrer">QQ群 769115389</a>并联系我,我会尽快核实并为你解决</li></ul><hr><ul><li>Q: 我之前赞赏过,可以有优惠吗</li><li>A: 2022年9月13日0:00前赞赏过我的uTools用户请发送 <ul><li><code>UUID</code>(超级分词插件内展示)</li><li><code>赞赏金额</code></li><li><code>赞赏时间</code></li><li><code>支付截图</code></li></ul></li><li>到邮箱<code>ZiuChen@outlook.com</code>,邮箱主题为:<code>申请超级分词赞赏额度</code>,我将在核实后为你提供<code>赞赏金额+15%</code>的额度,感谢你的支持!💖。</li></ul>',6),r=[l];function c(d,n,s,_,m,p){return a(),o("div",null,r)}const f=e(i,[["render",c]]);export{h as __pageData,f as default};

View File

@@ -1 +1 @@
import{_ as e,o as a,c as o,a as t}from"./app.ab8d0b9f.js";const h=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[],"relativePath":"project/SmartWordBreak/statement/index.md","lastUpdated":1680702249000}'),i={name:"project/SmartWordBreak/statement/index.md"},l=t("",6),r=[l];function c(d,n,s,_,m,p){return a(),o("div",null,r)}const f=e(i,[["render",c]]);export{h as __pageData,f as default};
import{_ as e,o as a,c as o,a as t}from"./app.ab8d0b9f.js";const h=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[],"relativePath":"project/SmartWordBreak/statement/index.md","lastUpdated":1681026524000}'),i={name:"project/SmartWordBreak/statement/index.md"},l=t("",6),r=[l];function c(d,n,s,_,m,p){return a(),o("div",null,r)}const f=e(i,[["render",c]]);export{h as __pageData,f as default};

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
import{_ as e,o,c as a,a as l}from"./app.ab8d0b9f.js";const t="/logo.png",i="/assets/2.7aeaaf23.png",s="/assets/1.136ffa4a.png",_=JSON.parse('{"title":"个人介绍","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"技术栈","slug":"技术栈","link":"#技术栈","children":[{"level":3,"title":"前端技术","slug":"前端技术","link":"#前端技术","children":[]},{"level":3,"title":"后端技术","slug":"后端技术","link":"#后端技术","children":[]},{"level":3,"title":"相关技能","slug":"相关技能","link":"#相关技能","children":[]}]},{"level":2,"title":"获得奖项","slug":"获得奖项","link":"#获得奖项","children":[{"level":3,"title":"Microsoft Edge 浏览器开拓者大赛 开拓之星","slug":"microsoft-edge-浏览器开拓者大赛-开拓之星","link":"#microsoft-edge-浏览器开拓者大赛-开拓之星","children":[]},{"level":3,"title":"稀土掘金2022编程挑战赛 三等奖","slug":"稀土掘金2022编程挑战赛-三等奖","link":"#稀土掘金2022编程挑战赛-三等奖","children":[]},{"level":3,"title":"入选“扬帆计划·中央和国家机关大学生实习”","slug":"入选-扬帆计划·中央和国家机关大学生实习","link":"#入选-扬帆计划·中央和国家机关大学生实习","children":[]},{"level":3,"title":"100周年现场志愿者","slug":"_100周年现场志愿者","link":"#_100周年现场志愿者","children":[]},{"level":3,"title":"优秀学生干部、优秀共青团员","slug":"优秀学生干部、优秀共青团员","link":"#优秀学生干部、优秀共青团员","children":[]},{"level":3,"title":"社会工作优秀奖学金","slug":"社会工作优秀奖学金","link":"#社会工作优秀奖学金","children":[]}]},{"level":2,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}],"relativePath":"self/index.md","lastUpdated":1680702249000}'),r={name:"self/index.md"},d=l("",35),c=[d];function h(g,p,n,m,f,u){return o(),a("div",null,c)}const C=e(r,[["render",h]]);export{_ as __pageData,C as default};
import{_ as e,o,c as a,a as l}from"./app.ab8d0b9f.js";const t="/logo.png",i="/assets/2.7aeaaf23.png",s="/assets/1.136ffa4a.png",_=JSON.parse('{"title":"个人介绍","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"技术栈","slug":"技术栈","link":"#技术栈","children":[{"level":3,"title":"前端技术","slug":"前端技术","link":"#前端技术","children":[]},{"level":3,"title":"后端技术","slug":"后端技术","link":"#后端技术","children":[]},{"level":3,"title":"相关技能","slug":"相关技能","link":"#相关技能","children":[]}]},{"level":2,"title":"获得奖项","slug":"获得奖项","link":"#获得奖项","children":[{"level":3,"title":"Microsoft Edge 浏览器开拓者大赛 开拓之星","slug":"microsoft-edge-浏览器开拓者大赛-开拓之星","link":"#microsoft-edge-浏览器开拓者大赛-开拓之星","children":[]},{"level":3,"title":"稀土掘金2022编程挑战赛 三等奖","slug":"稀土掘金2022编程挑战赛-三等奖","link":"#稀土掘金2022编程挑战赛-三等奖","children":[]},{"level":3,"title":"入选“扬帆计划·中央和国家机关大学生实习”","slug":"入选-扬帆计划·中央和国家机关大学生实习","link":"#入选-扬帆计划·中央和国家机关大学生实习","children":[]},{"level":3,"title":"100周年现场志愿者","slug":"_100周年现场志愿者","link":"#_100周年现场志愿者","children":[]},{"level":3,"title":"优秀学生干部、优秀共青团员","slug":"优秀学生干部、优秀共青团员","link":"#优秀学生干部、优秀共青团员","children":[]},{"level":3,"title":"社会工作优秀奖学金","slug":"社会工作优秀奖学金","link":"#社会工作优秀奖学金","children":[]}]},{"level":2,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]}],"relativePath":"self/index.md","lastUpdated":1681026524000}'),r={name:"self/index.md"},d=l("",35),c=[d];function h(g,p,n,m,f,u){return o(),a("div",null,c)}const C=e(r,[["render",h]]);export{_ as __pageData,C as default};

View File

@@ -1 +1 @@
import{_ as e,o as r,c as a,a as t}from"./app.ab8d0b9f.js";const f=JSON.parse('{"title":"社区贡献","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"稀土掘金助手","slug":"稀土掘金助手","link":"#稀土掘金助手","children":[]},{"level":2,"title":"B站粉丝牌助手文档","slug":"b站粉丝牌助手文档","link":"#b站粉丝牌助手文档","children":[]}],"relativePath":"works/contribution.md","lastUpdated":1680702249000}'),n={name:"works/contribution.md"},i=t('<h1 id="社区贡献" tabindex="-1">社区贡献 <a class="header-anchor" href="#社区贡献" aria-hidden="true">#</a></h1><h2 id="稀土掘金助手" tabindex="-1">稀土掘金助手 <a class="header-anchor" href="#稀土掘金助手" aria-hidden="true">#</a></h2><p>稀土掘金助手: 腾讯云函数部署</p><p><a href="https://github.com/ZiuChen/juejin-helper-SCF" target="_blank" rel="noreferrer">源代码</a></p><h2 id="b站粉丝牌助手文档" tabindex="-1">B站粉丝牌助手文档 <a class="header-anchor" href="#b站粉丝牌助手文档" aria-hidden="true">#</a></h2><p>B站粉丝牌助手文档</p><p><a href="https://github.com/ZiuChen/fansMedalHelperVersion" target="_blank" rel="noreferrer">源代码</a><a href="https://ziuchen.github.io/fansMedalHelperVersion/" target="_blank" rel="noreferrer">Demo</a></p>',7),o=[i];function s(h,l,d,c,_,p){return r(),a("div",null,o)}const b=e(n,[["render",s]]);export{f as __pageData,b as default};
import{_ as e,o as r,c as a,a as t}from"./app.ab8d0b9f.js";const f=JSON.parse('{"title":"社区贡献","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"稀土掘金助手","slug":"稀土掘金助手","link":"#稀土掘金助手","children":[]},{"level":2,"title":"B站粉丝牌助手文档","slug":"b站粉丝牌助手文档","link":"#b站粉丝牌助手文档","children":[]}],"relativePath":"works/contribution.md","lastUpdated":1681026524000}'),n={name:"works/contribution.md"},i=t('<h1 id="社区贡献" tabindex="-1">社区贡献 <a class="header-anchor" href="#社区贡献" aria-hidden="true">#</a></h1><h2 id="稀土掘金助手" tabindex="-1">稀土掘金助手 <a class="header-anchor" href="#稀土掘金助手" aria-hidden="true">#</a></h2><p>稀土掘金助手: 腾讯云函数部署</p><p><a href="https://github.com/ZiuChen/juejin-helper-SCF" target="_blank" rel="noreferrer">源代码</a></p><h2 id="b站粉丝牌助手文档" tabindex="-1">B站粉丝牌助手文档 <a class="header-anchor" href="#b站粉丝牌助手文档" aria-hidden="true">#</a></h2><p>B站粉丝牌助手文档</p><p><a href="https://github.com/ZiuChen/fansMedalHelperVersion" target="_blank" rel="noreferrer">源代码</a><a href="https://ziuchen.github.io/fansMedalHelperVersion/" target="_blank" rel="noreferrer">Demo</a></p>',7),o=[i];function s(h,l,d,c,_,p){return r(),a("div",null,o)}const b=e(n,[["render",s]]);export{f as __pageData,b as default};

View File

@@ -1 +1 @@
import{_ as e,o as r,c as a,a as t}from"./app.ab8d0b9f.js";const f=JSON.parse('{"title":"社区贡献","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"稀土掘金助手","slug":"稀土掘金助手","link":"#稀土掘金助手","children":[]},{"level":2,"title":"B站粉丝牌助手文档","slug":"b站粉丝牌助手文档","link":"#b站粉丝牌助手文档","children":[]}],"relativePath":"works/contribution.md","lastUpdated":1680702249000}'),n={name:"works/contribution.md"},i=t("",7),o=[i];function s(h,l,d,c,_,p){return r(),a("div",null,o)}const b=e(n,[["render",s]]);export{f as __pageData,b as default};
import{_ as e,o as r,c as a,a as t}from"./app.ab8d0b9f.js";const f=JSON.parse('{"title":"社区贡献","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"稀土掘金助手","slug":"稀土掘金助手","link":"#稀土掘金助手","children":[]},{"level":2,"title":"B站粉丝牌助手文档","slug":"b站粉丝牌助手文档","link":"#b站粉丝牌助手文档","children":[]}],"relativePath":"works/contribution.md","lastUpdated":1681026524000}'),n={name:"works/contribution.md"},i=t("",7),o=[i];function s(h,l,d,c,_,p){return r(),a("div",null,o)}const b=e(n,[["render",s]]);export{f as __pageData,b as default};

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
import{_ as e,o as r,c as a,a as t}from"./app.ab8d0b9f.js";const b=JSON.parse('{"title":"个人作品","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"Vue3+TypeScript后台管理系统","slug":"vue3-typescript后台管理系统","link":"#vue3-typescript后台管理系统","children":[]},{"level":2,"title":"Typein 效率工具集","slug":"typein-效率工具集","link":"#typein-效率工具集","children":[]},{"level":2,"title":"A-SOUL浏览器宠物","slug":"a-soul浏览器宠物","link":"#a-soul浏览器宠物","children":[]},{"level":2,"title":"北京交通大学课程平台功能增强","slug":"北京交通大学课程平台功能增强","link":"#北京交通大学课程平台功能增强","children":[]},{"level":2,"title":"超级剪贴板","slug":"超级剪贴板","link":"#超级剪贴板","children":[]},{"level":2,"title":"超级粘贴","slug":"超级粘贴","link":"#超级粘贴","children":[]},{"level":2,"title":"超级分词","slug":"超级分词","link":"#超级分词","children":[]},{"level":2,"title":"超级连点器","slug":"超级连点器","link":"#超级连点器","children":[]},{"level":2,"title":"PopNotify","slug":"popnotify","link":"#popnotify","children":[]},{"level":2,"title":"UserScripts","slug":"userscripts","link":"#userscripts","children":[]}],"relativePath":"works/opensource.md","lastUpdated":1680702249000}'),i={name:"works/opensource.md"},h=t("",34),n=[h];function l(p,o,s,d,c,u){return r(),a("div",null,n)}const g=e(i,[["render",l]]);export{b as __pageData,g as default};
import{_ as e,o as r,c as a,a as t}from"./app.ab8d0b9f.js";const b=JSON.parse('{"title":"个人作品","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"Vue3+TypeScript后台管理系统","slug":"vue3-typescript后台管理系统","link":"#vue3-typescript后台管理系统","children":[]},{"level":2,"title":"Typein 效率工具集","slug":"typein-效率工具集","link":"#typein-效率工具集","children":[]},{"level":2,"title":"A-SOUL浏览器宠物","slug":"a-soul浏览器宠物","link":"#a-soul浏览器宠物","children":[]},{"level":2,"title":"北京交通大学课程平台功能增强","slug":"北京交通大学课程平台功能增强","link":"#北京交通大学课程平台功能增强","children":[]},{"level":2,"title":"超级剪贴板","slug":"超级剪贴板","link":"#超级剪贴板","children":[]},{"level":2,"title":"超级粘贴","slug":"超级粘贴","link":"#超级粘贴","children":[]},{"level":2,"title":"超级分词","slug":"超级分词","link":"#超级分词","children":[]},{"level":2,"title":"超级连点器","slug":"超级连点器","link":"#超级连点器","children":[]},{"level":2,"title":"PopNotify","slug":"popnotify","link":"#popnotify","children":[]},{"level":2,"title":"UserScripts","slug":"userscripts","link":"#userscripts","children":[]}],"relativePath":"works/opensource.md","lastUpdated":1681026524000}'),i={name:"works/opensource.md"},h=t("",34),n=[h];function l(p,o,s,d,c,u){return r(),a("div",null,n)}const g=e(i,[["render",l]]);export{b as __pageData,g as default};