diff --git a/404.html b/404.html index 3fbf6fdf..5dc48a62 100644 --- a/404.html +++ b/404.html @@ -13,7 +13,7 @@
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

Released under the MIT License.

- + diff --git a/assets/index.md.bdf7e82c.js b/assets/index.md.2225187a.js similarity index 92% rename from assets/index.md.bdf7e82c.js rename to assets/index.md.2225187a.js index 6e0e3e15..35d05095 100644 --- a/assets/index.md.bdf7e82c.js +++ b/assets/index.md.2225187a.js @@ -1 +1 @@ -import{_ as t,o as e,c as i}from"./app.aabca012.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":1675005072000}'),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.aabca012.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":1675268008000}'),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}; diff --git a/assets/index.md.bdf7e82c.lean.js b/assets/index.md.2225187a.lean.js similarity index 92% rename from assets/index.md.bdf7e82c.lean.js rename to assets/index.md.2225187a.lean.js index 6e0e3e15..35d05095 100644 --- a/assets/index.md.bdf7e82c.lean.js +++ b/assets/index.md.2225187a.lean.js @@ -1 +1 @@ -import{_ as t,o as e,c as i}from"./app.aabca012.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":1675005072000}'),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.aabca012.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":1675268008000}'),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}; diff --git a/assets/note_CSS.md.72f9e8ba.js b/assets/note_CSS.md.b6bda43e.js similarity index 99% rename from assets/note_CSS.md.72f9e8ba.js rename to assets/note_CSS.md.b6bda43e.js index 50e173df..99d9731d 100644 --- a/assets/note_CSS.md.72f9e8ba.js +++ b/assets/note_CSS.md.b6bda43e.js @@ -1,4 +1,4 @@ -import{_ as s,o as n,c as a,a as l}from"./app.aabca012.js";const e="/assets/BFC-1.ed3fcfd0.jpg",p="/assets/BFC-2.3c4a8bbc.jpg",o="/assets/BFC-3.7daed619.jpg",c="/assets/BFC-4.b58515a7.jpg",A=JSON.parse('{"title":"CSS基础","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"文本样式(text)","slug":"文本样式-text","link":"#文本样式-text","children":[{"level":3,"title":"text-align(重要)","slug":"text-align-重要","link":"#text-align-重要","children":[]},{"level":3,"title":"letter-spacing word-spacing(了解)","slug":"letter-spacing-word-spacing-了解","link":"#letter-spacing-word-spacing-了解","children":[]}]},{"level":2,"title":"字体样式(font)","slug":"字体样式-font","link":"#字体样式-font","children":[{"level":3,"title":"font-size","slug":"font-size","link":"#font-size","children":[]},{"level":3,"title":"font-family(了解)","slug":"font-family-了解","link":"#font-family-了解","children":[]},{"level":3,"title":"font-weight(重要)","slug":"font-weight-重要","link":"#font-weight-重要","children":[]},{"level":3,"title":"font-style(了解)","slug":"font-style-了解","link":"#font-style-了解","children":[]},{"level":3,"title":"font-variant(了解)","slug":"font-variant-了解","link":"#font-variant-了解","children":[]},{"level":3,"title":"line-height(重要)","slug":"line-height-重要","link":"#line-height-重要","children":[]},{"level":3,"title":"font 缩写属性","slug":"font-缩写属性","link":"#font-缩写属性","children":[]}]},{"level":2,"title":"CSS选择器","slug":"css选择器","link":"#css选择器","children":[{"level":3,"title":"后代选择器","slug":"后代选择器","link":"#后代选择器","children":[]},{"level":3,"title":"直接子代选择器","slug":"直接子代选择器","link":"#直接子代选择器","children":[]},{"level":3,"title":"兄弟选择器","slug":"兄弟选择器","link":"#兄弟选择器","children":[]},{"level":3,"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":"CSS特性(重要)","slug":"css特性-重要","link":"#css特性-重要","children":[{"level":3,"title":"属性的继承","slug":"属性的继承","link":"#属性的继承","children":[]},{"level":3,"title":"属性的层叠","slug":"属性的层叠","link":"#属性的层叠","children":[]},{"level":3,"title":"HTML元素的类型","slug":"html元素的类型","link":"#html元素的类型","children":[]}]},{"level":2,"title":"CSS技巧","slug":"css技巧","link":"#css技巧","children":[{"level":3,"title":"元素隐藏方法","slug":"元素隐藏方法","link":"#元素隐藏方法","children":[]},{"level":3,"title":"样式不生效","slug":"样式不生效","link":"#样式不生效","children":[]}]},{"level":2,"title":"CSS盒子模型","slug":"css盒子模型","link":"#css盒子模型","children":[{"level":3,"title":"内容 width / height","slug":"内容-width-height","link":"#内容-width-height","children":[]},{"level":3,"title":"内边距 padding","slug":"内边距-padding","link":"#内边距-padding","children":[]},{"level":3,"title":"边框 border","slug":"边框-border","link":"#边框-border","children":[]},{"level":3,"title":"外边距 margin","slug":"外边距-margin","link":"#外边距-margin","children":[]},{"level":3,"title":"额外知识点","slug":"额外知识点","link":"#额外知识点","children":[]},{"level":3,"title":"外轮廓 outline","slug":"外轮廓-outline","link":"#外轮廓-outline","children":[]},{"level":3,"title":"盒子阴影 box-shadow","slug":"盒子阴影-box-shadow","link":"#盒子阴影-box-shadow","children":[]},{"level":3,"title":"行内非替换元素的注意事项","slug":"行内非替换元素的注意事项","link":"#行内非替换元素的注意事项","children":[]}]},{"level":2,"title":"CSS元素定位","slug":"css元素定位","link":"#css元素定位","children":[{"level":3,"title":"标准流","slug":"标准流","link":"#标准流","children":[]},{"level":3,"title":"认识元素的定位","slug":"认识元素的定位","link":"#认识元素的定位","children":[]},{"level":3,"title":"position属性取值","slug":"position属性取值","link":"#position属性取值","children":[]},{"level":3,"title":"绝对定位元素的特点","slug":"绝对定位元素的特点","link":"#绝对定位元素的特点","children":[]},{"level":3,"title":"z-index解析","slug":"z-index解析","link":"#z-index解析","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":[]},{"level":3,"title":"通过清除浮动实现布局(TODO)","slug":"通过清除浮动实现布局-todo","link":"#通过清除浮动实现布局-todo","children":[]}]},{"level":2,"title":"Flex布局","slug":"flex布局","link":"#flex布局","children":[{"level":3,"title":"认识Flex布局","slug":"认识flex布局","link":"#认识flex布局","children":[]},{"level":3,"title":"flex布局的重要概念","slug":"flex布局的重要概念","link":"#flex布局的重要概念","children":[]},{"level":3,"title":"flex相关的属性","slug":"flex相关的属性","link":"#flex相关的属性","children":[]},{"level":3,"title":"案例:解决布局问题","slug":"案例-解决布局问题","link":"#案例-解决布局问题","children":[]}]},{"level":2,"title":"CSS中的函数","slug":"css中的函数","link":"#css中的函数","children":[{"level":3,"title":"var 变量","slug":"var-变量","link":"#var-变量","children":[]},{"level":3,"title":"calc 计算","slug":"calc-计算","link":"#calc-计算","children":[]},{"level":3,"title":"blur 高斯模糊","slug":"blur-高斯模糊","link":"#blur-高斯模糊","children":[]},{"level":3,"title":"gradient 颜色渐变","slug":"gradient-颜色渐变","link":"#gradient-颜色渐变","children":[]}]},{"level":2,"title":"CSS求值过程","slug":"css求值过程","link":"#css求值过程","children":[]},{"level":2,"title":"移动端开发","slug":"移动端开发","link":"#移动端开发","children":[]},{"level":2,"title":"额外知识补充","slug":"额外知识补充","link":"#额外知识补充","children":[{"level":3,"title":"浏览器前缀","slug":"浏览器前缀","link":"#浏览器前缀","children":[]},{"level":3,"title":"深入理解BFC(重点)","slug":"深入理解bfc-重点","link":"#深入理解bfc-重点","children":[]},{"level":3,"title":"媒体查询","slug":"媒体查询","link":"#媒体查询","children":[]},{"level":3,"title":"link元素的使用","slug":"link元素的使用","link":"#link元素的使用","children":[]},{"level":3,"title":"CSS颜色的表示方式","slug":"css颜色的表示方式","link":"#css颜色的表示方式","children":[]},{"level":3,"title":"网络字体","slug":"网络字体","link":"#网络字体","children":[]},{"level":3,"title":"字体图标","slug":"字体图标","link":"#字体图标","children":[]},{"level":3,"title":"精灵图 雪碧图","slug":"精灵图-雪碧图","link":"#精灵图-雪碧图","children":[]},{"level":3,"title":"white-space","slug":"white-space","link":"#white-space","children":[]},{"level":3,"title":"text-overflow","slug":"text-overflow","link":"#text-overflow","children":[]},{"level":3,"title":"水平垂直居中方案","slug":"水平垂直居中方案","link":"#水平垂直居中方案","children":[]},{"level":3,"title":"内联元素居中布局","slug":"内联元素居中布局","link":"#内联元素居中布局","children":[]},{"level":3,"title":"块级元素居中布局","slug":"块级元素居中布局","link":"#块级元素居中布局","children":[]}]},{"level":2,"title":"HTML5新增内容","slug":"html5新增内容","link":"#html5新增内容","children":[{"level":3,"title":"语义化元素","slug":"语义化元素","link":"#语义化元素","children":[]},{"level":3,"title":"video标签","slug":"video标签","link":"#video标签","children":[]},{"level":3,"title":"audio标签","slug":"audio标签","link":"#audio标签","children":[]},{"level":3,"title":"input元素","slug":"input元素","link":"#input元素","children":[]},{"level":3,"title":"全局新增属性 data-*","slug":"全局新增属性-data","link":"#全局新增属性-data","children":[]}]}],"relativePath":"note/CSS.md","lastUpdated":1675005072000}'),t={name:"note/CSS.md"},r=l(`

CSS基础

CSS提供了三种方法,可以将CSS样式应用到元素上:

文本样式(text)

text-align(重要)

行内内容(例如文字)如何相对它的块父元素对齐,left靠左 center居中 right靠右 justify两端对齐

默认值为left

需要注意的是,当子元素是div时,对父元素设置text-align是不生效的:

css
.box {
+import{_ as s,o as n,c as a,a as l}from"./app.aabca012.js";const e="/assets/BFC-1.ed3fcfd0.jpg",p="/assets/BFC-2.3c4a8bbc.jpg",o="/assets/BFC-3.7daed619.jpg",c="/assets/BFC-4.b58515a7.jpg",A=JSON.parse('{"title":"CSS基础","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"文本样式(text)","slug":"文本样式-text","link":"#文本样式-text","children":[{"level":3,"title":"text-align(重要)","slug":"text-align-重要","link":"#text-align-重要","children":[]},{"level":3,"title":"letter-spacing word-spacing(了解)","slug":"letter-spacing-word-spacing-了解","link":"#letter-spacing-word-spacing-了解","children":[]}]},{"level":2,"title":"字体样式(font)","slug":"字体样式-font","link":"#字体样式-font","children":[{"level":3,"title":"font-size","slug":"font-size","link":"#font-size","children":[]},{"level":3,"title":"font-family(了解)","slug":"font-family-了解","link":"#font-family-了解","children":[]},{"level":3,"title":"font-weight(重要)","slug":"font-weight-重要","link":"#font-weight-重要","children":[]},{"level":3,"title":"font-style(了解)","slug":"font-style-了解","link":"#font-style-了解","children":[]},{"level":3,"title":"font-variant(了解)","slug":"font-variant-了解","link":"#font-variant-了解","children":[]},{"level":3,"title":"line-height(重要)","slug":"line-height-重要","link":"#line-height-重要","children":[]},{"level":3,"title":"font 缩写属性","slug":"font-缩写属性","link":"#font-缩写属性","children":[]}]},{"level":2,"title":"CSS选择器","slug":"css选择器","link":"#css选择器","children":[{"level":3,"title":"后代选择器","slug":"后代选择器","link":"#后代选择器","children":[]},{"level":3,"title":"直接子代选择器","slug":"直接子代选择器","link":"#直接子代选择器","children":[]},{"level":3,"title":"兄弟选择器","slug":"兄弟选择器","link":"#兄弟选择器","children":[]},{"level":3,"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":"CSS特性(重要)","slug":"css特性-重要","link":"#css特性-重要","children":[{"level":3,"title":"属性的继承","slug":"属性的继承","link":"#属性的继承","children":[]},{"level":3,"title":"属性的层叠","slug":"属性的层叠","link":"#属性的层叠","children":[]},{"level":3,"title":"HTML元素的类型","slug":"html元素的类型","link":"#html元素的类型","children":[]}]},{"level":2,"title":"CSS技巧","slug":"css技巧","link":"#css技巧","children":[{"level":3,"title":"元素隐藏方法","slug":"元素隐藏方法","link":"#元素隐藏方法","children":[]},{"level":3,"title":"样式不生效","slug":"样式不生效","link":"#样式不生效","children":[]}]},{"level":2,"title":"CSS盒子模型","slug":"css盒子模型","link":"#css盒子模型","children":[{"level":3,"title":"内容 width / height","slug":"内容-width-height","link":"#内容-width-height","children":[]},{"level":3,"title":"内边距 padding","slug":"内边距-padding","link":"#内边距-padding","children":[]},{"level":3,"title":"边框 border","slug":"边框-border","link":"#边框-border","children":[]},{"level":3,"title":"外边距 margin","slug":"外边距-margin","link":"#外边距-margin","children":[]},{"level":3,"title":"额外知识点","slug":"额外知识点","link":"#额外知识点","children":[]},{"level":3,"title":"外轮廓 outline","slug":"外轮廓-outline","link":"#外轮廓-outline","children":[]},{"level":3,"title":"盒子阴影 box-shadow","slug":"盒子阴影-box-shadow","link":"#盒子阴影-box-shadow","children":[]},{"level":3,"title":"行内非替换元素的注意事项","slug":"行内非替换元素的注意事项","link":"#行内非替换元素的注意事项","children":[]}]},{"level":2,"title":"CSS元素定位","slug":"css元素定位","link":"#css元素定位","children":[{"level":3,"title":"标准流","slug":"标准流","link":"#标准流","children":[]},{"level":3,"title":"认识元素的定位","slug":"认识元素的定位","link":"#认识元素的定位","children":[]},{"level":3,"title":"position属性取值","slug":"position属性取值","link":"#position属性取值","children":[]},{"level":3,"title":"绝对定位元素的特点","slug":"绝对定位元素的特点","link":"#绝对定位元素的特点","children":[]},{"level":3,"title":"z-index解析","slug":"z-index解析","link":"#z-index解析","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":[]},{"level":3,"title":"通过清除浮动实现布局(TODO)","slug":"通过清除浮动实现布局-todo","link":"#通过清除浮动实现布局-todo","children":[]}]},{"level":2,"title":"Flex布局","slug":"flex布局","link":"#flex布局","children":[{"level":3,"title":"认识Flex布局","slug":"认识flex布局","link":"#认识flex布局","children":[]},{"level":3,"title":"flex布局的重要概念","slug":"flex布局的重要概念","link":"#flex布局的重要概念","children":[]},{"level":3,"title":"flex相关的属性","slug":"flex相关的属性","link":"#flex相关的属性","children":[]},{"level":3,"title":"案例:解决布局问题","slug":"案例-解决布局问题","link":"#案例-解决布局问题","children":[]}]},{"level":2,"title":"CSS中的函数","slug":"css中的函数","link":"#css中的函数","children":[{"level":3,"title":"var  变量","slug":"var-变量","link":"#var-变量","children":[]},{"level":3,"title":"calc 计算","slug":"calc-计算","link":"#calc-计算","children":[]},{"level":3,"title":"blur 高斯模糊","slug":"blur-高斯模糊","link":"#blur-高斯模糊","children":[]},{"level":3,"title":"gradient 颜色渐变","slug":"gradient-颜色渐变","link":"#gradient-颜色渐变","children":[]}]},{"level":2,"title":"CSS求值过程","slug":"css求值过程","link":"#css求值过程","children":[]},{"level":2,"title":"移动端开发","slug":"移动端开发","link":"#移动端开发","children":[]},{"level":2,"title":"额外知识补充","slug":"额外知识补充","link":"#额外知识补充","children":[{"level":3,"title":"浏览器前缀","slug":"浏览器前缀","link":"#浏览器前缀","children":[]},{"level":3,"title":"深入理解BFC(重点)","slug":"深入理解bfc-重点","link":"#深入理解bfc-重点","children":[]},{"level":3,"title":"媒体查询","slug":"媒体查询","link":"#媒体查询","children":[]},{"level":3,"title":"link元素的使用","slug":"link元素的使用","link":"#link元素的使用","children":[]},{"level":3,"title":"CSS颜色的表示方式","slug":"css颜色的表示方式","link":"#css颜色的表示方式","children":[]},{"level":3,"title":"网络字体","slug":"网络字体","link":"#网络字体","children":[]},{"level":3,"title":"字体图标","slug":"字体图标","link":"#字体图标","children":[]},{"level":3,"title":"精灵图 雪碧图","slug":"精灵图-雪碧图","link":"#精灵图-雪碧图","children":[]},{"level":3,"title":"white-space","slug":"white-space","link":"#white-space","children":[]},{"level":3,"title":"text-overflow","slug":"text-overflow","link":"#text-overflow","children":[]},{"level":3,"title":"水平垂直居中方案","slug":"水平垂直居中方案","link":"#水平垂直居中方案","children":[]},{"level":3,"title":"内联元素居中布局","slug":"内联元素居中布局","link":"#内联元素居中布局","children":[]},{"level":3,"title":"块级元素居中布局","slug":"块级元素居中布局","link":"#块级元素居中布局","children":[]}]},{"level":2,"title":"HTML5新增内容","slug":"html5新增内容","link":"#html5新增内容","children":[{"level":3,"title":"语义化元素","slug":"语义化元素","link":"#语义化元素","children":[]},{"level":3,"title":"video标签","slug":"video标签","link":"#video标签","children":[]},{"level":3,"title":"audio标签","slug":"audio标签","link":"#audio标签","children":[]},{"level":3,"title":"input元素","slug":"input元素","link":"#input元素","children":[]},{"level":3,"title":"全局新增属性 data-*","slug":"全局新增属性-data","link":"#全局新增属性-data","children":[]}]}],"relativePath":"note/CSS.md","lastUpdated":1675268008000}'),t={name:"note/CSS.md"},r=l(`

CSS基础

CSS提供了三种方法,可以将CSS样式应用到元素上:

  • 内联样式
    • 直接将样式写到元素的style属性上
  • 内部样式表
    • 将样式通过<style>标签写在<head>标签中,通过选择器应用到元素上
  • 外部样式表
    • 将样式写在外部文件如style.css中,再通过<link>标签引入

文本样式(text)

  • text-decoration 框线样式
    • line-through 删除线
    • overline 上划线
    • underline 下划线
    • none 不设置装饰线
  • text-transform
    • text-transform 属性指定如何将元素的文本大写。
    • 它可以用于使文本显示为全大写或全小写,也可单独对每一个单词进行操作。
  • text-indent
    • text-indent 属性能定义一个块元素首行文本内容之前的缩进量。
  • text-align
  • word/letter-spacing

text-align(重要)

行内内容(例如文字)如何相对它的块父元素对齐,left靠左 center居中 right靠右 justify两端对齐

默认值为left

需要注意的是,当子元素是div时,对父元素设置text-align是不生效的:

css
.box {
   height: 500px;
   text-align: center;
   background-color: red;
diff --git a/assets/note_CSS.md.72f9e8ba.lean.js b/assets/note_CSS.md.b6bda43e.lean.js
similarity index 99%
rename from assets/note_CSS.md.72f9e8ba.lean.js
rename to assets/note_CSS.md.b6bda43e.lean.js
index 772c6805..1d9877b5 100644
--- a/assets/note_CSS.md.72f9e8ba.lean.js
+++ b/assets/note_CSS.md.b6bda43e.lean.js
@@ -1 +1 @@
-import{_ as s,o as n,c as a,a as l}from"./app.aabca012.js";const e="/assets/BFC-1.ed3fcfd0.jpg",p="/assets/BFC-2.3c4a8bbc.jpg",o="/assets/BFC-3.7daed619.jpg",c="/assets/BFC-4.b58515a7.jpg",A=JSON.parse('{"title":"CSS基础","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"文本样式(text)","slug":"文本样式-text","link":"#文本样式-text","children":[{"level":3,"title":"text-align(重要)","slug":"text-align-重要","link":"#text-align-重要","children":[]},{"level":3,"title":"letter-spacing word-spacing(了解)","slug":"letter-spacing-word-spacing-了解","link":"#letter-spacing-word-spacing-了解","children":[]}]},{"level":2,"title":"字体样式(font)","slug":"字体样式-font","link":"#字体样式-font","children":[{"level":3,"title":"font-size","slug":"font-size","link":"#font-size","children":[]},{"level":3,"title":"font-family(了解)","slug":"font-family-了解","link":"#font-family-了解","children":[]},{"level":3,"title":"font-weight(重要)","slug":"font-weight-重要","link":"#font-weight-重要","children":[]},{"level":3,"title":"font-style(了解)","slug":"font-style-了解","link":"#font-style-了解","children":[]},{"level":3,"title":"font-variant(了解)","slug":"font-variant-了解","link":"#font-variant-了解","children":[]},{"level":3,"title":"line-height(重要)","slug":"line-height-重要","link":"#line-height-重要","children":[]},{"level":3,"title":"font 缩写属性","slug":"font-缩写属性","link":"#font-缩写属性","children":[]}]},{"level":2,"title":"CSS选择器","slug":"css选择器","link":"#css选择器","children":[{"level":3,"title":"后代选择器","slug":"后代选择器","link":"#后代选择器","children":[]},{"level":3,"title":"直接子代选择器","slug":"直接子代选择器","link":"#直接子代选择器","children":[]},{"level":3,"title":"兄弟选择器","slug":"兄弟选择器","link":"#兄弟选择器","children":[]},{"level":3,"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":"CSS特性(重要)","slug":"css特性-重要","link":"#css特性-重要","children":[{"level":3,"title":"属性的继承","slug":"属性的继承","link":"#属性的继承","children":[]},{"level":3,"title":"属性的层叠","slug":"属性的层叠","link":"#属性的层叠","children":[]},{"level":3,"title":"HTML元素的类型","slug":"html元素的类型","link":"#html元素的类型","children":[]}]},{"level":2,"title":"CSS技巧","slug":"css技巧","link":"#css技巧","children":[{"level":3,"title":"元素隐藏方法","slug":"元素隐藏方法","link":"#元素隐藏方法","children":[]},{"level":3,"title":"样式不生效","slug":"样式不生效","link":"#样式不生效","children":[]}]},{"level":2,"title":"CSS盒子模型","slug":"css盒子模型","link":"#css盒子模型","children":[{"level":3,"title":"内容 width / height","slug":"内容-width-height","link":"#内容-width-height","children":[]},{"level":3,"title":"内边距 padding","slug":"内边距-padding","link":"#内边距-padding","children":[]},{"level":3,"title":"边框 border","slug":"边框-border","link":"#边框-border","children":[]},{"level":3,"title":"外边距 margin","slug":"外边距-margin","link":"#外边距-margin","children":[]},{"level":3,"title":"额外知识点","slug":"额外知识点","link":"#额外知识点","children":[]},{"level":3,"title":"外轮廓 outline","slug":"外轮廓-outline","link":"#外轮廓-outline","children":[]},{"level":3,"title":"盒子阴影 box-shadow","slug":"盒子阴影-box-shadow","link":"#盒子阴影-box-shadow","children":[]},{"level":3,"title":"行内非替换元素的注意事项","slug":"行内非替换元素的注意事项","link":"#行内非替换元素的注意事项","children":[]}]},{"level":2,"title":"CSS元素定位","slug":"css元素定位","link":"#css元素定位","children":[{"level":3,"title":"标准流","slug":"标准流","link":"#标准流","children":[]},{"level":3,"title":"认识元素的定位","slug":"认识元素的定位","link":"#认识元素的定位","children":[]},{"level":3,"title":"position属性取值","slug":"position属性取值","link":"#position属性取值","children":[]},{"level":3,"title":"绝对定位元素的特点","slug":"绝对定位元素的特点","link":"#绝对定位元素的特点","children":[]},{"level":3,"title":"z-index解析","slug":"z-index解析","link":"#z-index解析","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":[]},{"level":3,"title":"通过清除浮动实现布局(TODO)","slug":"通过清除浮动实现布局-todo","link":"#通过清除浮动实现布局-todo","children":[]}]},{"level":2,"title":"Flex布局","slug":"flex布局","link":"#flex布局","children":[{"level":3,"title":"认识Flex布局","slug":"认识flex布局","link":"#认识flex布局","children":[]},{"level":3,"title":"flex布局的重要概念","slug":"flex布局的重要概念","link":"#flex布局的重要概念","children":[]},{"level":3,"title":"flex相关的属性","slug":"flex相关的属性","link":"#flex相关的属性","children":[]},{"level":3,"title":"案例:解决布局问题","slug":"案例-解决布局问题","link":"#案例-解决布局问题","children":[]}]},{"level":2,"title":"CSS中的函数","slug":"css中的函数","link":"#css中的函数","children":[{"level":3,"title":"var  变量","slug":"var-变量","link":"#var-变量","children":[]},{"level":3,"title":"calc 计算","slug":"calc-计算","link":"#calc-计算","children":[]},{"level":3,"title":"blur 高斯模糊","slug":"blur-高斯模糊","link":"#blur-高斯模糊","children":[]},{"level":3,"title":"gradient 颜色渐变","slug":"gradient-颜色渐变","link":"#gradient-颜色渐变","children":[]}]},{"level":2,"title":"CSS求值过程","slug":"css求值过程","link":"#css求值过程","children":[]},{"level":2,"title":"移动端开发","slug":"移动端开发","link":"#移动端开发","children":[]},{"level":2,"title":"额外知识补充","slug":"额外知识补充","link":"#额外知识补充","children":[{"level":3,"title":"浏览器前缀","slug":"浏览器前缀","link":"#浏览器前缀","children":[]},{"level":3,"title":"深入理解BFC(重点)","slug":"深入理解bfc-重点","link":"#深入理解bfc-重点","children":[]},{"level":3,"title":"媒体查询","slug":"媒体查询","link":"#媒体查询","children":[]},{"level":3,"title":"link元素的使用","slug":"link元素的使用","link":"#link元素的使用","children":[]},{"level":3,"title":"CSS颜色的表示方式","slug":"css颜色的表示方式","link":"#css颜色的表示方式","children":[]},{"level":3,"title":"网络字体","slug":"网络字体","link":"#网络字体","children":[]},{"level":3,"title":"字体图标","slug":"字体图标","link":"#字体图标","children":[]},{"level":3,"title":"精灵图 雪碧图","slug":"精灵图-雪碧图","link":"#精灵图-雪碧图","children":[]},{"level":3,"title":"white-space","slug":"white-space","link":"#white-space","children":[]},{"level":3,"title":"text-overflow","slug":"text-overflow","link":"#text-overflow","children":[]},{"level":3,"title":"水平垂直居中方案","slug":"水平垂直居中方案","link":"#水平垂直居中方案","children":[]},{"level":3,"title":"内联元素居中布局","slug":"内联元素居中布局","link":"#内联元素居中布局","children":[]},{"level":3,"title":"块级元素居中布局","slug":"块级元素居中布局","link":"#块级元素居中布局","children":[]}]},{"level":2,"title":"HTML5新增内容","slug":"html5新增内容","link":"#html5新增内容","children":[{"level":3,"title":"语义化元素","slug":"语义化元素","link":"#语义化元素","children":[]},{"level":3,"title":"video标签","slug":"video标签","link":"#video标签","children":[]},{"level":3,"title":"audio标签","slug":"audio标签","link":"#audio标签","children":[]},{"level":3,"title":"input元素","slug":"input元素","link":"#input元素","children":[]},{"level":3,"title":"全局新增属性 data-*","slug":"全局新增属性-data","link":"#全局新增属性-data","children":[]}]}],"relativePath":"note/CSS.md","lastUpdated":1675005072000}'),t={name:"note/CSS.md"},r=l("",533),i=[r];function d(D,y,F,C,u,b){return n(),a("div",null,i)}const m=s(t,[["render",d]]);export{A as __pageData,m as default};
+import{_ as s,o as n,c as a,a as l}from"./app.aabca012.js";const e="/assets/BFC-1.ed3fcfd0.jpg",p="/assets/BFC-2.3c4a8bbc.jpg",o="/assets/BFC-3.7daed619.jpg",c="/assets/BFC-4.b58515a7.jpg",A=JSON.parse('{"title":"CSS基础","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"文本样式(text)","slug":"文本样式-text","link":"#文本样式-text","children":[{"level":3,"title":"text-align(重要)","slug":"text-align-重要","link":"#text-align-重要","children":[]},{"level":3,"title":"letter-spacing word-spacing(了解)","slug":"letter-spacing-word-spacing-了解","link":"#letter-spacing-word-spacing-了解","children":[]}]},{"level":2,"title":"字体样式(font)","slug":"字体样式-font","link":"#字体样式-font","children":[{"level":3,"title":"font-size","slug":"font-size","link":"#font-size","children":[]},{"level":3,"title":"font-family(了解)","slug":"font-family-了解","link":"#font-family-了解","children":[]},{"level":3,"title":"font-weight(重要)","slug":"font-weight-重要","link":"#font-weight-重要","children":[]},{"level":3,"title":"font-style(了解)","slug":"font-style-了解","link":"#font-style-了解","children":[]},{"level":3,"title":"font-variant(了解)","slug":"font-variant-了解","link":"#font-variant-了解","children":[]},{"level":3,"title":"line-height(重要)","slug":"line-height-重要","link":"#line-height-重要","children":[]},{"level":3,"title":"font 缩写属性","slug":"font-缩写属性","link":"#font-缩写属性","children":[]}]},{"level":2,"title":"CSS选择器","slug":"css选择器","link":"#css选择器","children":[{"level":3,"title":"后代选择器","slug":"后代选择器","link":"#后代选择器","children":[]},{"level":3,"title":"直接子代选择器","slug":"直接子代选择器","link":"#直接子代选择器","children":[]},{"level":3,"title":"兄弟选择器","slug":"兄弟选择器","link":"#兄弟选择器","children":[]},{"level":3,"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":"CSS特性(重要)","slug":"css特性-重要","link":"#css特性-重要","children":[{"level":3,"title":"属性的继承","slug":"属性的继承","link":"#属性的继承","children":[]},{"level":3,"title":"属性的层叠","slug":"属性的层叠","link":"#属性的层叠","children":[]},{"level":3,"title":"HTML元素的类型","slug":"html元素的类型","link":"#html元素的类型","children":[]}]},{"level":2,"title":"CSS技巧","slug":"css技巧","link":"#css技巧","children":[{"level":3,"title":"元素隐藏方法","slug":"元素隐藏方法","link":"#元素隐藏方法","children":[]},{"level":3,"title":"样式不生效","slug":"样式不生效","link":"#样式不生效","children":[]}]},{"level":2,"title":"CSS盒子模型","slug":"css盒子模型","link":"#css盒子模型","children":[{"level":3,"title":"内容 width / height","slug":"内容-width-height","link":"#内容-width-height","children":[]},{"level":3,"title":"内边距 padding","slug":"内边距-padding","link":"#内边距-padding","children":[]},{"level":3,"title":"边框 border","slug":"边框-border","link":"#边框-border","children":[]},{"level":3,"title":"外边距 margin","slug":"外边距-margin","link":"#外边距-margin","children":[]},{"level":3,"title":"额外知识点","slug":"额外知识点","link":"#额外知识点","children":[]},{"level":3,"title":"外轮廓 outline","slug":"外轮廓-outline","link":"#外轮廓-outline","children":[]},{"level":3,"title":"盒子阴影 box-shadow","slug":"盒子阴影-box-shadow","link":"#盒子阴影-box-shadow","children":[]},{"level":3,"title":"行内非替换元素的注意事项","slug":"行内非替换元素的注意事项","link":"#行内非替换元素的注意事项","children":[]}]},{"level":2,"title":"CSS元素定位","slug":"css元素定位","link":"#css元素定位","children":[{"level":3,"title":"标准流","slug":"标准流","link":"#标准流","children":[]},{"level":3,"title":"认识元素的定位","slug":"认识元素的定位","link":"#认识元素的定位","children":[]},{"level":3,"title":"position属性取值","slug":"position属性取值","link":"#position属性取值","children":[]},{"level":3,"title":"绝对定位元素的特点","slug":"绝对定位元素的特点","link":"#绝对定位元素的特点","children":[]},{"level":3,"title":"z-index解析","slug":"z-index解析","link":"#z-index解析","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":[]},{"level":3,"title":"通过清除浮动实现布局(TODO)","slug":"通过清除浮动实现布局-todo","link":"#通过清除浮动实现布局-todo","children":[]}]},{"level":2,"title":"Flex布局","slug":"flex布局","link":"#flex布局","children":[{"level":3,"title":"认识Flex布局","slug":"认识flex布局","link":"#认识flex布局","children":[]},{"level":3,"title":"flex布局的重要概念","slug":"flex布局的重要概念","link":"#flex布局的重要概念","children":[]},{"level":3,"title":"flex相关的属性","slug":"flex相关的属性","link":"#flex相关的属性","children":[]},{"level":3,"title":"案例:解决布局问题","slug":"案例-解决布局问题","link":"#案例-解决布局问题","children":[]}]},{"level":2,"title":"CSS中的函数","slug":"css中的函数","link":"#css中的函数","children":[{"level":3,"title":"var  变量","slug":"var-变量","link":"#var-变量","children":[]},{"level":3,"title":"calc 计算","slug":"calc-计算","link":"#calc-计算","children":[]},{"level":3,"title":"blur 高斯模糊","slug":"blur-高斯模糊","link":"#blur-高斯模糊","children":[]},{"level":3,"title":"gradient 颜色渐变","slug":"gradient-颜色渐变","link":"#gradient-颜色渐变","children":[]}]},{"level":2,"title":"CSS求值过程","slug":"css求值过程","link":"#css求值过程","children":[]},{"level":2,"title":"移动端开发","slug":"移动端开发","link":"#移动端开发","children":[]},{"level":2,"title":"额外知识补充","slug":"额外知识补充","link":"#额外知识补充","children":[{"level":3,"title":"浏览器前缀","slug":"浏览器前缀","link":"#浏览器前缀","children":[]},{"level":3,"title":"深入理解BFC(重点)","slug":"深入理解bfc-重点","link":"#深入理解bfc-重点","children":[]},{"level":3,"title":"媒体查询","slug":"媒体查询","link":"#媒体查询","children":[]},{"level":3,"title":"link元素的使用","slug":"link元素的使用","link":"#link元素的使用","children":[]},{"level":3,"title":"CSS颜色的表示方式","slug":"css颜色的表示方式","link":"#css颜色的表示方式","children":[]},{"level":3,"title":"网络字体","slug":"网络字体","link":"#网络字体","children":[]},{"level":3,"title":"字体图标","slug":"字体图标","link":"#字体图标","children":[]},{"level":3,"title":"精灵图 雪碧图","slug":"精灵图-雪碧图","link":"#精灵图-雪碧图","children":[]},{"level":3,"title":"white-space","slug":"white-space","link":"#white-space","children":[]},{"level":3,"title":"text-overflow","slug":"text-overflow","link":"#text-overflow","children":[]},{"level":3,"title":"水平垂直居中方案","slug":"水平垂直居中方案","link":"#水平垂直居中方案","children":[]},{"level":3,"title":"内联元素居中布局","slug":"内联元素居中布局","link":"#内联元素居中布局","children":[]},{"level":3,"title":"块级元素居中布局","slug":"块级元素居中布局","link":"#块级元素居中布局","children":[]}]},{"level":2,"title":"HTML5新增内容","slug":"html5新增内容","link":"#html5新增内容","children":[{"level":3,"title":"语义化元素","slug":"语义化元素","link":"#语义化元素","children":[]},{"level":3,"title":"video标签","slug":"video标签","link":"#video标签","children":[]},{"level":3,"title":"audio标签","slug":"audio标签","link":"#audio标签","children":[]},{"level":3,"title":"input元素","slug":"input元素","link":"#input元素","children":[]},{"level":3,"title":"全局新增属性 data-*","slug":"全局新增属性-data","link":"#全局新增属性-data","children":[]}]}],"relativePath":"note/CSS.md","lastUpdated":1675268008000}'),t={name:"note/CSS.md"},r=l("",533),i=[r];function d(D,y,F,C,u,b){return n(),a("div",null,i)}const m=s(t,[["render",d]]);export{A as __pageData,m as default};
diff --git a/assets/note_JavaScript.md.4dfa5e75.js b/assets/note_JavaScript.md.5f47a0f2.js
similarity index 91%
rename from assets/note_JavaScript.md.4dfa5e75.js
rename to assets/note_JavaScript.md.5f47a0f2.js
index 01b48689..a7e809cf 100644
--- a/assets/note_JavaScript.md.4dfa5e75.js
+++ b/assets/note_JavaScript.md.5f47a0f2.js
@@ -1 +1 @@
-import{_ as a,o as e,c as r,b as t,d as s}from"./app.aabca012.js";const S=JSON.parse('{"title":"JavaScript 基础","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"note/JavaScript.md","lastUpdated":1675005072000}'),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.aabca012.js";const S=JSON.parse('{"title":"JavaScript 基础","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"note/JavaScript.md","lastUpdated":1675268008000}'),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};
diff --git a/assets/note_JavaScript.md.4dfa5e75.lean.js b/assets/note_JavaScript.md.5f47a0f2.lean.js
similarity index 91%
rename from assets/note_JavaScript.md.4dfa5e75.lean.js
rename to assets/note_JavaScript.md.5f47a0f2.lean.js
index 01b48689..a7e809cf 100644
--- a/assets/note_JavaScript.md.4dfa5e75.lean.js
+++ b/assets/note_JavaScript.md.5f47a0f2.lean.js
@@ -1 +1 @@
-import{_ as a,o as e,c as r,b as t,d as s}from"./app.aabca012.js";const S=JSON.parse('{"title":"JavaScript 基础","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"note/JavaScript.md","lastUpdated":1675005072000}'),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.aabca012.js";const S=JSON.parse('{"title":"JavaScript 基础","description":"","frontmatter":{"editLink":false},"headers":[],"relativePath":"note/JavaScript.md","lastUpdated":1675268008000}'),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};
diff --git a/assets/note_JavaScriptEnhanced.md.0d4269dc.js b/assets/note_JavaScriptEnhanced.md.52115726.js
similarity index 99%
rename from assets/note_JavaScriptEnhanced.md.0d4269dc.js
rename to assets/note_JavaScriptEnhanced.md.52115726.js
index b9404ad2..9d4e3280 100644
--- a/assets/note_JavaScriptEnhanced.md.0d4269dc.js
+++ b/assets/note_JavaScriptEnhanced.md.52115726.js
@@ -1,4 +1,4 @@
-import{_ as s,o as n,c as a,a as l}from"./app.aabca012.js";const p="/assets/image-20221118222207332-16687813334481.64935e06.png",o="/assets/image-20221118222311200-16687813941873.8c07f79f.png",e="/assets/image-20221122103111654.29f48e34.png",c="/assets/image-20221122103256116.b7d76f81.png",r="/assets/image-20221122103715428.587185d1.png",t="/assets/image-20221125090752249.baeedc2b.png",y="/assets/image-20221125094148365.3adfbe2d.png",g=JSON.parse('{"title":"JavaScript 高级教程","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"函数中this指向","slug":"函数中this指向","link":"#函数中this指向","children":[{"level":3,"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":3,"title":"箭头函数","slug":"箭头函数","link":"#箭头函数","children":[]},{"level":3,"title":"严格模式","slug":"严格模式","link":"#严格模式","children":[]},{"level":3,"title":"this面试题","slug":"this面试题","link":"#this面试题","children":[]}]},{"level":2,"title":"原型与继承","slug":"原型与继承","link":"#原型与继承","children":[{"level":3,"title":"原型有什么作用?","slug":"原型有什么作用","link":"#原型有什么作用","children":[]},{"level":3,"title":"函数的显式原型","slug":"函数的显式原型","link":"#函数的显式原型","children":[]},{"level":3,"title":"Object的原型","slug":"object的原型","link":"#object的原型","children":[]},{"level":3,"title":"原型链实现继承","slug":"原型链实现继承","link":"#原型链实现继承","children":[]},{"level":3,"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":"ES6继承","slug":"es6继承","link":"#es6继承","children":[{"level":3,"title":"与function的异同","slug":"与function的异同","link":"#与function的异同","children":[]},{"level":3,"title":"定义访问器方法","slug":"定义访问器方法","link":"#定义访问器方法","children":[]},{"level":3,"title":"类的静态方法","slug":"类的静态方法","link":"#类的静态方法","children":[]},{"level":3,"title":"extends实现继承","slug":"extends实现继承","link":"#extends实现继承","children":[]},{"level":3,"title":"继承自默认类","slug":"继承自默认类","link":"#继承自默认类","children":[]},{"level":3,"title":"类的混入mixin","slug":"类的混入mixin","link":"#类的混入mixin","children":[]},{"level":3,"title":"Babel是如何转化ES6的","slug":"babel是如何转化es6的","link":"#babel是如何转化es6的","children":[]}]},{"level":2,"title":"浏览器运行原理","slug":"浏览器运行原理","link":"#浏览器运行原理","children":[{"level":3,"title":"网页解析过程","slug":"网页解析过程","link":"#网页解析过程","children":[]},{"level":3,"title":"浏览器对script元素的处理","slug":"浏览器对script元素的处理","link":"#浏览器对script元素的处理","children":[]}]},{"level":2,"title":"JavaScript 运行原理","slug":"javascript-运行原理","link":"#javascript-运行原理","children":[{"level":3,"title":"JS代码的执行","slug":"js代码的执行","link":"#js代码的执行","children":[]},{"level":3,"title":"JavaScript V8引擎","slug":"javascript-v8引擎","link":"#javascript-v8引擎","children":[]},{"level":3,"title":"JavaScript代码执行过程","slug":"javascript代码执行过程","link":"#javascript代码执行过程","children":[]}]},{"level":2,"title":"Proxy与Reflect","slug":"proxy与reflect","link":"#proxy与reflect","children":[{"level":3,"title":"监听对象方法","slug":"监听对象方法","link":"#监听对象方法","children":[]},{"level":3,"title":"Proxy","slug":"proxy","link":"#proxy","children":[]},{"level":3,"title":"Reflect","slug":"reflect","link":"#reflect","children":[]},{"level":3,"title":"理解Proxy与Reflect中的receiver参数","slug":"理解proxy与reflect中的receiver参数","link":"#理解proxy与reflect中的receiver参数","children":[]}]},{"level":2,"title":"Promise详解","slug":"promise详解","link":"#promise详解","children":[{"level":3,"title":"异步代码","slug":"异步代码","link":"#异步代码","children":[]},{"level":3,"title":"认识Promise","slug":"认识promise","link":"#认识promise","children":[]},{"level":3,"title":"Promise类方法","slug":"promise类方法","link":"#promise类方法","children":[]}]},{"level":2,"title":"迭代器与生成器","slug":"迭代器与生成器","link":"#迭代器与生成器","children":[{"level":3,"title":"异步处理","slug":"异步处理","link":"#异步处理","children":[]}]},{"level":2,"title":"let与const","slug":"let与const","link":"#let与const","children":[{"level":3,"title":"作用域提升","slug":"作用域提升","link":"#作用域提升","children":[]},{"level":3,"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":"await async 事件循环","slug":"await-async-事件循环","link":"#await-async-事件循环","children":[{"level":3,"title":"异步函数 async","slug":"异步函数-async","link":"#异步函数-async","children":[]},{"level":3,"title":"await关键字","slug":"await关键字","link":"#await关键字","children":[]},{"level":3,"title":"进程与线程","slug":"进程与线程","link":"#进程与线程","children":[]},{"level":3,"title":"JavaScript线程","slug":"javascript线程","link":"#javascript线程","children":[]},{"level":3,"title":"微任务与宏任务","slug":"微任务与宏任务","link":"#微任务与宏任务","children":[]},{"level":3,"title":"事件循环 面试题","slug":"事件循环-面试题","link":"#事件循环-面试题","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":"节流函数","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":[]}]},{"level":2,"title":"事件总线","slug":"事件总线","link":"#事件总线","children":[]}],"relativePath":"note/JavaScriptEnhanced.md","lastUpdated":1675005072000}'),F={name:"note/JavaScriptEnhanced.md"},D=l(`

JavaScript 高级教程

函数中this指向

函数在调用时, Javascript会默认为this绑定一个值

js
// 定义一个函数
+import{_ as s,o as n,c as a,a as l}from"./app.aabca012.js";const p="/assets/image-20221118222207332-16687813334481.64935e06.png",o="/assets/image-20221118222311200-16687813941873.8c07f79f.png",e="/assets/image-20221122103111654.29f48e34.png",c="/assets/image-20221122103256116.b7d76f81.png",r="/assets/image-20221122103715428.587185d1.png",t="/assets/image-20221125090752249.baeedc2b.png",y="/assets/image-20221125094148365.3adfbe2d.png",g=JSON.parse('{"title":"JavaScript 高级教程","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"函数中this指向","slug":"函数中this指向","link":"#函数中this指向","children":[{"level":3,"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":3,"title":"箭头函数","slug":"箭头函数","link":"#箭头函数","children":[]},{"level":3,"title":"严格模式","slug":"严格模式","link":"#严格模式","children":[]},{"level":3,"title":"this面试题","slug":"this面试题","link":"#this面试题","children":[]}]},{"level":2,"title":"原型与继承","slug":"原型与继承","link":"#原型与继承","children":[{"level":3,"title":"原型有什么作用?","slug":"原型有什么作用","link":"#原型有什么作用","children":[]},{"level":3,"title":"函数的显式原型","slug":"函数的显式原型","link":"#函数的显式原型","children":[]},{"level":3,"title":"Object的原型","slug":"object的原型","link":"#object的原型","children":[]},{"level":3,"title":"原型链实现继承","slug":"原型链实现继承","link":"#原型链实现继承","children":[]},{"level":3,"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":"ES6继承","slug":"es6继承","link":"#es6继承","children":[{"level":3,"title":"与function的异同","slug":"与function的异同","link":"#与function的异同","children":[]},{"level":3,"title":"定义访问器方法","slug":"定义访问器方法","link":"#定义访问器方法","children":[]},{"level":3,"title":"类的静态方法","slug":"类的静态方法","link":"#类的静态方法","children":[]},{"level":3,"title":"extends实现继承","slug":"extends实现继承","link":"#extends实现继承","children":[]},{"level":3,"title":"继承自默认类","slug":"继承自默认类","link":"#继承自默认类","children":[]},{"level":3,"title":"类的混入mixin","slug":"类的混入mixin","link":"#类的混入mixin","children":[]},{"level":3,"title":"Babel是如何转化ES6的","slug":"babel是如何转化es6的","link":"#babel是如何转化es6的","children":[]}]},{"level":2,"title":"浏览器运行原理","slug":"浏览器运行原理","link":"#浏览器运行原理","children":[{"level":3,"title":"网页解析过程","slug":"网页解析过程","link":"#网页解析过程","children":[]},{"level":3,"title":"浏览器对script元素的处理","slug":"浏览器对script元素的处理","link":"#浏览器对script元素的处理","children":[]}]},{"level":2,"title":"JavaScript 运行原理","slug":"javascript-运行原理","link":"#javascript-运行原理","children":[{"level":3,"title":"JS代码的执行","slug":"js代码的执行","link":"#js代码的执行","children":[]},{"level":3,"title":"JavaScript V8引擎","slug":"javascript-v8引擎","link":"#javascript-v8引擎","children":[]},{"level":3,"title":"JavaScript代码执行过程","slug":"javascript代码执行过程","link":"#javascript代码执行过程","children":[]}]},{"level":2,"title":"Proxy与Reflect","slug":"proxy与reflect","link":"#proxy与reflect","children":[{"level":3,"title":"监听对象方法","slug":"监听对象方法","link":"#监听对象方法","children":[]},{"level":3,"title":"Proxy","slug":"proxy","link":"#proxy","children":[]},{"level":3,"title":"Reflect","slug":"reflect","link":"#reflect","children":[]},{"level":3,"title":"理解Proxy与Reflect中的receiver参数","slug":"理解proxy与reflect中的receiver参数","link":"#理解proxy与reflect中的receiver参数","children":[]}]},{"level":2,"title":"Promise详解","slug":"promise详解","link":"#promise详解","children":[{"level":3,"title":"异步代码","slug":"异步代码","link":"#异步代码","children":[]},{"level":3,"title":"认识Promise","slug":"认识promise","link":"#认识promise","children":[]},{"level":3,"title":"Promise类方法","slug":"promise类方法","link":"#promise类方法","children":[]}]},{"level":2,"title":"迭代器与生成器","slug":"迭代器与生成器","link":"#迭代器与生成器","children":[{"level":3,"title":"异步处理","slug":"异步处理","link":"#异步处理","children":[]}]},{"level":2,"title":"let与const","slug":"let与const","link":"#let与const","children":[{"level":3,"title":"作用域提升","slug":"作用域提升","link":"#作用域提升","children":[]},{"level":3,"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":"await async 事件循环","slug":"await-async-事件循环","link":"#await-async-事件循环","children":[{"level":3,"title":"异步函数 async","slug":"异步函数-async","link":"#异步函数-async","children":[]},{"level":3,"title":"await关键字","slug":"await关键字","link":"#await关键字","children":[]},{"level":3,"title":"进程与线程","slug":"进程与线程","link":"#进程与线程","children":[]},{"level":3,"title":"JavaScript线程","slug":"javascript线程","link":"#javascript线程","children":[]},{"level":3,"title":"微任务与宏任务","slug":"微任务与宏任务","link":"#微任务与宏任务","children":[]},{"level":3,"title":"事件循环 面试题","slug":"事件循环-面试题","link":"#事件循环-面试题","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":"节流函数","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":[]}]},{"level":2,"title":"事件总线","slug":"事件总线","link":"#事件总线","children":[]}],"relativePath":"note/JavaScriptEnhanced.md","lastUpdated":1675268008000}'),F={name:"note/JavaScriptEnhanced.md"},D=l(`

JavaScript 高级教程

函数中this指向

函数在调用时, Javascript会默认为this绑定一个值

js
// 定义一个函数
 function foo() {
   console.log(this)
 }
diff --git a/assets/note_JavaScriptEnhanced.md.0d4269dc.lean.js b/assets/note_JavaScriptEnhanced.md.52115726.lean.js
similarity index 99%
rename from assets/note_JavaScriptEnhanced.md.0d4269dc.lean.js
rename to assets/note_JavaScriptEnhanced.md.52115726.lean.js
index eb0a1cf6..9f203210 100644
--- a/assets/note_JavaScriptEnhanced.md.0d4269dc.lean.js
+++ b/assets/note_JavaScriptEnhanced.md.52115726.lean.js
@@ -1 +1 @@
-import{_ as s,o as n,c as a,a as l}from"./app.aabca012.js";const p="/assets/image-20221118222207332-16687813334481.64935e06.png",o="/assets/image-20221118222311200-16687813941873.8c07f79f.png",e="/assets/image-20221122103111654.29f48e34.png",c="/assets/image-20221122103256116.b7d76f81.png",r="/assets/image-20221122103715428.587185d1.png",t="/assets/image-20221125090752249.baeedc2b.png",y="/assets/image-20221125094148365.3adfbe2d.png",g=JSON.parse('{"title":"JavaScript 高级教程","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"函数中this指向","slug":"函数中this指向","link":"#函数中this指向","children":[{"level":3,"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":3,"title":"箭头函数","slug":"箭头函数","link":"#箭头函数","children":[]},{"level":3,"title":"严格模式","slug":"严格模式","link":"#严格模式","children":[]},{"level":3,"title":"this面试题","slug":"this面试题","link":"#this面试题","children":[]}]},{"level":2,"title":"原型与继承","slug":"原型与继承","link":"#原型与继承","children":[{"level":3,"title":"原型有什么作用?","slug":"原型有什么作用","link":"#原型有什么作用","children":[]},{"level":3,"title":"函数的显式原型","slug":"函数的显式原型","link":"#函数的显式原型","children":[]},{"level":3,"title":"Object的原型","slug":"object的原型","link":"#object的原型","children":[]},{"level":3,"title":"原型链实现继承","slug":"原型链实现继承","link":"#原型链实现继承","children":[]},{"level":3,"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":"ES6继承","slug":"es6继承","link":"#es6继承","children":[{"level":3,"title":"与function的异同","slug":"与function的异同","link":"#与function的异同","children":[]},{"level":3,"title":"定义访问器方法","slug":"定义访问器方法","link":"#定义访问器方法","children":[]},{"level":3,"title":"类的静态方法","slug":"类的静态方法","link":"#类的静态方法","children":[]},{"level":3,"title":"extends实现继承","slug":"extends实现继承","link":"#extends实现继承","children":[]},{"level":3,"title":"继承自默认类","slug":"继承自默认类","link":"#继承自默认类","children":[]},{"level":3,"title":"类的混入mixin","slug":"类的混入mixin","link":"#类的混入mixin","children":[]},{"level":3,"title":"Babel是如何转化ES6的","slug":"babel是如何转化es6的","link":"#babel是如何转化es6的","children":[]}]},{"level":2,"title":"浏览器运行原理","slug":"浏览器运行原理","link":"#浏览器运行原理","children":[{"level":3,"title":"网页解析过程","slug":"网页解析过程","link":"#网页解析过程","children":[]},{"level":3,"title":"浏览器对script元素的处理","slug":"浏览器对script元素的处理","link":"#浏览器对script元素的处理","children":[]}]},{"level":2,"title":"JavaScript 运行原理","slug":"javascript-运行原理","link":"#javascript-运行原理","children":[{"level":3,"title":"JS代码的执行","slug":"js代码的执行","link":"#js代码的执行","children":[]},{"level":3,"title":"JavaScript V8引擎","slug":"javascript-v8引擎","link":"#javascript-v8引擎","children":[]},{"level":3,"title":"JavaScript代码执行过程","slug":"javascript代码执行过程","link":"#javascript代码执行过程","children":[]}]},{"level":2,"title":"Proxy与Reflect","slug":"proxy与reflect","link":"#proxy与reflect","children":[{"level":3,"title":"监听对象方法","slug":"监听对象方法","link":"#监听对象方法","children":[]},{"level":3,"title":"Proxy","slug":"proxy","link":"#proxy","children":[]},{"level":3,"title":"Reflect","slug":"reflect","link":"#reflect","children":[]},{"level":3,"title":"理解Proxy与Reflect中的receiver参数","slug":"理解proxy与reflect中的receiver参数","link":"#理解proxy与reflect中的receiver参数","children":[]}]},{"level":2,"title":"Promise详解","slug":"promise详解","link":"#promise详解","children":[{"level":3,"title":"异步代码","slug":"异步代码","link":"#异步代码","children":[]},{"level":3,"title":"认识Promise","slug":"认识promise","link":"#认识promise","children":[]},{"level":3,"title":"Promise类方法","slug":"promise类方法","link":"#promise类方法","children":[]}]},{"level":2,"title":"迭代器与生成器","slug":"迭代器与生成器","link":"#迭代器与生成器","children":[{"level":3,"title":"异步处理","slug":"异步处理","link":"#异步处理","children":[]}]},{"level":2,"title":"let与const","slug":"let与const","link":"#let与const","children":[{"level":3,"title":"作用域提升","slug":"作用域提升","link":"#作用域提升","children":[]},{"level":3,"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":"await async 事件循环","slug":"await-async-事件循环","link":"#await-async-事件循环","children":[{"level":3,"title":"异步函数 async","slug":"异步函数-async","link":"#异步函数-async","children":[]},{"level":3,"title":"await关键字","slug":"await关键字","link":"#await关键字","children":[]},{"level":3,"title":"进程与线程","slug":"进程与线程","link":"#进程与线程","children":[]},{"level":3,"title":"JavaScript线程","slug":"javascript线程","link":"#javascript线程","children":[]},{"level":3,"title":"微任务与宏任务","slug":"微任务与宏任务","link":"#微任务与宏任务","children":[]},{"level":3,"title":"事件循环 面试题","slug":"事件循环-面试题","link":"#事件循环-面试题","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":"节流函数","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":[]}]},{"level":2,"title":"事件总线","slug":"事件总线","link":"#事件总线","children":[]}],"relativePath":"note/JavaScriptEnhanced.md","lastUpdated":1675005072000}'),F={name:"note/JavaScriptEnhanced.md"},D=l("",660),i=[D];function A(C,b,u,d,m,h){return n(),a("div",null,i)}const E=s(F,[["render",A]]);export{g as __pageData,E as default};
+import{_ as s,o as n,c as a,a as l}from"./app.aabca012.js";const p="/assets/image-20221118222207332-16687813334481.64935e06.png",o="/assets/image-20221118222311200-16687813941873.8c07f79f.png",e="/assets/image-20221122103111654.29f48e34.png",c="/assets/image-20221122103256116.b7d76f81.png",r="/assets/image-20221122103715428.587185d1.png",t="/assets/image-20221125090752249.baeedc2b.png",y="/assets/image-20221125094148365.3adfbe2d.png",g=JSON.parse('{"title":"JavaScript 高级教程","description":"","frontmatter":{"editLink":false},"headers":[{"level":2,"title":"函数中this指向","slug":"函数中this指向","link":"#函数中this指向","children":[{"level":3,"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":3,"title":"箭头函数","slug":"箭头函数","link":"#箭头函数","children":[]},{"level":3,"title":"严格模式","slug":"严格模式","link":"#严格模式","children":[]},{"level":3,"title":"this面试题","slug":"this面试题","link":"#this面试题","children":[]}]},{"level":2,"title":"原型与继承","slug":"原型与继承","link":"#原型与继承","children":[{"level":3,"title":"原型有什么作用?","slug":"原型有什么作用","link":"#原型有什么作用","children":[]},{"level":3,"title":"函数的显式原型","slug":"函数的显式原型","link":"#函数的显式原型","children":[]},{"level":3,"title":"Object的原型","slug":"object的原型","link":"#object的原型","children":[]},{"level":3,"title":"原型链实现继承","slug":"原型链实现继承","link":"#原型链实现继承","children":[]},{"level":3,"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":"ES6继承","slug":"es6继承","link":"#es6继承","children":[{"level":3,"title":"与function的异同","slug":"与function的异同","link":"#与function的异同","children":[]},{"level":3,"title":"定义访问器方法","slug":"定义访问器方法","link":"#定义访问器方法","children":[]},{"level":3,"title":"类的静态方法","slug":"类的静态方法","link":"#类的静态方法","children":[]},{"level":3,"title":"extends实现继承","slug":"extends实现继承","link":"#extends实现继承","children":[]},{"level":3,"title":"继承自默认类","slug":"继承自默认类","link":"#继承自默认类","children":[]},{"level":3,"title":"类的混入mixin","slug":"类的混入mixin","link":"#类的混入mixin","children":[]},{"level":3,"title":"Babel是如何转化ES6的","slug":"babel是如何转化es6的","link":"#babel是如何转化es6的","children":[]}]},{"level":2,"title":"浏览器运行原理","slug":"浏览器运行原理","link":"#浏览器运行原理","children":[{"level":3,"title":"网页解析过程","slug":"网页解析过程","link":"#网页解析过程","children":[]},{"level":3,"title":"浏览器对script元素的处理","slug":"浏览器对script元素的处理","link":"#浏览器对script元素的处理","children":[]}]},{"level":2,"title":"JavaScript 运行原理","slug":"javascript-运行原理","link":"#javascript-运行原理","children":[{"level":3,"title":"JS代码的执行","slug":"js代码的执行","link":"#js代码的执行","children":[]},{"level":3,"title":"JavaScript V8引擎","slug":"javascript-v8引擎","link":"#javascript-v8引擎","children":[]},{"level":3,"title":"JavaScript代码执行过程","slug":"javascript代码执行过程","link":"#javascript代码执行过程","children":[]}]},{"level":2,"title":"Proxy与Reflect","slug":"proxy与reflect","link":"#proxy与reflect","children":[{"level":3,"title":"监听对象方法","slug":"监听对象方法","link":"#监听对象方法","children":[]},{"level":3,"title":"Proxy","slug":"proxy","link":"#proxy","children":[]},{"level":3,"title":"Reflect","slug":"reflect","link":"#reflect","children":[]},{"level":3,"title":"理解Proxy与Reflect中的receiver参数","slug":"理解proxy与reflect中的receiver参数","link":"#理解proxy与reflect中的receiver参数","children":[]}]},{"level":2,"title":"Promise详解","slug":"promise详解","link":"#promise详解","children":[{"level":3,"title":"异步代码","slug":"异步代码","link":"#异步代码","children":[]},{"level":3,"title":"认识Promise","slug":"认识promise","link":"#认识promise","children":[]},{"level":3,"title":"Promise类方法","slug":"promise类方法","link":"#promise类方法","children":[]}]},{"level":2,"title":"迭代器与生成器","slug":"迭代器与生成器","link":"#迭代器与生成器","children":[{"level":3,"title":"异步处理","slug":"异步处理","link":"#异步处理","children":[]}]},{"level":2,"title":"let与const","slug":"let与const","link":"#let与const","children":[{"level":3,"title":"作用域提升","slug":"作用域提升","link":"#作用域提升","children":[]},{"level":3,"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":"await async 事件循环","slug":"await-async-事件循环","link":"#await-async-事件循环","children":[{"level":3,"title":"异步函数 async","slug":"异步函数-async","link":"#异步函数-async","children":[]},{"level":3,"title":"await关键字","slug":"await关键字","link":"#await关键字","children":[]},{"level":3,"title":"进程与线程","slug":"进程与线程","link":"#进程与线程","children":[]},{"level":3,"title":"JavaScript线程","slug":"javascript线程","link":"#javascript线程","children":[]},{"level":3,"title":"微任务与宏任务","slug":"微任务与宏任务","link":"#微任务与宏任务","children":[]},{"level":3,"title":"事件循环 面试题","slug":"事件循环-面试题","link":"#事件循环-面试题","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":"节流函数","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":[]}]},{"level":2,"title":"事件总线","slug":"事件总线","link":"#事件总线","children":[]}],"relativePath":"note/JavaScriptEnhanced.md","lastUpdated":1675268008000}'),F={name:"note/JavaScriptEnhanced.md"},D=l("",660),i=[D];function A(C,b,u,d,m,h){return n(),a("div",null,i)}const E=s(F,[["render",A]]);export{g as __pageData,E as default};
diff --git a/assets/project_ClipboardManager_guide_index.md.50acbc92.js b/assets/project_ClipboardManager_guide_index.md.8349998a.js
similarity index 77%
rename from assets/project_ClipboardManager_guide_index.md.50acbc92.js
rename to assets/project_ClipboardManager_guide_index.md.8349998a.js
index 647d6910..c61badb9 100644
--- a/assets/project_ClipboardManager_guide_index.md.50acbc92.js
+++ b/assets/project_ClipboardManager_guide_index.md.8349998a.js
@@ -1,5 +1,5 @@
-import{_ as l,r as p,o as t,c,b as a,d as s,e as o,a as e}from"./app.aabca012.js";const r="/assets/gi1.b601202a.png",i="/assets/gi2.e2b1f9d9.png",d="/assets/gi3.c83cee76.png",D="/assets/gi3-2.8cc1f8a9.png",h="/assets/gi3-3.47dffc9b.png",F="/assets/sign-mac.2c3e272f.png",u="/assets/sign-mac-2.5861d44c.png",y="/assets/mac-chmod.bf888724.jpg",_="/assets/img2.a7e6fa82.png",g="/assets/img3.14924b1b.png",b="/assets/gi4.e4051a3e.png",m="/assets/gi5.f517b425.png",I=JSON.parse('{"title":"使用指南","description":"","frontmatter":{},"headers":[{"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":2,"title":"如何实现多端同步","slug":"如何实现多端同步","link":"#如何实现多端同步","children":[{"level":3,"title":"WebDav同步","slug":"webdav同步","link":"#webdav同步","children":[]},{"level":3,"title":"坚果云同步文件夹","slug":"坚果云同步文件夹","link":"#坚果云同步文件夹","children":[]},{"level":3,"title":"OneDrive","slug":"onedrive","link":"#onedrive","children":[]}]},{"level":2,"title":"如何创造自己的功能按钮","slug":"如何创造自己的功能按钮","link":"#如何创造自己的功能按钮","children":[]}],"relativePath":"project/ClipboardManager/guide/index.md","lastUpdated":1675005072000}'),C={name:"project/ClipboardManager/guide/index.md"},A=e('

使用指南

如何手动安装clipboard-event-handler

新版 超级剪贴板 对剪贴板内容更新事件的监听,依赖于可执行文件:

  • Windows系统: clipboard-event-handler-win32.exe
  • Linux系统: clipboard-event-handler-linux
  • MacOS系统: clipboard-event-handler-mac

插件每次启动时,将自动检查剪贴板数据文件所在目录下是否存在剪贴板监听程序,如存在,则使用性能更优秀的新的监听策略,如不存在,则仍然使用旧的策略。


1. 下载监听程序

点击此处(百度网盘)或访问node-clipboard-event手动下载对应系统的文件,并将其移动到剪贴板数据文件所在目录

插件使用的二进制文件拷贝自node-clipboard-event,请避免从其它不可信的来源下载文件,并在下载文件后比较哈希,有能力的也可以从仓库源代码自行编译

2. 找到剪贴板数据文件所在目录

进入插件设置页(右上角💡按钮),打开插件数据文件所在路径:

3. 将监听程序拷贝到目录中

Windows:

Linux:

Mac:

4. 【重要】注意事项

MacOS需要特殊配置

MacOS拷贝完成后需要对插件进行签名&授权才能正常使用具体步骤如下

1. 签名

打开终端输入以下命令

sh
sudo codesign --force --deep --sign - 
-

然后将此目录中的clipboard-event-handler-mac文件拖入终端执行命令

2. 授权

左上角🍎 -> 系统偏好设置 -> 安全性与隐私 -> 通用 -> 点击允许

监听程序不生效如何排查?

请务必完整按照教程完成安装,如果程序仍未生效,请按照如下方式排查:

  • 监听程序拷贝完成后,需要重启插件方可生效
  • 设置页剪贴板监听程序状态选项是否为已安装
  • 系统进程管理器中是否存在clipboard-event-handler-xxxxx的进程

使用中遇到任何问题,请尝试通过论坛或加入QQ群反馈

如何迁移数据

剪贴板数据存放在

  • Windows Linux用户:{home}\\_utools_clipboard_manager_storage
  • Mac用户:{userData}\\_utools_clipboard_manager_storage

要手动迁移数据,只需要在新设备上运行一次插件,而后将原设备上的数据文件拷贝并替换新设备中的数据文件即可

如何实现多端同步

',40),v={id:"webdav同步",tabindex:"-1"},q=a("a",{class:"header-anchor",href:"#webdav同步","aria-hidden":"true"},"#",-1),f=e('

TIP

v2.0.0起,可以通过开通插件会员启用WebDav同步功能

可以通过自建WebDav服务器或使用支持WebDav服务的网盘来保存自己的剪贴板数据

获取服务器地址 账号 密钥后,仅需在插件内的设置页面添加WebDav配置即可

配置好插件内的WebDav服务后,插件首页工具栏(右上角)将出现上传/下载按钮,点击按钮可以主动同步/下载剪贴板历史数据

相关链接:

',6),x={id:"坚果云同步文件夹",tabindex:"-1"},E=a("a",{class:"header-anchor",href:"#坚果云同步文件夹","aria-hidden":"true"},"#",-1),k=e('

WARNING

以下方法仅适用于v2.0.0之前的版本

数据库文件默认是直接存放在用户文件夹根目录下的,如果需要使用同步功能,请使用插件内提供的数据库路径自定义功能,将数据库路径改为其他路径,而后才能通过下文中讲述的同步文件夹实现云同步。

坚果云官网安装好软件后,找到_utools_clipboard_manager_storage文件所在的目录

右键目录,坚果云/同步该文件夹,将此文件夹加入到坚果云的同步服务中

这样,每次剪贴板内容更新都将自动触发坚果云的同步服务,将剪贴板数据同步到云端

其他安装了坚果云的设备也将自动同步更新

OneDrive

有待测试

如何创造自己的功能按钮

v1.4.0起,插件为用户提供了自定义功能按钮的能力

这让超级剪贴板真正变得“超级”起来,用户可以通过编写json实现携带数据跳转到任何其他插件,这项功能给超级剪贴板带来了无限可能。

插件中,默认内置了若干使用样例:

  • 讯飞OCR识别
  • 百度搜索
  • 百度识图
  • 统计文本字数
  • 颜色管理
  • 识别图片中二维码
  • 上传到图床
  • 翻译

下面我将从这些样例出发对这项功能做简单介绍:

这项功能的原理是utools.redirect(),在不分离插件的情况下,在不同插件之间的跳转体验是连贯的。

百度搜索为例,是通过网页快开提供的关键词实现的,我们可以编写以下json:

json
{
+import{_ as l,r as p,o as t,c,b as s,d as a,e as n,a as o}from"./app.aabca012.js";const r="/assets/gi1.b601202a.png",i="/assets/gi2.e2b1f9d9.png",d="/assets/gi3.c83cee76.png",D="/assets/gi3-2.8cc1f8a9.png",h="/assets/gi3-3.47dffc9b.png",F="/assets/sign-mac.2c3e272f.png",u="/assets/sign-mac-2.5861d44c.png",y="/assets/mac-chmod.bf888724.jpg",m="/assets/img2.a7e6fa82.png",g="/assets/img3.14924b1b.png",b="/assets/gi4.e4051a3e.png",_="/assets/gi5.f517b425.png",I=JSON.parse('{"title":"使用指南","description":"","frontmatter":{},"headers":[{"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":2,"title":"如何实现多端同步","slug":"如何实现多端同步","link":"#如何实现多端同步","children":[{"level":3,"title":"WebDav同步","slug":"webdav同步","link":"#webdav同步","children":[]},{"level":3,"title":"坚果云同步文件夹","slug":"坚果云同步文件夹","link":"#坚果云同步文件夹","children":[]},{"level":3,"title":"OneDrive","slug":"onedrive","link":"#onedrive","children":[]}]},{"level":2,"title":"如何创造自己的功能按钮","slug":"如何创造自己的功能按钮","link":"#如何创造自己的功能按钮","children":[]}],"relativePath":"project/ClipboardManager/guide/index.md","lastUpdated":1675268008000}'),C={name:"project/ClipboardManager/guide/index.md"},A=o('

使用指南

如何手动安装clipboard-event-handler

新版 超级剪贴板 对剪贴板内容更新事件的监听,依赖于可执行文件:

  • Windows系统: clipboard-event-handler-win32.exe
  • Linux系统: clipboard-event-handler-linux
  • MacOS系统: clipboard-event-handler-mac

插件每次启动时,将自动检查剪贴板数据文件所在目录下是否存在剪贴板监听程序,如存在,则使用性能更优秀的新的监听策略,如不存在,则仍然使用旧的策略。


1. 下载监听程序

点击此处(百度网盘)或访问node-clipboard-event手动下载对应系统的文件,并将其移动到剪贴板数据文件所在目录

插件使用的二进制文件拷贝自node-clipboard-event,请避免从其它不可信的来源下载文件,并在下载文件后比较哈希,有能力的也可以从仓库源代码自行编译

2. 找到剪贴板数据文件所在目录

进入插件设置页(右上角💡按钮),打开插件数据文件所在路径:

3. 将监听程序拷贝到目录中

Windows:

Linux:

Mac:

4. 【重要】注意事项

MacOS需要特殊配置

MacOS拷贝完成后需要对插件进行签名&授权才能正常使用具体步骤如下

1. 签名

打开终端输入以下命令

sh
sudo codesign --force --deep --sign - 
+

然后将此目录中的clipboard-event-handler-mac文件拖入终端执行命令

2. 授权

左上角🍎 -> 系统偏好设置 -> 安全性与隐私 -> 通用 -> 点击允许

监听程序不生效如何排查?

请务必完整按照教程完成安装,如果程序仍未生效,请按照如下方式排查:

  • 监听程序拷贝完成后,需要重启插件方可生效
  • 设置页剪贴板监听程序状态选项是否为已安装
  • 系统进程管理器中是否存在clipboard-event-handler-xxxxx的进程

使用中遇到任何问题,请尝试通过论坛或加入QQ群反馈

如何迁移数据

剪贴板数据存放在

  • Windows Linux用户:{home}\\_utools_clipboard_manager_storage
  • Mac用户:{userData}\\_utools_clipboard_manager_storage

要手动迁移数据,只需要在新设备上运行一次插件,而后将原设备上的数据文件拷贝并替换新设备中的数据文件即可

如何实现多端同步

',40),v={id:"webdav同步",tabindex:"-1"},q=s("a",{class:"header-anchor",href:"#webdav同步","aria-hidden":"true"},"#",-1),f=s("div",{class:"tip custom-block"},[s("p",{class:"custom-block-title"},"TIP"),s("p",null,[a("自"),s("code",null,"v2.0.0"),a("起,可以通过开通插件会员启用"),s("strong",null,"WebDav同步功能")])],-1),x=s("p",null,[a("👉👉👉"),s("a",{href:"./../vip/#webdav同步功能"},"插件会员/WebDav同步功能"),a("👈👈👈")],-1),E={id:"坚果云同步文件夹",tabindex:"-1"},k=s("a",{class:"header-anchor",href:"#坚果云同步文件夹","aria-hidden":"true"},"#",-1),w=o('

WARNING

以下方法仅适用于v2.0.0之前的版本

数据库文件默认是直接存放在用户文件夹根目录下的,如果需要使用同步功能,请使用插件内提供的数据库路径自定义功能,将数据库路径改为其他路径,而后才能通过下文中讲述的同步文件夹实现云同步。

坚果云官网安装好软件后,找到_utools_clipboard_manager_storage文件所在的目录

右键目录,坚果云/同步该文件夹,将此文件夹加入到坚果云的同步服务中

这样,每次剪贴板内容更新都将自动触发坚果云的同步服务,将剪贴板数据同步到云端

其他安装了坚果云的设备也将自动同步更新

OneDrive

有待测试

如何创造自己的功能按钮

v1.4.0起,插件为用户提供了自定义功能按钮的能力

这让超级剪贴板真正变得“超级”起来,用户可以通过编写json实现携带数据跳转到任何其他插件,这项功能给超级剪贴板带来了无限可能。

插件中,默认内置了若干使用样例:

  • 讯飞OCR识别
  • 百度搜索
  • 百度识图
  • 统计文本字数
  • 颜色管理
  • 识别图片中二维码
  • 上传到图床
  • 翻译

下面我将从这些样例出发对这项功能做简单介绍:

这项功能的原理是utools.redirect(),在不分离插件的情况下,在不同插件之间的跳转体验是连贯的。

百度搜索为例,是通过网页快开提供的关键词实现的,我们可以编写以下json:

json
{
   "id": "custom.1663490859",
   "title": "百度搜索",
   "icon": "🔍",
@@ -13,4 +13,4 @@ import{_ as l,r as p,o as t,c,b as a,d as s,e as o,a as e}from"./app.aabca012.js
   "match": ["image", { "type": "file", "regex": ".(?:jpg|jpeg|png)$" }],
   "command": "redirect:上传到图床"
 }
-

这个功能除了可以匹配图片,还可以将符合正则的图片文件匹配上,在匹配上的历史记录上展示上传到图床按钮,携带数据跳转到图床插件,一键上传。

需要注意的是,因为自定义功能按钮实现的是携带数据跳转不同插件,所以redirect后的内容并不应该是普通关键字(普通关键字仅能作为插件入口,而不能携带数据),而应该是文本/图片/文件或文件夹

  • id: String 全局唯一 必须以custom开头 建议以时间戳为后缀
  • title: String 鼠标悬停时展示的文本
  • icon: String 展示在插件内的图标
  • match: <String | Object>[] 匹配模式
  • command: String 执行跳转的关键字 前缀redirect:是必须的

在未来的版本更新中,超级剪贴板将开放更多自定义功能给高级用户,帮助你更高效率的管理、使用剪贴板。

',26);function w(T,S,j,W,B,V){const n=p("Badge");return t(),c("div",null,[A,a("h3",v,[s("WebDav同步 "),o(n,{type:"tip",text:"^2.0.0"}),s(),q]),f,a("h3",x,[s("坚果云同步文件夹 "),o(n,{type:"warning",text:"仅旧版本"}),s(),E]),k])}const O=l(C,[["render",w]]);export{I as __pageData,O as default}; +

这个功能除了可以匹配图片,还可以将符合正则的图片文件匹配上,在匹配上的历史记录上展示上传到图床按钮,携带数据跳转到图床插件,一键上传。

需要注意的是,因为自定义功能按钮实现的是携带数据跳转不同插件,所以redirect后的内容并不应该是普通关键字(普通关键字仅能作为插件入口,而不能携带数据),而应该是文本/图片/文件或文件夹

  • id: String 全局唯一 必须以custom开头 建议以时间戳为后缀
  • title: String 鼠标悬停时展示的文本
  • icon: String 展示在插件内的图标
  • match: <String | Object>[] 匹配模式
  • command: String 执行跳转的关键字 前缀redirect:是必须的

在未来的版本更新中,超级剪贴板将开放更多自定义功能给高级用户,帮助你更高效率的管理、使用剪贴板。

',26);function S(j,T,B,N,W,O){const e=p("Badge");return t(),c("div",null,[A,s("h3",v,[a("WebDav同步 "),n(e,{type:"tip",text:"^2.0.0"}),a(),q]),f,x,s("h3",E,[a("坚果云同步文件夹 "),n(e,{type:"warning",text:"仅旧版本"}),a(),k]),w])}const M=l(C,[["render",S]]);export{I as __pageData,M as default}; diff --git a/assets/project_ClipboardManager_guide_index.md.50acbc92.lean.js b/assets/project_ClipboardManager_guide_index.md.8349998a.lean.js similarity index 63% rename from assets/project_ClipboardManager_guide_index.md.50acbc92.lean.js rename to assets/project_ClipboardManager_guide_index.md.8349998a.lean.js index 3cc13282..831447e7 100644 --- a/assets/project_ClipboardManager_guide_index.md.50acbc92.lean.js +++ b/assets/project_ClipboardManager_guide_index.md.8349998a.lean.js @@ -1 +1 @@ -import{_ as l,r as p,o as t,c,b as a,d as s,e as o,a as e}from"./app.aabca012.js";const r="/assets/gi1.b601202a.png",i="/assets/gi2.e2b1f9d9.png",d="/assets/gi3.c83cee76.png",D="/assets/gi3-2.8cc1f8a9.png",h="/assets/gi3-3.47dffc9b.png",F="/assets/sign-mac.2c3e272f.png",u="/assets/sign-mac-2.5861d44c.png",y="/assets/mac-chmod.bf888724.jpg",_="/assets/img2.a7e6fa82.png",g="/assets/img3.14924b1b.png",b="/assets/gi4.e4051a3e.png",m="/assets/gi5.f517b425.png",I=JSON.parse('{"title":"使用指南","description":"","frontmatter":{},"headers":[{"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":2,"title":"如何实现多端同步","slug":"如何实现多端同步","link":"#如何实现多端同步","children":[{"level":3,"title":"WebDav同步","slug":"webdav同步","link":"#webdav同步","children":[]},{"level":3,"title":"坚果云同步文件夹","slug":"坚果云同步文件夹","link":"#坚果云同步文件夹","children":[]},{"level":3,"title":"OneDrive","slug":"onedrive","link":"#onedrive","children":[]}]},{"level":2,"title":"如何创造自己的功能按钮","slug":"如何创造自己的功能按钮","link":"#如何创造自己的功能按钮","children":[]}],"relativePath":"project/ClipboardManager/guide/index.md","lastUpdated":1675005072000}'),C={name:"project/ClipboardManager/guide/index.md"},A=e("",40),v={id:"webdav同步",tabindex:"-1"},q=a("a",{class:"header-anchor",href:"#webdav同步","aria-hidden":"true"},"#",-1),f=e("",6),x={id:"坚果云同步文件夹",tabindex:"-1"},E=a("a",{class:"header-anchor",href:"#坚果云同步文件夹","aria-hidden":"true"},"#",-1),k=e("",26);function w(T,S,j,W,B,V){const n=p("Badge");return t(),c("div",null,[A,a("h3",v,[s("WebDav同步 "),o(n,{type:"tip",text:"^2.0.0"}),s(),q]),f,a("h3",x,[s("坚果云同步文件夹 "),o(n,{type:"warning",text:"仅旧版本"}),s(),E]),k])}const O=l(C,[["render",w]]);export{I as __pageData,O as default}; +import{_ as l,r as p,o as t,c,b as s,d as a,e as n,a as o}from"./app.aabca012.js";const r="/assets/gi1.b601202a.png",i="/assets/gi2.e2b1f9d9.png",d="/assets/gi3.c83cee76.png",D="/assets/gi3-2.8cc1f8a9.png",h="/assets/gi3-3.47dffc9b.png",F="/assets/sign-mac.2c3e272f.png",u="/assets/sign-mac-2.5861d44c.png",y="/assets/mac-chmod.bf888724.jpg",m="/assets/img2.a7e6fa82.png",g="/assets/img3.14924b1b.png",b="/assets/gi4.e4051a3e.png",_="/assets/gi5.f517b425.png",I=JSON.parse('{"title":"使用指南","description":"","frontmatter":{},"headers":[{"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":2,"title":"如何实现多端同步","slug":"如何实现多端同步","link":"#如何实现多端同步","children":[{"level":3,"title":"WebDav同步","slug":"webdav同步","link":"#webdav同步","children":[]},{"level":3,"title":"坚果云同步文件夹","slug":"坚果云同步文件夹","link":"#坚果云同步文件夹","children":[]},{"level":3,"title":"OneDrive","slug":"onedrive","link":"#onedrive","children":[]}]},{"level":2,"title":"如何创造自己的功能按钮","slug":"如何创造自己的功能按钮","link":"#如何创造自己的功能按钮","children":[]}],"relativePath":"project/ClipboardManager/guide/index.md","lastUpdated":1675268008000}'),C={name:"project/ClipboardManager/guide/index.md"},A=o("",40),v={id:"webdav同步",tabindex:"-1"},q=s("a",{class:"header-anchor",href:"#webdav同步","aria-hidden":"true"},"#",-1),f=s("div",{class:"tip custom-block"},[s("p",{class:"custom-block-title"},"TIP"),s("p",null,[a("自"),s("code",null,"v2.0.0"),a("起,可以通过开通插件会员启用"),s("strong",null,"WebDav同步功能")])],-1),x=s("p",null,[a("👉👉👉"),s("a",{href:"./../vip/#webdav同步功能"},"插件会员/WebDav同步功能"),a("👈👈👈")],-1),E={id:"坚果云同步文件夹",tabindex:"-1"},k=s("a",{class:"header-anchor",href:"#坚果云同步文件夹","aria-hidden":"true"},"#",-1),w=o("",26);function S(j,T,B,N,W,O){const e=p("Badge");return t(),c("div",null,[A,s("h3",v,[a("WebDav同步 "),n(e,{type:"tip",text:"^2.0.0"}),a(),q]),f,x,s("h3",E,[a("坚果云同步文件夹 "),n(e,{type:"warning",text:"仅旧版本"}),a(),k]),w])}const M=l(C,[["render",S]]);export{I as __pageData,M as default}; diff --git a/assets/project_ClipboardManager_index.md.3b00ab98.js b/assets/project_ClipboardManager_index.md.3b00ab98.js new file mode 100644 index 00000000..f48f9619 --- /dev/null +++ b/assets/project_ClipboardManager_index.md.3b00ab98.js @@ -0,0 +1 @@ +import{r as o,o as r,c as a,e as c,n as i,g as n,a as d}from"./app.aabca012.js";const l="/assets/img1.88e9de5c.png",s="/assets/logo.98e788ed.png",g=d('

🔰 开始使用

首次安装需要设置“跟随主程序同时启动”

  • ✅ 监听剪贴板并持续将新内容更新到本地磁盘 数据读写完全本地化
  • ✅ 按下Shift空格进入多选模式 连续选择多条内容合并复制 支持跨标签合并复制/粘贴
  • ✅ 快速收藏/转存/分词/复制/删除/打开文件&目标文件夹
  • ✅ 功能按钮 定义无限可能 OCR识别 百度搜索 百度识图 统计文本字数 颜色管理 识别图片中二维码 上传到图床 翻译
  • 鼠标左键 复制并粘贴 鼠标右键 仅复制
  • ✅ 键盘 选中历史记录,按下回车直接粘贴
  • ✅ 使用 Ctrl/Alt+数字键 快速粘贴指定条的内容 使用 Tab 键切换分类
  • ✅ 插件内按下任意键自动聚焦搜索框 支持多个关键词同时检索
  • 智慧分词 快速拖选指定内容 超级粘贴 直接转存为文件
  • ✅ 优雅的界面动效与交互 跟随系统的深色模式
  • ✅ 优秀的剪贴板监听性能 强大的自定义功能按钮 自搭建多端同步 ···

📚 安装方式

💝 感谢赞赏

如果觉得插件帮到了你,可以通过下面的方式赞赏我,这将鼓励我继续维护下去

催更群 769115389 Github

donate

',11),b=JSON.parse('{"title":"超级剪贴板","description":"","frontmatter":{"title":"超级剪贴板","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]},{"level":2,"title":"💝 感谢赞赏","slug":"💝-感谢赞赏","link":"#💝-感谢赞赏","children":[]}],"relativePath":"project/ClipboardManager/index.md","lastUpdated":1675268008000}'),p={name:"project/ClipboardManager/index.md"},f=Object.assign(p,{setup(h){const e={subTitle:"✨ 强大的剪贴板管理工具。",logo:s,linkList:[{content:"⭐ 开源代码",target:"https://github.com/ZiuChen/ClipboardManager"},{content:"🌎 疑难解答",target:"./statement/"},{content:"🚀 进阶功能",target:"./guide/"},{content:"👑 插件会员",target:"./vip/"},{content:"🚚 更新日志",target:"./log/"}]};return(_,u)=>{const t=o("Title");return r(),a("div",null,[c(t,i(n(e)),null,16),g])}}});export{b as __pageData,f as default}; diff --git a/assets/project_ClipboardManager_index.md.3b00ab98.lean.js b/assets/project_ClipboardManager_index.md.3b00ab98.lean.js new file mode 100644 index 00000000..3574c0cc --- /dev/null +++ b/assets/project_ClipboardManager_index.md.3b00ab98.lean.js @@ -0,0 +1 @@ +import{r as o,o as r,c as a,e as c,n as i,g as n,a as d}from"./app.aabca012.js";const l="/assets/img1.88e9de5c.png",s="/assets/logo.98e788ed.png",g=d("",11),b=JSON.parse('{"title":"超级剪贴板","description":"","frontmatter":{"title":"超级剪贴板","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]},{"level":2,"title":"💝 感谢赞赏","slug":"💝-感谢赞赏","link":"#💝-感谢赞赏","children":[]}],"relativePath":"project/ClipboardManager/index.md","lastUpdated":1675268008000}'),p={name:"project/ClipboardManager/index.md"},f=Object.assign(p,{setup(h){const e={subTitle:"✨ 强大的剪贴板管理工具。",logo:s,linkList:[{content:"⭐ 开源代码",target:"https://github.com/ZiuChen/ClipboardManager"},{content:"🌎 疑难解答",target:"./statement/"},{content:"🚀 进阶功能",target:"./guide/"},{content:"👑 插件会员",target:"./vip/"},{content:"🚚 更新日志",target:"./log/"}]};return(_,u)=>{const t=o("Title");return r(),a("div",null,[c(t,i(n(e)),null,16),g])}}});export{b as __pageData,f as default}; diff --git a/assets/project_ClipboardManager_index.md.f031324d.js b/assets/project_ClipboardManager_index.md.f031324d.js deleted file mode 100644 index 8755121d..00000000 --- a/assets/project_ClipboardManager_index.md.f031324d.js +++ /dev/null @@ -1 +0,0 @@ -import{r as o,o as a,c as r,e as c,n,g as i,a as d}from"./app.aabca012.js";const l="/assets/img1.88e9de5c.png",s="/assets/logo.98e788ed.png",g=d('

🔰 开始使用

首次安装需要设置“跟随主程序同时启动”

  • ✅ 监听剪贴板并持续将新内容更新到本地磁盘 数据读写完全本地化
  • ✅ 按下Shift空格进入多选模式 连续选择多条内容合并复制 支持跨标签合并复制/粘贴
  • ✅ 快速收藏/转存/分词/复制/删除/打开文件&目标文件夹
  • ✅ 功能按钮 定义无限可能 OCR识别 百度搜索 百度识图 统计文本字数 颜色管理 识别图片中二维码 上传到图床 翻译
  • 鼠标左键 复制并粘贴 鼠标右键 仅复制
  • ✅ 键盘 选中历史记录,按下回车直接粘贴
  • ✅ 使用 Ctrl/Alt+数字键 快速粘贴指定条的内容 使用 Tab 键切换分类
  • ✅ 插件内按下任意键自动聚焦搜索框 支持多个关键词同时检索
  • 智慧分词 快速拖选指定内容 超级粘贴 直接转存为文件
  • ✅ 优雅的界面动效与交互 跟随系统的深色模式
  • ✅ 优秀的剪贴板监听性能 强大的自定义功能按钮 自搭建多端同步 ···

📚 安装方式

💝 感谢赞赏

如果觉得插件帮到了你,可以通过下面的方式赞赏我,这将鼓励我继续维护下去

催更群 769115389 Github

donate

',11),f=JSON.parse('{"title":"超级剪贴板","description":"","frontmatter":{"title":"超级剪贴板","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]},{"level":2,"title":"💝 感谢赞赏","slug":"💝-感谢赞赏","link":"#💝-感谢赞赏","children":[]}],"relativePath":"project/ClipboardManager/index.md","lastUpdated":1675005072000}'),p={name:"project/ClipboardManager/index.md"},b=Object.assign(p,{setup(h){const e={subTitle:"✨ 强大的剪贴板管理工具。",logo:s,linkList:[{content:"⭐ 开源代码",target:"https://github.com/ZiuChen/ClipboardManager"},{content:"🌎 疑难解答",target:"./statement/"},{content:"🚀 进阶功能",target:"./guide/"},{content:"🚚 更新日志",target:"./log/"},{content:"🎈 插件发布页",target:"https://yuanliao.info/d/5722/29"}]};return(_,u)=>{const t=o("Title");return a(),r("div",null,[c(t,n(i(e)),null,16),g])}}});export{f as __pageData,b as default}; diff --git a/assets/project_ClipboardManager_index.md.f031324d.lean.js b/assets/project_ClipboardManager_index.md.f031324d.lean.js deleted file mode 100644 index dfda4b3d..00000000 --- a/assets/project_ClipboardManager_index.md.f031324d.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{r as o,o as a,c as r,e as c,n,g as i,a as d}from"./app.aabca012.js";const l="/assets/img1.88e9de5c.png",s="/assets/logo.98e788ed.png",g=d("",11),f=JSON.parse('{"title":"超级剪贴板","description":"","frontmatter":{"title":"超级剪贴板","navbar":false},"headers":[{"level":2,"title":"🔰 开始使用","slug":"🔰-开始使用","link":"#🔰-开始使用","children":[]},{"level":2,"title":"📚 安装方式","slug":"📚-安装方式","link":"#📚-安装方式","children":[]},{"level":2,"title":"💝 感谢赞赏","slug":"💝-感谢赞赏","link":"#💝-感谢赞赏","children":[]}],"relativePath":"project/ClipboardManager/index.md","lastUpdated":1675005072000}'),p={name:"project/ClipboardManager/index.md"},b=Object.assign(p,{setup(h){const e={subTitle:"✨ 强大的剪贴板管理工具。",logo:s,linkList:[{content:"⭐ 开源代码",target:"https://github.com/ZiuChen/ClipboardManager"},{content:"🌎 疑难解答",target:"./statement/"},{content:"🚀 进阶功能",target:"./guide/"},{content:"🚚 更新日志",target:"./log/"},{content:"🎈 插件发布页",target:"https://yuanliao.info/d/5722/29"}]};return(_,u)=>{const t=o("Title");return a(),r("div",null,[c(t,n(i(e)),null,16),g])}}});export{f as __pageData,b as default}; diff --git a/assets/project_ClipboardManager_log_index.md.631fcdab.js b/assets/project_ClipboardManager_log_index.md.af53a6c3.js similarity index 99% rename from assets/project_ClipboardManager_log_index.md.631fcdab.js rename to assets/project_ClipboardManager_log_index.md.af53a6c3.js index bafb3463..cc32dcf7 100644 --- a/assets/project_ClipboardManager_log_index.md.631fcdab.js +++ b/assets/project_ClipboardManager_log_index.md.af53a6c3.js @@ -1 +1 @@ -import{_ as e,o as l,c as i,a}from"./app.aabca012.js";const p=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"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":1675005072000}'),d={name:"project/ClipboardManager/log/index.md"},c=a('

更新日志

v1.4.7

2022-11-03

  • feat: 设置页支持使用ESC返回上一级
  • fix: 移除了启动监听程序时对MacOS的特殊判断
  • fix: 移除了缺少监听程序时的通知报错

v1.4.6

2022-11-01

  • feat: 调整设置页图标与界面按钮细节
  • fix: 会员用户由于数据同步导致的插件白屏问题
  • fix: 多选复制时条目排序被颠倒

v1.4.5

2022-10-10

  • feat: 调整过期天数列表 最长支持31天
  • feat: 设置页添加handler安装引导
  • fix: 清空数据时内存数据未清空
  • fix: 多端同步时内存数据未更新
  • fix: 开发者模式下listener错误挂载

v1.4.4

2022-09-26

  • fix: 修复重复粘贴的问题

v1.4.3

2022-09-25

  • feat: 增加空格快捷键 按下连续多选的功能
  • feat: 多选状态下移动鼠标不再激活列表条目
  • feat: 支持展示剪贴板监听程序状态
  • fix: 删除某条历史记录时不再返回顶部
  • fix: 多选图片无法合并复制
  • fix: 内置按钮颜色管理关键字错误
  • fix: 设置页下拉框过长时被卡片遮挡
  • fix: 设置页滚动到底部触发懒加载

v1.4.2

2022-09-21

  • chore: 移除了插件内的二进制文件 恢复旧的监听机制 性能问题有待解决

v1.4.1

2022-09-21

  • fix: 修复了新的监听机制在 Mac 下无法正确获取剪贴板更新事件的问题

v1.4.0

2022-09-20

插件能够正确在Linux上运行 离不开 小千 不厌其烦的测试与调试 💖

感谢每一位为超级剪贴板提出过建议、参与测试与调试的用户

  • feat: 支持自定义数据库路径/存储条数/过期时间/展示在主界面的按钮
  • feat: 功能按钮支持自定义 创造属于你自己的功能按钮
  • feat: 添加了9个内置的自定义功能按钮
  • feat: 增加了更优雅的弹窗与提示界面
  • feat: 预览页更宽了 支持预览图片
  • feat: 导航栏图标样式修改
  • fix: 解决了CPU占用高、浏览大图卡顿的性能问题
  • fix: 从后台进入插件自动清空搜索框
  • refactor: 改变了监听剪贴板的方式 性能更优
  • refactor: 引入了ElementPlus组件库与图标库

v1.3.4

2022-09-19

  • feat: 移除插件内收藏Tab
  • feat: 点击收藏按钮后将携带数据跳转至备忘快贴
  • refactor: 优化代码执行逻辑 移除冗余代码

v1.3.3

2022-09-16

  • feat: 提高主色在深色模式下的对比度 改善长文本表现
  • feat: 添加快存功能按钮 配合超级粘贴插件实现快速转存
  • feat: 支持在预览页展示全部功能按钮
  • feat: 重要版本更新自动展示通知卡片
  • fix: 修正多选快捷键Shift影响检索输入的问题
  • fix: 检索词更新后 未自动激活首条记录

v1.3.2

2022-09-15

  • feat: 鼠标悬停展示具体日期、完整数据
  • feat: 调整历史记录上限为800条
  • fix: 修复鼠标置于功能按钮时上下键失效的问题
  • fix: 调整大图片判定尺寸

v1.3.1

2022-09-12

  • feat: 支持通过历史记录列表进入分词
  • feat: 减小插件体积 对智慧分词的支持改为插件跳转

v1.3.0

2022-09-09

  • feat: 添加多选功能 支持跨标签合并文本/图片/文件
  • feat: 支持通过按下Shift进入多选功能 支持按住Shift快速选择
  • feat: 支持使用Ctrl+CEnter快捷合并复制/粘贴
  • feat: 添加智慧分词功能 可对文本进行分割提取
  • feat: 长文本以蓝色高亮显示 不再提供查看全部按钮
  • feat: 优化界面动效

v1.2.3

2022-09-08

  • fix: 修复了检索内容时搜索记录不准确的问题

v1.2.2

2022-09-07

  • feat: 搜索框支持使用空格分词以同时检索多个关键词
  • fix: 修复了剪贴板数据记录遗漏的问题
  • fix: 收藏内容不再计入到条数限制中
  • fix: 修复了非预期的搜索框聚焦行为
  • fix: 预览页的按钮改为固定在顶部

v1.2.1

2022-09-05

  • feat: 支持通过功能按钮进入任意数据的预览页面
  • feat: 支持通过功能按钮打开文件所在目录
  • feat: 添加取消收藏功能按钮
  • feat: 搜索框支持展开/收起 输入任意内容展开并聚焦搜索
  • feat: 侧栏预览页添加复制全部智慧分词按钮
  • feat: 功能按钮改为使用图标展示
  • feat: 优化了界面样式
  • refactor: 清理定时器 优化插件性能

v1.2.0

2022-09-04

  • feat: 添加右侧操作栏 支持复制/收藏/删除操作
  • feat: 添加标签页收藏 支持在此页面管理所有收藏
  • feat: 调整侧栏宽度 调整界面样式细节

v1.1.7

2022-08-30

  • fix: 定时器检查剪贴板,修复了不记录剪贴板的问题

v1.1.6

2022-08-27

  • feat: 添加Alt+数字键Ctrl+数字键快速选择功能
  • feat: 调整界面样式 调整查看全部位置 移除图片背景色 增加动效
  • feat: 搜索框增加检索条数展示
  • fix: 改善插件读取图片的性能

v1.1.5

2022-08-25

  • fix: 提高剪贴板读取频率,避免高频复制时丢数据的情况

v1.1.4

2022-08-20

  • feat: 增加清空搜索框的按钮
  • feat: 优化插件内按下ESC的功能: 退出完整预览/清空搜索框
  • feat: 进入插件自动选中框内全部文本
  • fix: Mac在分离窗口状态左键会粘贴到搜索框 #13

v1.1.3

2022-08-19

  • feat: 调整界面在深色模式下的表现样式
  • fix: 在侧栏全部数据中使用Ctrl+C复制部分文本失效
  • fix: Mac下使用Ctrl+C复制单条记录失效
  • fix: 通过换行符个数区分超长文本
  • fix: 窗口分离下鼠标单击导致粘贴到搜索框
  • chore: 原插件名剪贴板改为超级剪贴板

v1.1.2

2022-08-18

  • feat: 执行复制后只隐藏主界面而不退出插件到后台
  • feat: 搜索时不再区分大小写
  • fix: 文本内容会出现异常首行缩进
  • fix: 图片展示在列表中的时候 右侧多出一个图块
  • fix: 移除鼠标hover时数据底部的色块

v1.1.1

2022-08-17

  • fix: 复制超大图片进入插件时崩溃

v1.1.0

2022-08-16

  • feat: 支持使用 键切换选中记录
  • feat: 支持使用 Ctrl+C 复制选中记录
  • feat: 支持使用 Enter 复制选中记录并粘贴

v1.0.4

2022-08-16

  • feat: 进入插件自动回到顶部、切换至全部分类
  • feat: 监听到键盘事件自动聚焦到搜索框
  • feat: 调整鼠标hover动画与历史记录的active样式
  • fix: 使用Tab切换导航失效
  • fix: 超长图片显示越界

v1.0.3

2022-08-16

  • fix: 路径分隔符导致写入错误的数据文件

v1.0.2

2022-08-15

  • fix: Mac下由权限导致的无法写入数据

v1.0.1

2022-08-15

  • feat: 区分鼠标点击行为:左键复制并粘贴,右键仅复制
  • feat: 适配深色模式
  • feat: 移除了右侧的查看更多按钮
  • feat: 单次展示的条数增加到了15条
  • feat: 增加条数限制500条 增加存储日期限制14天
  • feat: 增加了多平台支持
  • fix: 执行粘贴后主输入框未隐藏
  • refactor: Vue3重构

v1.0.0

2022-08-14

  • release: v1.0.0发布
',93),t=[c];function r(h,v,o,n,f,u){return l(),i("div",null,t)}const x=e(d,[["render",r]]);export{p as __pageData,x as default}; +import{_ as e,o as l,c as i,a}from"./app.aabca012.js";const p=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"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":1675268008000}'),d={name:"project/ClipboardManager/log/index.md"},c=a('

更新日志

v1.4.7

2022-11-03

  • feat: 设置页支持使用ESC返回上一级
  • fix: 移除了启动监听程序时对MacOS的特殊判断
  • fix: 移除了缺少监听程序时的通知报错

v1.4.6

2022-11-01

  • feat: 调整设置页图标与界面按钮细节
  • fix: 会员用户由于数据同步导致的插件白屏问题
  • fix: 多选复制时条目排序被颠倒

v1.4.5

2022-10-10

  • feat: 调整过期天数列表 最长支持31天
  • feat: 设置页添加handler安装引导
  • fix: 清空数据时内存数据未清空
  • fix: 多端同步时内存数据未更新
  • fix: 开发者模式下listener错误挂载

v1.4.4

2022-09-26

  • fix: 修复重复粘贴的问题

v1.4.3

2022-09-25

  • feat: 增加空格快捷键 按下连续多选的功能
  • feat: 多选状态下移动鼠标不再激活列表条目
  • feat: 支持展示剪贴板监听程序状态
  • fix: 删除某条历史记录时不再返回顶部
  • fix: 多选图片无法合并复制
  • fix: 内置按钮颜色管理关键字错误
  • fix: 设置页下拉框过长时被卡片遮挡
  • fix: 设置页滚动到底部触发懒加载

v1.4.2

2022-09-21

  • chore: 移除了插件内的二进制文件 恢复旧的监听机制 性能问题有待解决

v1.4.1

2022-09-21

  • fix: 修复了新的监听机制在 Mac 下无法正确获取剪贴板更新事件的问题

v1.4.0

2022-09-20

插件能够正确在Linux上运行 离不开 小千 不厌其烦的测试与调试 💖

感谢每一位为超级剪贴板提出过建议、参与测试与调试的用户

  • feat: 支持自定义数据库路径/存储条数/过期时间/展示在主界面的按钮
  • feat: 功能按钮支持自定义 创造属于你自己的功能按钮
  • feat: 添加了9个内置的自定义功能按钮
  • feat: 增加了更优雅的弹窗与提示界面
  • feat: 预览页更宽了 支持预览图片
  • feat: 导航栏图标样式修改
  • fix: 解决了CPU占用高、浏览大图卡顿的性能问题
  • fix: 从后台进入插件自动清空搜索框
  • refactor: 改变了监听剪贴板的方式 性能更优
  • refactor: 引入了ElementPlus组件库与图标库

v1.3.4

2022-09-19

  • feat: 移除插件内收藏Tab
  • feat: 点击收藏按钮后将携带数据跳转至备忘快贴
  • refactor: 优化代码执行逻辑 移除冗余代码

v1.3.3

2022-09-16

  • feat: 提高主色在深色模式下的对比度 改善长文本表现
  • feat: 添加快存功能按钮 配合超级粘贴插件实现快速转存
  • feat: 支持在预览页展示全部功能按钮
  • feat: 重要版本更新自动展示通知卡片
  • fix: 修正多选快捷键Shift影响检索输入的问题
  • fix: 检索词更新后 未自动激活首条记录

v1.3.2

2022-09-15

  • feat: 鼠标悬停展示具体日期、完整数据
  • feat: 调整历史记录上限为800条
  • fix: 修复鼠标置于功能按钮时上下键失效的问题
  • fix: 调整大图片判定尺寸

v1.3.1

2022-09-12

  • feat: 支持通过历史记录列表进入分词
  • feat: 减小插件体积 对智慧分词的支持改为插件跳转

v1.3.0

2022-09-09

  • feat: 添加多选功能 支持跨标签合并文本/图片/文件
  • feat: 支持通过按下Shift进入多选功能 支持按住Shift快速选择
  • feat: 支持使用Ctrl+CEnter快捷合并复制/粘贴
  • feat: 添加智慧分词功能 可对文本进行分割提取
  • feat: 长文本以蓝色高亮显示 不再提供查看全部按钮
  • feat: 优化界面动效

v1.2.3

2022-09-08

  • fix: 修复了检索内容时搜索记录不准确的问题

v1.2.2

2022-09-07

  • feat: 搜索框支持使用空格分词以同时检索多个关键词
  • fix: 修复了剪贴板数据记录遗漏的问题
  • fix: 收藏内容不再计入到条数限制中
  • fix: 修复了非预期的搜索框聚焦行为
  • fix: 预览页的按钮改为固定在顶部

v1.2.1

2022-09-05

  • feat: 支持通过功能按钮进入任意数据的预览页面
  • feat: 支持通过功能按钮打开文件所在目录
  • feat: 添加取消收藏功能按钮
  • feat: 搜索框支持展开/收起 输入任意内容展开并聚焦搜索
  • feat: 侧栏预览页添加复制全部智慧分词按钮
  • feat: 功能按钮改为使用图标展示
  • feat: 优化了界面样式
  • refactor: 清理定时器 优化插件性能

v1.2.0

2022-09-04

  • feat: 添加右侧操作栏 支持复制/收藏/删除操作
  • feat: 添加标签页收藏 支持在此页面管理所有收藏
  • feat: 调整侧栏宽度 调整界面样式细节

v1.1.7

2022-08-30

  • fix: 定时器检查剪贴板,修复了不记录剪贴板的问题

v1.1.6

2022-08-27

  • feat: 添加Alt+数字键Ctrl+数字键快速选择功能
  • feat: 调整界面样式 调整查看全部位置 移除图片背景色 增加动效
  • feat: 搜索框增加检索条数展示
  • fix: 改善插件读取图片的性能

v1.1.5

2022-08-25

  • fix: 提高剪贴板读取频率,避免高频复制时丢数据的情况

v1.1.4

2022-08-20

  • feat: 增加清空搜索框的按钮
  • feat: 优化插件内按下ESC的功能: 退出完整预览/清空搜索框
  • feat: 进入插件自动选中框内全部文本
  • fix: Mac在分离窗口状态左键会粘贴到搜索框 #13

v1.1.3

2022-08-19

  • feat: 调整界面在深色模式下的表现样式
  • fix: 在侧栏全部数据中使用Ctrl+C复制部分文本失效
  • fix: Mac下使用Ctrl+C复制单条记录失效
  • fix: 通过换行符个数区分超长文本
  • fix: 窗口分离下鼠标单击导致粘贴到搜索框
  • chore: 原插件名剪贴板改为超级剪贴板

v1.1.2

2022-08-18

  • feat: 执行复制后只隐藏主界面而不退出插件到后台
  • feat: 搜索时不再区分大小写
  • fix: 文本内容会出现异常首行缩进
  • fix: 图片展示在列表中的时候 右侧多出一个图块
  • fix: 移除鼠标hover时数据底部的色块

v1.1.1

2022-08-17

  • fix: 复制超大图片进入插件时崩溃

v1.1.0

2022-08-16

  • feat: 支持使用 键切换选中记录
  • feat: 支持使用 Ctrl+C 复制选中记录
  • feat: 支持使用 Enter 复制选中记录并粘贴

v1.0.4

2022-08-16

  • feat: 进入插件自动回到顶部、切换至全部分类
  • feat: 监听到键盘事件自动聚焦到搜索框
  • feat: 调整鼠标hover动画与历史记录的active样式
  • fix: 使用Tab切换导航失效
  • fix: 超长图片显示越界

v1.0.3

2022-08-16

  • fix: 路径分隔符导致写入错误的数据文件

v1.0.2

2022-08-15

  • fix: Mac下由权限导致的无法写入数据

v1.0.1

2022-08-15

  • feat: 区分鼠标点击行为:左键复制并粘贴,右键仅复制
  • feat: 适配深色模式
  • feat: 移除了右侧的查看更多按钮
  • feat: 单次展示的条数增加到了15条
  • feat: 增加条数限制500条 增加存储日期限制14天
  • feat: 增加了多平台支持
  • fix: 执行粘贴后主输入框未隐藏
  • refactor: Vue3重构

v1.0.0

2022-08-14

  • release: v1.0.0发布
',93),t=[c];function r(h,v,o,n,f,u){return l(),i("div",null,t)}const x=e(d,[["render",r]]);export{p as __pageData,x as default}; diff --git a/assets/project_ClipboardManager_log_index.md.631fcdab.lean.js b/assets/project_ClipboardManager_log_index.md.af53a6c3.lean.js similarity index 97% rename from assets/project_ClipboardManager_log_index.md.631fcdab.lean.js rename to assets/project_ClipboardManager_log_index.md.af53a6c3.lean.js index a1b53522..74dbca71 100644 --- a/assets/project_ClipboardManager_log_index.md.631fcdab.lean.js +++ b/assets/project_ClipboardManager_log_index.md.af53a6c3.lean.js @@ -1 +1 @@ -import{_ as e,o as l,c as i,a}from"./app.aabca012.js";const p=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"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":1675005072000}'),d={name:"project/ClipboardManager/log/index.md"},c=a("",93),t=[c];function r(h,v,o,n,f,u){return l(),i("div",null,t)}const x=e(d,[["render",r]]);export{p as __pageData,x as default}; +import{_ as e,o as l,c as i,a}from"./app.aabca012.js";const p=JSON.parse('{"title":"更新日志","description":"","frontmatter":{},"headers":[{"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":1675268008000}'),d={name:"project/ClipboardManager/log/index.md"},c=a("",93),t=[c];function r(h,v,o,n,f,u){return l(),i("div",null,t)}const x=e(d,[["render",r]]);export{p as __pageData,x as default}; diff --git a/assets/project_ClipboardManager_statement_index.md.2cbe4896.js b/assets/project_ClipboardManager_statement_index.md.2cbe4896.js deleted file mode 100644 index 47976acf..00000000 --- a/assets/project_ClipboardManager_statement_index.md.2cbe4896.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as l,c as a,a as i}from"./app.aabca012.js";const _=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[{"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":[]},{"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":[]}],"relativePath":"project/ClipboardManager/statement/index.md","lastUpdated":1675005072000}'),r={name:"project/ClipboardManager/statement/index.md"},t=i('

Q&A

为什么偶尔CPU占用特别高? 为什么预览图片时插件卡顿?

这是由超级剪贴板监听剪贴板内容更新的机制决定的,为了不漏数据,超级剪贴板的监听策略为每300ms读取一次剪贴板内容并与上一次读取到的内容作比较。如果剪贴板当前位置是一张大图片,那么插件会反复读取这张图片,导致大量计算被用在了无意义的读取与对比上。

插件市场中相同原理的同类插件的处理方法是:

  • 轮询比较两次剪贴板内容,如果检查到当前剪贴板内容数据量较大,则降低轮询时间间隔。
    • 这避免了读取大图片/长文本时的高占用,然而这很容易导致漏数据
  • 轮询比较两次剪贴板内容,由用户自定义轮询时间
    • 用户设置的轮询间隔时间长,读取大图片/长文本时不会导致高占用,但很容易漏数据。
    • 用户设置的轮询间隔时间较短,则又会造成高占用

v1.4.0版本更新中,超级剪贴板换用了clipboard-event库监听剪贴板更新事件,这种方式性能更优,不需要反复读取剪贴板内容来做比较,而只需要在检查到剪贴板更新事件时通知插件读取一次剪贴板即可,完全解决了CPU占用高、浏览图片卡顿的问题。

然而该库包含了二进制文件,这触发了uTools插件市场的安全限制而无法上架。所以自v1.4.2起,插件不再内置监听剪贴板更新事件的二进制文件,用户要使用低占用、高性能的剪贴板监听方案,可以自行下载并将其移动到剪贴板数据库文件所在目录,详见如何手动安装clipboard-event-handler,插件会自动判断使用新的抑或是旧的方案监听剪贴板更新。同时,自v1.4.3起,你可以在设置页查看当前剪贴板监听程序的运行状态。

为什么官方的剪贴板插件没有CPU占用高这个问题?

官方的剪贴板内容更新事件监听函数也是从一个二进制文件引出的,这个二进制文件跟随主程序启动,不受剪贴板插件的打开或关闭的影响。

启动报错, 读取剪切板出错

请尝试以下方法:

  1. 清空本地数据库文件
  2. 格式化uTools内的插件数据
  3. 完全退出插件后重启插件

如果上述方法都无法解决你的问题,欢迎论坛回帖或加入QQ群交流具体情况

为什么剪贴板记录会丢失?

一般是由于插件退出后台运行导致的, 插件需要保持后台运行才能记录剪贴板, 请检查:

  • 是否正确设置了插件跟随主程序启动
  • 是否手动清理或关闭了后台插件 (在分离模式下关闭插件 使用clear命令 在插件列表退出插件)
  • 是否存在高频复制的操作 (高频复制可能会漏掉记录)

我对这个插件的安全性有担忧, 插件偷窃我的隐私怎么办?

首先, 我写这个插件不是为了获取你的隐私的, 我对你的隐私没有兴趣, 这一点你完全可以放心;

其次uTools官方在插件上架前会对代码进行审查, 如果插件有高危行为, 那也不会过审;

再其次, uTools大部分用户是程序员, 如果我真的在代码里藏了"毒", 那他们也有办法发现, 如果你真的对你的隐私十分关心, 可以选择从开源仓库下载代码自行构建

我不懂代码, 我也不会构建, 但是我担心你的插件会窃取我的隐私

我在贡献教程中详细说明了如何构建, JavaScript也并不是一门很高深的语言, 祝你能早日入门, 构建出安全的版本供自己使用, 学习的过程中遇到任何问题, 也欢迎随时与我交流 😄

开源版本和插件市场版本的区别?

开源版本后续将只提供必要的BUG修复, 不再添加新功能

  • 开源版本: 包含完整的基本功能, 可以自行构建开源版本, 通过安装离线插件方式使用
  • 市场版本: 包含后续更新的新功能插件会员功能, 可以直接从插件应用市场安装

为什么不开源了, 为什么要开始收费?

目前由我个人维护的开源版本已经趋于稳定, 可以满足绝大部分场景的需求

  • 代码开源的出发点不是为了让不愿付费的人白嫖开发者的劳动, 而是为开发提供更多的经验和思路, 开源的代码已经启发了一些开发者上架了自己的剪贴板插件应用
  • 开发和维护插件需要时间和精力, 插件付费可以鼓励我更积极的更新
  • 目前插件内已有的基本功能都不会转为收费, 可以放心使用

会员用户有哪些额外功能?

  • 插件会员
    • 已上线 WebDav同步
    • 已上线 文本内容增强
    • 已上线 自定义Tab排序
    • 已上线 预览页代码高亮
    • 已上线 插件使用统计
    • ...
  • uTools会员
    • 已上线 插件使用统计

更多内容,请见插件内个人中心/会员权益模块

插件会员定价如何? 如何付费?

WARNING

  • 插件会员为大版本买断制,购买后即可享用当前版本(2.x)后续所有更新的会员内容
  • 插件会员为虚拟商品,购买后不支持退款
  • 插件会员的价格是浮动的,随着功能和权益的增加,不排除涨价的可能
  • 购买插件会员后如果出现相关问题,欢迎加入QQ群反馈

插件会员定价8元,购买后可使用会员功能,不购买不影响基本功能的使用,希望大家多多理解,按需购买

如果你在此前赞赏过超级剪贴板,可以在购买会员后添加反馈QQ群联系我,将赞赏时间 赞赏支付截图 购买时间 插件会员截图发送给我,不论赞赏金额多少,我将全额退款

',35),o=[t];function d(n,c,s,h,p,u){return l(),a("div",null,o)}const f=e(r,[["render",d]]);export{_ as __pageData,f as default}; diff --git a/assets/project_ClipboardManager_statement_index.md.5a1edc3f.js b/assets/project_ClipboardManager_statement_index.md.5a1edc3f.js new file mode 100644 index 00000000..1a4babb9 --- /dev/null +++ b/assets/project_ClipboardManager_statement_index.md.5a1edc3f.js @@ -0,0 +1 @@ +import{_ as e,o as a,c as l,a as i}from"./app.aabca012.js";const g=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[{"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":[]},{"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":1675268008000}'),r={name:"project/ClipboardManager/statement/index.md"},t=i('

Q&A

为什么偶尔CPU占用特别高? 为什么预览图片时插件卡顿?

这是由超级剪贴板监听剪贴板内容更新的机制决定的,为了不漏数据,超级剪贴板的监听策略为每300ms读取一次剪贴板内容并与上一次读取到的内容作比较。如果剪贴板当前位置是一张大图片,那么插件会反复读取这张图片,导致大量计算被用在了无意义的读取与对比上。

插件市场中相同原理的同类插件的处理方法是:

  • 轮询比较两次剪贴板内容,如果检查到当前剪贴板内容数据量较大,则降低轮询时间间隔。
    • 这避免了读取大图片/长文本时的高占用,然而这很容易导致漏数据
  • 轮询比较两次剪贴板内容,由用户自定义轮询时间
    • 用户设置的轮询间隔时间长,读取大图片/长文本时不会导致高占用,但很容易漏数据。
    • 用户设置的轮询间隔时间较短,则又会造成高占用

v1.4.0版本更新中,超级剪贴板换用了clipboard-event库监听剪贴板更新事件,这种方式性能更优,不需要反复读取剪贴板内容来做比较,而只需要在检查到剪贴板更新事件时通知插件读取一次剪贴板即可,完全解决了CPU占用高、浏览图片卡顿的问题。

然而该库包含了二进制文件,这触发了uTools插件市场的安全限制而无法上架。所以自v1.4.2起,插件不再内置监听剪贴板更新事件的二进制文件,用户要使用低占用、高性能的剪贴板监听方案,可以自行下载并将其移动到剪贴板数据库文件所在目录,详见如何手动安装clipboard-event-handler,插件会自动判断使用新的抑或是旧的方案监听剪贴板更新。同时,自v1.4.3起,你可以在设置页查看当前剪贴板监听程序的运行状态。

为什么官方的剪贴板插件没有CPU占用高这个问题?

官方的剪贴板内容更新事件监听函数也是从一个二进制文件引出的,这个二进制文件跟随主程序启动,不受剪贴板插件的打开或关闭的影响。

启动报错, 读取剪切板出错

请尝试以下方法:

  1. 清空本地数据库文件
  2. 格式化uTools内的插件数据
  3. 完全退出插件后重启插件

如果上述方法都无法解决你的问题,欢迎论坛回帖或加入QQ群交流具体情况

为什么剪贴板记录会丢失?

一般是由于插件退出后台运行导致的, 插件需要保持后台运行才能记录剪贴板, 请检查:

  • 是否正确设置了插件跟随主程序启动
  • 是否手动清理或关闭了后台插件 (在分离模式下关闭插件 使用clear命令 在插件列表退出插件)
  • 是否存在高频复制的操作 (高频复制可能会漏掉记录)

我对这个插件的安全性有担忧, 插件偷窃我的隐私怎么办?

首先, 我写这个插件不是为了获取你的隐私的, 我对你的隐私没有兴趣, 这一点你完全可以放心;

其次uTools官方在插件上架前会对代码进行审查, 如果插件有高危行为, 那也不会过审;

再其次, uTools大部分用户是程序员, 如果我真的在代码里藏了"毒", 那他们也有办法发现, 如果你真的对你的隐私十分关心, 可以选择从开源仓库下载代码自行构建

我不懂代码, 我也不会构建, 但是我担心你的插件会窃取我的隐私

我在贡献教程中详细说明了如何构建, JavaScript也并不是一门很高深的语言, 祝你能早日入门, 构建出安全的版本供自己使用, 学习的过程中遇到任何问题, 也欢迎随时与我交流 😄

开源版本和插件市场版本的区别?

开源版本后续将只提供必要的BUG修复, 不再添加新功能

  • 开源版本: 包含完整的基本功能, 可以自行构建开源版本, 通过安装离线插件方式使用
  • 市场版本: 包含后续更新的新功能插件会员功能, 可以直接从插件应用市场安装

为什么不开源了, 为什么要开始收费?

目前由我个人维护的开源版本已经趋于稳定, 可以满足绝大部分场景的需求

  • 代码开源的出发点不是为了让不愿付费的人白嫖开发者的劳动, 而是为开发提供更多的经验和思路, 开源的代码已经启发了一些开发者上架了自己的剪贴板插件应用
  • 开发和维护插件需要时间和精力, 插件付费可以鼓励我更积极的更新
  • 目前插件内已有的基本功能都不会转为收费, 可以放心使用
',28),d=[t];function n(o,c,h,s,p,u){return a(),l("div",null,d)}const f=e(r,[["render",n]]);export{g as __pageData,f as default}; diff --git a/assets/project_ClipboardManager_statement_index.md.2cbe4896.lean.js b/assets/project_ClipboardManager_statement_index.md.5a1edc3f.lean.js similarity index 69% rename from assets/project_ClipboardManager_statement_index.md.2cbe4896.lean.js rename to assets/project_ClipboardManager_statement_index.md.5a1edc3f.lean.js index 37868fcb..1c146bdb 100644 --- a/assets/project_ClipboardManager_statement_index.md.2cbe4896.lean.js +++ b/assets/project_ClipboardManager_statement_index.md.5a1edc3f.lean.js @@ -1 +1 @@ -import{_ as e,o as l,c as a,a as i}from"./app.aabca012.js";const _=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[{"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":[]},{"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":[]}],"relativePath":"project/ClipboardManager/statement/index.md","lastUpdated":1675005072000}'),r={name:"project/ClipboardManager/statement/index.md"},t=i("",35),o=[t];function d(n,c,s,h,p,u){return l(),a("div",null,o)}const f=e(r,[["render",d]]);export{_ as __pageData,f as default}; +import{_ as e,o as a,c as l,a as i}from"./app.aabca012.js";const g=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[{"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":[]},{"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":1675268008000}'),r={name:"project/ClipboardManager/statement/index.md"},t=i("",28),d=[t];function n(o,c,h,s,p,u){return a(),l("div",null,d)}const f=e(r,[["render",n]]);export{g as __pageData,f as default}; diff --git a/assets/project_ClipboardManager_vip_index.md.9a0eea70.js b/assets/project_ClipboardManager_vip_index.md.9a0eea70.js new file mode 100644 index 00000000..c7a2c75a --- /dev/null +++ b/assets/project_ClipboardManager_vip_index.md.9a0eea70.js @@ -0,0 +1 @@ +import{_ as i,r as n,o as r,c as o,b as e,d as l,e as a,a as d}from"./app.aabca012.js";const A=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":[]}],"relativePath":"project/ClipboardManager/vip/index.md","lastUpdated":1675268008000}'),s={name:"project/ClipboardManager/vip/index.md"},c=e("h1",{id:"插件会员",tabindex:"-1"},[l("插件会员 "),e("a",{class:"header-anchor",href:"#插件会员","aria-hidden":"true"},"#")],-1),h=e("h2",{id:"会员权益",tabindex:"-1"},[l("会员权益 "),e("a",{class:"header-anchor",href:"#会员权益","aria-hidden":"true"},"#")],-1),p=e("strong",null,"插件会员",-1),u=e("code",null,"WebDav同步功能",-1),_=e("code",null,"文本内容增强",-1),g=e("code",null,"自定义分类排序",-1),b=e("code",null,"预览页代码高亮",-1),f=e("code",null,"不限制历史记录过期时间",-1),v=e("code",null,"插件使用统计",-1),x=e("li",null,[e("strong",null,"...")],-1),m=e("strong",null,"uTools会员",-1),k=e("code",null,"插件使用统计",-1),w=d('

会员定价

WARNING

  • 插件会员为大版本买断制,购买后即可享用当前版本(2.x)后续所有更新的会员内容
  • 插件会员为虚拟商品,购买后不支持退款
  • 插件会员的价格是浮动的,随着功能和权益的增加,不排除涨价的可能
  • 购买插件会员后如果出现相关问题,欢迎加入QQ群反馈

插件会员定价8元,登录uTools账号后点击插件工具栏中个人中心图标进入购买页面

购买后可使用会员功能,不购买不影响基本功能的使用,希望大家多多理解,按需购买

如果你在此前赞赏过超级剪贴板,可以在购买会员后添加反馈QQ群联系我,将赞赏时间 赞赏支付截图 购买时间 插件会员截图发送给我,不论赞赏金额多少,我将全额退款

WebDav同步功能

插件会员支持通过WebDav同步剪贴板数据

获取服务器地址 账号 密钥后,仅需在插件内的设置页面添加WebDav配置即可在每次复制后将数据同步到服务器

  • 每次进入插件时会自动从服务器拉取最新数据
  • 每次执行复制自动触发同步 将本地数据同步到服务器
    • 插件会缓存云端数据文件的ETag 如果云端数据有更新 则采用云端数据覆盖本地数据
    • 数据文件的上传和下载都开启了gzip以节省流量与带宽
  • 清空本地数据库的同时也会触发云端文件清空
  • 插件仅在每次启动时主动从云端拉取数据 云端数据的更新不会自动同步到本地
  • 可以通过点击工具栏按钮主动拉取云端数据到本地

相关链接:

更多内容

疑难解答

',13);function T(D,V,j,y,N,W){const t=n("Badge");return r(),o("div",null,[c,h,e("ul",null,[e("li",null,[p,e("ul",null,[e("li",null,[u,l(),a(t,{type:"tip",text:"已上线"})]),e("li",null,[_,l(),a(t,{type:"tip",text:"已上线"})]),e("li",null,[g,l(),a(t,{type:"tip",text:"已上线"})]),e("li",null,[b,l(),a(t,{type:"tip",text:"已上线"})]),e("li",null,[f,l(),a(t,{type:"tip",text:"已上线"})]),e("li",null,[v,l(),a(t,{type:"tip",text:"已上线"})]),x])]),e("li",null,[m,e("ul",null,[e("li",null,[k,l(),a(t,{type:"tip",text:"已上线"})])])])]),w])}const B=i(s,[["render",T]]);export{A as __pageData,B as default}; diff --git a/assets/project_ClipboardManager_vip_index.md.9a0eea70.lean.js b/assets/project_ClipboardManager_vip_index.md.9a0eea70.lean.js new file mode 100644 index 00000000..b7a114db --- /dev/null +++ b/assets/project_ClipboardManager_vip_index.md.9a0eea70.lean.js @@ -0,0 +1 @@ +import{_ as i,r as n,o as r,c as o,b as e,d as l,e as a,a as d}from"./app.aabca012.js";const A=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":[]}],"relativePath":"project/ClipboardManager/vip/index.md","lastUpdated":1675268008000}'),s={name:"project/ClipboardManager/vip/index.md"},c=e("h1",{id:"插件会员",tabindex:"-1"},[l("插件会员 "),e("a",{class:"header-anchor",href:"#插件会员","aria-hidden":"true"},"#")],-1),h=e("h2",{id:"会员权益",tabindex:"-1"},[l("会员权益 "),e("a",{class:"header-anchor",href:"#会员权益","aria-hidden":"true"},"#")],-1),p=e("strong",null,"插件会员",-1),u=e("code",null,"WebDav同步功能",-1),_=e("code",null,"文本内容增强",-1),g=e("code",null,"自定义分类排序",-1),b=e("code",null,"预览页代码高亮",-1),f=e("code",null,"不限制历史记录过期时间",-1),v=e("code",null,"插件使用统计",-1),x=e("li",null,[e("strong",null,"...")],-1),m=e("strong",null,"uTools会员",-1),k=e("code",null,"插件使用统计",-1),w=d("",13);function T(D,V,j,y,N,W){const t=n("Badge");return r(),o("div",null,[c,h,e("ul",null,[e("li",null,[p,e("ul",null,[e("li",null,[u,l(),a(t,{type:"tip",text:"已上线"})]),e("li",null,[_,l(),a(t,{type:"tip",text:"已上线"})]),e("li",null,[g,l(),a(t,{type:"tip",text:"已上线"})]),e("li",null,[b,l(),a(t,{type:"tip",text:"已上线"})]),e("li",null,[f,l(),a(t,{type:"tip",text:"已上线"})]),e("li",null,[v,l(),a(t,{type:"tip",text:"已上线"})]),x])]),e("li",null,[m,e("ul",null,[e("li",null,[k,l(),a(t,{type:"tip",text:"已上线"})])])])]),w])}const B=i(s,[["render",T]]);export{A as __pageData,B as default}; diff --git a/assets/project_SmartWordBreak_index.md.99a31163.js b/assets/project_SmartWordBreak_index.md.1af84f80.js similarity index 97% rename from assets/project_SmartWordBreak_index.md.99a31163.js rename to assets/project_SmartWordBreak_index.md.1af84f80.js index 1ef9e2b7..5c3b3f9b 100644 --- a/assets/project_SmartWordBreak_index.md.99a31163.js +++ b/assets/project_SmartWordBreak_index.md.1af84f80.js @@ -1 +1 @@ -import{r as a,o as l,c as i,e as r,n,g as s,a as o}from"./app.aabca012.js";const c="/assets/img1.c8b019e1.png",d="/assets/img2.e389ad4d.png",_="/assets/logo.b98f7a12.png",p=o('

🔰 开始使用

服务器不会保留处理的数据, 但请避免使用此功能处理敏感数据

  • ✅ 支持选中文本后通过超级面板直接进入分词
  • ✅ 支持直接读取剪贴板文本分词
  • ✅ 支持单选/拖拽/跨段落快速拖选
  • ✅ 支持一键合并复制/粘贴/翻译/搜索
  • ✅ 普通用户有每日免费额度 每日0:00重置
  • ✅ 优雅、迅速的动效与交互 适配深色模式
  • ✅ 可以通过插件内入口获取更多额度
  • ✅ 与超级剪贴板插件集成,一次购买 多处使用

📚 安装方式

',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":1675005072000}'),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.aabca012.js";const c="/assets/img1.c8b019e1.png",d="/assets/img2.e389ad4d.png",_="/assets/logo.b98f7a12.png",p=o('

🔰 开始使用

服务器不会保留处理的数据, 但请避免使用此功能处理敏感数据

  • ✅ 支持选中文本后通过超级面板直接进入分词
  • ✅ 支持直接读取剪贴板文本分词
  • ✅ 支持单选/拖拽/跨段落快速拖选
  • ✅ 支持一键合并复制/粘贴/翻译/搜索
  • ✅ 普通用户有每日免费额度 每日0:00重置
  • ✅ 优雅、迅速的动效与交互 适配深色模式
  • ✅ 可以通过插件内入口获取更多额度
  • ✅ 与超级剪贴板插件集成,一次购买 多处使用

📚 安装方式

',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":1675268008000}'),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}; diff --git a/assets/project_SmartWordBreak_index.md.99a31163.lean.js b/assets/project_SmartWordBreak_index.md.1af84f80.lean.js similarity index 93% rename from assets/project_SmartWordBreak_index.md.99a31163.lean.js rename to assets/project_SmartWordBreak_index.md.1af84f80.lean.js index f1da5b0f..45e01075 100644 --- a/assets/project_SmartWordBreak_index.md.99a31163.lean.js +++ b/assets/project_SmartWordBreak_index.md.1af84f80.lean.js @@ -1 +1 @@ -import{r as a,o as l,c as i,e as r,n,g as s,a as o}from"./app.aabca012.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":1675005072000}'),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.aabca012.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":1675268008000}'),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}; diff --git a/assets/project_SmartWordBreak_log_index.md.7cccb79d.js b/assets/project_SmartWordBreak_log_index.md.baf18c14.js similarity index 97% rename from assets/project_SmartWordBreak_log_index.md.7cccb79d.js rename to assets/project_SmartWordBreak_log_index.md.baf18c14.js index 600d1203..385594bd 100644 --- a/assets/project_SmartWordBreak_log_index.md.7cccb79d.js +++ b/assets/project_SmartWordBreak_log_index.md.baf18c14.js @@ -1 +1 @@ -import{_ as e,o as a,c as l,a as i}from"./app.aabca012.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":1675005072000}'),d={name:"project/SmartWordBreak/log/index.md"},t=i('

更新日志

v1.0.5

2022-12-17

  • feat: 限免活动 每日免费额度调整为99 移除充值入口
  • fix: 修复历史记录显示问题

v1.0.4

2022-09-25

  • feat: 分词上限提高到了1000个字符
  • feat: token支持本地缓存

v1.0.3

2022-09-19

  • feat: 增加历史记录功能
  • fix: 移除了在tag外按下鼠标拖选的功能

v1.0.2

2022-09-13

  • feat: 支持跨段快速拖选
  • feat: 分词页添加了搜索粘贴功能
  • feat: 优化换行符在分词页的表现 支持包含换行符拖选

v1.0.1

2022-09-13

  • feat: 增加了拖选过程中的动效
  • feat: 调整了按钮样式与颜色
  • fix: 移除了碍事的toast

v1.0.0

2022-09-11

  • release: v1.0.0发布
',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.aabca012.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":1675268008000}'),d={name:"project/SmartWordBreak/log/index.md"},t=i('

更新日志

v1.0.5

2022-12-17

  • feat: 限免活动 每日免费额度调整为99 移除充值入口
  • fix: 修复历史记录显示问题

v1.0.4

2022-09-25

  • feat: 分词上限提高到了1000个字符
  • feat: token支持本地缓存

v1.0.3

2022-09-19

  • feat: 增加历史记录功能
  • fix: 移除了在tag外按下鼠标拖选的功能

v1.0.2

2022-09-13

  • feat: 支持跨段快速拖选
  • feat: 分词页添加了搜索粘贴功能
  • feat: 优化换行符在分词页的表现 支持包含换行符拖选

v1.0.1

2022-09-13

  • feat: 增加了拖选过程中的动效
  • feat: 调整了按钮样式与颜色
  • fix: 移除了碍事的toast

v1.0.0

2022-09-11

  • release: v1.0.0发布
',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}; diff --git a/assets/project_SmartWordBreak_log_index.md.7cccb79d.lean.js b/assets/project_SmartWordBreak_log_index.md.baf18c14.lean.js similarity index 92% rename from assets/project_SmartWordBreak_log_index.md.7cccb79d.lean.js rename to assets/project_SmartWordBreak_log_index.md.baf18c14.lean.js index 20d40c67..1d514099 100644 --- a/assets/project_SmartWordBreak_log_index.md.7cccb79d.lean.js +++ b/assets/project_SmartWordBreak_log_index.md.baf18c14.lean.js @@ -1 +1 @@ -import{_ as e,o as a,c as l,a as i}from"./app.aabca012.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":1675005072000}'),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.aabca012.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":1675268008000}'),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}; diff --git a/assets/project_SmartWordBreak_statement_index.md.50608319.js b/assets/project_SmartWordBreak_statement_index.md.10f105da.js similarity index 96% rename from assets/project_SmartWordBreak_statement_index.md.50608319.js rename to assets/project_SmartWordBreak_statement_index.md.10f105da.js index 428d89f3..922e1c56 100644 --- a/assets/project_SmartWordBreak_statement_index.md.50608319.js +++ b/assets/project_SmartWordBreak_statement_index.md.10f105da.js @@ -1 +1 @@ -import{_ as e,o as a,c as o,a as t}from"./app.aabca012.js";const h=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[],"relativePath":"project/SmartWordBreak/statement/index.md","lastUpdated":1675005072000}'),i={name:"project/SmartWordBreak/statement/index.md"},l=t('

Q&A

  • Q: 为什么要收费
  • A: 此功能需要服务器资源, 而服务器资源有限, 故暂时只开放部分的免费资源给大家使用, 普通用户每日有部分免费额度, 额度每日0:00重置

  • Q: 我支付了,但是没有收到额度
  • A: 支付成功后,插件会自动获取最新用户信息,如果信息没有自动更新,请尝试退出插件后重新进入,如果仍未收到额度,请加入QQ群 769115389并联系我,我会尽快核实并为你解决

  • Q: 我之前赞赏过,可以有优惠吗
  • A: 2022年9月13日0:00前,赞赏过我的uTools用户,请发送:
    • UUID(超级分词插件内展示)
    • 赞赏金额
    • 赞赏时间
    • 支付截图
  • 到邮箱ZiuChen@outlook.com,邮箱主题为:申请超级分词赞赏额度,我将在核实后为你提供赞赏金额+15%的额度,感谢你的支持!💖。
',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.aabca012.js";const h=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[],"relativePath":"project/SmartWordBreak/statement/index.md","lastUpdated":1675268008000}'),i={name:"project/SmartWordBreak/statement/index.md"},l=t('

Q&A

  • Q: 为什么要收费
  • A: 此功能需要服务器资源, 而服务器资源有限, 故暂时只开放部分的免费资源给大家使用, 普通用户每日有部分免费额度, 额度每日0:00重置

  • Q: 我支付了,但是没有收到额度
  • A: 支付成功后,插件会自动获取最新用户信息,如果信息没有自动更新,请尝试退出插件后重新进入,如果仍未收到额度,请加入QQ群 769115389并联系我,我会尽快核实并为你解决

  • Q: 我之前赞赏过,可以有优惠吗
  • A: 2022年9月13日0:00前,赞赏过我的uTools用户,请发送:
    • UUID(超级分词插件内展示)
    • 赞赏金额
    • 赞赏时间
    • 支付截图
  • 到邮箱ZiuChen@outlook.com,邮箱主题为:申请超级分词赞赏额度,我将在核实后为你提供赞赏金额+15%的额度,感谢你的支持!💖。
',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}; diff --git a/assets/project_SmartWordBreak_statement_index.md.50608319.lean.js b/assets/project_SmartWordBreak_statement_index.md.10f105da.lean.js similarity index 85% rename from assets/project_SmartWordBreak_statement_index.md.50608319.lean.js rename to assets/project_SmartWordBreak_statement_index.md.10f105da.lean.js index 82f7afeb..7b8eaeeb 100644 --- a/assets/project_SmartWordBreak_statement_index.md.50608319.lean.js +++ b/assets/project_SmartWordBreak_statement_index.md.10f105da.lean.js @@ -1 +1 @@ -import{_ as e,o as a,c as o,a as t}from"./app.aabca012.js";const h=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[],"relativePath":"project/SmartWordBreak/statement/index.md","lastUpdated":1675005072000}'),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.aabca012.js";const h=JSON.parse('{"title":"Q&A","description":"","frontmatter":{"navbar":false},"headers":[],"relativePath":"project/SmartWordBreak/statement/index.md","lastUpdated":1675268008000}'),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}; diff --git a/assets/self_index.md.50f203cf.js b/assets/self_index.md.07379592.js similarity index 99% rename from assets/self_index.md.50f203cf.js rename to assets/self_index.md.07379592.js index 37f2f156..fc317723 100644 --- a/assets/self_index.md.50f203cf.js +++ b/assets/self_index.md.07379592.js @@ -1 +1 @@ -import{_ as e,o,c as a,a as l}from"./app.aabca012.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":1675005072000}'),r={name:"self/index.md"},d=l('

个人介绍

logo

北京交通大学(BeijingJiaoTong University)电子信息工程学院本科在读

  • 熟悉ES6特性, 有前端领域开发经验, 能独立完成基础的前端开发工作;
  • 熟练使用Vue框架及相关工具开发应用, 阅读过部分Vue源码, 了解Vue响应式实现原理;
  • 掌握NodeJS基本使用, 能够基于NodeJS编写开发工具或搭建Web服务;
  • 了解Webpack基本配置和使用, 有Webpack Vite等前端工程化工具使用经验;
  • 了解Typescript, 有Typescript的项目使用经历;
  • 良好的Git操作, 清晰的Commit提交, 保证代码质量;
  • 对前端学习抱有热情, 有良好的学习能力, 能够快速学习掌握新知识;

技术栈

前端技术

Vue Router Vuex Pinia Element Plus Echart WangEditor

Sass/Less Axios Ajax ...

后端技术

相关技能

文档处理:

Microsoft Word Microsoft PowerPoint Microsoft Excel

平面设计:

Adobe PhotoShop Adobe Lightroom

影音制作:

DaVinci Resolve Studio Adobe Premiere Adobe After Effects

专业软件:

MATLAB ICEDA Multisim Keil uVision5

获得奖项

Microsoft Edge 浏览器开拓者大赛 开拓之星

稀土掘金2022编程挑战赛 三等奖

入选“扬帆计划·中央和国家机关大学生实习”

100周年现场志愿者

优秀学生干部、优秀共青团员

社会工作优秀奖学金

相关链接

Github哔哩哔哩稀土掘金CSDNGitee

',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.aabca012.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":1675268008000}'),r={name:"self/index.md"},d=l('

个人介绍

logo

北京交通大学(BeijingJiaoTong University)电子信息工程学院本科在读

  • 熟悉ES6特性, 有前端领域开发经验, 能独立完成基础的前端开发工作;
  • 熟练使用Vue框架及相关工具开发应用, 阅读过部分Vue源码, 了解Vue响应式实现原理;
  • 掌握NodeJS基本使用, 能够基于NodeJS编写开发工具或搭建Web服务;
  • 了解Webpack基本配置和使用, 有Webpack Vite等前端工程化工具使用经验;
  • 了解Typescript, 有Typescript的项目使用经历;
  • 良好的Git操作, 清晰的Commit提交, 保证代码质量;
  • 对前端学习抱有热情, 有良好的学习能力, 能够快速学习掌握新知识;

技术栈

前端技术

Vue Router Vuex Pinia Element Plus Echart WangEditor

Sass/Less Axios Ajax ...

后端技术

相关技能

文档处理:

Microsoft Word Microsoft PowerPoint Microsoft Excel

平面设计:

Adobe PhotoShop Adobe Lightroom

影音制作:

DaVinci Resolve Studio Adobe Premiere Adobe After Effects

专业软件:

MATLAB ICEDA Multisim Keil uVision5

获得奖项

Microsoft Edge 浏览器开拓者大赛 开拓之星

稀土掘金2022编程挑战赛 三等奖

入选“扬帆计划·中央和国家机关大学生实习”

100周年现场志愿者

优秀学生干部、优秀共青团员

社会工作优秀奖学金

相关链接

Github哔哩哔哩稀土掘金CSDNGitee

',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}; diff --git a/assets/self_index.md.50f203cf.lean.js b/assets/self_index.md.07379592.lean.js similarity index 96% rename from assets/self_index.md.50f203cf.lean.js rename to assets/self_index.md.07379592.lean.js index d8a70b43..e77bdae0 100644 --- a/assets/self_index.md.50f203cf.lean.js +++ b/assets/self_index.md.07379592.lean.js @@ -1 +1 @@ -import{_ as e,o,c as a,a as l}from"./app.aabca012.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":1675005072000}'),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.aabca012.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":1675268008000}'),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}; diff --git a/assets/works_contribution.md.eda3df82.js b/assets/works_contribution.md.1cce1e6d.js similarity index 95% rename from assets/works_contribution.md.eda3df82.js rename to assets/works_contribution.md.1cce1e6d.js index ac26d421..c3de761d 100644 --- a/assets/works_contribution.md.eda3df82.js +++ b/assets/works_contribution.md.1cce1e6d.js @@ -1 +1 @@ -import{_ as e,o as r,c as a,a as t}from"./app.aabca012.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":1675005072000}'),n={name:"works/contribution.md"},i=t('

社区贡献

稀土掘金助手

稀土掘金助手: 腾讯云函数部署

源代码

B站粉丝牌助手文档

B站粉丝牌助手文档

源代码Demo

',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.aabca012.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":1675268008000}'),n={name:"works/contribution.md"},i=t('

社区贡献

稀土掘金助手

稀土掘金助手: 腾讯云函数部署

源代码

B站粉丝牌助手文档

B站粉丝牌助手文档

源代码Demo

',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}; diff --git a/assets/works_contribution.md.eda3df82.lean.js b/assets/works_contribution.md.1cce1e6d.lean.js similarity index 90% rename from assets/works_contribution.md.eda3df82.lean.js rename to assets/works_contribution.md.1cce1e6d.lean.js index 5103797e..78af5a0b 100644 --- a/assets/works_contribution.md.eda3df82.lean.js +++ b/assets/works_contribution.md.1cce1e6d.lean.js @@ -1 +1 @@ -import{_ as e,o as r,c as a,a as t}from"./app.aabca012.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":1675005072000}'),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.aabca012.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":1675268008000}'),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}; diff --git a/assets/works_opensource.md.5ae48dc8.js b/assets/works_opensource.md.54aa6ef4.js similarity index 98% rename from assets/works_opensource.md.5ae48dc8.js rename to assets/works_opensource.md.54aa6ef4.js index 831a721c..adbf7dbf 100644 --- a/assets/works_opensource.md.5ae48dc8.js +++ b/assets/works_opensource.md.54aa6ef4.js @@ -1 +1 @@ -import{_ as e,o as r,c as a,a as t}from"./app.aabca012.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":1675005072000}'),i={name:"works/opensource.md"},h=t('

个人作品

Vue3+TypeScript后台管理系统

Vue3+TypeScript后台管理系统

源代码

Typein 效率工具集

Typein 是一个运行在现代浏览器上的拓展插件,它可以帮助你在保持专注的情况下,高效完成各种操作。

源代码

宣传视频

Microsoft Edge Add-on Store

A-SOUL浏览器宠物

在浏览器里养一只A-Soul成员当宠物

源代码

宣传视频

北京交通大学课程平台功能增强

北京交通大学课程平台功能增强脚本,实现信息聚合,附件上传,让你高效处理课程信息。

源代码

超级剪贴板

uTools插件,一款强大的剪贴板管理工具。基于Vue3构建

源代码

主页

超级粘贴

uTools插件,将剪切板内容直接粘贴为文件。功能基于NodeJS

源代码

超级分词

uTools插件,前台使用Vue3+ElementPlus构建,后台基于Express封装结巴分词并暴露API接口

超级连点器

uTools插件,界面使用Vue3+AntDesign构建,功能基于Worker

PopNotify

仿 Element UI 的通知卡片。

源代码

Demo

UserScripts

用户脚本合集,生产力工具、效率工具、自动化脚本

源代码

',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.aabca012.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":1675268008000}'),i={name:"works/opensource.md"},h=t('

个人作品

Vue3+TypeScript后台管理系统

Vue3+TypeScript后台管理系统

源代码

Typein 效率工具集

Typein 是一个运行在现代浏览器上的拓展插件,它可以帮助你在保持专注的情况下,高效完成各种操作。

源代码

宣传视频

Microsoft Edge Add-on Store

A-SOUL浏览器宠物

在浏览器里养一只A-Soul成员当宠物

源代码

宣传视频

北京交通大学课程平台功能增强

北京交通大学课程平台功能增强脚本,实现信息聚合,附件上传,让你高效处理课程信息。

源代码

超级剪贴板

uTools插件,一款强大的剪贴板管理工具。基于Vue3构建

源代码

主页

超级粘贴

uTools插件,将剪切板内容直接粘贴为文件。功能基于NodeJS

源代码

超级分词

uTools插件,前台使用Vue3+ElementPlus构建,后台基于Express封装结巴分词并暴露API接口

超级连点器

uTools插件,界面使用Vue3+AntDesign构建,功能基于Worker

PopNotify

仿 Element UI 的通知卡片。

源代码

Demo

UserScripts

用户脚本合集,生产力工具、效率工具、自动化脚本

源代码

',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}; diff --git a/assets/works_opensource.md.5ae48dc8.lean.js b/assets/works_opensource.md.54aa6ef4.lean.js similarity index 95% rename from assets/works_opensource.md.5ae48dc8.lean.js rename to assets/works_opensource.md.54aa6ef4.lean.js index 73a55518..a8415d60 100644 --- a/assets/works_opensource.md.5ae48dc8.lean.js +++ b/assets/works_opensource.md.54aa6ef4.lean.js @@ -1 +1 @@ -import{_ as e,o as r,c as a,a as t}from"./app.aabca012.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":1675005072000}'),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.aabca012.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":1675268008000}'),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}; diff --git a/hashmap.json b/hashmap.json index ec877c60..8d6c7d23 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"index.md":"bdf7e82c","note_javascript.md":"4dfa5e75","note_css.md":"72f9e8ba","works_contribution.md":"eda3df82","works_opensource.md":"5ae48dc8","project_smartwordbreak_index.md":"99a31163","project_clipboardmanager_index.md":"f031324d","project_smartwordbreak_log_index.md":"7cccb79d","project_clipboardmanager_guide_index.md":"50acbc92","project_smartwordbreak_statement_index.md":"50608319","project_clipboardmanager_statement_index.md":"2cbe4896","self_index.md":"50f203cf","project_clipboardmanager_log_index.md":"631fcdab","note_javascriptenhanced.md":"0d4269dc"} +{"note_javascript.md":"5f47a0f2","works_opensource.md":"54aa6ef4","index.md":"2225187a","project_clipboardmanager_guide_index.md":"8349998a","project_smartwordbreak_log_index.md":"baf18c14","project_clipboardmanager_index.md":"3b00ab98","note_css.md":"b6bda43e","project_clipboardmanager_statement_index.md":"5a1edc3f","project_smartwordbreak_statement_index.md":"10f105da","self_index.md":"07379592","works_contribution.md":"1cce1e6d","project_smartwordbreak_index.md":"1af84f80","project_clipboardmanager_log_index.md":"af53a6c3","project_clipboardmanager_vip_index.md":"9a0eea70","note_javascriptenhanced.md":"52115726"} diff --git a/index.html b/index.html index c7b88296..ef43d5f5 100644 --- a/index.html +++ b/index.html @@ -7,14 +7,14 @@ - +
Skip to content

ZiuChen

无限进步.

Infinite Progress...

🎓

Electronic Information Major

电子信息工程

🎯

JavaScript & TypeScript

自学前端 热爱技术

👆

See more information

访问导航栏查看更多信息

Released under the MIT License.

- + diff --git a/note/CSS.html b/note/CSS.html index 59d0754e..5b3f230a 100644 --- a/note/CSS.html +++ b/note/CSS.html @@ -7,7 +7,7 @@ - + @@ -491,8 +491,8 @@
js
const el = document.querySelector('.item')
 console.log(el.dataset.age) // 18
 console.log(el.dataset.name) // 'ziu'
-
- + + diff --git a/note/JavaScript.html b/note/JavaScript.html index 10500d67..7f70c0d2 100644 --- a/note/JavaScript.html +++ b/note/JavaScript.html @@ -7,14 +7,14 @@ - + -
Skip to content
On this page

JavaScript 基础

JavaScript 组成

  • ECMAScript 定义语言规范
  • DOM 用于操作文档的API
  • BOM 用于操作浏览器的API

Released under the MIT License.

- +
Skip to content
On this page

JavaScript 基础

JavaScript 组成

  • ECMAScript 定义语言规范
  • DOM 用于操作文档的API
  • BOM 用于操作浏览器的API

Released under the MIT License.

+ diff --git a/note/JavaScriptEnhanced.html b/note/JavaScriptEnhanced.html index ab78dd48..4cd8e58e 100644 --- a/note/JavaScriptEnhanced.html +++ b/note/JavaScriptEnhanced.html @@ -7,7 +7,7 @@ - + @@ -2020,8 +2020,8 @@ setTimeout(() => { eventBus.off('navClick', callBack) // 移除某个事件的某次回调 }, 5000) - - + + diff --git a/project/ClipboardManager/guide/index.html b/project/ClipboardManager/guide/index.html index df43c121..54d05422 100644 --- a/project/ClipboardManager/guide/index.html +++ b/project/ClipboardManager/guide/index.html @@ -7,14 +7,14 @@ - +
Skip to content
On this page

使用指南

如何手动安装clipboard-event-handler

新版 超级剪贴板 对剪贴板内容更新事件的监听,依赖于可执行文件:

  • Windows系统: clipboard-event-handler-win32.exe
  • Linux系统: clipboard-event-handler-linux
  • MacOS系统: clipboard-event-handler-mac

插件每次启动时,将自动检查剪贴板数据文件所在目录下是否存在剪贴板监听程序,如存在,则使用性能更优秀的新的监听策略,如不存在,则仍然使用旧的策略。


1. 下载监听程序

点击此处(百度网盘)或访问node-clipboard-event手动下载对应系统的文件,并将其移动到剪贴板数据文件所在目录

插件使用的二进制文件拷贝自node-clipboard-event,请避免从其它不可信的来源下载文件,并在下载文件后比较哈希,有能力的也可以从仓库源代码自行编译

2. 找到剪贴板数据文件所在目录

进入插件设置页(右上角💡按钮),打开插件数据文件所在路径:

3. 将监听程序拷贝到目录中

Windows:

Linux:

Mac:

4. 【重要】注意事项

MacOS需要特殊配置

MacOS拷贝完成后需要对插件进行签名&授权才能正常使用具体步骤如下

1. 签名

打开终端输入以下命令

sh
sudo codesign --force --deep --sign - 
-

然后将此目录中的clipboard-event-handler-mac文件拖入终端执行命令

2. 授权

左上角🍎 -> 系统偏好设置 -> 安全性与隐私 -> 通用 -> 点击允许

监听程序不生效如何排查?

请务必完整按照教程完成安装,如果程序仍未生效,请按照如下方式排查:

  • 监听程序拷贝完成后,需要重启插件方可生效
  • 设置页剪贴板监听程序状态选项是否为已安装
  • 系统进程管理器中是否存在clipboard-event-handler-xxxxx的进程

使用中遇到任何问题,请尝试通过论坛或加入QQ群反馈

如何迁移数据

剪贴板数据存放在

  • Windows Linux用户:{home}\_utools_clipboard_manager_storage
  • Mac用户:{userData}\_utools_clipboard_manager_storage

要手动迁移数据,只需要在新设备上运行一次插件,而后将原设备上的数据文件拷贝并替换新设备中的数据文件即可

如何实现多端同步

WebDav同步 ^2.0.0

TIP

v2.0.0起,可以通过开通插件会员启用WebDav同步功能

可以通过自建WebDav服务器或使用支持WebDav服务的网盘来保存自己的剪贴板数据

获取服务器地址 账号 密钥后,仅需在插件内的设置页面添加WebDav配置即可

配置好插件内的WebDav服务后,插件首页工具栏(右上角)将出现上传/下载按钮,点击按钮可以主动同步/下载剪贴板历史数据

相关链接:

坚果云同步文件夹 仅旧版本

WARNING

以下方法仅适用于v2.0.0之前的版本

数据库文件默认是直接存放在用户文件夹根目录下的,如果需要使用同步功能,请使用插件内提供的数据库路径自定义功能,将数据库路径改为其他路径,而后才能通过下文中讲述的同步文件夹实现云同步。

坚果云官网安装好软件后,找到_utools_clipboard_manager_storage文件所在的目录

右键目录,坚果云/同步该文件夹,将此文件夹加入到坚果云的同步服务中

这样,每次剪贴板内容更新都将自动触发坚果云的同步服务,将剪贴板数据同步到云端

其他安装了坚果云的设备也将自动同步更新

OneDrive

有待测试

如何创造自己的功能按钮

v1.4.0起,插件为用户提供了自定义功能按钮的能力

这让超级剪贴板真正变得“超级”起来,用户可以通过编写json实现携带数据跳转到任何其他插件,这项功能给超级剪贴板带来了无限可能。

插件中,默认内置了若干使用样例:

  • 讯飞OCR识别
  • 百度搜索
  • 百度识图
  • 统计文本字数
  • 颜色管理
  • 识别图片中二维码
  • 上传到图床
  • 翻译

下面我将从这些样例出发对这项功能做简单介绍:

这项功能的原理是utools.redirect(),在不分离插件的情况下,在不同插件之间的跳转体验是连贯的。

百度搜索为例,是通过网页快开提供的关键词实现的,我们可以编写以下json:

json
{
+

然后将此目录中的clipboard-event-handler-mac文件拖入终端执行命令

2. 授权

左上角🍎 -> 系统偏好设置 -> 安全性与隐私 -> 通用 -> 点击允许

监听程序不生效如何排查?

请务必完整按照教程完成安装,如果程序仍未生效,请按照如下方式排查:

  • 监听程序拷贝完成后,需要重启插件方可生效
  • 设置页剪贴板监听程序状态选项是否为已安装
  • 系统进程管理器中是否存在clipboard-event-handler-xxxxx的进程

使用中遇到任何问题,请尝试通过论坛或加入QQ群反馈

如何迁移数据

剪贴板数据存放在

  • Windows Linux用户:{home}\_utools_clipboard_manager_storage
  • Mac用户:{userData}\_utools_clipboard_manager_storage

要手动迁移数据,只需要在新设备上运行一次插件,而后将原设备上的数据文件拷贝并替换新设备中的数据文件即可

如何实现多端同步

WebDav同步 ^2.0.0

TIP

v2.0.0起,可以通过开通插件会员启用WebDav同步功能

👉👉👉插件会员/WebDav同步功能👈👈👈

坚果云同步文件夹 仅旧版本

WARNING

以下方法仅适用于v2.0.0之前的版本

数据库文件默认是直接存放在用户文件夹根目录下的,如果需要使用同步功能,请使用插件内提供的数据库路径自定义功能,将数据库路径改为其他路径,而后才能通过下文中讲述的同步文件夹实现云同步。

坚果云官网安装好软件后,找到_utools_clipboard_manager_storage文件所在的目录

右键目录,坚果云/同步该文件夹,将此文件夹加入到坚果云的同步服务中

这样,每次剪贴板内容更新都将自动触发坚果云的同步服务,将剪贴板数据同步到云端

其他安装了坚果云的设备也将自动同步更新

OneDrive

有待测试

如何创造自己的功能按钮

v1.4.0起,插件为用户提供了自定义功能按钮的能力

这让超级剪贴板真正变得“超级”起来,用户可以通过编写json实现携带数据跳转到任何其他插件,这项功能给超级剪贴板带来了无限可能。

插件中,默认内置了若干使用样例:

  • 讯飞OCR识别
  • 百度搜索
  • 百度识图
  • 统计文本字数
  • 颜色管理
  • 识别图片中二维码
  • 上传到图床
  • 翻译

下面我将从这些样例出发对这项功能做简单介绍:

这项功能的原理是utools.redirect(),在不分离插件的情况下,在不同插件之间的跳转体验是连贯的。

百度搜索为例,是通过网页快开提供的关键词实现的,我们可以编写以下json:

json
{
   "id": "custom.1663490859",
   "title": "百度搜索",
   "icon": "🔍",
@@ -28,8 +28,8 @@
   "match": ["image", { "type": "file", "regex": ".(?:jpg|jpeg|png)$" }],
   "command": "redirect:上传到图床"
 }
-

这个功能除了可以匹配图片,还可以将符合正则的图片文件匹配上,在匹配上的历史记录上展示上传到图床按钮,携带数据跳转到图床插件,一键上传。

需要注意的是,因为自定义功能按钮实现的是携带数据跳转不同插件,所以redirect后的内容并不应该是普通关键字(普通关键字仅能作为插件入口,而不能携带数据),而应该是文本/图片/文件或文件夹

  • id: String 全局唯一 必须以custom开头 建议以时间戳为后缀
  • title: String 鼠标悬停时展示的文本
  • icon: String 展示在插件内的图标
  • match: <String | Object>[] 匹配模式
  • command: String 执行跳转的关键字 前缀redirect:是必须的

在未来的版本更新中,超级剪贴板将开放更多自定义功能给高级用户,帮助你更高效率的管理、使用剪贴板。

Released under the MIT License.

- +

这个功能除了可以匹配图片,还可以将符合正则的图片文件匹配上,在匹配上的历史记录上展示上传到图床按钮,携带数据跳转到图床插件,一键上传。

需要注意的是,因为自定义功能按钮实现的是携带数据跳转不同插件,所以redirect后的内容并不应该是普通关键字(普通关键字仅能作为插件入口,而不能携带数据),而应该是文本/图片/文件或文件夹

在未来的版本更新中,超级剪贴板将开放更多自定义功能给高级用户,帮助你更高效率的管理、使用剪贴板。

+ diff --git a/project/ClipboardManager/index.html b/project/ClipboardManager/index.html index b5959bed..d77ae152 100644 --- a/project/ClipboardManager/index.html +++ b/project/ClipboardManager/index.html @@ -7,14 +7,14 @@ - + -
Skip to content
On this page

🔰 开始使用

首次安装需要设置“跟随主程序同时启动”

  • ✅ 监听剪贴板并持续将新内容更新到本地磁盘 数据读写完全本地化
  • ✅ 按下Shift空格进入多选模式 连续选择多条内容合并复制 支持跨标签合并复制/粘贴
  • ✅ 快速收藏/转存/分词/复制/删除/打开文件&目标文件夹
  • ✅ 功能按钮 定义无限可能 OCR识别 百度搜索 百度识图 统计文本字数 颜色管理 识别图片中二维码 上传到图床 翻译
  • 鼠标左键 复制并粘贴 鼠标右键 仅复制
  • ✅ 键盘 选中历史记录,按下回车直接粘贴
  • ✅ 使用 Ctrl/Alt+数字键 快速粘贴指定条的内容 使用 Tab 键切换分类
  • ✅ 插件内按下任意键自动聚焦搜索框 支持多个关键词同时检索
  • 智慧分词 快速拖选指定内容 超级粘贴 直接转存为文件
  • ✅ 优雅的界面动效与交互 跟随系统的深色模式
  • ✅ 优秀的剪贴板监听性能 强大的自定义功能按钮 自搭建多端同步 ···

📚 安装方式

💝 感谢赞赏

如果觉得插件帮到了你,可以通过下面的方式赞赏我,这将鼓励我继续维护下去

催更群 769115389 Github

donate

Released under the MIT License.

- +
Skip to content
On this page

🔰 开始使用

首次安装需要设置“跟随主程序同时启动”

  • ✅ 监听剪贴板并持续将新内容更新到本地磁盘 数据读写完全本地化
  • ✅ 按下Shift空格进入多选模式 连续选择多条内容合并复制 支持跨标签合并复制/粘贴
  • ✅ 快速收藏/转存/分词/复制/删除/打开文件&目标文件夹
  • ✅ 功能按钮 定义无限可能 OCR识别 百度搜索 百度识图 统计文本字数 颜色管理 识别图片中二维码 上传到图床 翻译
  • 鼠标左键 复制并粘贴 鼠标右键 仅复制
  • ✅ 键盘 选中历史记录,按下回车直接粘贴
  • ✅ 使用 Ctrl/Alt+数字键 快速粘贴指定条的内容 使用 Tab 键切换分类
  • ✅ 插件内按下任意键自动聚焦搜索框 支持多个关键词同时检索
  • 智慧分词 快速拖选指定内容 超级粘贴 直接转存为文件
  • ✅ 优雅的界面动效与交互 跟随系统的深色模式
  • ✅ 优秀的剪贴板监听性能 强大的自定义功能按钮 自搭建多端同步 ···

📚 安装方式

💝 感谢赞赏

如果觉得插件帮到了你,可以通过下面的方式赞赏我,这将鼓励我继续维护下去

催更群 769115389 Github

donate

Released under the MIT License.

+ diff --git a/project/ClipboardManager/log/index.html b/project/ClipboardManager/log/index.html index 77019250..0919bde1 100644 --- a/project/ClipboardManager/log/index.html +++ b/project/ClipboardManager/log/index.html @@ -7,14 +7,14 @@ - + -
Skip to content
On this page

更新日志

v1.4.7

2022-11-03

  • feat: 设置页支持使用ESC返回上一级
  • fix: 移除了启动监听程序时对MacOS的特殊判断
  • fix: 移除了缺少监听程序时的通知报错

v1.4.6

2022-11-01

  • feat: 调整设置页图标与界面按钮细节
  • fix: 会员用户由于数据同步导致的插件白屏问题
  • fix: 多选复制时条目排序被颠倒

v1.4.5

2022-10-10

  • feat: 调整过期天数列表 最长支持31天
  • feat: 设置页添加handler安装引导
  • fix: 清空数据时内存数据未清空
  • fix: 多端同步时内存数据未更新
  • fix: 开发者模式下listener错误挂载

v1.4.4

2022-09-26

  • fix: 修复重复粘贴的问题

v1.4.3

2022-09-25

  • feat: 增加空格快捷键 按下连续多选的功能
  • feat: 多选状态下移动鼠标不再激活列表条目
  • feat: 支持展示剪贴板监听程序状态
  • fix: 删除某条历史记录时不再返回顶部
  • fix: 多选图片无法合并复制
  • fix: 内置按钮颜色管理关键字错误
  • fix: 设置页下拉框过长时被卡片遮挡
  • fix: 设置页滚动到底部触发懒加载

v1.4.2

2022-09-21

  • chore: 移除了插件内的二进制文件 恢复旧的监听机制 性能问题有待解决

v1.4.1

2022-09-21

  • fix: 修复了新的监听机制在 Mac 下无法正确获取剪贴板更新事件的问题

v1.4.0

2022-09-20

插件能够正确在Linux上运行 离不开 小千 不厌其烦的测试与调试 💖

感谢每一位为超级剪贴板提出过建议、参与测试与调试的用户

  • feat: 支持自定义数据库路径/存储条数/过期时间/展示在主界面的按钮
  • feat: 功能按钮支持自定义 创造属于你自己的功能按钮
  • feat: 添加了9个内置的自定义功能按钮
  • feat: 增加了更优雅的弹窗与提示界面
  • feat: 预览页更宽了 支持预览图片
  • feat: 导航栏图标样式修改
  • fix: 解决了CPU占用高、浏览大图卡顿的性能问题
  • fix: 从后台进入插件自动清空搜索框
  • refactor: 改变了监听剪贴板的方式 性能更优
  • refactor: 引入了ElementPlus组件库与图标库

v1.3.4

2022-09-19

  • feat: 移除插件内收藏Tab
  • feat: 点击收藏按钮后将携带数据跳转至备忘快贴
  • refactor: 优化代码执行逻辑 移除冗余代码

v1.3.3

2022-09-16

  • feat: 提高主色在深色模式下的对比度 改善长文本表现
  • feat: 添加快存功能按钮 配合超级粘贴插件实现快速转存
  • feat: 支持在预览页展示全部功能按钮
  • feat: 重要版本更新自动展示通知卡片
  • fix: 修正多选快捷键Shift影响检索输入的问题
  • fix: 检索词更新后 未自动激活首条记录

v1.3.2

2022-09-15

  • feat: 鼠标悬停展示具体日期、完整数据
  • feat: 调整历史记录上限为800条
  • fix: 修复鼠标置于功能按钮时上下键失效的问题
  • fix: 调整大图片判定尺寸

v1.3.1

2022-09-12

  • feat: 支持通过历史记录列表进入分词
  • feat: 减小插件体积 对智慧分词的支持改为插件跳转

v1.3.0

2022-09-09

  • feat: 添加多选功能 支持跨标签合并文本/图片/文件
  • feat: 支持通过按下Shift进入多选功能 支持按住Shift快速选择
  • feat: 支持使用Ctrl+CEnter快捷合并复制/粘贴
  • feat: 添加智慧分词功能 可对文本进行分割提取
  • feat: 长文本以蓝色高亮显示 不再提供查看全部按钮
  • feat: 优化界面动效

v1.2.3

2022-09-08

  • fix: 修复了检索内容时搜索记录不准确的问题

v1.2.2

2022-09-07

  • feat: 搜索框支持使用空格分词以同时检索多个关键词
  • fix: 修复了剪贴板数据记录遗漏的问题
  • fix: 收藏内容不再计入到条数限制中
  • fix: 修复了非预期的搜索框聚焦行为
  • fix: 预览页的按钮改为固定在顶部

v1.2.1

2022-09-05

  • feat: 支持通过功能按钮进入任意数据的预览页面
  • feat: 支持通过功能按钮打开文件所在目录
  • feat: 添加取消收藏功能按钮
  • feat: 搜索框支持展开/收起 输入任意内容展开并聚焦搜索
  • feat: 侧栏预览页添加复制全部智慧分词按钮
  • feat: 功能按钮改为使用图标展示
  • feat: 优化了界面样式
  • refactor: 清理定时器 优化插件性能

v1.2.0

2022-09-04

  • feat: 添加右侧操作栏 支持复制/收藏/删除操作
  • feat: 添加标签页收藏 支持在此页面管理所有收藏
  • feat: 调整侧栏宽度 调整界面样式细节

v1.1.7

2022-08-30

  • fix: 定时器检查剪贴板,修复了不记录剪贴板的问题

v1.1.6

2022-08-27

  • feat: 添加Alt+数字键Ctrl+数字键快速选择功能
  • feat: 调整界面样式 调整查看全部位置 移除图片背景色 增加动效
  • feat: 搜索框增加检索条数展示
  • fix: 改善插件读取图片的性能

v1.1.5

2022-08-25

  • fix: 提高剪贴板读取频率,避免高频复制时丢数据的情况

v1.1.4

2022-08-20

  • feat: 增加清空搜索框的按钮
  • feat: 优化插件内按下ESC的功能: 退出完整预览/清空搜索框
  • feat: 进入插件自动选中框内全部文本
  • fix: Mac在分离窗口状态左键会粘贴到搜索框 #13

v1.1.3

2022-08-19

  • feat: 调整界面在深色模式下的表现样式
  • fix: 在侧栏全部数据中使用Ctrl+C复制部分文本失效
  • fix: Mac下使用Ctrl+C复制单条记录失效
  • fix: 通过换行符个数区分超长文本
  • fix: 窗口分离下鼠标单击导致粘贴到搜索框
  • chore: 原插件名剪贴板改为超级剪贴板

v1.1.2

2022-08-18

  • feat: 执行复制后只隐藏主界面而不退出插件到后台
  • feat: 搜索时不再区分大小写
  • fix: 文本内容会出现异常首行缩进
  • fix: 图片展示在列表中的时候 右侧多出一个图块
  • fix: 移除鼠标hover时数据底部的色块

v1.1.1

2022-08-17

  • fix: 复制超大图片进入插件时崩溃

v1.1.0

2022-08-16

  • feat: 支持使用 键切换选中记录
  • feat: 支持使用 Ctrl+C 复制选中记录
  • feat: 支持使用 Enter 复制选中记录并粘贴

v1.0.4

2022-08-16

  • feat: 进入插件自动回到顶部、切换至全部分类
  • feat: 监听到键盘事件自动聚焦到搜索框
  • feat: 调整鼠标hover动画与历史记录的active样式
  • fix: 使用Tab切换导航失效
  • fix: 超长图片显示越界

v1.0.3

2022-08-16

  • fix: 路径分隔符导致写入错误的数据文件

v1.0.2

2022-08-15

  • fix: Mac下由权限导致的无法写入数据

v1.0.1

2022-08-15

  • feat: 区分鼠标点击行为:左键复制并粘贴,右键仅复制
  • feat: 适配深色模式
  • feat: 移除了右侧的查看更多按钮
  • feat: 单次展示的条数增加到了15条
  • feat: 增加条数限制500条 增加存储日期限制14天
  • feat: 增加了多平台支持
  • fix: 执行粘贴后主输入框未隐藏
  • refactor: Vue3重构

v1.0.0

2022-08-14

  • release: v1.0.0发布

Released under the MIT License.

- +
Skip to content
On this page

更新日志

v1.4.7

2022-11-03

  • feat: 设置页支持使用ESC返回上一级
  • fix: 移除了启动监听程序时对MacOS的特殊判断
  • fix: 移除了缺少监听程序时的通知报错

v1.4.6

2022-11-01

  • feat: 调整设置页图标与界面按钮细节
  • fix: 会员用户由于数据同步导致的插件白屏问题
  • fix: 多选复制时条目排序被颠倒

v1.4.5

2022-10-10

  • feat: 调整过期天数列表 最长支持31天
  • feat: 设置页添加handler安装引导
  • fix: 清空数据时内存数据未清空
  • fix: 多端同步时内存数据未更新
  • fix: 开发者模式下listener错误挂载

v1.4.4

2022-09-26

  • fix: 修复重复粘贴的问题

v1.4.3

2022-09-25

  • feat: 增加空格快捷键 按下连续多选的功能
  • feat: 多选状态下移动鼠标不再激活列表条目
  • feat: 支持展示剪贴板监听程序状态
  • fix: 删除某条历史记录时不再返回顶部
  • fix: 多选图片无法合并复制
  • fix: 内置按钮颜色管理关键字错误
  • fix: 设置页下拉框过长时被卡片遮挡
  • fix: 设置页滚动到底部触发懒加载

v1.4.2

2022-09-21

  • chore: 移除了插件内的二进制文件 恢复旧的监听机制 性能问题有待解决

v1.4.1

2022-09-21

  • fix: 修复了新的监听机制在 Mac 下无法正确获取剪贴板更新事件的问题

v1.4.0

2022-09-20

插件能够正确在Linux上运行 离不开 小千 不厌其烦的测试与调试 💖

感谢每一位为超级剪贴板提出过建议、参与测试与调试的用户

  • feat: 支持自定义数据库路径/存储条数/过期时间/展示在主界面的按钮
  • feat: 功能按钮支持自定义 创造属于你自己的功能按钮
  • feat: 添加了9个内置的自定义功能按钮
  • feat: 增加了更优雅的弹窗与提示界面
  • feat: 预览页更宽了 支持预览图片
  • feat: 导航栏图标样式修改
  • fix: 解决了CPU占用高、浏览大图卡顿的性能问题
  • fix: 从后台进入插件自动清空搜索框
  • refactor: 改变了监听剪贴板的方式 性能更优
  • refactor: 引入了ElementPlus组件库与图标库

v1.3.4

2022-09-19

  • feat: 移除插件内收藏Tab
  • feat: 点击收藏按钮后将携带数据跳转至备忘快贴
  • refactor: 优化代码执行逻辑 移除冗余代码

v1.3.3

2022-09-16

  • feat: 提高主色在深色模式下的对比度 改善长文本表现
  • feat: 添加快存功能按钮 配合超级粘贴插件实现快速转存
  • feat: 支持在预览页展示全部功能按钮
  • feat: 重要版本更新自动展示通知卡片
  • fix: 修正多选快捷键Shift影响检索输入的问题
  • fix: 检索词更新后 未自动激活首条记录

v1.3.2

2022-09-15

  • feat: 鼠标悬停展示具体日期、完整数据
  • feat: 调整历史记录上限为800条
  • fix: 修复鼠标置于功能按钮时上下键失效的问题
  • fix: 调整大图片判定尺寸

v1.3.1

2022-09-12

  • feat: 支持通过历史记录列表进入分词
  • feat: 减小插件体积 对智慧分词的支持改为插件跳转

v1.3.0

2022-09-09

  • feat: 添加多选功能 支持跨标签合并文本/图片/文件
  • feat: 支持通过按下Shift进入多选功能 支持按住Shift快速选择
  • feat: 支持使用Ctrl+CEnter快捷合并复制/粘贴
  • feat: 添加智慧分词功能 可对文本进行分割提取
  • feat: 长文本以蓝色高亮显示 不再提供查看全部按钮
  • feat: 优化界面动效

v1.2.3

2022-09-08

  • fix: 修复了检索内容时搜索记录不准确的问题

v1.2.2

2022-09-07

  • feat: 搜索框支持使用空格分词以同时检索多个关键词
  • fix: 修复了剪贴板数据记录遗漏的问题
  • fix: 收藏内容不再计入到条数限制中
  • fix: 修复了非预期的搜索框聚焦行为
  • fix: 预览页的按钮改为固定在顶部

v1.2.1

2022-09-05

  • feat: 支持通过功能按钮进入任意数据的预览页面
  • feat: 支持通过功能按钮打开文件所在目录
  • feat: 添加取消收藏功能按钮
  • feat: 搜索框支持展开/收起 输入任意内容展开并聚焦搜索
  • feat: 侧栏预览页添加复制全部智慧分词按钮
  • feat: 功能按钮改为使用图标展示
  • feat: 优化了界面样式
  • refactor: 清理定时器 优化插件性能

v1.2.0

2022-09-04

  • feat: 添加右侧操作栏 支持复制/收藏/删除操作
  • feat: 添加标签页收藏 支持在此页面管理所有收藏
  • feat: 调整侧栏宽度 调整界面样式细节

v1.1.7

2022-08-30

  • fix: 定时器检查剪贴板,修复了不记录剪贴板的问题

v1.1.6

2022-08-27

  • feat: 添加Alt+数字键Ctrl+数字键快速选择功能
  • feat: 调整界面样式 调整查看全部位置 移除图片背景色 增加动效
  • feat: 搜索框增加检索条数展示
  • fix: 改善插件读取图片的性能

v1.1.5

2022-08-25

  • fix: 提高剪贴板读取频率,避免高频复制时丢数据的情况

v1.1.4

2022-08-20

  • feat: 增加清空搜索框的按钮
  • feat: 优化插件内按下ESC的功能: 退出完整预览/清空搜索框
  • feat: 进入插件自动选中框内全部文本
  • fix: Mac在分离窗口状态左键会粘贴到搜索框 #13

v1.1.3

2022-08-19

  • feat: 调整界面在深色模式下的表现样式
  • fix: 在侧栏全部数据中使用Ctrl+C复制部分文本失效
  • fix: Mac下使用Ctrl+C复制单条记录失效
  • fix: 通过换行符个数区分超长文本
  • fix: 窗口分离下鼠标单击导致粘贴到搜索框
  • chore: 原插件名剪贴板改为超级剪贴板

v1.1.2

2022-08-18

  • feat: 执行复制后只隐藏主界面而不退出插件到后台
  • feat: 搜索时不再区分大小写
  • fix: 文本内容会出现异常首行缩进
  • fix: 图片展示在列表中的时候 右侧多出一个图块
  • fix: 移除鼠标hover时数据底部的色块

v1.1.1

2022-08-17

  • fix: 复制超大图片进入插件时崩溃

v1.1.0

2022-08-16

  • feat: 支持使用 键切换选中记录
  • feat: 支持使用 Ctrl+C 复制选中记录
  • feat: 支持使用 Enter 复制选中记录并粘贴

v1.0.4

2022-08-16

  • feat: 进入插件自动回到顶部、切换至全部分类
  • feat: 监听到键盘事件自动聚焦到搜索框
  • feat: 调整鼠标hover动画与历史记录的active样式
  • fix: 使用Tab切换导航失效
  • fix: 超长图片显示越界

v1.0.3

2022-08-16

  • fix: 路径分隔符导致写入错误的数据文件

v1.0.2

2022-08-15

  • fix: Mac下由权限导致的无法写入数据

v1.0.1

2022-08-15

  • feat: 区分鼠标点击行为:左键复制并粘贴,右键仅复制
  • feat: 适配深色模式
  • feat: 移除了右侧的查看更多按钮
  • feat: 单次展示的条数增加到了15条
  • feat: 增加条数限制500条 增加存储日期限制14天
  • feat: 增加了多平台支持
  • fix: 执行粘贴后主输入框未隐藏
  • refactor: Vue3重构

v1.0.0

2022-08-14

  • release: v1.0.0发布

Released under the MIT License.

+ diff --git a/project/ClipboardManager/statement/index.html b/project/ClipboardManager/statement/index.html index 712de8a1..e4de4bf8 100644 --- a/project/ClipboardManager/statement/index.html +++ b/project/ClipboardManager/statement/index.html @@ -7,14 +7,14 @@ - + -
Skip to content
On this page

Q&A

为什么偶尔CPU占用特别高? 为什么预览图片时插件卡顿?

这是由超级剪贴板监听剪贴板内容更新的机制决定的,为了不漏数据,超级剪贴板的监听策略为每300ms读取一次剪贴板内容并与上一次读取到的内容作比较。如果剪贴板当前位置是一张大图片,那么插件会反复读取这张图片,导致大量计算被用在了无意义的读取与对比上。

插件市场中相同原理的同类插件的处理方法是:

  • 轮询比较两次剪贴板内容,如果检查到当前剪贴板内容数据量较大,则降低轮询时间间隔。
    • 这避免了读取大图片/长文本时的高占用,然而这很容易导致漏数据
  • 轮询比较两次剪贴板内容,由用户自定义轮询时间
    • 用户设置的轮询间隔时间长,读取大图片/长文本时不会导致高占用,但很容易漏数据。
    • 用户设置的轮询间隔时间较短,则又会造成高占用

v1.4.0版本更新中,超级剪贴板换用了clipboard-event库监听剪贴板更新事件,这种方式性能更优,不需要反复读取剪贴板内容来做比较,而只需要在检查到剪贴板更新事件时通知插件读取一次剪贴板即可,完全解决了CPU占用高、浏览图片卡顿的问题。

然而该库包含了二进制文件,这触发了uTools插件市场的安全限制而无法上架。所以自v1.4.2起,插件不再内置监听剪贴板更新事件的二进制文件,用户要使用低占用、高性能的剪贴板监听方案,可以自行下载并将其移动到剪贴板数据库文件所在目录,详见如何手动安装clipboard-event-handler,插件会自动判断使用新的抑或是旧的方案监听剪贴板更新。同时,自v1.4.3起,你可以在设置页查看当前剪贴板监听程序的运行状态。

为什么官方的剪贴板插件没有CPU占用高这个问题?

官方的剪贴板内容更新事件监听函数也是从一个二进制文件引出的,这个二进制文件跟随主程序启动,不受剪贴板插件的打开或关闭的影响。

启动报错, 读取剪切板出错

请尝试以下方法:

  1. 清空本地数据库文件
  2. 格式化uTools内的插件数据
  3. 完全退出插件后重启插件

如果上述方法都无法解决你的问题,欢迎论坛回帖或加入QQ群交流具体情况

为什么剪贴板记录会丢失?

一般是由于插件退出后台运行导致的, 插件需要保持后台运行才能记录剪贴板, 请检查:

  • 是否正确设置了插件跟随主程序启动
  • 是否手动清理或关闭了后台插件 (在分离模式下关闭插件 使用clear命令 在插件列表退出插件)
  • 是否存在高频复制的操作 (高频复制可能会漏掉记录)

我对这个插件的安全性有担忧, 插件偷窃我的隐私怎么办?

首先, 我写这个插件不是为了获取你的隐私的, 我对你的隐私没有兴趣, 这一点你完全可以放心;

其次uTools官方在插件上架前会对代码进行审查, 如果插件有高危行为, 那也不会过审;

再其次, uTools大部分用户是程序员, 如果我真的在代码里藏了"毒", 那他们也有办法发现, 如果你真的对你的隐私十分关心, 可以选择从开源仓库下载代码自行构建

我不懂代码, 我也不会构建, 但是我担心你的插件会窃取我的隐私

我在贡献教程中详细说明了如何构建, JavaScript也并不是一门很高深的语言, 祝你能早日入门, 构建出安全的版本供自己使用, 学习的过程中遇到任何问题, 也欢迎随时与我交流 😄

开源版本和插件市场版本的区别?

开源版本后续将只提供必要的BUG修复, 不再添加新功能

  • 开源版本: 包含完整的基本功能, 可以自行构建开源版本, 通过安装离线插件方式使用
  • 市场版本: 包含后续更新的新功能插件会员功能, 可以直接从插件应用市场安装

为什么不开源了, 为什么要开始收费?

目前由我个人维护的开源版本已经趋于稳定, 可以满足绝大部分场景的需求

  • 代码开源的出发点不是为了让不愿付费的人白嫖开发者的劳动, 而是为开发提供更多的经验和思路, 开源的代码已经启发了一些开发者上架了自己的剪贴板插件应用
  • 开发和维护插件需要时间和精力, 插件付费可以鼓励我更积极的更新
  • 目前插件内已有的基本功能都不会转为收费, 可以放心使用

会员用户有哪些额外功能?

  • 插件会员
    • 已上线 WebDav同步
    • 已上线 文本内容增强
    • 已上线 自定义Tab排序
    • 已上线 预览页代码高亮
    • 已上线 插件使用统计
    • ...
  • uTools会员
    • 已上线 插件使用统计

更多内容,请见插件内个人中心/会员权益模块

插件会员定价如何? 如何付费?

WARNING

  • 插件会员为大版本买断制,购买后即可享用当前版本(2.x)后续所有更新的会员内容
  • 插件会员为虚拟商品,购买后不支持退款
  • 插件会员的价格是浮动的,随着功能和权益的增加,不排除涨价的可能
  • 购买插件会员后如果出现相关问题,欢迎加入QQ群反馈

插件会员定价8元,购买后可使用会员功能,不购买不影响基本功能的使用,希望大家多多理解,按需购买

如果你在此前赞赏过超级剪贴板,可以在购买会员后添加反馈QQ群联系我,将赞赏时间 赞赏支付截图 购买时间 插件会员截图发送给我,不论赞赏金额多少,我将全额退款

Released under the MIT License.

- +
Skip to content
On this page

Q&A

为什么偶尔CPU占用特别高? 为什么预览图片时插件卡顿?

这是由超级剪贴板监听剪贴板内容更新的机制决定的,为了不漏数据,超级剪贴板的监听策略为每300ms读取一次剪贴板内容并与上一次读取到的内容作比较。如果剪贴板当前位置是一张大图片,那么插件会反复读取这张图片,导致大量计算被用在了无意义的读取与对比上。

插件市场中相同原理的同类插件的处理方法是:

  • 轮询比较两次剪贴板内容,如果检查到当前剪贴板内容数据量较大,则降低轮询时间间隔。
    • 这避免了读取大图片/长文本时的高占用,然而这很容易导致漏数据
  • 轮询比较两次剪贴板内容,由用户自定义轮询时间
    • 用户设置的轮询间隔时间长,读取大图片/长文本时不会导致高占用,但很容易漏数据。
    • 用户设置的轮询间隔时间较短,则又会造成高占用

v1.4.0版本更新中,超级剪贴板换用了clipboard-event库监听剪贴板更新事件,这种方式性能更优,不需要反复读取剪贴板内容来做比较,而只需要在检查到剪贴板更新事件时通知插件读取一次剪贴板即可,完全解决了CPU占用高、浏览图片卡顿的问题。

然而该库包含了二进制文件,这触发了uTools插件市场的安全限制而无法上架。所以自v1.4.2起,插件不再内置监听剪贴板更新事件的二进制文件,用户要使用低占用、高性能的剪贴板监听方案,可以自行下载并将其移动到剪贴板数据库文件所在目录,详见如何手动安装clipboard-event-handler,插件会自动判断使用新的抑或是旧的方案监听剪贴板更新。同时,自v1.4.3起,你可以在设置页查看当前剪贴板监听程序的运行状态。

为什么官方的剪贴板插件没有CPU占用高这个问题?

官方的剪贴板内容更新事件监听函数也是从一个二进制文件引出的,这个二进制文件跟随主程序启动,不受剪贴板插件的打开或关闭的影响。

启动报错, 读取剪切板出错

请尝试以下方法:

  1. 清空本地数据库文件
  2. 格式化uTools内的插件数据
  3. 完全退出插件后重启插件

如果上述方法都无法解决你的问题,欢迎论坛回帖或加入QQ群交流具体情况

为什么剪贴板记录会丢失?

一般是由于插件退出后台运行导致的, 插件需要保持后台运行才能记录剪贴板, 请检查:

  • 是否正确设置了插件跟随主程序启动
  • 是否手动清理或关闭了后台插件 (在分离模式下关闭插件 使用clear命令 在插件列表退出插件)
  • 是否存在高频复制的操作 (高频复制可能会漏掉记录)

我对这个插件的安全性有担忧, 插件偷窃我的隐私怎么办?

首先, 我写这个插件不是为了获取你的隐私的, 我对你的隐私没有兴趣, 这一点你完全可以放心;

其次uTools官方在插件上架前会对代码进行审查, 如果插件有高危行为, 那也不会过审;

再其次, uTools大部分用户是程序员, 如果我真的在代码里藏了"毒", 那他们也有办法发现, 如果你真的对你的隐私十分关心, 可以选择从开源仓库下载代码自行构建

我不懂代码, 我也不会构建, 但是我担心你的插件会窃取我的隐私

我在贡献教程中详细说明了如何构建, JavaScript也并不是一门很高深的语言, 祝你能早日入门, 构建出安全的版本供自己使用, 学习的过程中遇到任何问题, 也欢迎随时与我交流 😄

开源版本和插件市场版本的区别?

开源版本后续将只提供必要的BUG修复, 不再添加新功能

  • 开源版本: 包含完整的基本功能, 可以自行构建开源版本, 通过安装离线插件方式使用
  • 市场版本: 包含后续更新的新功能插件会员功能, 可以直接从插件应用市场安装

为什么不开源了, 为什么要开始收费?

目前由我个人维护的开源版本已经趋于稳定, 可以满足绝大部分场景的需求

  • 代码开源的出发点不是为了让不愿付费的人白嫖开发者的劳动, 而是为开发提供更多的经验和思路, 开源的代码已经启发了一些开发者上架了自己的剪贴板插件应用
  • 开发和维护插件需要时间和精力, 插件付费可以鼓励我更积极的更新
  • 目前插件内已有的基本功能都不会转为收费, 可以放心使用

Released under the MIT License.

+ diff --git a/project/ClipboardManager/vip/index.html b/project/ClipboardManager/vip/index.html new file mode 100644 index 00000000..df949d6e --- /dev/null +++ b/project/ClipboardManager/vip/index.html @@ -0,0 +1,21 @@ + + + + + + 插件会员 | ZiuChen + + + + + + + + + +
Skip to content
On this page

插件会员

会员权益

  • 插件会员
    • WebDav同步功能 已上线
    • 文本内容增强 已上线
    • 自定义分类排序 已上线
    • 预览页代码高亮 已上线
    • 不限制历史记录过期时间 已上线
    • 插件使用统计 已上线
    • ...
  • uTools会员
    • 插件使用统计 已上线

会员定价

WARNING

  • 插件会员为大版本买断制,购买后即可享用当前版本(2.x)后续所有更新的会员内容
  • 插件会员为虚拟商品,购买后不支持退款
  • 插件会员的价格是浮动的,随着功能和权益的增加,不排除涨价的可能
  • 购买插件会员后如果出现相关问题,欢迎加入QQ群反馈

插件会员定价8元,登录uTools账号后点击插件工具栏中个人中心图标进入购买页面

购买后可使用会员功能,不购买不影响基本功能的使用,希望大家多多理解,按需购买

如果你在此前赞赏过超级剪贴板,可以在购买会员后添加反馈QQ群联系我,将赞赏时间 赞赏支付截图 购买时间 插件会员截图发送给我,不论赞赏金额多少,我将全额退款

WebDav同步功能

插件会员支持通过WebDav同步剪贴板数据

获取服务器地址 账号 密钥后,仅需在插件内的设置页面添加WebDav配置即可在每次复制后将数据同步到服务器

  • 每次进入插件时会自动从服务器拉取最新数据
  • 每次执行复制自动触发同步 将本地数据同步到服务器
    • 插件会缓存云端数据文件的ETag 如果云端数据有更新 则采用云端数据覆盖本地数据
    • 数据文件的上传和下载都开启了gzip以节省流量与带宽
  • 清空本地数据库的同时也会触发云端文件清空
  • 插件仅在每次启动时主动从云端拉取数据 云端数据的更新不会自动同步到本地
  • 可以通过点击工具栏按钮主动拉取云端数据到本地

相关链接:

更多内容

疑难解答

Released under the MIT License.

+ + + + + \ No newline at end of file diff --git a/project/SmartWordBreak/index.html b/project/SmartWordBreak/index.html index 1221bb8e..71521c54 100644 --- a/project/SmartWordBreak/index.html +++ b/project/SmartWordBreak/index.html @@ -7,14 +7,14 @@ - + -
Skip to content
On this page
logo

✨ 智慧分词,快速提取文本关键词。

⭐ 插件发布页🌎 Q&A🚚 更新日志

🔰 开始使用

服务器不会保留处理的数据, 但请避免使用此功能处理敏感数据

  • ✅ 支持选中文本后通过超级面板直接进入分词
  • ✅ 支持直接读取剪贴板文本分词
  • ✅ 支持单选/拖拽/跨段落快速拖选
  • ✅ 支持一键合并复制/粘贴/翻译/搜索
  • ✅ 普通用户有每日免费额度 每日0:00重置
  • ✅ 优雅、迅速的动效与交互 适配深色模式
  • ✅ 可以通过插件内入口获取更多额度
  • ✅ 与超级剪贴板插件集成,一次购买 多处使用

📚 安装方式

Released under the MIT License.

- +
Skip to content
On this page
logo

✨ 智慧分词,快速提取文本关键词。

⭐ 插件发布页🌎 Q&A🚚 更新日志

🔰 开始使用

服务器不会保留处理的数据, 但请避免使用此功能处理敏感数据

  • ✅ 支持选中文本后通过超级面板直接进入分词
  • ✅ 支持直接读取剪贴板文本分词
  • ✅ 支持单选/拖拽/跨段落快速拖选
  • ✅ 支持一键合并复制/粘贴/翻译/搜索
  • ✅ 普通用户有每日免费额度 每日0:00重置
  • ✅ 优雅、迅速的动效与交互 适配深色模式
  • ✅ 可以通过插件内入口获取更多额度
  • ✅ 与超级剪贴板插件集成,一次购买 多处使用

📚 安装方式

Released under the MIT License.

+ diff --git a/project/SmartWordBreak/log/index.html b/project/SmartWordBreak/log/index.html index 8311daed..ef114ced 100644 --- a/project/SmartWordBreak/log/index.html +++ b/project/SmartWordBreak/log/index.html @@ -7,14 +7,14 @@ - + -
Skip to content
On this page

更新日志

v1.0.5

2022-12-17

  • feat: 限免活动 每日免费额度调整为99 移除充值入口
  • fix: 修复历史记录显示问题

v1.0.4

2022-09-25

  • feat: 分词上限提高到了1000个字符
  • feat: token支持本地缓存

v1.0.3

2022-09-19

  • feat: 增加历史记录功能
  • fix: 移除了在tag外按下鼠标拖选的功能

v1.0.2

2022-09-13

  • feat: 支持跨段快速拖选
  • feat: 分词页添加了搜索粘贴功能
  • feat: 优化换行符在分词页的表现 支持包含换行符拖选

v1.0.1

2022-09-13

  • feat: 增加了拖选过程中的动效
  • feat: 调整了按钮样式与颜色
  • fix: 移除了碍事的toast

v1.0.0

2022-09-11

  • release: v1.0.0发布

Released under the MIT License.

- +
Skip to content
On this page

更新日志

v1.0.5

2022-12-17

  • feat: 限免活动 每日免费额度调整为99 移除充值入口
  • fix: 修复历史记录显示问题

v1.0.4

2022-09-25

  • feat: 分词上限提高到了1000个字符
  • feat: token支持本地缓存

v1.0.3

2022-09-19

  • feat: 增加历史记录功能
  • fix: 移除了在tag外按下鼠标拖选的功能

v1.0.2

2022-09-13

  • feat: 支持跨段快速拖选
  • feat: 分词页添加了搜索粘贴功能
  • feat: 优化换行符在分词页的表现 支持包含换行符拖选

v1.0.1

2022-09-13

  • feat: 增加了拖选过程中的动效
  • feat: 调整了按钮样式与颜色
  • fix: 移除了碍事的toast

v1.0.0

2022-09-11

  • release: v1.0.0发布

Released under the MIT License.

+ diff --git a/project/SmartWordBreak/statement/index.html b/project/SmartWordBreak/statement/index.html index 0f76e300..24372451 100644 --- a/project/SmartWordBreak/statement/index.html +++ b/project/SmartWordBreak/statement/index.html @@ -7,14 +7,14 @@ - + -
Skip to content
On this page

Q&A

  • Q: 为什么要收费
  • A: 此功能需要服务器资源, 而服务器资源有限, 故暂时只开放部分的免费资源给大家使用, 普通用户每日有部分免费额度, 额度每日0:00重置

  • Q: 我支付了,但是没有收到额度
  • A: 支付成功后,插件会自动获取最新用户信息,如果信息没有自动更新,请尝试退出插件后重新进入,如果仍未收到额度,请加入QQ群 769115389并联系我,我会尽快核实并为你解决

  • Q: 我之前赞赏过,可以有优惠吗
  • A: 2022年9月13日0:00前,赞赏过我的uTools用户,请发送:
    • UUID(超级分词插件内展示)
    • 赞赏金额
    • 赞赏时间
    • 支付截图
  • 到邮箱ZiuChen@outlook.com,邮箱主题为:申请超级分词赞赏额度,我将在核实后为你提供赞赏金额+15%的额度,感谢你的支持!💖。

Released under the MIT License.

- +
Skip to content
On this page

Q&A

  • Q: 为什么要收费
  • A: 此功能需要服务器资源, 而服务器资源有限, 故暂时只开放部分的免费资源给大家使用, 普通用户每日有部分免费额度, 额度每日0:00重置

  • Q: 我支付了,但是没有收到额度
  • A: 支付成功后,插件会自动获取最新用户信息,如果信息没有自动更新,请尝试退出插件后重新进入,如果仍未收到额度,请加入QQ群 769115389并联系我,我会尽快核实并为你解决

  • Q: 我之前赞赏过,可以有优惠吗
  • A: 2022年9月13日0:00前,赞赏过我的uTools用户,请发送:
    • UUID(超级分词插件内展示)
    • 赞赏金额
    • 赞赏时间
    • 支付截图
  • 到邮箱ZiuChen@outlook.com,邮箱主题为:申请超级分词赞赏额度,我将在核实后为你提供赞赏金额+15%的额度,感谢你的支持!💖。

Released under the MIT License.

+ diff --git a/self/index.html b/self/index.html index 066f58f8..c0566646 100644 --- a/self/index.html +++ b/self/index.html @@ -7,14 +7,14 @@ - + -
Skip to content
On this page

个人介绍

logo

北京交通大学(BeijingJiaoTong University)电子信息工程学院本科在读

  • 熟悉ES6特性, 有前端领域开发经验, 能独立完成基础的前端开发工作;
  • 熟练使用Vue框架及相关工具开发应用, 阅读过部分Vue源码, 了解Vue响应式实现原理;
  • 掌握NodeJS基本使用, 能够基于NodeJS编写开发工具或搭建Web服务;
  • 了解Webpack基本配置和使用, 有Webpack Vite等前端工程化工具使用经验;
  • 了解Typescript, 有Typescript的项目使用经历;
  • 良好的Git操作, 清晰的Commit提交, 保证代码质量;
  • 对前端学习抱有热情, 有良好的学习能力, 能够快速学习掌握新知识;

技术栈

前端技术

Vue Router Vuex Pinia Element Plus Echart WangEditor

Sass/Less Axios Ajax ...

后端技术

相关技能

文档处理:

Microsoft Word Microsoft PowerPoint Microsoft Excel

平面设计:

Adobe PhotoShop Adobe Lightroom

影音制作:

DaVinci Resolve Studio Adobe Premiere Adobe After Effects

专业软件:

MATLAB ICEDA Multisim Keil uVision5

获得奖项

Microsoft Edge 浏览器开拓者大赛 开拓之星

稀土掘金2022编程挑战赛 三等奖

入选“扬帆计划·中央和国家机关大学生实习”

100周年现场志愿者

优秀学生干部、优秀共青团员

社会工作优秀奖学金

相关链接

Github哔哩哔哩稀土掘金CSDNGitee

Released under the MIT License.

- +
Skip to content
On this page

个人介绍

logo

北京交通大学(BeijingJiaoTong University)电子信息工程学院本科在读

  • 熟悉ES6特性, 有前端领域开发经验, 能独立完成基础的前端开发工作;
  • 熟练使用Vue框架及相关工具开发应用, 阅读过部分Vue源码, 了解Vue响应式实现原理;
  • 掌握NodeJS基本使用, 能够基于NodeJS编写开发工具或搭建Web服务;
  • 了解Webpack基本配置和使用, 有Webpack Vite等前端工程化工具使用经验;
  • 了解Typescript, 有Typescript的项目使用经历;
  • 良好的Git操作, 清晰的Commit提交, 保证代码质量;
  • 对前端学习抱有热情, 有良好的学习能力, 能够快速学习掌握新知识;

技术栈

前端技术

Vue Router Vuex Pinia Element Plus Echart WangEditor

Sass/Less Axios Ajax ...

后端技术

相关技能

文档处理:

Microsoft Word Microsoft PowerPoint Microsoft Excel

平面设计:

Adobe PhotoShop Adobe Lightroom

影音制作:

DaVinci Resolve Studio Adobe Premiere Adobe After Effects

专业软件:

MATLAB ICEDA Multisim Keil uVision5

获得奖项

Microsoft Edge 浏览器开拓者大赛 开拓之星

稀土掘金2022编程挑战赛 三等奖

入选“扬帆计划·中央和国家机关大学生实习”

100周年现场志愿者

优秀学生干部、优秀共青团员

社会工作优秀奖学金

相关链接

Github哔哩哔哩稀土掘金CSDNGitee

Released under the MIT License.

+ diff --git a/works/contribution.html b/works/contribution.html index 9a2a562b..f33dc737 100644 --- a/works/contribution.html +++ b/works/contribution.html @@ -7,14 +7,14 @@ - + -
Skip to content
On this page

社区贡献

稀土掘金助手

稀土掘金助手: 腾讯云函数部署

源代码

B站粉丝牌助手文档

B站粉丝牌助手文档

源代码Demo

Released under the MIT License.

- +
Skip to content
On this page

社区贡献

稀土掘金助手

稀土掘金助手: 腾讯云函数部署

源代码

B站粉丝牌助手文档

B站粉丝牌助手文档

源代码Demo

Released under the MIT License.

+ diff --git a/works/opensource.html b/works/opensource.html index 44da1c47..d55dc46d 100644 --- a/works/opensource.html +++ b/works/opensource.html @@ -7,14 +7,14 @@ - + -
Skip to content
On this page

个人作品

Vue3+TypeScript后台管理系统

Vue3+TypeScript后台管理系统

源代码

Typein 效率工具集

Typein 是一个运行在现代浏览器上的拓展插件,它可以帮助你在保持专注的情况下,高效完成各种操作。

源代码

宣传视频

Microsoft Edge Add-on Store

A-SOUL浏览器宠物

在浏览器里养一只A-Soul成员当宠物

源代码

宣传视频

北京交通大学课程平台功能增强

北京交通大学课程平台功能增强脚本,实现信息聚合,附件上传,让你高效处理课程信息。

源代码

超级剪贴板

uTools插件,一款强大的剪贴板管理工具。基于Vue3构建

源代码

主页

超级粘贴

uTools插件,将剪切板内容直接粘贴为文件。功能基于NodeJS

源代码

超级分词

uTools插件,前台使用Vue3+ElementPlus构建,后台基于Express封装结巴分词并暴露API接口

超级连点器

uTools插件,界面使用Vue3+AntDesign构建,功能基于Worker

PopNotify

仿 Element UI 的通知卡片。

源代码

Demo

UserScripts

用户脚本合集,生产力工具、效率工具、自动化脚本

源代码

Released under the MIT License.

- +
Skip to content
On this page

个人作品

Vue3+TypeScript后台管理系统

Vue3+TypeScript后台管理系统

源代码

Typein 效率工具集

Typein 是一个运行在现代浏览器上的拓展插件,它可以帮助你在保持专注的情况下,高效完成各种操作。

源代码

宣传视频

Microsoft Edge Add-on Store

A-SOUL浏览器宠物

在浏览器里养一只A-Soul成员当宠物

源代码

宣传视频

北京交通大学课程平台功能增强

北京交通大学课程平台功能增强脚本,实现信息聚合,附件上传,让你高效处理课程信息。

源代码

超级剪贴板

uTools插件,一款强大的剪贴板管理工具。基于Vue3构建

源代码

主页

超级粘贴

uTools插件,将剪切板内容直接粘贴为文件。功能基于NodeJS

源代码

超级分词

uTools插件,前台使用Vue3+ElementPlus构建,后台基于Express封装结巴分词并暴露API接口

超级连点器

uTools插件,界面使用Vue3+AntDesign构建,功能基于Worker

PopNotify

仿 Element UI 的通知卡片。

源代码

Demo

UserScripts

用户脚本合集,生产力工具、效率工具、自动化脚本

源代码

Released under the MIT License.

+