Commit dd6ce7cb by 无尘

feat: 增加评论

parent 28951bff
...@@ -39,8 +39,8 @@ module.exports = { ...@@ -39,8 +39,8 @@ module.exports = {
// options选项中的所有参数,会传给Valine的配置 // options选项中的所有参数,会传给Valine的配置
options: { options: {
el: '#valine-vuepress-comment', el: '#valine-vuepress-comment',
appId: 'R4Jdw58HGA1qQw6aSdWb120E-gzGzoHsz', appId: 'dM7VDvl6pYCGVsrhpjFUPTzv-gzGzoHsz',
appKey: 'ME2oUMuVPyPpcsJitmBVGNJk', appKey: '1tWRv0vgoDPpJ2oDm0rKJSOP',
placeholder: '你有啥想说的~', placeholder: '你有啥想说的~',
path: '<%- frontmatter.to.path ? "/front-vuepress" + frontmatter.to.path : window.location.pathname %>' path: '<%- frontmatter.to.path ? "/front-vuepress" + frontmatter.to.path : window.location.pathname %>'
} }
......
#valine-vuepress-comment {
margin: 40px;
}
\ No newline at end of file
...@@ -8,13 +8,13 @@ ...@@ -8,13 +8,13 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/6.21aee0b6.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/2.aa8f573f.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/6.21aee0b6.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/2.aa8f573f.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><div class="theme-default-content"><h1>404</h1> <blockquote>That's a Four-Oh-Four.</blockquote> <a href="/front-vuepress/" class="router-link-active"> <div id="app" data-server-rendered="true"><div class="theme-container"><div class="theme-default-content"><h1>404</h1> <blockquote>There's nothing here.</blockquote> <a href="/front-vuepress/" class="router-link-active">
Take me home. Take me home.
</a></div></div><div class="global-ui"><div></div></div></div> </a></div></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/6.21aee0b6.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/6.21aee0b6.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/8.0870fa1f.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/8.a3fa100a.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -33,6 +33,6 @@ ...@@ -33,6 +33,6 @@
</a></div><div class="nav-item"><a href="/front-vuepress/about/" aria-current="page" class="nav-link router-link-exact-active router-link-active"> </a></div><div class="nav-item"><a href="/front-vuepress/about/" aria-current="page" class="nav-link router-link-exact-active router-link-active">
关于 关于
</a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/front-vuepress/about/" aria-current="page" class="active sidebar-link">文档简介</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/front-vuepress/about/#参考" class="sidebar-link">参考</a></li></ul></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="文档简介"><a href="#文档简介" class="header-anchor">#</a> 文档简介</h1> <p>VuePress 由两部分组成:第一部分是一个极简静态网站生成器 (opens new window),它包含由 Vue 驱动的主题系统和插件 API,另一个部分是为书写技术文档而优化的默认主题,它的诞生初衷是为了支持 Vue 及其子项目的文档需求。</p> <p>每一个由 VuePress 生成的页面都带有预渲染好的 HTML,也因此具有非常好的加载性能和搜索引擎优化(SEO)。同时,一旦页面被加载,Vue 将接管这些静态内容,并将其转换成一个完整的单页应用(SPA),其他的页面则会只在用户浏览到的时候才按需加载。</p> <h2 id="参考"><a href="#参考" class="header-anchor">#</a> 参考</h2> <ul><li><a href="https://www.vuepress.cn/guide/" target="_blank" rel="noopener noreferrer">vuepress<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div> <footer class="page-edit"><!----> <!----></footer> <!----> </main></div><div class="global-ui"><div></div></div></div> </a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/front-vuepress/about/" aria-current="page" class="active sidebar-link">文档简介</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/front-vuepress/about/#参考" class="sidebar-link">参考</a></li></ul></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="文档简介"><a href="#文档简介" class="header-anchor">#</a> 文档简介</h1> <p>VuePress 由两部分组成:第一部分是一个极简静态网站生成器 (opens new window),它包含由 Vue 驱动的主题系统和插件 API,另一个部分是为书写技术文档而优化的默认主题,它的诞生初衷是为了支持 Vue 及其子项目的文档需求。</p> <p>每一个由 VuePress 生成的页面都带有预渲染好的 HTML,也因此具有非常好的加载性能和搜索引擎优化(SEO)。同时,一旦页面被加载,Vue 将接管这些静态内容,并将其转换成一个完整的单页应用(SPA),其他的页面则会只在用户浏览到的时候才按需加载。</p> <h2 id="参考"><a href="#参考" class="header-anchor">#</a> 参考</h2> <ul><li><a href="https://www.vuepress.cn/guide/" target="_blank" rel="noopener noreferrer">vuepress<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div> <footer class="page-edit"><!----> <!----></footer> <!----> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/8.0870fa1f.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/8.a3fa100a.js" defer></script>
</body> </body>
</html> </html>
code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.theme-default-content code{color:#476582;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.theme-default-content code .token.deleted{color:#ec5975}.theme-default-content code .token.inserted{color:#3eaf7c}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.theme-default-content pre[class*=language-] code,.theme-default-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;border-radius:6px}div[class*=language-] .highlight-lines{-webkit-user-select:none;-ms-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;-ms-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;-webkit-user-select:none;-ms-user-select:none;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{background-color:#f3f5f7;border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}.custom-block.details{display:block;position:relative;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid #ccc}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid #ccc}.arrow.right{border-left:6px solid #ccc}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid #ccc}.theme-default-content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-default-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-default-content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0;background-color:#fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:3.6rem;background-color:#fff;box-sizing:border-box;border-bottom:1px solid #eaecef}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:16px;background-color:#fff;width:20rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;overflow-y:auto}.theme-default-content:not(.custom)>:first-child{margin-top:3.6rem}.theme-default-content:not(.custom) a:hover{text-decoration:underline}.theme-default-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.theme-default-content:not(.custom) img{max-width:100%}.theme-default-content.custom{padding:0;margin:0}.theme-default-content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#3eaf7c}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:1rem;color:#999;border-left:.2rem solid #dfe2e5;margin:1rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.theme-default-content:not(.custom)>h1,.theme-default-content:not(.custom)>h2,.theme-default-content:not(.custom)>h3,.theme-default-content:not(.custom)>h4,.theme-default-content:not(.custom)>h5,.theme-default-content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.theme-default-content:not(.custom)>h1:first-child,.theme-default-content:not(.custom)>h2:first-child,.theme-default-content:not(.custom)>h3:first-child,.theme-default-content:not(.custom)>h4:first-child,.theme-default-content:not(.custom)>h5:first-child,.theme-default-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-default-content:not(.custom)>h1:first-child+.custom-block,.theme-default-content:not(.custom)>h1:first-child+p,.theme-default-content:not(.custom)>h1:first-child+pre,.theme-default-content:not(.custom)>h2:first-child+.custom-block,.theme-default-content:not(.custom)>h2:first-child+p,.theme-default-content:not(.custom)>h2:first-child+pre,.theme-default-content:not(.custom)>h3:first-child+.custom-block,.theme-default-content:not(.custom)>h3:first-child+p,.theme-default-content:not(.custom)>h3:first-child+pre,.theme-default-content:not(.custom)>h4:first-child+.custom-block,.theme-default-content:not(.custom)>h4:first-child+p,.theme-default-content:not(.custom)>h4:first-child+pre,.theme-default-content:not(.custom)>h5:first-child+.custom-block,.theme-default-content:not(.custom)>h5:first-child+p,.theme-default-content:not(.custom)>h5:first-child+pre,.theme-default-content:not(.custom)>h6:first-child+.custom-block,.theme-default-content:not(.custom)>h6:first-child+p,.theme-default-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:focus .header-anchor,h1:hover .header-anchor,h2:focus .header-anchor,h2:hover .header-anchor,h3:focus .header-anchor,h3:hover .header-anchor,h4:focus .header-anchor,h4:hover .header-anchor,h5:focus .header-anchor,h5:hover .header-anchor,h6:focus .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0}a.header-anchor:focus,a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5;padding:.6em 1em}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .theme-default-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}#nprogress{pointer-events:none}#nprogress .bar{background:#3eaf7c;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #3eaf7c,0 0 5px #3eaf7c;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#3eaf7c transparent transparent #3eaf7c;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.home{padding:3.6rem 2rem 0;max-width:960px;margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#6a8bad}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#3eaf7c;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #389d70}.home .hero .action-button:hover{background-color:#4abf8a}.home .features{border-top:1px solid #eaecef;padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:#3a5169}.home .feature p{color:#4e6e8e}.home .footer{padding:2.5rem;border-top:1px solid #eaecef;text-align:center;color:#4e6e8e}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;height:2rem;color:#4e6e8e;display:inline-block;border:1px solid #cfd4db;border-radius:2rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/front-vuepress/assets/img/search.83621669.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#3eaf7c}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:2rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#5d82a6}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:#f3f4f5}.search-box .suggestion.focused a{color:#3eaf7c}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title,.dropdown-wrapper .mobile-dropdown-title{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:#2c3e50}.dropdown-wrapper .dropdown-title:hover,.dropdown-wrapper .mobile-dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow,.dropdown-wrapper .mobile-dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .mobile-dropdown-title{display:none;font-weight:600}.dropdown-wrapper .mobile-dropdown-title font-size inherit:hover{color:#3eaf7c}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eee;padding:1rem 1.5rem .45rem 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#3eaf7c}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #3eaf7c;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .dropdown-title{display:none}.dropdown-wrapper .mobile-dropdown-title{display:block}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper.open .nav-dropdown,.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper.open:blur{display:none}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;padding:.6rem 0;border:1px solid;border-color:#ddd #ddd #ccc;text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#3eaf7c}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#2c3e50}.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px;border-bottom:2px solid #46bd87}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;background-color:#fff;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}.navbar .site-name{width:calc(100vw - 9.4rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.page-edit{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit{padding:2rem}}@media (max-width:419px){.page-edit{padding:1.5rem}}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#4e6e8e;margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#4e6e8e}.page-edit .last-updated .time{font-weight:400;color:#767676}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.page-nav{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav{padding:2rem}}@media (max-width:419px){.page-nav{padding:1.5rem}}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;padding-top:1rem;overflow:auto}.page-nav .next{float:right}.page{padding-bottom:2rem;display:block}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:inherit}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{color:#2c3e50;transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0;border-left:.25rem solid transparent}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading.clickable.active{font-weight:600;color:#3eaf7c;border-left-color:#3eaf7c}.sidebar-heading.clickable:hover{color:#3eaf7c}.sidebar-group-items{transition:height .1s ease-out;font-size:.95em;overflow:hidden}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-size:1em;font-weight:400;display:inline-block;color:#2c3e50;border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link:hover{color:#3eaf7c}a.sidebar-link.active{font-weight:600;color:#3eaf7c;border-left-color:#3eaf7c}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;padding:.5rem 0 .75rem}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar>.sidebar-links{padding:1.5rem 0}.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1.1em;line-height:1.7;font-weight:700}.sidebar>.sidebar-links>li:not(:first-child){margin-top:.75rem}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar>.sidebar-links{padding:1rem 0}}.badge[data-v-15b7b770]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff}.badge.green[data-v-15b7b770],.badge.tip[data-v-15b7b770],.badge[data-v-15b7b770]{background-color:#42b983}.badge.error[data-v-15b7b770]{background-color:#da5961}.badge.warn[data-v-15b7b770],.badge.warning[data-v-15b7b770],.badge.yellow[data-v-15b7b770]{background-color:#e7c000}.badge+.badge[data-v-15b7b770]{margin-left:5px}.theme-code-block[data-v-6d04095e]{display:none}.theme-code-block__active[data-v-6d04095e]{display:block}.theme-code-block>pre[data-v-6d04095e]{background-color:orange}.theme-code-group__nav[data-v-32c2d7ed]{margin-bottom:-35px;background-color:#282c34;padding-bottom:22px;border-top-left-radius:6px;border-top-right-radius:6px;padding-left:10px;padding-top:10px}.theme-code-group__ul[data-v-32c2d7ed]{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.theme-code-group__nav-tab[data-v-32c2d7ed]{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:hsla(0,0%,100%,.9);font-weight:600}.theme-code-group__nav-tab-active[data-v-32c2d7ed]{border-bottom:1px solid #42b983}.pre-blank[data-v-32c2d7ed]{color:#42b983}@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==) format("woff")}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .pl-c{color:#6a737d}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#005cc5}.markdown-body .pl-e,.markdown-body .pl-en{color:#6f42c1}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#24292e}.markdown-body .pl-ent{color:#22863a}.markdown-body .pl-k{color:#d73a49}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#032f62}.markdown-body .pl-smw,.markdown-body .pl-v{color:#e36209}.markdown-body .pl-bu{color:#b31d28}.markdown-body .pl-ii{color:#fafbfc;background-color:#b31d28}.markdown-body .pl-c2{color:#fafbfc;background-color:#d73a49}.markdown-body .pl-c2:before{content:"^M"}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#22863a}.markdown-body .pl-ml{color:#735c0f}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#005cc5}.markdown-body .pl-mi{font-style:italic;color:#24292e}.markdown-body .pl-mb{font-weight:700;color:#24292e}.markdown-body .pl-md{color:#b31d28;background-color:#ffeef0}.markdown-body .pl-mi1{color:#22863a;background-color:#f0fff4}.markdown-body .pl-mc{color:#e36209;background-color:#ffebda}.markdown-body .pl-mi2{color:#f6f8fa;background-color:#005cc5}.markdown-body .pl-mdr{font-weight:700;color:#6f42c1}.markdown-body .pl-ba{color:#586069}.markdown-body .pl-sg{color:#959da5}.markdown-body .pl-corl{text-decoration:underline;color:#032f62}.markdown-body .octicon{display:inline-block;vertical-align:text-top;fill:currentColor}.markdown-body a{background-color:transparent;-webkit-text-decoration-skip:objects}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body strong{font-weight:inherit;font-weight:bolder}.markdown-body h1{margin:.67em 0}.markdown-body img{border-style:none}.markdown-body svg:not(:root){overflow:hidden}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:monospace,monospace;font-size:1em}.markdown-body hr{box-sizing:content-box;overflow:visible}.markdown-body input{font:inherit;margin:0;overflow:visible}.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.markdown-body *{box-sizing:border-box}.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body a{color:#0366d6;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{font-weight:600}.markdown-body hr{height:0;margin:15px 0;overflow:hidden;background:transparent;border-bottom:1px solid #dfe2e5}.markdown-body hr:after,.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{clear:both}.markdown-body table{border-spacing:0;border-collapse:collapse}.markdown-body td,.markdown-body th{padding:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:0;margin-bottom:0}.markdown-body h1{font-size:32px;font-weight:600}.markdown-body h2{font-size:24px;font-weight:600}.markdown-body h3{font-size:20px;font-weight:600}.markdown-body h4{font-size:16px;font-weight:600}.markdown-body h5{font-size:14px;font-weight:600}.markdown-body h6{font-size:12px;font-weight:600}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0}.markdown-body ol,.markdown-body ul{padding-left:0;margin-top:0;margin-bottom:0}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font:12px SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}.markdown-body .octicon{vertical-align:text-bottom}.markdown-body .pl-0{padding-left:0!important}.markdown-body .pl-1{padding-left:4px!important}.markdown-body .pl-2{padding-left:8px!important}.markdown-body .pl-3{padding-left:16px!important}.markdown-body .pl-4{padding-left:24px!important}.markdown-body .pl-5{padding-left:32px!important}.markdown-body .pl-6{padding-left:40px!important}.markdown-body:after,.markdown-body:before{display:table;content:""}.markdown-body:after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.markdown-body blockquote{padding:0 1em;color:#6a737d;border-left:.25em solid #dfe2e5}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body kbd{font-size:11px;border:1px solid #c6cbd1;border-bottom-color:#959da5;box-shadow:inset 0 -1px 0 #959da5}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{padding-bottom:.3em;border-bottom:1px solid #eaecef}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:#6a737d}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;overflow:auto}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #dfe2e5}.markdown-body table tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body code{padding:.2em 0;margin:0;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}.markdown-body code:after,.markdown-body code:before{letter-spacing:-.2em;content:"\A0"}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:3px}.markdown-body pre code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body pre code:after,.markdown-body pre code:before{content:normal}.markdown-body .full-commit .btn-outline:not(:disabled):hover{color:#005cc5;border-color:#005cc5}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1}.markdown-body :checked+.radio-label{position:relative;z-index:1;border-color:#0366d6}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.markdown-body hr{border-bottom-color:#eee}.gt-container{font-size:16px}.gt-container,.gt-container *{box-sizing:border-box}.gt-container a{color:#6190e8}.gt-container a:hover{color:#81a6ed;border-color:#81a6ed}.gt-container a.is--active{color:#333;cursor:default!important}.gt-container a.is--active:hover{color:#333}.gt-container .hide{display:none!important}.gt-container .gt-svg{display:inline-block;width:1em;height:1em;vertical-align:sub}.gt-container .gt-svg svg{width:100%;height:100%;fill:#6190e8}.gt-container .gt-ico{display:inline-block}.gt-container .gt-ico-text{margin-left:.3125em}.gt-container .gt-ico-github,.gt-container .gt-ico-github .gt-svg{width:100%;height:100%}.gt-container .gt-ico-github svg{fill:inherit}.gt-container .gt-spinner{position:relative}.gt-container .gt-spinner:before{content:"";box-sizing:border-box;position:absolute;top:3px;width:.75em;height:.75em;margin-top:-.1875em;margin-left:-.375em;border-radius:50%;border:1px solid #fff;border-top-color:#6190e8;-webkit-animation:gt-kf-rotate .6s linear infinite;animation:gt-kf-rotate .6s linear infinite}.gt-container .gt-loader{position:relative;border:1px solid #999;-webkit-animation:gt-kf-rotate 1.5s ease infinite;animation:gt-kf-rotate 1.5s ease infinite;display:inline-block;font-style:normal;width:1.75em;height:1.75em;line-height:1.75em;border-radius:50%}.gt-container .gt-loader:before{content:"";position:absolute;display:block;top:0;left:50%;margin-top:-.1875em;margin-left:-.1875em;width:.375em;height:.375em;background-color:#999;border-radius:50%}.gt-container .gt-avatar{display:inline-block;width:3.125em;height:3.125em}@media (max-width:479px){.gt-container .gt-avatar{width:2em;height:2em}}.gt-container .gt-avatar img{width:100%;height:auto;border-radius:3px}.gt-container .gt-avatar-github{width:3em;height:3em;cursor:pointer}@media (max-width:479px){.gt-container .gt-avatar-github{width:1.875em;height:1.875em}}.gt-container .gt-btn{padding:.75em 1.25em;display:inline-block;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;border:1px solid #6190e8;border-radius:5px;background-color:#6190e8;color:#fff;outline:none;font-size:.75em}.gt-container .gt-btn-text{font-weight:400}.gt-container .gt-btn-loading{position:relative;margin-left:.5em;display:inline-block;width:.75em;height:1em;vertical-align:top}.gt-container .gt-btn.is--disable{cursor:not-allowed;opacity:.5}.gt-container .gt-btn-login{margin-right:0}.gt-container .gt-btn-preview{background-color:#fff;color:#6190e8}.gt-container .gt-btn-preview:hover{background-color:#f2f2f2;border-color:#81a6ed}.gt-container .gt-btn-public:hover{background-color:#81a6ed;border-color:#81a6ed}.gt-container .gt-error{text-align:center;margin:.625em;color:#ff3860}.gt-container .gt-initing{padding:1.25em 0;text-align:center}.gt-container .gt-initing-text{margin:.625em auto;font-size:92%}.gt-container .gt-no-init{padding:1.25em 0;text-align:center}.gt-container .gt-link{border-bottom:1px dotted #6190e8}.gt-container .gt-link-counts,.gt-container .gt-link-project{text-decoration:none}.gt-container .gt-meta{margin:1.25em 0;padding:1em 0;border-bottom:1px solid #e9e9e9;font-size:1em;position:relative;z-index:10}.gt-container .gt-meta:after,.gt-container .gt-meta:before{content:" ";display:table}.gt-container .gt-meta:after{clear:both}.gt-container .gt-counts{margin:0 .625em 0 0}.gt-container .gt-user{float:right;margin:0;font-size:92%}.gt-container .gt-user-pic{width:16px;height:16px;vertical-align:top;margin-right:.5em}.gt-container .gt-user-inner{display:inline-block;cursor:pointer}.gt-container .gt-user .gt-ico{margin:0 0 0 .3125em}.gt-container .gt-user .gt-ico svg{fill:inherit}.gt-container .gt-user .is--poping .gt-ico svg{fill:#6190e8}.gt-container .gt-version{color:#a1a1a1;margin-left:.375em}.gt-container .gt-copyright{margin:0 .9375em .5em;border-top:1px solid #e9e9e9;padding-top:.5em}.gt-container .gt-popup{position:absolute;right:0;top:2.375em;background:#fff;display:inline-block;border:1px solid #e9e9e9;padding:.625em 0;font-size:.875em;letter-spacing:.5px}.gt-container .gt-popup .gt-action{cursor:pointer;display:block;margin:.5em 0;padding:0 1.125em;position:relative;text-decoration:none}.gt-container .gt-popup .gt-action.is--active:before{content:"";width:.25em;height:.25em;background:#6190e8;position:absolute;left:.5em;top:.4375em}.gt-container .gt-header{position:relative;display:flex}.gt-container .gt-header-comment{flex:1;margin-left:1.25em}@media (max-width:479px){.gt-container .gt-header-comment{margin-left:.875em}}.gt-container .gt-header-textarea{padding:.75em;display:block;box-sizing:border-box;width:100%;min-height:5.125em;max-height:15em;border-radius:5px;border:1px solid rgba(0,0,0,.1);font-size:.875em;word-wrap:break-word;resize:vertical;background-color:#f6f6f6;outline:none;transition:all .25s ease}.gt-container .gt-header-textarea:hover{background-color:#fbfbfb}.gt-container .gt-header-preview{padding:.75em;border-radius:5px;border:1px solid rgba(0,0,0,.1);background-color:#f6f6f6}.gt-container .gt-header-controls{position:relative;margin:.75em 0 0}.gt-container .gt-header-controls:after,.gt-container .gt-header-controls:before{content:" ";display:table}.gt-container .gt-header-controls:after{clear:both}@media (max-width:479px){.gt-container .gt-header-controls{margin:0}}.gt-container .gt-header-controls-tip{font-size:.875em;color:#6190e8;text-decoration:none;vertical-align:sub}@media (max-width:479px){.gt-container .gt-header-controls-tip{display:none}}.gt-container .gt-header-controls .gt-btn{float:right;margin-left:1.25em}@media (max-width:479px){.gt-container .gt-header-controls .gt-btn{float:none;width:100%;margin:.75em 0 0}}.gt-container:after{content:"";position:fixed;bottom:100%;left:0;right:0;top:0;opacity:0}.gt-container.gt-input-focused{position:relative}.gt-container.gt-input-focused:after{content:"";position:fixed;bottom:0;left:0;right:0;top:0;background:#000;opacity:.6;transition:opacity .3s,bottom 0s;z-index:9999}.gt-container.gt-input-focused .gt-header-comment{z-index:10000}.gt-container .gt-comments{padding-top:1.25em}.gt-container .gt-comments-null{text-align:center}.gt-container .gt-comments-controls{margin:1.25em 0;text-align:center}.gt-container .gt-comment{position:relative;padding:.625em 0;display:flex}.gt-container .gt-comment-content{flex:1;margin-left:1.25em;padding:.75em 1em;background-color:#f9f9f9;overflow:auto;transition:all .25s ease}.gt-container .gt-comment-content:hover{box-shadow:0 .625em 3.75em 0 #f4f4f4}@media (max-width:479px){.gt-container .gt-comment-content{margin-left:.875em;padding:.625em .75em}}.gt-container .gt-comment-header{margin-bottom:.5em;font-size:.875em;position:relative}.gt-container .gt-comment-block-1{float:right;height:1.375em;width:2em}.gt-container .gt-comment-block-2{float:right;height:1.375em;width:4em}.gt-container .gt-comment-username{font-weight:500;color:#6190e8;text-decoration:none}.gt-container .gt-comment-username:hover{text-decoration:underline}.gt-container .gt-comment-date,.gt-container .gt-comment-text{margin-left:.5em;color:#a1a1a1}.gt-container .gt-comment-edit,.gt-container .gt-comment-like,.gt-container .gt-comment-reply{position:absolute;height:1.375em}.gt-container .gt-comment-edit:hover,.gt-container .gt-comment-like:hover,.gt-container .gt-comment-reply:hover{cursor:pointer}.gt-container .gt-comment-like{top:0;right:2em}.gt-container .gt-comment-edit,.gt-container .gt-comment-reply{top:0;right:0}.gt-container .gt-comment-body{color:#333!important}.gt-container .gt-comment-body .email-hidden-toggle a{display:inline-block;height:12px;padding:0 9px;font-size:12px;font-weight:600;line-height:6px;color:#444d56;text-decoration:none;vertical-align:middle;background:#dfe2e5;border-radius:1px}.gt-container .gt-comment-body .email-hidden-toggle a:hover{background-color:#c6cbd1}.gt-container .gt-comment-body .email-hidden-reply{display:none;white-space:pre-wrap}.gt-container .gt-comment-body .email-hidden-reply .email-signature-reply{padding:0 15px;margin:15px 0;color:#586069;border-left:4px solid #dfe2e5}.gt-container .gt-comment-body .email-hidden-reply.expanded{display:block}.gt-container .gt-comment-admin .gt-comment-content{background-color:#f6f9fe}@-webkit-keyframes gt-kf-rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes gt-kf-rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}} code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.theme-default-content code{color:#476582;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.theme-default-content code .token.deleted{color:#ec5975}.theme-default-content code .token.inserted{color:#3eaf7c}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.theme-default-content pre[class*=language-] code,.theme-default-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;border-radius:6px}div[class*=language-] .highlight-lines{-webkit-user-select:none;-ms-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;-ms-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;-webkit-user-select:none;-ms-user-select:none;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{background-color:#f3f5f7;border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}.custom-block.details{display:block;position:relative;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid #ccc}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid #ccc}.arrow.right{border-left:6px solid #ccc}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid #ccc}.theme-default-content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-default-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-default-content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0;background-color:#fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:3.6rem;background-color:#fff;box-sizing:border-box;border-bottom:1px solid #eaecef}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:16px;background-color:#fff;width:20rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;overflow-y:auto}.theme-default-content:not(.custom)>:first-child{margin-top:3.6rem}.theme-default-content:not(.custom) a:hover{text-decoration:underline}.theme-default-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.theme-default-content:not(.custom) img{max-width:100%}.theme-default-content.custom{padding:0;margin:0}.theme-default-content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#3eaf7c}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:1rem;color:#999;border-left:.2rem solid #dfe2e5;margin:1rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.theme-default-content:not(.custom)>h1,.theme-default-content:not(.custom)>h2,.theme-default-content:not(.custom)>h3,.theme-default-content:not(.custom)>h4,.theme-default-content:not(.custom)>h5,.theme-default-content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.theme-default-content:not(.custom)>h1:first-child,.theme-default-content:not(.custom)>h2:first-child,.theme-default-content:not(.custom)>h3:first-child,.theme-default-content:not(.custom)>h4:first-child,.theme-default-content:not(.custom)>h5:first-child,.theme-default-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-default-content:not(.custom)>h1:first-child+.custom-block,.theme-default-content:not(.custom)>h1:first-child+p,.theme-default-content:not(.custom)>h1:first-child+pre,.theme-default-content:not(.custom)>h2:first-child+.custom-block,.theme-default-content:not(.custom)>h2:first-child+p,.theme-default-content:not(.custom)>h2:first-child+pre,.theme-default-content:not(.custom)>h3:first-child+.custom-block,.theme-default-content:not(.custom)>h3:first-child+p,.theme-default-content:not(.custom)>h3:first-child+pre,.theme-default-content:not(.custom)>h4:first-child+.custom-block,.theme-default-content:not(.custom)>h4:first-child+p,.theme-default-content:not(.custom)>h4:first-child+pre,.theme-default-content:not(.custom)>h5:first-child+.custom-block,.theme-default-content:not(.custom)>h5:first-child+p,.theme-default-content:not(.custom)>h5:first-child+pre,.theme-default-content:not(.custom)>h6:first-child+.custom-block,.theme-default-content:not(.custom)>h6:first-child+p,.theme-default-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:focus .header-anchor,h1:hover .header-anchor,h2:focus .header-anchor,h2:hover .header-anchor,h3:focus .header-anchor,h3:hover .header-anchor,h4:focus .header-anchor,h4:hover .header-anchor,h5:focus .header-anchor,h5:hover .header-anchor,h6:focus .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0}a.header-anchor:focus,a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5;padding:.6em 1em}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .theme-default-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}#nprogress{pointer-events:none}#nprogress .bar{background:#3eaf7c;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #3eaf7c,0 0 5px #3eaf7c;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#3eaf7c transparent transparent #3eaf7c;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.home{padding:3.6rem 2rem 0;max-width:960px;margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#6a8bad}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#3eaf7c;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #389d70}.home .hero .action-button:hover{background-color:#4abf8a}.home .features{border-top:1px solid #eaecef;padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:#3a5169}.home .feature p{color:#4e6e8e}.home .footer{padding:2.5rem;border-top:1px solid #eaecef;text-align:center;color:#4e6e8e}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;height:2rem;color:#4e6e8e;display:inline-block;border:1px solid #cfd4db;border-radius:2rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/front-vuepress/assets/img/search.83621669.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#3eaf7c}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:2rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#5d82a6}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:#f3f4f5}.search-box .suggestion.focused a{color:#3eaf7c}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title,.dropdown-wrapper .mobile-dropdown-title{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:#2c3e50}.dropdown-wrapper .dropdown-title:hover,.dropdown-wrapper .mobile-dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow,.dropdown-wrapper .mobile-dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .mobile-dropdown-title{display:none;font-weight:600}.dropdown-wrapper .mobile-dropdown-title font-size inherit:hover{color:#3eaf7c}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eee;padding:1rem 1.5rem .45rem 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#3eaf7c}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #3eaf7c;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .dropdown-title{display:none}.dropdown-wrapper .mobile-dropdown-title{display:block}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper.open .nav-dropdown,.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper.open:blur{display:none}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;padding:.6rem 0;border:1px solid;border-color:#ddd #ddd #ccc;text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#3eaf7c}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#2c3e50}.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px;border-bottom:2px solid #46bd87}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;background-color:#fff;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}.navbar .site-name{width:calc(100vw - 9.4rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.page-edit{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit{padding:2rem}}@media (max-width:419px){.page-edit{padding:1.5rem}}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#4e6e8e;margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#4e6e8e}.page-edit .last-updated .time{font-weight:400;color:#767676}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.page-nav{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav{padding:2rem}}@media (max-width:419px){.page-nav{padding:1.5rem}}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;padding-top:1rem;overflow:auto}.page-nav .next{float:right}.page{padding-bottom:2rem;display:block}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:inherit}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{color:#2c3e50;transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0;border-left:.25rem solid transparent}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading.clickable.active{font-weight:600;color:#3eaf7c;border-left-color:#3eaf7c}.sidebar-heading.clickable:hover{color:#3eaf7c}.sidebar-group-items{transition:height .1s ease-out;font-size:.95em;overflow:hidden}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-size:1em;font-weight:400;display:inline-block;color:#2c3e50;border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link:hover{color:#3eaf7c}a.sidebar-link.active{font-weight:600;color:#3eaf7c;border-left-color:#3eaf7c}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}#valine-vuepress-comment{margin:40px}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;padding:.5rem 0 .75rem}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar>.sidebar-links{padding:1.5rem 0}.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1.1em;line-height:1.7;font-weight:700}.sidebar>.sidebar-links>li:not(:first-child){margin-top:.75rem}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar>.sidebar-links{padding:1rem 0}}.theme-code-block[data-v-6d04095e]{display:none}.theme-code-block__active[data-v-6d04095e]{display:block}.theme-code-block>pre[data-v-6d04095e]{background-color:orange}#valine-vuepress-comment[data-v-32c2d7ed]{margin:40px}.theme-code-group__nav[data-v-32c2d7ed]{margin-bottom:-35px;background-color:#282c34;padding-bottom:22px;border-top-left-radius:6px;border-top-right-radius:6px;padding-left:10px;padding-top:10px}.theme-code-group__ul[data-v-32c2d7ed]{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.theme-code-group__nav-tab[data-v-32c2d7ed]{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:hsla(0,0%,100%,.9);font-weight:600}.theme-code-group__nav-tab-active[data-v-32c2d7ed]{border-bottom:1px solid #42b983}.pre-blank[data-v-32c2d7ed]{color:#42b983}#valine-vuepress-comment[data-v-15b7b770]{margin:40px}.badge[data-v-15b7b770]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff}.badge.green[data-v-15b7b770],.badge.tip[data-v-15b7b770],.badge[data-v-15b7b770]{background-color:#42b983}.badge.error[data-v-15b7b770]{background-color:#da5961}.badge.warn[data-v-15b7b770],.badge.warning[data-v-15b7b770],.badge.yellow[data-v-15b7b770]{background-color:#e7c000}.badge+.badge[data-v-15b7b770]{margin-left:5px}@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==) format("woff")}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .pl-c{color:#6a737d}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#005cc5}.markdown-body .pl-e,.markdown-body .pl-en{color:#6f42c1}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#24292e}.markdown-body .pl-ent{color:#22863a}.markdown-body .pl-k{color:#d73a49}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#032f62}.markdown-body .pl-smw,.markdown-body .pl-v{color:#e36209}.markdown-body .pl-bu{color:#b31d28}.markdown-body .pl-ii{color:#fafbfc;background-color:#b31d28}.markdown-body .pl-c2{color:#fafbfc;background-color:#d73a49}.markdown-body .pl-c2:before{content:"^M"}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#22863a}.markdown-body .pl-ml{color:#735c0f}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#005cc5}.markdown-body .pl-mi{font-style:italic;color:#24292e}.markdown-body .pl-mb{font-weight:700;color:#24292e}.markdown-body .pl-md{color:#b31d28;background-color:#ffeef0}.markdown-body .pl-mi1{color:#22863a;background-color:#f0fff4}.markdown-body .pl-mc{color:#e36209;background-color:#ffebda}.markdown-body .pl-mi2{color:#f6f8fa;background-color:#005cc5}.markdown-body .pl-mdr{font-weight:700;color:#6f42c1}.markdown-body .pl-ba{color:#586069}.markdown-body .pl-sg{color:#959da5}.markdown-body .pl-corl{text-decoration:underline;color:#032f62}.markdown-body .octicon{display:inline-block;vertical-align:text-top;fill:currentColor}.markdown-body a{background-color:transparent;-webkit-text-decoration-skip:objects}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body strong{font-weight:inherit;font-weight:bolder}.markdown-body h1{margin:.67em 0}.markdown-body img{border-style:none}.markdown-body svg:not(:root){overflow:hidden}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:monospace,monospace;font-size:1em}.markdown-body hr{box-sizing:content-box;overflow:visible}.markdown-body input{font:inherit;margin:0;overflow:visible}.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.markdown-body *{box-sizing:border-box}.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body a{color:#0366d6;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{font-weight:600}.markdown-body hr{height:0;margin:15px 0;overflow:hidden;background:transparent;border-bottom:1px solid #dfe2e5}.markdown-body hr:after,.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{clear:both}.markdown-body table{border-spacing:0;border-collapse:collapse}.markdown-body td,.markdown-body th{padding:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:0;margin-bottom:0}.markdown-body h1{font-size:32px;font-weight:600}.markdown-body h2{font-size:24px;font-weight:600}.markdown-body h3{font-size:20px;font-weight:600}.markdown-body h4{font-size:16px;font-weight:600}.markdown-body h5{font-size:14px;font-weight:600}.markdown-body h6{font-size:12px;font-weight:600}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0}.markdown-body ol,.markdown-body ul{padding-left:0;margin-top:0;margin-bottom:0}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font:12px SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}.markdown-body .octicon{vertical-align:text-bottom}.markdown-body .pl-0{padding-left:0!important}.markdown-body .pl-1{padding-left:4px!important}.markdown-body .pl-2{padding-left:8px!important}.markdown-body .pl-3{padding-left:16px!important}.markdown-body .pl-4{padding-left:24px!important}.markdown-body .pl-5{padding-left:32px!important}.markdown-body .pl-6{padding-left:40px!important}.markdown-body:after,.markdown-body:before{display:table;content:""}.markdown-body:after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.markdown-body blockquote{padding:0 1em;color:#6a737d;border-left:.25em solid #dfe2e5}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body kbd{font-size:11px;border:1px solid #c6cbd1;border-bottom-color:#959da5;box-shadow:inset 0 -1px 0 #959da5}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{padding-bottom:.3em;border-bottom:1px solid #eaecef}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:#6a737d}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;overflow:auto}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #dfe2e5}.markdown-body table tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body code{padding:.2em 0;margin:0;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:3px}.markdown-body code:after,.markdown-body code:before{letter-spacing:-.2em;content:"\A0"}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:3px}.markdown-body pre code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body pre code:after,.markdown-body pre code:before{content:normal}.markdown-body .full-commit .btn-outline:not(:disabled):hover{color:#005cc5;border-color:#005cc5}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1}.markdown-body :checked+.radio-label{position:relative;z-index:1;border-color:#0366d6}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.markdown-body hr{border-bottom-color:#eee}.gt-container{font-size:16px}.gt-container,.gt-container *{box-sizing:border-box}.gt-container a{color:#6190e8}.gt-container a:hover{color:#81a6ed;border-color:#81a6ed}.gt-container a.is--active{color:#333;cursor:default!important}.gt-container a.is--active:hover{color:#333}.gt-container .hide{display:none!important}.gt-container .gt-svg{display:inline-block;width:1em;height:1em;vertical-align:sub}.gt-container .gt-svg svg{width:100%;height:100%;fill:#6190e8}.gt-container .gt-ico{display:inline-block}.gt-container .gt-ico-text{margin-left:.3125em}.gt-container .gt-ico-github,.gt-container .gt-ico-github .gt-svg{width:100%;height:100%}.gt-container .gt-ico-github svg{fill:inherit}.gt-container .gt-spinner{position:relative}.gt-container .gt-spinner:before{content:"";box-sizing:border-box;position:absolute;top:3px;width:.75em;height:.75em;margin-top:-.1875em;margin-left:-.375em;border-radius:50%;border:1px solid #fff;border-top-color:#6190e8;-webkit-animation:gt-kf-rotate .6s linear infinite;animation:gt-kf-rotate .6s linear infinite}.gt-container .gt-loader{position:relative;border:1px solid #999;-webkit-animation:gt-kf-rotate 1.5s ease infinite;animation:gt-kf-rotate 1.5s ease infinite;display:inline-block;font-style:normal;width:1.75em;height:1.75em;line-height:1.75em;border-radius:50%}.gt-container .gt-loader:before{content:"";position:absolute;display:block;top:0;left:50%;margin-top:-.1875em;margin-left:-.1875em;width:.375em;height:.375em;background-color:#999;border-radius:50%}.gt-container .gt-avatar{display:inline-block;width:3.125em;height:3.125em}@media (max-width:479px){.gt-container .gt-avatar{width:2em;height:2em}}.gt-container .gt-avatar img{width:100%;height:auto;border-radius:3px}.gt-container .gt-avatar-github{width:3em;height:3em;cursor:pointer}@media (max-width:479px){.gt-container .gt-avatar-github{width:1.875em;height:1.875em}}.gt-container .gt-btn{padding:.75em 1.25em;display:inline-block;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;border:1px solid #6190e8;border-radius:5px;background-color:#6190e8;color:#fff;outline:none;font-size:.75em}.gt-container .gt-btn-text{font-weight:400}.gt-container .gt-btn-loading{position:relative;margin-left:.5em;display:inline-block;width:.75em;height:1em;vertical-align:top}.gt-container .gt-btn.is--disable{cursor:not-allowed;opacity:.5}.gt-container .gt-btn-login{margin-right:0}.gt-container .gt-btn-preview{background-color:#fff;color:#6190e8}.gt-container .gt-btn-preview:hover{background-color:#f2f2f2;border-color:#81a6ed}.gt-container .gt-btn-public:hover{background-color:#81a6ed;border-color:#81a6ed}.gt-container .gt-error{text-align:center;margin:.625em;color:#ff3860}.gt-container .gt-initing{padding:1.25em 0;text-align:center}.gt-container .gt-initing-text{margin:.625em auto;font-size:92%}.gt-container .gt-no-init{padding:1.25em 0;text-align:center}.gt-container .gt-link{border-bottom:1px dotted #6190e8}.gt-container .gt-link-counts,.gt-container .gt-link-project{text-decoration:none}.gt-container .gt-meta{margin:1.25em 0;padding:1em 0;border-bottom:1px solid #e9e9e9;font-size:1em;position:relative;z-index:10}.gt-container .gt-meta:after,.gt-container .gt-meta:before{content:" ";display:table}.gt-container .gt-meta:after{clear:both}.gt-container .gt-counts{margin:0 .625em 0 0}.gt-container .gt-user{float:right;margin:0;font-size:92%}.gt-container .gt-user-pic{width:16px;height:16px;vertical-align:top;margin-right:.5em}.gt-container .gt-user-inner{display:inline-block;cursor:pointer}.gt-container .gt-user .gt-ico{margin:0 0 0 .3125em}.gt-container .gt-user .gt-ico svg{fill:inherit}.gt-container .gt-user .is--poping .gt-ico svg{fill:#6190e8}.gt-container .gt-version{color:#a1a1a1;margin-left:.375em}.gt-container .gt-copyright{margin:0 .9375em .5em;border-top:1px solid #e9e9e9;padding-top:.5em}.gt-container .gt-popup{position:absolute;right:0;top:2.375em;background:#fff;display:inline-block;border:1px solid #e9e9e9;padding:.625em 0;font-size:.875em;letter-spacing:.5px}.gt-container .gt-popup .gt-action{cursor:pointer;display:block;margin:.5em 0;padding:0 1.125em;position:relative;text-decoration:none}.gt-container .gt-popup .gt-action.is--active:before{content:"";width:.25em;height:.25em;background:#6190e8;position:absolute;left:.5em;top:.4375em}.gt-container .gt-header{position:relative;display:flex}.gt-container .gt-header-comment{flex:1;margin-left:1.25em}@media (max-width:479px){.gt-container .gt-header-comment{margin-left:.875em}}.gt-container .gt-header-textarea{padding:.75em;display:block;box-sizing:border-box;width:100%;min-height:5.125em;max-height:15em;border-radius:5px;border:1px solid rgba(0,0,0,.1);font-size:.875em;word-wrap:break-word;resize:vertical;background-color:#f6f6f6;outline:none;transition:all .25s ease}.gt-container .gt-header-textarea:hover{background-color:#fbfbfb}.gt-container .gt-header-preview{padding:.75em;border-radius:5px;border:1px solid rgba(0,0,0,.1);background-color:#f6f6f6}.gt-container .gt-header-controls{position:relative;margin:.75em 0 0}.gt-container .gt-header-controls:after,.gt-container .gt-header-controls:before{content:" ";display:table}.gt-container .gt-header-controls:after{clear:both}@media (max-width:479px){.gt-container .gt-header-controls{margin:0}}.gt-container .gt-header-controls-tip{font-size:.875em;color:#6190e8;text-decoration:none;vertical-align:sub}@media (max-width:479px){.gt-container .gt-header-controls-tip{display:none}}.gt-container .gt-header-controls .gt-btn{float:right;margin-left:1.25em}@media (max-width:479px){.gt-container .gt-header-controls .gt-btn{float:none;width:100%;margin:.75em 0 0}}.gt-container:after{content:"";position:fixed;bottom:100%;left:0;right:0;top:0;opacity:0}.gt-container.gt-input-focused{position:relative}.gt-container.gt-input-focused:after{content:"";position:fixed;bottom:0;left:0;right:0;top:0;background:#000;opacity:.6;transition:opacity .3s,bottom 0s;z-index:9999}.gt-container.gt-input-focused .gt-header-comment{z-index:10000}.gt-container .gt-comments{padding-top:1.25em}.gt-container .gt-comments-null{text-align:center}.gt-container .gt-comments-controls{margin:1.25em 0;text-align:center}.gt-container .gt-comment{position:relative;padding:.625em 0;display:flex}.gt-container .gt-comment-content{flex:1;margin-left:1.25em;padding:.75em 1em;background-color:#f9f9f9;overflow:auto;transition:all .25s ease}.gt-container .gt-comment-content:hover{box-shadow:0 .625em 3.75em 0 #f4f4f4}@media (max-width:479px){.gt-container .gt-comment-content{margin-left:.875em;padding:.625em .75em}}.gt-container .gt-comment-header{margin-bottom:.5em;font-size:.875em;position:relative}.gt-container .gt-comment-block-1{float:right;height:1.375em;width:2em}.gt-container .gt-comment-block-2{float:right;height:1.375em;width:4em}.gt-container .gt-comment-username{font-weight:500;color:#6190e8;text-decoration:none}.gt-container .gt-comment-username:hover{text-decoration:underline}.gt-container .gt-comment-date,.gt-container .gt-comment-text{margin-left:.5em;color:#a1a1a1}.gt-container .gt-comment-edit,.gt-container .gt-comment-like,.gt-container .gt-comment-reply{position:absolute;height:1.375em}.gt-container .gt-comment-edit:hover,.gt-container .gt-comment-like:hover,.gt-container .gt-comment-reply:hover{cursor:pointer}.gt-container .gt-comment-like{top:0;right:2em}.gt-container .gt-comment-edit,.gt-container .gt-comment-reply{top:0;right:0}.gt-container .gt-comment-body{color:#333!important}.gt-container .gt-comment-body .email-hidden-toggle a{display:inline-block;height:12px;padding:0 9px;font-size:12px;font-weight:600;line-height:6px;color:#444d56;text-decoration:none;vertical-align:middle;background:#dfe2e5;border-radius:1px}.gt-container .gt-comment-body .email-hidden-toggle a:hover{background-color:#c6cbd1}.gt-container .gt-comment-body .email-hidden-reply{display:none;white-space:pre-wrap}.gt-container .gt-comment-body .email-hidden-reply .email-signature-reply{padding:0 15px;margin:15px 0;color:#586069;border-left:4px solid #dfe2e5}.gt-container .gt-comment-body .email-hidden-reply.expanded{display:block}.gt-container .gt-comment-admin .gt-comment-content{background-color:#f6f9fe}@-webkit-keyframes gt-kf-rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes gt-kf-rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{377:function(t,s,e){"use strict";e.r(s);var i=e(24),n=Object(i.a)({},(function(){var t=this.$createElement,s=this._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[s("h1",{attrs:{id:"前端开发规范"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#前端开发规范"}},[this._v("#")]),this._v(" 前端开发规范")]),this._v(" "),s("blockquote",[s("p",[this._v("规范的目的是为了编写高质量的代码,让团队成员每天得心情都是愉悦的,大家在一起是快乐的。")])]),this._v(" "),s("blockquote",[s("p",[this._v("记录前端开发中代码规范")])])])}),[],!1,null,null,null);s.default=n.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[10],{390:function(t,s,e){"use strict";e.r(s);var i=e(24),n=Object(i.a)({},(function(){var t=this.$createElement,s=this._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[s("h1",{attrs:{id:"前端开发规范"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#前端开发规范"}},[this._v("#")]),this._v(" 前端开发规范")]),this._v(" "),s("blockquote",[s("p",[this._v("规范的目的是为了编写高质量的代码,让团队成员每天得心情都是愉悦的,大家在一起是快乐的。")])]),this._v(" "),s("blockquote",[s("p",[this._v("记录前端开发中代码规范")])])])}),[],!1,null,null,null);s.default=n.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{380:function(s,n,a){"use strict";a.r(n);var t=a(24),e=Object(t.a)({},(function(){var s=this,n=s.$createElement,a=s._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"css-规范"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#css-规范"}},[s._v("#")]),s._v(" CSS 规范")]),s._v(" "),a("blockquote",[a("p",[s._v("element-ui 里面的index.css 改过一些样式 所以新拉的项目要记得覆盖index.css")])]),s._v(" "),a("h2",{attrs:{id:"_1-css的书写顺序"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_1-css的书写顺序"}},[s._v("#")]),s._v(" 1.CSS的书写顺序")]),s._v(" "),a("p",[s._v("结构性属性:\ndisplay,position, left, top, right float,margin, padding....\n表现性属性:\nbackground, border font...")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("\x3c!-- display 放在最前面 --\x3e\ndisplay:block;\n\x3c!-- position --\x3e\nposition: relative;\n\x3c!-- position 进行定位的属性 --\x3e\ntop: 100px;\n\x3c!-- 宽高 --\x3e\nwidth: 100px;\nline-height: 20px;\n\x3c!-- margin padding --\x3e\nmargin: 10px;\npadding: 10px;\n\x3c!-- font --\x3e\nfont-size: 20px;\nfont-weight: 700;\n\x3c!-- border --\x3e\nborder: 1px solid red;\nborder-radius: 4px;\n\x3c!-- background --\x3e\nbackground-color: pink;\n\x3c!-- z-index --\x3e\nz-index: 10;\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br")])]),a("h2",{attrs:{id:"_2-bem-命名"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_2-bem-命名"}},[s._v("#")]),s._v(" 2.BEM 命名")]),s._v(" "),a("p",[s._v("BEM代表块(Block),元素(Element),修饰符(Modifier)。\n"),a("a",{attrs:{href:"https://blog.csdn.net/love_lovelove/article/details/79462952",target:"_blank",rel:"noopener noreferrer"}},[s._v("BEM介绍"),a("OutboundLink")],1),s._v("\n组件库的通用组件强制要求使用BEM")]),s._v(" "),a("h2",{attrs:{id:"_3-css规范"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_3-css规范"}},[s._v("#")]),s._v(" 3.css规范")]),s._v(" "),a("ol",[a("li",[s._v("id 驼峰 PageOne")]),s._v(" "),a("li",[s._v('class 以"-"间隔 page-one')]),s._v(" "),a("li",[s._v("尽量避免把标签作为选择器")]),s._v(" "),a("li",[s._v("选择器尽可能的精确,避免出现中文拼音类名")]),s._v(" "),a("li",[s._v("减少使用ID作为选择器")]),s._v(" "),a("li",[s._v("避免使用!important")]),s._v(" "),a("li",[s._v("在css中注释要表明,分模块来标明,比如头部用/"),a("em",[a("strong",[a("strong",[s._v("头部start")])])]),s._v("/和/"),a("em",[a("strong",[a("strong",[s._v("头部end")])])]),s._v("/,目的是便于修改样式时进行查找。同样的js 也要以事件源发生的事件进行命名。")]),s._v(" "),a("li",[s._v("禁止在html文件使用"),a("code",[s._v("<style></style>")])]),s._v(" "),a("li",[s._v("名称首单词要与插件或者模块相关,例如时间插件:.date-(单词)")]),s._v(" "),a("li",[s._v("缩写属性")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("//不推荐\nfont-family: palatino, georgia, serif;\nfont-size: 100%;\nline-height: 1.6;\n//推荐\nfont: 100%/1.6 palatino, georgia, serif;\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br")])]),a("ol",{attrs:{start:"11"}},[a("li",[s._v("兼容多个浏览器时,将标准属性写在底部。\n-moz-border-radius: 15px; /* Firefox "),a("em",[s._v("/\n-webkit-border-radius: 15px; /")]),s._v(" Safari和Chrome "),a("em",[s._v("/\nborder-radius: 15px; /")]),s._v(" Opera 10.5+, 以及使用了IE-CSS3的IE浏览器 *//标准属性")]),s._v(" "),a("li",[s._v("css文件 一个样式一行")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("// 不推荐\n.gic-btn {font-size:15px;}\n// 推荐\n.gic-btn\n{\n\tfont-size:15px;\n}\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br")])]),a("ol",{attrs:{start:"12"}},[a("li",[s._v("css每一个样式都需要“;”结尾,后期压缩css需要断句,例如:")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v(".btn \n{\n\tfont-size:14px;//结尾\n}\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br")])]),a("ol",{attrs:{start:"13"}},[a("li",[s._v("尽量css 路径,但路径不宜过长 3层内为宜")])]),s._v(" "),a("h2",{attrs:{id:"html文件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#html文件"}},[s._v("#")]),s._v(" html文件")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v('<form class="gic-form">\n\t<dl class="gic-group">\n\t\t<dd class="gic-input">\n\t\t\t<label>\n\t\t\t\t<span>名称:</span>\n\t\t\t\t<span><input type="text" value="" /></input></span>\n\t\t\t</lable>\n\t\t</dd>\n\t</dl>\n</form>\n')])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br")])]),a("h2",{attrs:{id:"css文件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#css文件"}},[s._v("#")]),s._v(" css文件")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("/**表单模块**/\n.gic-form\n{\n\tdisplay:block;\n\tfont-size:16px;\n}\n.gic-form .gic-input \n{\n\tdisplay:block;\n}\n.gic-form .gic-input span\n{\n\t\n}\n/**表单模块end**/\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br")])])])}),[],!1,null,null,null);n.default=e.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[11],{378:function(s,n,a){"use strict";a.r(n);var t=a(24),e=Object(t.a)({},(function(){var s=this,n=s.$createElement,a=s._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"css-规范"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#css-规范"}},[s._v("#")]),s._v(" CSS 规范")]),s._v(" "),a("blockquote",[a("p",[s._v("element-ui 里面的index.css 改过一些样式 所以新拉的项目要记得覆盖index.css")])]),s._v(" "),a("h2",{attrs:{id:"_1-css的书写顺序"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_1-css的书写顺序"}},[s._v("#")]),s._v(" 1.CSS的书写顺序")]),s._v(" "),a("p",[s._v("结构性属性:\ndisplay,position, left, top, right float,margin, padding....\n表现性属性:\nbackground, border font...")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("\x3c!-- display 放在最前面 --\x3e\ndisplay:block;\n\x3c!-- position --\x3e\nposition: relative;\n\x3c!-- position 进行定位的属性 --\x3e\ntop: 100px;\n\x3c!-- 宽高 --\x3e\nwidth: 100px;\nline-height: 20px;\n\x3c!-- margin padding --\x3e\nmargin: 10px;\npadding: 10px;\n\x3c!-- font --\x3e\nfont-size: 20px;\nfont-weight: 700;\n\x3c!-- border --\x3e\nborder: 1px solid red;\nborder-radius: 4px;\n\x3c!-- background --\x3e\nbackground-color: pink;\n\x3c!-- z-index --\x3e\nz-index: 10;\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br")])]),a("h2",{attrs:{id:"_2-bem-命名"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_2-bem-命名"}},[s._v("#")]),s._v(" 2.BEM 命名")]),s._v(" "),a("p",[s._v("BEM代表块(Block),元素(Element),修饰符(Modifier)。\n"),a("a",{attrs:{href:"https://blog.csdn.net/love_lovelove/article/details/79462952",target:"_blank",rel:"noopener noreferrer"}},[s._v("BEM介绍"),a("OutboundLink")],1),s._v("\n组件库的通用组件强制要求使用BEM")]),s._v(" "),a("h2",{attrs:{id:"_3-css规范"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_3-css规范"}},[s._v("#")]),s._v(" 3.css规范")]),s._v(" "),a("ol",[a("li",[s._v("id 驼峰 PageOne")]),s._v(" "),a("li",[s._v('class 以"-"间隔 page-one')]),s._v(" "),a("li",[s._v("尽量避免把标签作为选择器")]),s._v(" "),a("li",[s._v("选择器尽可能的精确,避免出现中文拼音类名")]),s._v(" "),a("li",[s._v("减少使用ID作为选择器")]),s._v(" "),a("li",[s._v("避免使用!important")]),s._v(" "),a("li",[s._v("在css中注释要表明,分模块来标明,比如头部用/"),a("em",[a("strong",[a("strong",[s._v("头部start")])])]),s._v("/和/"),a("em",[a("strong",[a("strong",[s._v("头部end")])])]),s._v("/,目的是便于修改样式时进行查找。同样的js 也要以事件源发生的事件进行命名。")]),s._v(" "),a("li",[s._v("禁止在html文件使用"),a("code",[s._v("<style></style>")])]),s._v(" "),a("li",[s._v("名称首单词要与插件或者模块相关,例如时间插件:.date-(单词)")]),s._v(" "),a("li",[s._v("缩写属性")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("//不推荐\nfont-family: palatino, georgia, serif;\nfont-size: 100%;\nline-height: 1.6;\n//推荐\nfont: 100%/1.6 palatino, georgia, serif;\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br")])]),a("ol",{attrs:{start:"11"}},[a("li",[s._v("兼容多个浏览器时,将标准属性写在底部。\n-moz-border-radius: 15px; /* Firefox "),a("em",[s._v("/\n-webkit-border-radius: 15px; /")]),s._v(" Safari和Chrome "),a("em",[s._v("/\nborder-radius: 15px; /")]),s._v(" Opera 10.5+, 以及使用了IE-CSS3的IE浏览器 *//标准属性")]),s._v(" "),a("li",[s._v("css文件 一个样式一行")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("// 不推荐\n.gic-btn {font-size:15px;}\n// 推荐\n.gic-btn\n{\n\tfont-size:15px;\n}\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br")])]),a("ol",{attrs:{start:"12"}},[a("li",[s._v("css每一个样式都需要“;”结尾,后期压缩css需要断句,例如:")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v(".btn \n{\n\tfont-size:14px;//结尾\n}\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br")])]),a("ol",{attrs:{start:"13"}},[a("li",[s._v("尽量css 路径,但路径不宜过长 3层内为宜")])]),s._v(" "),a("h2",{attrs:{id:"html文件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#html文件"}},[s._v("#")]),s._v(" html文件")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v('<form class="gic-form">\n\t<dl class="gic-group">\n\t\t<dd class="gic-input">\n\t\t\t<label>\n\t\t\t\t<span>名称:</span>\n\t\t\t\t<span><input type="text" value="" /></input></span>\n\t\t\t</lable>\n\t\t</dd>\n\t</dl>\n</form>\n')])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br")])]),a("h2",{attrs:{id:"css文件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#css文件"}},[s._v("#")]),s._v(" css文件")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("/**表单模块**/\n.gic-form\n{\n\tdisplay:block;\n\tfont-size:16px;\n}\n.gic-form .gic-input \n{\n\tdisplay:block;\n}\n.gic-form .gic-input span\n{\n\t\n}\n/**表单模块end**/\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br")])])])}),[],!1,null,null,null);n.default=e.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{378:function(s,t,a){"use strict";a.r(t);var e=a(24),n=Object(e.a)({},(function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"git-分支管理"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#git-分支管理"}},[s._v("#")]),s._v(" git 分支管理")]),s._v(" "),a("h2",{attrs:{id:"git-分支及操作规范"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#git-分支及操作规范"}},[s._v("#")]),s._v(" git 分支及操作规范")]),s._v(" "),a("ul",[a("li",[s._v("master:主分支,稳定分支,必须保证随时可用于发布")]),s._v(" "),a("li",[s._v("release:预发布分支,如果有此分支,需将分支合并至release解决了冲突后,再将release合到master")]),s._v(" "),a("li",[s._v("dev:开发分支,仅用来发布更新测试环境,需定期将master分支合并至此")]),s._v(" "),a("li",[s._v("feature/xxx(迭代结束或上线时间,如200901,20年9月1日):功能开发分支,须从master分支上开出此分支,开发期间需定期合并master至此,测试时合并至dev更新到测试环境,测试完成后将该分支合并至master,然后删除分支")]),s._v(" "),a("li",[s._v("bugfix:线上bug修复分支,每次修改前需将master合并至此,测试时合并至dev测试,测试完成后再合并至master发布上线")])]),s._v(" "),a("h2",{attrs:{id:"git-log-规范"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#git-log-规范"}},[s._v("#")]),s._v(" git log 规范")]),s._v(" "),a("p",[s._v("建议:")]),s._v(" "),a("ul",[a("li",[s._v("格式:")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("- type: <subject>\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("ul",[a("li",[s._v("type: 说明本次 "),a("code",[s._v("commit")]),s._v(" 的类别")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("add(feat): 增加\n\nupdate: 更新\n\nfix: 修复bug\n\nstyle: 样式调整\n\ntest: 增加测试\n\ndocs: 编写文档\n\nchore:构建过程或辅助工具的变动\n\nrefactor:重构(即不是新增功能,也不是修改bug的代码变动)\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br")])]),a("ul",[a("li",[s._v("subject: "),a("code",[s._v("commit")]),s._v(" 的简短描述")])])])}),[],!1,null,null,null);t.default=n.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[13],{377:function(s,t,a){"use strict";a.r(t);var e=a(24),n=Object(e.a)({},(function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"git-分支管理"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#git-分支管理"}},[s._v("#")]),s._v(" git 分支管理")]),s._v(" "),a("h2",{attrs:{id:"git-分支及操作规范"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#git-分支及操作规范"}},[s._v("#")]),s._v(" git 分支及操作规范")]),s._v(" "),a("ul",[a("li",[s._v("master:主分支,稳定分支,必须保证随时可用于发布")]),s._v(" "),a("li",[s._v("release:预发布分支,如果有此分支,需将分支合并至release解决了冲突后,再将release合到master")]),s._v(" "),a("li",[s._v("dev:开发分支,仅用来发布更新测试环境,需定期将master分支合并至此")]),s._v(" "),a("li",[s._v("feature/xxx(迭代结束或上线时间,如200901,20年9月1日):功能开发分支,须从master分支上开出此分支,开发期间需定期合并master至此,测试时合并至dev更新到测试环境,测试完成后将该分支合并至master,然后删除分支")]),s._v(" "),a("li",[s._v("bugfix:线上bug修复分支,每次修改前需将master合并至此,测试时合并至dev测试,测试完成后再合并至master发布上线")])]),s._v(" "),a("h2",{attrs:{id:"git-log-规范"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#git-log-规范"}},[s._v("#")]),s._v(" git log 规范")]),s._v(" "),a("p",[s._v("建议:")]),s._v(" "),a("ul",[a("li",[s._v("格式:")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("- type: <subject>\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("ul",[a("li",[s._v("type: 说明本次 "),a("code",[s._v("commit")]),s._v(" 的类别")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("add(feat): 增加\n\nupdate: 更新\n\nfix: 修复bug\n\nstyle: 样式调整\n\ntest: 增加测试\n\ndocs: 编写文档\n\nchore:构建过程或辅助工具的变动\n\nrefactor:重构(即不是新增功能,也不是修改bug的代码变动)\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br")])]),a("ul",[a("li",[s._v("subject: "),a("code",[s._v("commit")]),s._v(" 的简短描述")])])])}),[],!1,null,null,null);t.default=n.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{384:function(s,n,a){"use strict";a.r(n);var e=a(24),t=Object(e.a)({},(function(){var s=this,n=s.$createElement,a=s._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"mpvue-使用"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mpvue-使用"}},[s._v("#")]),s._v(" mpvue 使用")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("app.vue & main.js\n┌---------┐ ┌----------┐ ┌---------┐\n| app.vue ├--┐ | app.js | | app.json|\n└---------┘ | └----------┘ └---------┘\n ├----------------------\x3e\n┌---------┐ | webpack ┌----------┐\n| main.js ├--┘ | app.wxss |\n└---------┘ └----------┘\n\n\npage.vue & main.js\n ┌------------------------------┐\n┌-----┴-----┐ ┌-------┐ |\n| page.vue ├----\x3e | .sass | |\n└---┬-┬-┬---┘ └-------┘ |\n | | | |\n | | | ┌------------┐ |\n | | └---\x3e | common.css | | ┌-------┐ ┌-------┐\n | | └-------┬----┘ v | .js | | .json |\n | | | ┌---------┐ └-------┘ └-------┘\n | | ┌------┐ | | main.js ├-----------\x3e\n | └--\x3e| .js | v └---------┘ webpack ┌-------┐ ┌-------┐\n | └------┘ ┌-------┐ | .wxml | | .wxss |\n | ┌------┐ | .font | └-------┘ └-------┘\n └----\x3e| .jpg | └-------┘\n └------┘\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br"),a("span",{staticClass:"line-number"},[s._v("23")]),a("br"),a("span",{staticClass:"line-number"},[s._v("24")]),a("br"),a("span",{staticClass:"line-number"},[s._v("25")]),a("br"),a("span",{staticClass:"line-number"},[s._v("26")]),a("br")])]),a("blockquote",[a("p",[s._v("除了 Vue 本身的生命周期外,mpvue 还兼容了小程序生命周期,这部分生命周期钩子的来源于微信小程序的 Page, "),a("strong",[s._v("除特殊情况外,不建议使用小程序的生命周期钩子")]),s._v("。")])]),s._v(" "),a("ul",[a("li",[s._v("app 部分:")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("onLaunch,初始化\nonShow,当小程序启动,或从后台进入前台显示\nonHide,当小程序从前台进入后台\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br")])]),a("ul",[a("li",[s._v("page 部分:")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("onLoad,监听页面加载\nonShow,监听页面显示\nonReady,监听页面初次渲染完成\nonHide,监听页面隐藏\nonUnload,监听页面卸载\nonPullDownRefresh,监听用户下拉动作\nonReachBottom,页面上拉触底事件的处理函数\nonShareAppMessage,用户点击右上角分享\nonPageScroll,页面滚动\nonTabItemTap, 当前是 tab 页时,点击 tab 时触发 (mpvue 0.0.16 支持)\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br")])]),a("ul",[a("li",[a("p",[s._v("不支持在组件上使用 Class 与 Style 绑定")])]),s._v(" "),a("li",[a("p",[s._v("嵌套列表渲染,必须指定不同的索引!")])]),s._v(" "),a("li",[a("p",[s._v("原生事件也可以使用例如 "),a("code",[s._v("bindregionchange")]),s._v(" 事件直接在 "),a("code",[s._v("dom")]),s._v(" 上将 "),a("code",[s._v("bind")]),s._v(" 改为 "),a("code",[s._v("@")]),s._v(", "),a("code",[s._v("@regionchange")]),s._v(";")])]),s._v(" "),a("li",[a("p",[s._v("如何获取小程序在 page onLoad 时候传递的 options")]),s._v(" "),a("ul",[a("li",[s._v("在所有 页面 的组件内可以通过 "),a("code",[s._v("this.$root.$mp.query")]),s._v("进行获取")])])]),s._v(" "),a("li",[a("p",[s._v("如何获取小程序在 app onLaunch/onShow 时候传递的 options")]),s._v(" "),a("ul",[a("li",[s._v("在所有的组件内可以通过 "),a("code",[s._v("this.$root.$mp.appOptions")]),s._v(" 进行获取。")])])]),s._v(" "),a("li",[a("p",[s._v("如何捕获 app 的 onError")]),s._v(" "),a("ul",[a("li",[s._v("在 app 的根组件上添加名为 onError 的回调函数"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("// 只有 app 才会有 onLaunch 的生命周期\n onLaunch () {\n // ...\n },\n\n // 捕获 app error\n onError (err) {\n console.log(err)\n }\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br")])])])])]),s._v(" "),a("li",[a("p",[a("code",[s._v("v-html")]),s._v(" 指令不能用")])]),s._v(" "),a("li",[a("p",[s._v("不支持部分复杂的 JavaScript 渲染表达式")])]),s._v(" "),a("li",[a("p",[s._v("不支持过滤器")])]),s._v(" "),a("li",[a("p",[s._v("不支持在 template 内使用 methods 中的函数")])]),s._v(" "),a("li",[a("p",[s._v("不支持 classObject 和 styleObject 语法")])]),s._v(" "),a("li",[a("p",[s._v("mpvue 可以支持小程序的原生组件,比如: "),a("code",[s._v("picker,map")]),s._v(" 等,需要注意的是原生组件上的事件绑定,需要以 vue 的事件绑定语法来绑定,如 "),a("code",[s._v('bindchange="eventName"')]),s._v("事件,需要写成 "),a("code",[s._v('@change="eventName"')])])]),s._v(" "),a("li",[a("p",[s._v("合理使用双向绑定 mpvue 建议使用 "),a("code",[s._v("v-model.lazy")]),s._v(" 绑定方式以优化性能")])]),s._v(" "),a("li",[a("p",[s._v("新增的页面需要重新 npm run dev 来进行编译")])]),s._v(" "),a("li",[a("p",[s._v("在触发事件后如果要获取对应的值,需要写成这样: e.mp.detail.value")])])]),s._v(" "),a("h2",{attrs:{id:"install"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#install"}},[s._v("#")]),s._v(" install")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("npm i -g @vue/cli-init\n\nvue init mpvue/mpvue-quickstart my-wx\n\ncd my-wx\n \nnpm install\n\nnpm run dev\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br")])]),a("h2",{attrs:{id:"全局-api"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#全局-api"}},[s._v("#")]),s._v(" 全局 API")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v(" // 调用API从本地缓存中获取数据\n /*\n * 平台 api 差异的处理方式: api 方法统一挂载到 mpvue 名称空间, 平台判断通过 mpvuePlatform 特征字符串\n * 微信:mpvue === wx, mpvuePlatform === 'wx'\n * 头条:mpvue === tt, mpvuePlatform === 'tt'\n * 百度:mpvue === swan, mpvuePlatform === 'swan'\n * 支付宝(蚂蚁):mpvue === my, mpvuePlatform === 'my'\n */\n\n在 mpvue 中调用 wx 的API\n\n如:\nwx.canIUse('button.open-type.getUserInfo') ==> mpvue.canIUse('button.open-type.getUserInfo')\n\n\n\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br")])]),a("h2",{attrs:{id:"获取手机号"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#获取手机号"}},[s._v("#")]),s._v(" 获取手机号")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v('<van-button type="primary" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">获取手机号</van-button>\n\ngetPhoneNumber (e) {\n mpvue.checkSession({\n success () {\n // session_key 未过期,并且在本生命周期一直有效\n console.log(e)\n },\n fail () {\n // session_key 已经失效,需要重新执行登录流程\n mpvue.login() // 重新登录\n }\n })\n }\n')])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br")])]),a("blockquote",[a("p",[s._v("注意:"),a("br"),s._v("\n在回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。"),a("br"),s._v("\n建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录态")])]),s._v(" "),a("h2",{attrs:{id:"mpvue引入vant-weapp样式问题"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mpvue引入vant-weapp样式问题"}},[s._v("#")]),s._v(" mpvue引入vant Weapp样式问题")]),s._v(" "),a("blockquote",[a("p",[s._v("没有把原来的px转换成rpx,应该是px2rpx插件的配置有问题")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("最后用transform在copy的时候解决掉\nvar Px2rpx = require('px2rpx');\nvar px2rpxIns = new Px2rpx({ rpxUnit: 0.5 });\n\n// copy custom static assets\nnew CopyWebpackPlugin([\n {\n from: path.resolve(__dirname, '../static'),\n to: config.build.assetsSubDirectory,\n transform(content, path) {\n if (path.endsWith('.wxss')) {\n return px2rpxIns.generaterpx(content.toString(), 1)\n } else {\n return content\n }\n },\n ignore: ['.*']\n }\n]),\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br")])]),a("h2",{attrs:{id:"mpvue-配置less"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mpvue-配置less"}},[s._v("#")]),s._v(" mpvue 配置less")]),s._v(" "),a("blockquote",[a("p",[s._v("提示报错信息UnhandledPromiseRejectionWarning: TypeError: loaderContext.getResolve is not a function")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v('# 卸载less-loader\n# 重新安装指定版本\n因为当时 mpvue 中使用的webpack 是 "webpack": "^3.11.0", 最开始安装 "less-loader": "^7.2.1",版本比较高\n\nnpm i --save less-loader@4.1.0\n\n解决\n')])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br")])]),a("h2",{attrs:{id:"mpvue-中使用echarts"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mpvue-中使用echarts"}},[s._v("#")]),s._v(" mpvue 中使用ECharts")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("npm i mpvue-echarts echarts --save\n\n\n<template>\n <div class=\"echarts-wrap\">\n <mpvue-echarts :echarts=\"echarts\" :onInit=\"onInit\" canvasId=\"demo-canvas\" />\n </div>\n</template>\n\n<script>\nimport * as echarts from 'echarts/dist/echarts.min'\nimport mpvueEcharts from 'mpvue-echarts'\n\nlet chart = null;\n\nfunction initChart(canvas, width, height) {\n chart = echarts.init(canvas, null, {\n width: width,\n height: height\n });\n canvas.setChart(chart);\n\n var option = { // ECharts 配置项\n xAxis: {\n type: 'category',\n data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']\n },\n yAxis: {\n x: 'center',\n type: 'value',\n splitLine: {\n lineStyle: {\n type: 'dashed'\n }\n }\n },\n series: [{\n name: 'A',\n type: 'line',\n smooth: true,\n data: [18, 36, 65, 30, 78, 40, 33]\n }, {\n name: 'B',\n type: 'line',\n smooth: true,\n data: [12, 50, 51, 35, 70, 30, 20]\n }]\n };\n\n chart.setOption(option);\n\n return chart; // 返回 chart 后可以自动绑定触摸操作\n}\n\nexport default {\n components: {\n mpvueEcharts\n },\n data () {\n return {\n echarts,\n onInit: initChart\n }\n }\n}\n<\/script>\n\n<style scoped>\n.echarts-wrap {\n width: 100%;\n height: 300px;\n}\n</style>\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br"),a("span",{staticClass:"line-number"},[s._v("23")]),a("br"),a("span",{staticClass:"line-number"},[s._v("24")]),a("br"),a("span",{staticClass:"line-number"},[s._v("25")]),a("br"),a("span",{staticClass:"line-number"},[s._v("26")]),a("br"),a("span",{staticClass:"line-number"},[s._v("27")]),a("br"),a("span",{staticClass:"line-number"},[s._v("28")]),a("br"),a("span",{staticClass:"line-number"},[s._v("29")]),a("br"),a("span",{staticClass:"line-number"},[s._v("30")]),a("br"),a("span",{staticClass:"line-number"},[s._v("31")]),a("br"),a("span",{staticClass:"line-number"},[s._v("32")]),a("br"),a("span",{staticClass:"line-number"},[s._v("33")]),a("br"),a("span",{staticClass:"line-number"},[s._v("34")]),a("br"),a("span",{staticClass:"line-number"},[s._v("35")]),a("br"),a("span",{staticClass:"line-number"},[s._v("36")]),a("br"),a("span",{staticClass:"line-number"},[s._v("37")]),a("br"),a("span",{staticClass:"line-number"},[s._v("38")]),a("br"),a("span",{staticClass:"line-number"},[s._v("39")]),a("br"),a("span",{staticClass:"line-number"},[s._v("40")]),a("br"),a("span",{staticClass:"line-number"},[s._v("41")]),a("br"),a("span",{staticClass:"line-number"},[s._v("42")]),a("br"),a("span",{staticClass:"line-number"},[s._v("43")]),a("br"),a("span",{staticClass:"line-number"},[s._v("44")]),a("br"),a("span",{staticClass:"line-number"},[s._v("45")]),a("br"),a("span",{staticClass:"line-number"},[s._v("46")]),a("br"),a("span",{staticClass:"line-number"},[s._v("47")]),a("br"),a("span",{staticClass:"line-number"},[s._v("48")]),a("br"),a("span",{staticClass:"line-number"},[s._v("49")]),a("br"),a("span",{staticClass:"line-number"},[s._v("50")]),a("br"),a("span",{staticClass:"line-number"},[s._v("51")]),a("br"),a("span",{staticClass:"line-number"},[s._v("52")]),a("br"),a("span",{staticClass:"line-number"},[s._v("53")]),a("br"),a("span",{staticClass:"line-number"},[s._v("54")]),a("br"),a("span",{staticClass:"line-number"},[s._v("55")]),a("br"),a("span",{staticClass:"line-number"},[s._v("56")]),a("br"),a("span",{staticClass:"line-number"},[s._v("57")]),a("br"),a("span",{staticClass:"line-number"},[s._v("58")]),a("br"),a("span",{staticClass:"line-number"},[s._v("59")]),a("br"),a("span",{staticClass:"line-number"},[s._v("60")]),a("br"),a("span",{staticClass:"line-number"},[s._v("61")]),a("br"),a("span",{staticClass:"line-number"},[s._v("62")]),a("br"),a("span",{staticClass:"line-number"},[s._v("63")]),a("br"),a("span",{staticClass:"line-number"},[s._v("64")]),a("br"),a("span",{staticClass:"line-number"},[s._v("65")]),a("br"),a("span",{staticClass:"line-number"},[s._v("66")]),a("br"),a("span",{staticClass:"line-number"},[s._v("67")]),a("br"),a("span",{staticClass:"line-number"},[s._v("68")]),a("br"),a("span",{staticClass:"line-number"},[s._v("69")]),a("br"),a("span",{staticClass:"line-number"},[s._v("70")]),a("br"),a("span",{staticClass:"line-number"},[s._v("71")]),a("br"),a("span",{staticClass:"line-number"},[s._v("72")]),a("br"),a("span",{staticClass:"line-number"},[s._v("73")]),a("br")])]),a("h2",{attrs:{id:"第三方的网络请求库-fly"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#第三方的网络请求库-fly"}},[s._v("#")]),s._v(" 第三方的网络请求库 fly")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("npm install flyio || cnpm install flyio\n\n# 引入\n\nimport Fly from \"flyio/dist/npm/wx\";\n\n# 1. 创建一个 fly 实例\n\nlet fly = new Fly;\n\n# 2. 发起GET请求\n\n// 通过用户id获取信息,参数直接写在url中\nfly.get('/user?id=133')\n .then(function (response) {\n console.log(response);\n })\n .catch(function (error) {\n console.log(error);\n });\n\n// query参数通过对象传递\nfly.get('/user', {\n id: 133\n })\n .then(function (response) {\n console.log(response);\n })\n .catch(function (error) {\n console.log(error);\n });\n \n \n# 3. 发起POST请求\n\nfly.post('/user', {\n name: 'Doris',\n age: 24\n phone:\"18513222525\"\n })\n .then(function (response) {\n console.log(response);\n })\n .catch(function (error) {\n console.log(error);\n });\n \n \n# 4. 发起多个并发请求\n\nfunction getUserRecords() {\n return fly.get('/user/133/records');\n}\n\nfunction getUserProjects() {\n return fly.get('/user/133/projects');\n}\n\nfly.all([getUserRecords(), getUserProjects()])\n .then(fly.spread(function (records, projects) {\n //两个请求都完成\n }))\n .catch(function(error){\n console.log(error)\n })\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br"),a("span",{staticClass:"line-number"},[s._v("23")]),a("br"),a("span",{staticClass:"line-number"},[s._v("24")]),a("br"),a("span",{staticClass:"line-number"},[s._v("25")]),a("br"),a("span",{staticClass:"line-number"},[s._v("26")]),a("br"),a("span",{staticClass:"line-number"},[s._v("27")]),a("br"),a("span",{staticClass:"line-number"},[s._v("28")]),a("br"),a("span",{staticClass:"line-number"},[s._v("29")]),a("br"),a("span",{staticClass:"line-number"},[s._v("30")]),a("br"),a("span",{staticClass:"line-number"},[s._v("31")]),a("br"),a("span",{staticClass:"line-number"},[s._v("32")]),a("br"),a("span",{staticClass:"line-number"},[s._v("33")]),a("br"),a("span",{staticClass:"line-number"},[s._v("34")]),a("br"),a("span",{staticClass:"line-number"},[s._v("35")]),a("br"),a("span",{staticClass:"line-number"},[s._v("36")]),a("br"),a("span",{staticClass:"line-number"},[s._v("37")]),a("br"),a("span",{staticClass:"line-number"},[s._v("38")]),a("br"),a("span",{staticClass:"line-number"},[s._v("39")]),a("br"),a("span",{staticClass:"line-number"},[s._v("40")]),a("br"),a("span",{staticClass:"line-number"},[s._v("41")]),a("br"),a("span",{staticClass:"line-number"},[s._v("42")]),a("br"),a("span",{staticClass:"line-number"},[s._v("43")]),a("br"),a("span",{staticClass:"line-number"},[s._v("44")]),a("br"),a("span",{staticClass:"line-number"},[s._v("45")]),a("br"),a("span",{staticClass:"line-number"},[s._v("46")]),a("br"),a("span",{staticClass:"line-number"},[s._v("47")]),a("br"),a("span",{staticClass:"line-number"},[s._v("48")]),a("br"),a("span",{staticClass:"line-number"},[s._v("49")]),a("br"),a("span",{staticClass:"line-number"},[s._v("50")]),a("br"),a("span",{staticClass:"line-number"},[s._v("51")]),a("br"),a("span",{staticClass:"line-number"},[s._v("52")]),a("br"),a("span",{staticClass:"line-number"},[s._v("53")]),a("br"),a("span",{staticClass:"line-number"},[s._v("54")]),a("br"),a("span",{staticClass:"line-number"},[s._v("55")]),a("br"),a("span",{staticClass:"line-number"},[s._v("56")]),a("br"),a("span",{staticClass:"line-number"},[s._v("57")]),a("br"),a("span",{staticClass:"line-number"},[s._v("58")]),a("br"),a("span",{staticClass:"line-number"},[s._v("59")]),a("br"),a("span",{staticClass:"line-number"},[s._v("60")]),a("br"),a("span",{staticClass:"line-number"},[s._v("61")]),a("br"),a("span",{staticClass:"line-number"},[s._v("62")]),a("br"),a("span",{staticClass:"line-number"},[s._v("63")]),a("br"),a("span",{staticClass:"line-number"},[s._v("64")]),a("br"),a("span",{staticClass:"line-number"},[s._v("65")]),a("br")])]),a("h2",{attrs:{id:"图片预加载"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#图片预加载"}},[s._v("#")]),s._v(" 图片预加载")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("npm install mpvue-img-load\n\n<div>\n <image v-if=\"imgUrl\" :src=\"imgUrl\" />\n <img-load ref=\"imgLoad\"></img-load>\n</div>\n import imgLoad from 'mpvue-img-load'\n\n export default {\n data () {\n return {\n imgUrl: ''\n }\n },\n components: {\n imgLoad\n },\n methods: {\n loadImage () {\n // 加载缩略图 80x50 3KB\n this.imgUrl = 'http://storage.360buyimg.com/mtd/home/lion1483683731203.jpg'\n // 原图 3200x2000 1.6MB\n const imgUrlOriginal = 'http://storage.360buyimg.com/mtd/home/lion1483624894660.jpg'\n // 同时对原图进行预加载,加载成功后再替换\n this.$refs.imgLoad.load(imgUrlOriginal, (err, data) => {\n if (!err) {\n this.imgUrl = data.src\n }\n })\n }\n },\n mounted () {\n this.loadImage()\n }\n }\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br"),a("span",{staticClass:"line-number"},[s._v("23")]),a("br"),a("span",{staticClass:"line-number"},[s._v("24")]),a("br"),a("span",{staticClass:"line-number"},[s._v("25")]),a("br"),a("span",{staticClass:"line-number"},[s._v("26")]),a("br"),a("span",{staticClass:"line-number"},[s._v("27")]),a("br"),a("span",{staticClass:"line-number"},[s._v("28")]),a("br"),a("span",{staticClass:"line-number"},[s._v("29")]),a("br"),a("span",{staticClass:"line-number"},[s._v("30")]),a("br"),a("span",{staticClass:"line-number"},[s._v("31")]),a("br"),a("span",{staticClass:"line-number"},[s._v("32")]),a("br"),a("span",{staticClass:"line-number"},[s._v("33")]),a("br"),a("span",{staticClass:"line-number"},[s._v("34")]),a("br"),a("span",{staticClass:"line-number"},[s._v("35")]),a("br")])]),a("h2",{attrs:{id:"参考"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#参考"}},[s._v("#")]),s._v(" 参考")]),s._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"http://mpvue.com/mpvue/quickstart.html",target:"_blank",rel:"noopener noreferrer"}},[s._v("quickstart"),a("OutboundLink")],1)]),s._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/Rychou/mpvue-vant",target:"_blank",rel:"noopener noreferrer"}},[s._v("Rychou/mpvue-vant"),a("OutboundLink")],1)]),s._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/F-loat/mpvue-echarts",target:"_blank",rel:"noopener noreferrer"}},[s._v("F-loat/mpvue-echarts"),a("OutboundLink")],1)]),s._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/mpvue/awesome-mpvue",target:"_blank",rel:"noopener noreferrer"}},[s._v("mpvue/awesome-mpvue"),a("OutboundLink")],1)]),s._v(" "),a("li",[a("a",{attrs:{href:"https://kuangpf.com/mpvue-weui/#/?id=mpvue-weui",target:"_blank",rel:"noopener noreferrer"}},[s._v("mpvue-weui"),a("OutboundLink")],1),s._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://kuangpf.com/mpvue-weui/#/reasons",target:"_blank",rel:"noopener noreferrer"}},[s._v("mpvue-weui/#/reasons"),a("OutboundLink")],1)])])]),s._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/wendux/fly",target:"_blank",rel:"noopener noreferrer"}},[s._v("wendux/fly"),a("OutboundLink")],1)])])])}),[],!1,null,null,null);n.default=t.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[14],{379:function(s,n,a){"use strict";a.r(n);var e=a(24),t=Object(e.a)({},(function(){var s=this,n=s.$createElement,a=s._self._c||n;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"mpvue-使用"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mpvue-使用"}},[s._v("#")]),s._v(" mpvue 使用")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("app.vue & main.js\n┌---------┐ ┌----------┐ ┌---------┐\n| app.vue ├--┐ | app.js | | app.json|\n└---------┘ | └----------┘ └---------┘\n ├----------------------\x3e\n┌---------┐ | webpack ┌----------┐\n| main.js ├--┘ | app.wxss |\n└---------┘ └----------┘\n\n\npage.vue & main.js\n ┌------------------------------┐\n┌-----┴-----┐ ┌-------┐ |\n| page.vue ├----\x3e | .sass | |\n└---┬-┬-┬---┘ └-------┘ |\n | | | |\n | | | ┌------------┐ |\n | | └---\x3e | common.css | | ┌-------┐ ┌-------┐\n | | └-------┬----┘ v | .js | | .json |\n | | | ┌---------┐ └-------┘ └-------┘\n | | ┌------┐ | | main.js ├-----------\x3e\n | └--\x3e| .js | v └---------┘ webpack ┌-------┐ ┌-------┐\n | └------┘ ┌-------┐ | .wxml | | .wxss |\n | ┌------┐ | .font | └-------┘ └-------┘\n └----\x3e| .jpg | └-------┘\n └------┘\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br"),a("span",{staticClass:"line-number"},[s._v("23")]),a("br"),a("span",{staticClass:"line-number"},[s._v("24")]),a("br"),a("span",{staticClass:"line-number"},[s._v("25")]),a("br"),a("span",{staticClass:"line-number"},[s._v("26")]),a("br")])]),a("blockquote",[a("p",[s._v("除了 Vue 本身的生命周期外,mpvue 还兼容了小程序生命周期,这部分生命周期钩子的来源于微信小程序的 Page, "),a("strong",[s._v("除特殊情况外,不建议使用小程序的生命周期钩子")]),s._v("。")])]),s._v(" "),a("ul",[a("li",[s._v("app 部分:")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("onLaunch,初始化\nonShow,当小程序启动,或从后台进入前台显示\nonHide,当小程序从前台进入后台\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br")])]),a("ul",[a("li",[s._v("page 部分:")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("onLoad,监听页面加载\nonShow,监听页面显示\nonReady,监听页面初次渲染完成\nonHide,监听页面隐藏\nonUnload,监听页面卸载\nonPullDownRefresh,监听用户下拉动作\nonReachBottom,页面上拉触底事件的处理函数\nonShareAppMessage,用户点击右上角分享\nonPageScroll,页面滚动\nonTabItemTap, 当前是 tab 页时,点击 tab 时触发 (mpvue 0.0.16 支持)\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br")])]),a("ul",[a("li",[a("p",[s._v("不支持在组件上使用 Class 与 Style 绑定")])]),s._v(" "),a("li",[a("p",[s._v("嵌套列表渲染,必须指定不同的索引!")])]),s._v(" "),a("li",[a("p",[s._v("原生事件也可以使用例如 "),a("code",[s._v("bindregionchange")]),s._v(" 事件直接在 "),a("code",[s._v("dom")]),s._v(" 上将 "),a("code",[s._v("bind")]),s._v(" 改为 "),a("code",[s._v("@")]),s._v(", "),a("code",[s._v("@regionchange")]),s._v(";")])]),s._v(" "),a("li",[a("p",[s._v("如何获取小程序在 page onLoad 时候传递的 options")]),s._v(" "),a("ul",[a("li",[s._v("在所有 页面 的组件内可以通过 "),a("code",[s._v("this.$root.$mp.query")]),s._v("进行获取")])])]),s._v(" "),a("li",[a("p",[s._v("如何获取小程序在 app onLaunch/onShow 时候传递的 options")]),s._v(" "),a("ul",[a("li",[s._v("在所有的组件内可以通过 "),a("code",[s._v("this.$root.$mp.appOptions")]),s._v(" 进行获取。")])])]),s._v(" "),a("li",[a("p",[s._v("如何捕获 app 的 onError")]),s._v(" "),a("ul",[a("li",[s._v("在 app 的根组件上添加名为 onError 的回调函数"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("// 只有 app 才会有 onLaunch 的生命周期\n onLaunch () {\n // ...\n },\n\n // 捕获 app error\n onError (err) {\n console.log(err)\n }\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br")])])])])]),s._v(" "),a("li",[a("p",[a("code",[s._v("v-html")]),s._v(" 指令不能用")])]),s._v(" "),a("li",[a("p",[s._v("不支持部分复杂的 JavaScript 渲染表达式")])]),s._v(" "),a("li",[a("p",[s._v("不支持过滤器")])]),s._v(" "),a("li",[a("p",[s._v("不支持在 template 内使用 methods 中的函数")])]),s._v(" "),a("li",[a("p",[s._v("不支持 classObject 和 styleObject 语法")])]),s._v(" "),a("li",[a("p",[s._v("mpvue 可以支持小程序的原生组件,比如: "),a("code",[s._v("picker,map")]),s._v(" 等,需要注意的是原生组件上的事件绑定,需要以 vue 的事件绑定语法来绑定,如 "),a("code",[s._v('bindchange="eventName"')]),s._v("事件,需要写成 "),a("code",[s._v('@change="eventName"')])])]),s._v(" "),a("li",[a("p",[s._v("合理使用双向绑定 mpvue 建议使用 "),a("code",[s._v("v-model.lazy")]),s._v(" 绑定方式以优化性能")])]),s._v(" "),a("li",[a("p",[s._v("新增的页面需要重新 npm run dev 来进行编译")])]),s._v(" "),a("li",[a("p",[s._v("在触发事件后如果要获取对应的值,需要写成这样: e.mp.detail.value")])])]),s._v(" "),a("h2",{attrs:{id:"install"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#install"}},[s._v("#")]),s._v(" install")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("npm i -g @vue/cli-init\n\nvue init mpvue/mpvue-quickstart my-wx\n\ncd my-wx\n \nnpm install\n\nnpm run dev\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br")])]),a("h2",{attrs:{id:"全局-api"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#全局-api"}},[s._v("#")]),s._v(" 全局 API")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v(" // 调用API从本地缓存中获取数据\n /*\n * 平台 api 差异的处理方式: api 方法统一挂载到 mpvue 名称空间, 平台判断通过 mpvuePlatform 特征字符串\n * 微信:mpvue === wx, mpvuePlatform === 'wx'\n * 头条:mpvue === tt, mpvuePlatform === 'tt'\n * 百度:mpvue === swan, mpvuePlatform === 'swan'\n * 支付宝(蚂蚁):mpvue === my, mpvuePlatform === 'my'\n */\n\n在 mpvue 中调用 wx 的API\n\n如:\nwx.canIUse('button.open-type.getUserInfo') ==> mpvue.canIUse('button.open-type.getUserInfo')\n\n\n\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br")])]),a("h2",{attrs:{id:"获取手机号"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#获取手机号"}},[s._v("#")]),s._v(" 获取手机号")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v('<van-button type="primary" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">获取手机号</van-button>\n\ngetPhoneNumber (e) {\n mpvue.checkSession({\n success () {\n // session_key 未过期,并且在本生命周期一直有效\n console.log(e)\n },\n fail () {\n // session_key 已经失效,需要重新执行登录流程\n mpvue.login() // 重新登录\n }\n })\n }\n')])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br")])]),a("blockquote",[a("p",[s._v("注意:"),a("br"),s._v("\n在回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。"),a("br"),s._v("\n建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录态")])]),s._v(" "),a("h2",{attrs:{id:"mpvue引入vant-weapp样式问题"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mpvue引入vant-weapp样式问题"}},[s._v("#")]),s._v(" mpvue引入vant Weapp样式问题")]),s._v(" "),a("blockquote",[a("p",[s._v("没有把原来的px转换成rpx,应该是px2rpx插件的配置有问题")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("最后用transform在copy的时候解决掉\nvar Px2rpx = require('px2rpx');\nvar px2rpxIns = new Px2rpx({ rpxUnit: 0.5 });\n\n// copy custom static assets\nnew CopyWebpackPlugin([\n {\n from: path.resolve(__dirname, '../static'),\n to: config.build.assetsSubDirectory,\n transform(content, path) {\n if (path.endsWith('.wxss')) {\n return px2rpxIns.generaterpx(content.toString(), 1)\n } else {\n return content\n }\n },\n ignore: ['.*']\n }\n]),\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br")])]),a("h2",{attrs:{id:"mpvue-配置less"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mpvue-配置less"}},[s._v("#")]),s._v(" mpvue 配置less")]),s._v(" "),a("blockquote",[a("p",[s._v("提示报错信息UnhandledPromiseRejectionWarning: TypeError: loaderContext.getResolve is not a function")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v('# 卸载less-loader\n# 重新安装指定版本\n因为当时 mpvue 中使用的webpack 是 "webpack": "^3.11.0", 最开始安装 "less-loader": "^7.2.1",版本比较高\n\nnpm i --save less-loader@4.1.0\n\n解决\n')])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br")])]),a("h2",{attrs:{id:"mpvue-中使用echarts"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#mpvue-中使用echarts"}},[s._v("#")]),s._v(" mpvue 中使用ECharts")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("npm i mpvue-echarts echarts --save\n\n\n<template>\n <div class=\"echarts-wrap\">\n <mpvue-echarts :echarts=\"echarts\" :onInit=\"onInit\" canvasId=\"demo-canvas\" />\n </div>\n</template>\n\n<script>\nimport * as echarts from 'echarts/dist/echarts.min'\nimport mpvueEcharts from 'mpvue-echarts'\n\nlet chart = null;\n\nfunction initChart(canvas, width, height) {\n chart = echarts.init(canvas, null, {\n width: width,\n height: height\n });\n canvas.setChart(chart);\n\n var option = { // ECharts 配置项\n xAxis: {\n type: 'category',\n data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']\n },\n yAxis: {\n x: 'center',\n type: 'value',\n splitLine: {\n lineStyle: {\n type: 'dashed'\n }\n }\n },\n series: [{\n name: 'A',\n type: 'line',\n smooth: true,\n data: [18, 36, 65, 30, 78, 40, 33]\n }, {\n name: 'B',\n type: 'line',\n smooth: true,\n data: [12, 50, 51, 35, 70, 30, 20]\n }]\n };\n\n chart.setOption(option);\n\n return chart; // 返回 chart 后可以自动绑定触摸操作\n}\n\nexport default {\n components: {\n mpvueEcharts\n },\n data () {\n return {\n echarts,\n onInit: initChart\n }\n }\n}\n<\/script>\n\n<style scoped>\n.echarts-wrap {\n width: 100%;\n height: 300px;\n}\n</style>\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br"),a("span",{staticClass:"line-number"},[s._v("23")]),a("br"),a("span",{staticClass:"line-number"},[s._v("24")]),a("br"),a("span",{staticClass:"line-number"},[s._v("25")]),a("br"),a("span",{staticClass:"line-number"},[s._v("26")]),a("br"),a("span",{staticClass:"line-number"},[s._v("27")]),a("br"),a("span",{staticClass:"line-number"},[s._v("28")]),a("br"),a("span",{staticClass:"line-number"},[s._v("29")]),a("br"),a("span",{staticClass:"line-number"},[s._v("30")]),a("br"),a("span",{staticClass:"line-number"},[s._v("31")]),a("br"),a("span",{staticClass:"line-number"},[s._v("32")]),a("br"),a("span",{staticClass:"line-number"},[s._v("33")]),a("br"),a("span",{staticClass:"line-number"},[s._v("34")]),a("br"),a("span",{staticClass:"line-number"},[s._v("35")]),a("br"),a("span",{staticClass:"line-number"},[s._v("36")]),a("br"),a("span",{staticClass:"line-number"},[s._v("37")]),a("br"),a("span",{staticClass:"line-number"},[s._v("38")]),a("br"),a("span",{staticClass:"line-number"},[s._v("39")]),a("br"),a("span",{staticClass:"line-number"},[s._v("40")]),a("br"),a("span",{staticClass:"line-number"},[s._v("41")]),a("br"),a("span",{staticClass:"line-number"},[s._v("42")]),a("br"),a("span",{staticClass:"line-number"},[s._v("43")]),a("br"),a("span",{staticClass:"line-number"},[s._v("44")]),a("br"),a("span",{staticClass:"line-number"},[s._v("45")]),a("br"),a("span",{staticClass:"line-number"},[s._v("46")]),a("br"),a("span",{staticClass:"line-number"},[s._v("47")]),a("br"),a("span",{staticClass:"line-number"},[s._v("48")]),a("br"),a("span",{staticClass:"line-number"},[s._v("49")]),a("br"),a("span",{staticClass:"line-number"},[s._v("50")]),a("br"),a("span",{staticClass:"line-number"},[s._v("51")]),a("br"),a("span",{staticClass:"line-number"},[s._v("52")]),a("br"),a("span",{staticClass:"line-number"},[s._v("53")]),a("br"),a("span",{staticClass:"line-number"},[s._v("54")]),a("br"),a("span",{staticClass:"line-number"},[s._v("55")]),a("br"),a("span",{staticClass:"line-number"},[s._v("56")]),a("br"),a("span",{staticClass:"line-number"},[s._v("57")]),a("br"),a("span",{staticClass:"line-number"},[s._v("58")]),a("br"),a("span",{staticClass:"line-number"},[s._v("59")]),a("br"),a("span",{staticClass:"line-number"},[s._v("60")]),a("br"),a("span",{staticClass:"line-number"},[s._v("61")]),a("br"),a("span",{staticClass:"line-number"},[s._v("62")]),a("br"),a("span",{staticClass:"line-number"},[s._v("63")]),a("br"),a("span",{staticClass:"line-number"},[s._v("64")]),a("br"),a("span",{staticClass:"line-number"},[s._v("65")]),a("br"),a("span",{staticClass:"line-number"},[s._v("66")]),a("br"),a("span",{staticClass:"line-number"},[s._v("67")]),a("br"),a("span",{staticClass:"line-number"},[s._v("68")]),a("br"),a("span",{staticClass:"line-number"},[s._v("69")]),a("br"),a("span",{staticClass:"line-number"},[s._v("70")]),a("br"),a("span",{staticClass:"line-number"},[s._v("71")]),a("br"),a("span",{staticClass:"line-number"},[s._v("72")]),a("br"),a("span",{staticClass:"line-number"},[s._v("73")]),a("br")])]),a("h2",{attrs:{id:"第三方的网络请求库-fly"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#第三方的网络请求库-fly"}},[s._v("#")]),s._v(" 第三方的网络请求库 fly")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("npm install flyio || cnpm install flyio\n\n# 引入\n\nimport Fly from \"flyio/dist/npm/wx\";\n\n# 1. 创建一个 fly 实例\n\nlet fly = new Fly;\n\n# 2. 发起GET请求\n\n// 通过用户id获取信息,参数直接写在url中\nfly.get('/user?id=133')\n .then(function (response) {\n console.log(response);\n })\n .catch(function (error) {\n console.log(error);\n });\n\n// query参数通过对象传递\nfly.get('/user', {\n id: 133\n })\n .then(function (response) {\n console.log(response);\n })\n .catch(function (error) {\n console.log(error);\n });\n \n \n# 3. 发起POST请求\n\nfly.post('/user', {\n name: 'Doris',\n age: 24\n phone:\"18513222525\"\n })\n .then(function (response) {\n console.log(response);\n })\n .catch(function (error) {\n console.log(error);\n });\n \n \n# 4. 发起多个并发请求\n\nfunction getUserRecords() {\n return fly.get('/user/133/records');\n}\n\nfunction getUserProjects() {\n return fly.get('/user/133/projects');\n}\n\nfly.all([getUserRecords(), getUserProjects()])\n .then(fly.spread(function (records, projects) {\n //两个请求都完成\n }))\n .catch(function(error){\n console.log(error)\n })\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br"),a("span",{staticClass:"line-number"},[s._v("23")]),a("br"),a("span",{staticClass:"line-number"},[s._v("24")]),a("br"),a("span",{staticClass:"line-number"},[s._v("25")]),a("br"),a("span",{staticClass:"line-number"},[s._v("26")]),a("br"),a("span",{staticClass:"line-number"},[s._v("27")]),a("br"),a("span",{staticClass:"line-number"},[s._v("28")]),a("br"),a("span",{staticClass:"line-number"},[s._v("29")]),a("br"),a("span",{staticClass:"line-number"},[s._v("30")]),a("br"),a("span",{staticClass:"line-number"},[s._v("31")]),a("br"),a("span",{staticClass:"line-number"},[s._v("32")]),a("br"),a("span",{staticClass:"line-number"},[s._v("33")]),a("br"),a("span",{staticClass:"line-number"},[s._v("34")]),a("br"),a("span",{staticClass:"line-number"},[s._v("35")]),a("br"),a("span",{staticClass:"line-number"},[s._v("36")]),a("br"),a("span",{staticClass:"line-number"},[s._v("37")]),a("br"),a("span",{staticClass:"line-number"},[s._v("38")]),a("br"),a("span",{staticClass:"line-number"},[s._v("39")]),a("br"),a("span",{staticClass:"line-number"},[s._v("40")]),a("br"),a("span",{staticClass:"line-number"},[s._v("41")]),a("br"),a("span",{staticClass:"line-number"},[s._v("42")]),a("br"),a("span",{staticClass:"line-number"},[s._v("43")]),a("br"),a("span",{staticClass:"line-number"},[s._v("44")]),a("br"),a("span",{staticClass:"line-number"},[s._v("45")]),a("br"),a("span",{staticClass:"line-number"},[s._v("46")]),a("br"),a("span",{staticClass:"line-number"},[s._v("47")]),a("br"),a("span",{staticClass:"line-number"},[s._v("48")]),a("br"),a("span",{staticClass:"line-number"},[s._v("49")]),a("br"),a("span",{staticClass:"line-number"},[s._v("50")]),a("br"),a("span",{staticClass:"line-number"},[s._v("51")]),a("br"),a("span",{staticClass:"line-number"},[s._v("52")]),a("br"),a("span",{staticClass:"line-number"},[s._v("53")]),a("br"),a("span",{staticClass:"line-number"},[s._v("54")]),a("br"),a("span",{staticClass:"line-number"},[s._v("55")]),a("br"),a("span",{staticClass:"line-number"},[s._v("56")]),a("br"),a("span",{staticClass:"line-number"},[s._v("57")]),a("br"),a("span",{staticClass:"line-number"},[s._v("58")]),a("br"),a("span",{staticClass:"line-number"},[s._v("59")]),a("br"),a("span",{staticClass:"line-number"},[s._v("60")]),a("br"),a("span",{staticClass:"line-number"},[s._v("61")]),a("br"),a("span",{staticClass:"line-number"},[s._v("62")]),a("br"),a("span",{staticClass:"line-number"},[s._v("63")]),a("br"),a("span",{staticClass:"line-number"},[s._v("64")]),a("br"),a("span",{staticClass:"line-number"},[s._v("65")]),a("br")])]),a("h2",{attrs:{id:"图片预加载"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#图片预加载"}},[s._v("#")]),s._v(" 图片预加载")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("npm install mpvue-img-load\n\n<div>\n <image v-if=\"imgUrl\" :src=\"imgUrl\" />\n <img-load ref=\"imgLoad\"></img-load>\n</div>\n import imgLoad from 'mpvue-img-load'\n\n export default {\n data () {\n return {\n imgUrl: ''\n }\n },\n components: {\n imgLoad\n },\n methods: {\n loadImage () {\n // 加载缩略图 80x50 3KB\n this.imgUrl = 'http://storage.360buyimg.com/mtd/home/lion1483683731203.jpg'\n // 原图 3200x2000 1.6MB\n const imgUrlOriginal = 'http://storage.360buyimg.com/mtd/home/lion1483624894660.jpg'\n // 同时对原图进行预加载,加载成功后再替换\n this.$refs.imgLoad.load(imgUrlOriginal, (err, data) => {\n if (!err) {\n this.imgUrl = data.src\n }\n })\n }\n },\n mounted () {\n this.loadImage()\n }\n }\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br"),a("span",{staticClass:"line-number"},[s._v("23")]),a("br"),a("span",{staticClass:"line-number"},[s._v("24")]),a("br"),a("span",{staticClass:"line-number"},[s._v("25")]),a("br"),a("span",{staticClass:"line-number"},[s._v("26")]),a("br"),a("span",{staticClass:"line-number"},[s._v("27")]),a("br"),a("span",{staticClass:"line-number"},[s._v("28")]),a("br"),a("span",{staticClass:"line-number"},[s._v("29")]),a("br"),a("span",{staticClass:"line-number"},[s._v("30")]),a("br"),a("span",{staticClass:"line-number"},[s._v("31")]),a("br"),a("span",{staticClass:"line-number"},[s._v("32")]),a("br"),a("span",{staticClass:"line-number"},[s._v("33")]),a("br"),a("span",{staticClass:"line-number"},[s._v("34")]),a("br"),a("span",{staticClass:"line-number"},[s._v("35")]),a("br")])]),a("h2",{attrs:{id:"参考"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#参考"}},[s._v("#")]),s._v(" 参考")]),s._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"http://mpvue.com/mpvue/quickstart.html",target:"_blank",rel:"noopener noreferrer"}},[s._v("quickstart"),a("OutboundLink")],1)]),s._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/Rychou/mpvue-vant",target:"_blank",rel:"noopener noreferrer"}},[s._v("Rychou/mpvue-vant"),a("OutboundLink")],1)]),s._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/F-loat/mpvue-echarts",target:"_blank",rel:"noopener noreferrer"}},[s._v("F-loat/mpvue-echarts"),a("OutboundLink")],1)]),s._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/mpvue/awesome-mpvue",target:"_blank",rel:"noopener noreferrer"}},[s._v("mpvue/awesome-mpvue"),a("OutboundLink")],1)]),s._v(" "),a("li",[a("a",{attrs:{href:"https://kuangpf.com/mpvue-weui/#/?id=mpvue-weui",target:"_blank",rel:"noopener noreferrer"}},[s._v("mpvue-weui"),a("OutboundLink")],1),s._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://kuangpf.com/mpvue-weui/#/reasons",target:"_blank",rel:"noopener noreferrer"}},[s._v("mpvue-weui/#/reasons"),a("OutboundLink")],1)])])]),s._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/wendux/fly",target:"_blank",rel:"noopener noreferrer"}},[s._v("wendux/fly"),a("OutboundLink")],1)])])])}),[],!1,null,null,null);n.default=t.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{381:function(s,a,n){"use strict";n.r(a);var t=n(24),e=Object(t.a)({},(function(){var s=this,a=s.$createElement,n=s._self._c||a;return n("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[n("h1",{attrs:{id:"uni-app-使用"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#uni-app-使用"}},[s._v("#")]),s._v(" uni-app 使用")]),s._v(" "),n("h2",{attrs:{id:"install"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#install"}},[s._v("#")]),s._v(" install")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("npm install -g @vue/cli\n\nvue create -p dcloudio/uni-preset-vue my-project\n\n# 运行、发布uni-app\nnpm run dev:%PLATFORM%\nnpm run build:%PLATFORM%\n\n%PLATFORM% 可取值 mp-weixin\n\nnpm run dev:mp-weixin\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br")])]),n("ul",[n("li",[s._v("dev 模式编译出的各平台代码存放于根目录下的 /dist/dev/目录,打开各平台开发工具选择对应平台目录即可进行预览(h5 平台不会在此目录,存在于缓存中);")]),s._v(" "),n("li",[s._v("build 模式编译出的各平台代码存放于根目录下的 /dist/build/ 目录,发布时选择此目录进行发布;")])]),s._v(" "),n("h2",{attrs:{id:"uni-app-约定了如下开发规范"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#uni-app-约定了如下开发规范"}},[s._v("#")]),s._v(" uni-app 约定了如下开发规范:")]),s._v(" "),n("ul",[n("li",[s._v("页面文件遵循 Vue 单文件组件 (SFC) 规范")]),s._v(" "),n("li",[s._v("组件标签靠近小程序规范,详见uni-app 组件规范")]),s._v(" "),n("li",[s._v("接口能力(JS API)靠近微信小程序规范,但需将前缀 wx 替换为 uni,详见uni-app接口规范")]),s._v(" "),n("li",[s._v("数据绑定及事件处理同 Vue.js 规范,同时补充了App及页面的生命周期")]),s._v(" "),n("li",[s._v("为兼容多端运行,建议使用flex布局进行开发")])]),s._v(" "),n("blockquote",[n("p",[s._v("虽然不推荐使用HTML标签,但实际上如果开发者写了div等标签,在编译到非H5平台时也会被编译器转换为view标签,类似的还有span转text、a转navigator等,包括css里的元素选择器也会转。"),n("br"),s._v("\n但为了管理方便、策略统一,新写代码时仍然建议使用view等组件。")])]),s._v(" "),n("h2",{attrs:{id:"目录结构"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#目录结构"}},[s._v("#")]),s._v(" 目录结构")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("┌─cloudfunctions 云函数目录(阿里云为aliyun,腾讯云为tcb,详见uniCloud)\n│─components 符合vue组件规范的uni-app组件目录\n│ └─comp-a.vue 可复用的a组件\n├─hybrid 存放本地网页的目录,详见\n├─platforms 存放各平台专用页面的目录,详见\n├─pages 业务页面文件存放的目录\n│ ├─index\n│ │ └─index.vue index页面\n│ └─list\n│ └─list.vue list页面\n├─static 存放应用引用静态资源(如图片、视频等)的目录,注意:静态资源只能存放于此\n├─wxcomponents 存放小程序组件的目录,详见\n├─main.js Vue初始化入口文件\n├─App.vue 应用配置,用来配置App全局样式以及监听 应用生命周期\n├─manifest.json 配置应用名称、appid、logo、版本等打包信息,详见\n└─pages.json 配置页面路由、导航条、选项卡等页面类信息,详见\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br")])]),n("h2",{attrs:{id:"静态资源"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#静态资源"}},[s._v("#")]),s._v(" 静态资源")]),s._v(" "),n("h3",{attrs:{id:"模板内引入静态资源"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#模板内引入静态资源"}},[s._v("#")]),s._v(" 模板内引入静态资源")]),s._v(" "),n("p",[s._v("template内引入静态资源,如image、video等标签的src属性时,可以使用相对路径或者绝对路径,形式如下")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v('\x3c!-- 绝对路径,/static指根目录下的static目录,在cli项目中/static指src目录下的static目录 --\x3e\n<image class="logo" src="/static/logo.png"></image>\n<image class="logo" src="@/static/logo.png"></image>\n\x3c!-- 相对路径 --\x3e\n<image class="logo" src="../../static/logo.png"></image>\n')])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br")])]),n("blockquote",[n("p",[s._v("注意:"),n("br"),s._v("\n@开头的绝对路径以及相对路径会经过base64转换规则校验"),n("br"),s._v("\n引入的静态资源在非h5平台,均不转为base64。"),n("br"),s._v("\nH5平台,小于4kb的资源会被转换成base64,其余不转。"),n("br"),s._v("\n自HBuilderX 2.6.6-alpha起template内支持@开头路径引入静态资源,旧版本不支持此方式"),n("br"),s._v("\nApp平台自HBuilderX 2.6.9-alpha起template节点中引用静态资源文件时(如:图片),调整查找策略为【基于当前文件的路径搜索】,与其他平台保持一致"),n("br"),s._v("\n支付宝小程序组件内 image 标签不可使用相对路径")])]),s._v(" "),n("h2",{attrs:{id:"js文件引入"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#js文件引入"}},[s._v("#")]),s._v(" js文件引入")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("js文件或script标签内(包括renderjs等)引入js文件时,可以使用相对路径和绝对路径,形式如下\n\n// 绝对路径,@指向项目根目录,在cli项目中@指向src目录\nimport add from '@/common/add.js'\n// 相对路径\nimport add from '../../common/add.js'\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br")])]),n("blockquote",[n("p",[s._v("注意: js文件不支持使用/开头的方式引入")])]),s._v(" "),n("h3",{attrs:{id:"css引入静态资源"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#css引入静态资源"}},[s._v("#")]),s._v(" css引入静态资源")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("css文件或style标签内引入css文件时(scss、less文件同理),可以使用相对路径或绝对路径(HBuilderX 2.6.6-alpha)\n\n/* 绝对路径 */\n@import url('/common/uni.css');\n@import url('@/common/uni.css');\n/* 相对路径 */\n@import url('../../common/uni.css');\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br")])]),n("p",[s._v("css文件或style标签内引用的图片路径可以使用相对路径也可以使用绝对路径,需要注意的是,有些小程序端css文件不允许引用本地文件(请看注意事项)。")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("/* 绝对路径 */\nbackground-image: url(/static/logo.png);\nbackground-image: url(@/static/logo.png);\n/* 相对路径 */\nbackground-image: url(../../static/logo.png);\n\n在 uni-app 中不能使用 * 选择器。\n微信小程序自定义组件中仅支持 class 选择器\npage 相当于 body 节点\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br")])]),n("p",[s._v("Tips:")]),s._v(" "),n("ul",[n("li",[s._v("引入字体图标请参考,字体图标")]),s._v(" "),n("li",[s._v("@开头的绝对路径以及相对路径会经过base64转换规则校验")]),s._v(" "),n("li",[s._v("不支持本地图片的平台,小于40kb,一定会转base64。(共四个平台mp-weixin, mp-qq, mp-toutiao, app v2)")]),s._v(" "),n("li",[s._v("h5平台,小于4kb会转base64,超出4kb时不转。")]),s._v(" "),n("li",[s._v("其余平台不会转base64")])]),s._v(" "),n("h3",{attrs:{id:"css变量"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#css变量"}},[s._v("#")]),s._v(" CSS变量")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v('uni-app 提供内置 CSS 变量\n\nCSS变量\t描述\tApp\t小程序\tH5\n--status-bar-height\t系统状态栏高度\t系统状态栏高度、nvue注意见下\t25px\t0\n--window-top\t内容区域距离顶部的距离\t0\t0\tNavigationBar 的高度\n--window-bottom\t内容区域距离底部的距离\t0\t0\tTabBar 的高度\n注意:\n\nvar(--status-bar-height) 此变量在微信小程序环境为固定 25px,在 App 里为手机实际状态栏高度。 \n当设置 "navigationStyle":"custom" 取消原生导航栏后,由于窗体为沉浸式,占据了状态栏位置。此时可以使用一个高度为 var(--status-bar-height) 的 view 放在页面顶部,避免页面内容出现在状态栏。 \n由于在H5端,不存在原生导航栏和tabbar,也是前端div模拟。如果设置了一个固定位置的居底view,在小程序和App端是在tabbar上方,但在H5端会与tabbar重叠。此时可使用--window-bottom,不管在哪个端,都是固定在tabbar上方。\n目前 nvue 在App端,还不支持 --status-bar-height变量,替代方案是在页面onLoad时通过uni.getSystemInfoSync().statusBarHeight获取状态栏高度,然后通过style绑定方式给占位view设定高度。\n\n\nonLoad() {\n this.iStatusBarHeight = uni.getSystemInfoSync().statusBarHeight\n}\n\nni-app 中以下组件的高度是固定的,不可修改:\n\n组件\t描述\tApp\tH5\nNavigationBar\t导航栏\t44px\t44px\nTabBar\t底部选项卡\tHBuilderX 2.3.4之前为56px,2.3.4起和H5调为一致,统一为 50px。但可以自主更改高度)\t50px\n')])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br"),n("span",{staticClass:"line-number"},[s._v("17")]),n("br"),n("span",{staticClass:"line-number"},[s._v("18")]),n("br"),n("span",{staticClass:"line-number"},[s._v("19")]),n("br"),n("span",{staticClass:"line-number"},[s._v("20")]),n("br"),n("span",{staticClass:"line-number"},[s._v("21")]),n("br"),n("span",{staticClass:"line-number"},[s._v("22")]),n("br"),n("span",{staticClass:"line-number"},[s._v("23")]),n("br")])]),n("h2",{attrs:{id:"生命周期"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#生命周期"}},[s._v("#")]),s._v(" 生命周期")]),s._v(" "),n("ul",[n("li",[s._v("应用生命周期")])]),s._v(" "),n("blockquote",[n("p",[s._v("uni-app 支持 onLaunch、onShow、onHide 等应用生命周期函数,详情请参考应用生命周期")])]),s._v(" "),n("ul",[n("li",[s._v("页面生命周期")])]),s._v(" "),n("blockquote",[n("p",[s._v("uni-app 支持 onLoad、onShow、onReady 等生命周期函数")])]),s._v(" "),n("h2",{attrs:{id:"路由跳转"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#路由跳转"}},[s._v("#")]),s._v(" 路由跳转")]),s._v(" "),n("ul",[n("li",[s._v("uni-app 有两种页面路由跳转方式:使用navigator组件跳转、调用API跳转")])]),s._v(" "),n("h2",{attrs:{id:"开发环境和生产环境"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#开发环境和生产环境"}},[s._v("#")]),s._v(" 开发环境和生产环境")]),s._v(" "),n("blockquote",[n("p",[s._v("uni-app 可通过 process.env.NODE_ENV 判断当前环境是开发环境还是生产环境")])]),s._v(" "),n("ul",[n("li",[s._v("判断平台: uni.getSystemInfoSync().platform")])]),s._v(" "),n("h2",{attrs:{id:"小程序组件支持"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#小程序组件支持"}},[s._v("#")]),s._v(" 小程序组件支持")]),s._v(" "),n("p",[s._v("uni-app 支持在 App 和 小程序 中使用小程序自定义组件,从HBuilderX2.4.7起,H5端也可以运行微信小程序组件。")]),s._v(" "),n("p",[s._v("平台差异说明")]),s._v(" "),n("table",[n("thead",[n("tr",[n("th",[s._v("平台")]),s._v(" "),n("th",[s._v("支持情况")]),s._v(" "),n("th",[s._v("小程序组件存放目录")])])]),s._v(" "),n("tbody",[n("tr",[n("td",[s._v("H5")]),s._v(" "),n("td",[s._v("支持微信小程序组件(2.4.7+)")]),s._v(" "),n("td",[s._v("wxcomponents")])]),s._v(" "),n("tr",[n("td",[s._v("App(不含nvue)")]),s._v(" "),n("td",[s._v("支持微信小程序组件")]),s._v(" "),n("td",[s._v("wxcomponents")])]),s._v(" "),n("tr",[n("td",[s._v("微信小程序")]),s._v(" "),n("td",[s._v("支持微信小程序组件")]),s._v(" "),n("td",[s._v("wxcomponents")])]),s._v(" "),n("tr",[n("td",[s._v("支付宝小程序")]),s._v(" "),n("td",[s._v("支持支付宝小程序组件")]),s._v(" "),n("td",[s._v("mycomponents")])]),s._v(" "),n("tr",[n("td",[s._v("百度小程序")]),s._v(" "),n("td",[s._v("支持百度小程序组件")]),s._v(" "),n("td",[s._v("swancomponents")])]),s._v(" "),n("tr",[n("td",[s._v("字节跳动小程序")]),s._v(" "),n("td",[s._v("支持字节跳动小程序组件")]),s._v(" "),n("td",[s._v("ttcomponents")])]),s._v(" "),n("tr",[n("td",[s._v("QQ小程序")]),s._v(" "),n("td",[s._v("支持QQ小程序组件")]),s._v(" "),n("td",[s._v("wxcomponents")])])])]),s._v(" "),n("h2",{attrs:{id:"引入-vantui"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#引入-vantui"}},[s._v("#")]),s._v(" 引入 vantUI")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v('npm i @vant/weapp -S --production\n\n在项目根目录下新建 wxcomponents 目录\n\n将vant/weapp中dist目录拷贝到新建的wxcomponents目录下,并重命名dist为vant\n\n# 单个页面引入\npage.json:\n\n"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages\n\t\t{\n\t\t\t"path": "pages/index/index",\n\t\t\t"style": {\n\t\t\t\t"navigationBarTitleText": "uni-app",\n\t\t\t\t"usingComponents": {\n\t\t\t\t\t "van-button": "/wxcomponents/vant/button/index",\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t],\n \n \n# 全局引入\n\n"globalStyle": {\n\t\t"navigationBarTextStyle": "black",\n\t\t"navigationBarTitleText": "uni-app",\n\t\t"navigationBarBackgroundColor": "#F8F8F8",\n\t\t"backgroundColor": "#F8F8F8",\n\t\t"usingComponents": {\n\t\t "van-button": "/wxcomponents/vant/button/index",\n\t\t "van-image": "/wxcomponents/vant/image/index",\n\t\t "van-field": "/wxcomponents/vant/field/index",\n\t\t "van-search": "/wxcomponents/vant/search/index",\n\t\t "van-cell": "/wxcomponents/vant/cell/index",\n\t\t "van-cell-group": "/wxcomponents/vant/cell-group/index",\n\t\t "van-notice-bar": "/wxcomponents/vant/notice-bar/index"\n\t\t}\n\t}\n')])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br"),n("span",{staticClass:"line-number"},[s._v("17")]),n("br"),n("span",{staticClass:"line-number"},[s._v("18")]),n("br"),n("span",{staticClass:"line-number"},[s._v("19")]),n("br"),n("span",{staticClass:"line-number"},[s._v("20")]),n("br"),n("span",{staticClass:"line-number"},[s._v("21")]),n("br"),n("span",{staticClass:"line-number"},[s._v("22")]),n("br"),n("span",{staticClass:"line-number"},[s._v("23")]),n("br"),n("span",{staticClass:"line-number"},[s._v("24")]),n("br"),n("span",{staticClass:"line-number"},[s._v("25")]),n("br"),n("span",{staticClass:"line-number"},[s._v("26")]),n("br"),n("span",{staticClass:"line-number"},[s._v("27")]),n("br"),n("span",{staticClass:"line-number"},[s._v("28")]),n("br"),n("span",{staticClass:"line-number"},[s._v("29")]),n("br"),n("span",{staticClass:"line-number"},[s._v("30")]),n("br"),n("span",{staticClass:"line-number"},[s._v("31")]),n("br"),n("span",{staticClass:"line-number"},[s._v("32")]),n("br"),n("span",{staticClass:"line-number"},[s._v("33")]),n("br"),n("span",{staticClass:"line-number"},[s._v("34")]),n("br"),n("span",{staticClass:"line-number"},[s._v("35")]),n("br"),n("span",{staticClass:"line-number"},[s._v("36")]),n("br"),n("span",{staticClass:"line-number"},[s._v("37")]),n("br"),n("span",{staticClass:"line-number"},[s._v("38")]),n("br"),n("span",{staticClass:"line-number"},[s._v("39")]),n("br")])]),n("h2",{attrs:{id:"坑"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#坑"}},[s._v("#")]),s._v(" 坑")]),s._v(" "),n("ul",[n("li",[n("p",[s._v("使用 vue-cli 安装,一直报错")])]),s._v(" "),n("li",[n("p",[s._v("修改hosts:")]),s._v(" "),n("ul",[n("li",[s._v("https://github.com.ipaddress.com/ 查看 ip")]),s._v(" "),n("li",[s._v("https://fastly.net.ipaddress.com/github.global.ssl.fastly.net")])]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("# github\n140.82.114.3 www.github.com\n140.82.114.3 github.com\n\n# 192.30.253.112 www.github.com\n# 192.30.253.112 github.com\n\n199.232.69.194 github.global.ssl.fastly.net\n# 151.101.13.194 github.global.ssl.fastly.net\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br")])])])]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v(" ERROR Failed fetching remote preset dcloudio/uni-preset-vue:\n ERROR Error: end of central directory record signature not found\n \n 手动下载 uni-preset-vue\n \n vue create --preset ./uni-preset-vue my-project\n \n 再选择模板 默认模板快 , hello很慢\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br")])]),n("ul",[n("li",[n("a",{attrs:{href:"https://cli.vuejs.org/zh/guide/plugins-and-presets.html#%E5%8A%A0%E8%BD%BD%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%AD%E7%9A%84-preset",target:"_blank",rel:"noopener noreferrer"}},[s._v("加载文件系统中的-preset"),n("OutboundLink")],1)])]),s._v(" "),n("h2",{attrs:{id:"getapp"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#getapp"}},[s._v("#")]),s._v(" getApp()")]),s._v(" "),n("blockquote",[n("p",[s._v("函数用于获取当前应用实例,一般用于获取globalData")])]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("const app = getApp()\nconsole.log(app.globalData)\n\n\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br")])]),n("h2",{attrs:{id:"getcurrentpages"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#getcurrentpages"}},[s._v("#")]),s._v(" getCurrentPages()")]),s._v(" "),n("p",[s._v("getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。")]),s._v(" "),n("p",[s._v("注意: getCurrentPages()仅用于展示页面栈的情况,请勿修改页面栈,以免造成页面状态错误。")]),s._v(" "),n("h2",{attrs:{id:"参考"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#参考"}},[s._v("#")]),s._v(" 参考")]),s._v(" "),n("ul",[n("li",[n("p",[n("a",{attrs:{href:"https://uniapp.dcloud.net.cn/quickstart-cli?id=%e8%bf%90%e8%a1%8c%e3%80%81%e5%8f%91%e5%b8%83uni-app",target:"_blank",rel:"noopener noreferrer"}},[s._v("quickstart"),n("OutboundLink")],1)])]),s._v(" "),n("li",[n("p",[n("a",{attrs:{href:"https://github.com/dcloudio/uni-ui",target:"_blank",rel:"noopener noreferrer"}},[s._v("uni-ui"),n("OutboundLink")],1)])])])])}),[],!1,null,null,null);a.default=e.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[15],{380:function(s,a,n){"use strict";n.r(a);var t=n(24),e=Object(t.a)({},(function(){var s=this,a=s.$createElement,n=s._self._c||a;return n("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[n("h1",{attrs:{id:"uni-app-使用"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#uni-app-使用"}},[s._v("#")]),s._v(" uni-app 使用")]),s._v(" "),n("h2",{attrs:{id:"install"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#install"}},[s._v("#")]),s._v(" install")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("npm install -g @vue/cli\n\nvue create -p dcloudio/uni-preset-vue my-project\n\n# 运行、发布uni-app\nnpm run dev:%PLATFORM%\nnpm run build:%PLATFORM%\n\n%PLATFORM% 可取值 mp-weixin\n\nnpm run dev:mp-weixin\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br")])]),n("ul",[n("li",[s._v("dev 模式编译出的各平台代码存放于根目录下的 /dist/dev/目录,打开各平台开发工具选择对应平台目录即可进行预览(h5 平台不会在此目录,存在于缓存中);")]),s._v(" "),n("li",[s._v("build 模式编译出的各平台代码存放于根目录下的 /dist/build/ 目录,发布时选择此目录进行发布;")])]),s._v(" "),n("h2",{attrs:{id:"uni-app-约定了如下开发规范"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#uni-app-约定了如下开发规范"}},[s._v("#")]),s._v(" uni-app 约定了如下开发规范:")]),s._v(" "),n("ul",[n("li",[s._v("页面文件遵循 Vue 单文件组件 (SFC) 规范")]),s._v(" "),n("li",[s._v("组件标签靠近小程序规范,详见uni-app 组件规范")]),s._v(" "),n("li",[s._v("接口能力(JS API)靠近微信小程序规范,但需将前缀 wx 替换为 uni,详见uni-app接口规范")]),s._v(" "),n("li",[s._v("数据绑定及事件处理同 Vue.js 规范,同时补充了App及页面的生命周期")]),s._v(" "),n("li",[s._v("为兼容多端运行,建议使用flex布局进行开发")])]),s._v(" "),n("blockquote",[n("p",[s._v("虽然不推荐使用HTML标签,但实际上如果开发者写了div等标签,在编译到非H5平台时也会被编译器转换为view标签,类似的还有span转text、a转navigator等,包括css里的元素选择器也会转。"),n("br"),s._v("\n但为了管理方便、策略统一,新写代码时仍然建议使用view等组件。")])]),s._v(" "),n("h2",{attrs:{id:"目录结构"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#目录结构"}},[s._v("#")]),s._v(" 目录结构")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("┌─cloudfunctions 云函数目录(阿里云为aliyun,腾讯云为tcb,详见uniCloud)\n│─components 符合vue组件规范的uni-app组件目录\n│ └─comp-a.vue 可复用的a组件\n├─hybrid 存放本地网页的目录,详见\n├─platforms 存放各平台专用页面的目录,详见\n├─pages 业务页面文件存放的目录\n│ ├─index\n│ │ └─index.vue index页面\n│ └─list\n│ └─list.vue list页面\n├─static 存放应用引用静态资源(如图片、视频等)的目录,注意:静态资源只能存放于此\n├─wxcomponents 存放小程序组件的目录,详见\n├─main.js Vue初始化入口文件\n├─App.vue 应用配置,用来配置App全局样式以及监听 应用生命周期\n├─manifest.json 配置应用名称、appid、logo、版本等打包信息,详见\n└─pages.json 配置页面路由、导航条、选项卡等页面类信息,详见\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br")])]),n("h2",{attrs:{id:"静态资源"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#静态资源"}},[s._v("#")]),s._v(" 静态资源")]),s._v(" "),n("h3",{attrs:{id:"模板内引入静态资源"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#模板内引入静态资源"}},[s._v("#")]),s._v(" 模板内引入静态资源")]),s._v(" "),n("p",[s._v("template内引入静态资源,如image、video等标签的src属性时,可以使用相对路径或者绝对路径,形式如下")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v('\x3c!-- 绝对路径,/static指根目录下的static目录,在cli项目中/static指src目录下的static目录 --\x3e\n<image class="logo" src="/static/logo.png"></image>\n<image class="logo" src="@/static/logo.png"></image>\n\x3c!-- 相对路径 --\x3e\n<image class="logo" src="../../static/logo.png"></image>\n')])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br")])]),n("blockquote",[n("p",[s._v("注意:"),n("br"),s._v("\n@开头的绝对路径以及相对路径会经过base64转换规则校验"),n("br"),s._v("\n引入的静态资源在非h5平台,均不转为base64。"),n("br"),s._v("\nH5平台,小于4kb的资源会被转换成base64,其余不转。"),n("br"),s._v("\n自HBuilderX 2.6.6-alpha起template内支持@开头路径引入静态资源,旧版本不支持此方式"),n("br"),s._v("\nApp平台自HBuilderX 2.6.9-alpha起template节点中引用静态资源文件时(如:图片),调整查找策略为【基于当前文件的路径搜索】,与其他平台保持一致"),n("br"),s._v("\n支付宝小程序组件内 image 标签不可使用相对路径")])]),s._v(" "),n("h2",{attrs:{id:"js文件引入"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#js文件引入"}},[s._v("#")]),s._v(" js文件引入")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("js文件或script标签内(包括renderjs等)引入js文件时,可以使用相对路径和绝对路径,形式如下\n\n// 绝对路径,@指向项目根目录,在cli项目中@指向src目录\nimport add from '@/common/add.js'\n// 相对路径\nimport add from '../../common/add.js'\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br")])]),n("blockquote",[n("p",[s._v("注意: js文件不支持使用/开头的方式引入")])]),s._v(" "),n("h3",{attrs:{id:"css引入静态资源"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#css引入静态资源"}},[s._v("#")]),s._v(" css引入静态资源")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("css文件或style标签内引入css文件时(scss、less文件同理),可以使用相对路径或绝对路径(HBuilderX 2.6.6-alpha)\n\n/* 绝对路径 */\n@import url('/common/uni.css');\n@import url('@/common/uni.css');\n/* 相对路径 */\n@import url('../../common/uni.css');\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br")])]),n("p",[s._v("css文件或style标签内引用的图片路径可以使用相对路径也可以使用绝对路径,需要注意的是,有些小程序端css文件不允许引用本地文件(请看注意事项)。")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("/* 绝对路径 */\nbackground-image: url(/static/logo.png);\nbackground-image: url(@/static/logo.png);\n/* 相对路径 */\nbackground-image: url(../../static/logo.png);\n\n在 uni-app 中不能使用 * 选择器。\n微信小程序自定义组件中仅支持 class 选择器\npage 相当于 body 节点\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br")])]),n("p",[s._v("Tips:")]),s._v(" "),n("ul",[n("li",[s._v("引入字体图标请参考,字体图标")]),s._v(" "),n("li",[s._v("@开头的绝对路径以及相对路径会经过base64转换规则校验")]),s._v(" "),n("li",[s._v("不支持本地图片的平台,小于40kb,一定会转base64。(共四个平台mp-weixin, mp-qq, mp-toutiao, app v2)")]),s._v(" "),n("li",[s._v("h5平台,小于4kb会转base64,超出4kb时不转。")]),s._v(" "),n("li",[s._v("其余平台不会转base64")])]),s._v(" "),n("h3",{attrs:{id:"css变量"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#css变量"}},[s._v("#")]),s._v(" CSS变量")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v('uni-app 提供内置 CSS 变量\n\nCSS变量\t描述\tApp\t小程序\tH5\n--status-bar-height\t系统状态栏高度\t系统状态栏高度、nvue注意见下\t25px\t0\n--window-top\t内容区域距离顶部的距离\t0\t0\tNavigationBar 的高度\n--window-bottom\t内容区域距离底部的距离\t0\t0\tTabBar 的高度\n注意:\n\nvar(--status-bar-height) 此变量在微信小程序环境为固定 25px,在 App 里为手机实际状态栏高度。 \n当设置 "navigationStyle":"custom" 取消原生导航栏后,由于窗体为沉浸式,占据了状态栏位置。此时可以使用一个高度为 var(--status-bar-height) 的 view 放在页面顶部,避免页面内容出现在状态栏。 \n由于在H5端,不存在原生导航栏和tabbar,也是前端div模拟。如果设置了一个固定位置的居底view,在小程序和App端是在tabbar上方,但在H5端会与tabbar重叠。此时可使用--window-bottom,不管在哪个端,都是固定在tabbar上方。\n目前 nvue 在App端,还不支持 --status-bar-height变量,替代方案是在页面onLoad时通过uni.getSystemInfoSync().statusBarHeight获取状态栏高度,然后通过style绑定方式给占位view设定高度。\n\n\nonLoad() {\n this.iStatusBarHeight = uni.getSystemInfoSync().statusBarHeight\n}\n\nni-app 中以下组件的高度是固定的,不可修改:\n\n组件\t描述\tApp\tH5\nNavigationBar\t导航栏\t44px\t44px\nTabBar\t底部选项卡\tHBuilderX 2.3.4之前为56px,2.3.4起和H5调为一致,统一为 50px。但可以自主更改高度)\t50px\n')])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br"),n("span",{staticClass:"line-number"},[s._v("17")]),n("br"),n("span",{staticClass:"line-number"},[s._v("18")]),n("br"),n("span",{staticClass:"line-number"},[s._v("19")]),n("br"),n("span",{staticClass:"line-number"},[s._v("20")]),n("br"),n("span",{staticClass:"line-number"},[s._v("21")]),n("br"),n("span",{staticClass:"line-number"},[s._v("22")]),n("br"),n("span",{staticClass:"line-number"},[s._v("23")]),n("br")])]),n("h2",{attrs:{id:"生命周期"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#生命周期"}},[s._v("#")]),s._v(" 生命周期")]),s._v(" "),n("ul",[n("li",[s._v("应用生命周期")])]),s._v(" "),n("blockquote",[n("p",[s._v("uni-app 支持 onLaunch、onShow、onHide 等应用生命周期函数,详情请参考应用生命周期")])]),s._v(" "),n("ul",[n("li",[s._v("页面生命周期")])]),s._v(" "),n("blockquote",[n("p",[s._v("uni-app 支持 onLoad、onShow、onReady 等生命周期函数")])]),s._v(" "),n("h2",{attrs:{id:"路由跳转"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#路由跳转"}},[s._v("#")]),s._v(" 路由跳转")]),s._v(" "),n("ul",[n("li",[s._v("uni-app 有两种页面路由跳转方式:使用navigator组件跳转、调用API跳转")])]),s._v(" "),n("h2",{attrs:{id:"开发环境和生产环境"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#开发环境和生产环境"}},[s._v("#")]),s._v(" 开发环境和生产环境")]),s._v(" "),n("blockquote",[n("p",[s._v("uni-app 可通过 process.env.NODE_ENV 判断当前环境是开发环境还是生产环境")])]),s._v(" "),n("ul",[n("li",[s._v("判断平台: uni.getSystemInfoSync().platform")])]),s._v(" "),n("h2",{attrs:{id:"小程序组件支持"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#小程序组件支持"}},[s._v("#")]),s._v(" 小程序组件支持")]),s._v(" "),n("p",[s._v("uni-app 支持在 App 和 小程序 中使用小程序自定义组件,从HBuilderX2.4.7起,H5端也可以运行微信小程序组件。")]),s._v(" "),n("p",[s._v("平台差异说明")]),s._v(" "),n("table",[n("thead",[n("tr",[n("th",[s._v("平台")]),s._v(" "),n("th",[s._v("支持情况")]),s._v(" "),n("th",[s._v("小程序组件存放目录")])])]),s._v(" "),n("tbody",[n("tr",[n("td",[s._v("H5")]),s._v(" "),n("td",[s._v("支持微信小程序组件(2.4.7+)")]),s._v(" "),n("td",[s._v("wxcomponents")])]),s._v(" "),n("tr",[n("td",[s._v("App(不含nvue)")]),s._v(" "),n("td",[s._v("支持微信小程序组件")]),s._v(" "),n("td",[s._v("wxcomponents")])]),s._v(" "),n("tr",[n("td",[s._v("微信小程序")]),s._v(" "),n("td",[s._v("支持微信小程序组件")]),s._v(" "),n("td",[s._v("wxcomponents")])]),s._v(" "),n("tr",[n("td",[s._v("支付宝小程序")]),s._v(" "),n("td",[s._v("支持支付宝小程序组件")]),s._v(" "),n("td",[s._v("mycomponents")])]),s._v(" "),n("tr",[n("td",[s._v("百度小程序")]),s._v(" "),n("td",[s._v("支持百度小程序组件")]),s._v(" "),n("td",[s._v("swancomponents")])]),s._v(" "),n("tr",[n("td",[s._v("字节跳动小程序")]),s._v(" "),n("td",[s._v("支持字节跳动小程序组件")]),s._v(" "),n("td",[s._v("ttcomponents")])]),s._v(" "),n("tr",[n("td",[s._v("QQ小程序")]),s._v(" "),n("td",[s._v("支持QQ小程序组件")]),s._v(" "),n("td",[s._v("wxcomponents")])])])]),s._v(" "),n("h2",{attrs:{id:"引入-vantui"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#引入-vantui"}},[s._v("#")]),s._v(" 引入 vantUI")]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v('npm i @vant/weapp -S --production\n\n在项目根目录下新建 wxcomponents 目录\n\n将vant/weapp中dist目录拷贝到新建的wxcomponents目录下,并重命名dist为vant\n\n# 单个页面引入\npage.json:\n\n"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages\n\t\t{\n\t\t\t"path": "pages/index/index",\n\t\t\t"style": {\n\t\t\t\t"navigationBarTitleText": "uni-app",\n\t\t\t\t"usingComponents": {\n\t\t\t\t\t "van-button": "/wxcomponents/vant/button/index",\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t],\n \n \n# 全局引入\n\n"globalStyle": {\n\t\t"navigationBarTextStyle": "black",\n\t\t"navigationBarTitleText": "uni-app",\n\t\t"navigationBarBackgroundColor": "#F8F8F8",\n\t\t"backgroundColor": "#F8F8F8",\n\t\t"usingComponents": {\n\t\t "van-button": "/wxcomponents/vant/button/index",\n\t\t "van-image": "/wxcomponents/vant/image/index",\n\t\t "van-field": "/wxcomponents/vant/field/index",\n\t\t "van-search": "/wxcomponents/vant/search/index",\n\t\t "van-cell": "/wxcomponents/vant/cell/index",\n\t\t "van-cell-group": "/wxcomponents/vant/cell-group/index",\n\t\t "van-notice-bar": "/wxcomponents/vant/notice-bar/index"\n\t\t}\n\t}\n')])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br"),n("span",{staticClass:"line-number"},[s._v("17")]),n("br"),n("span",{staticClass:"line-number"},[s._v("18")]),n("br"),n("span",{staticClass:"line-number"},[s._v("19")]),n("br"),n("span",{staticClass:"line-number"},[s._v("20")]),n("br"),n("span",{staticClass:"line-number"},[s._v("21")]),n("br"),n("span",{staticClass:"line-number"},[s._v("22")]),n("br"),n("span",{staticClass:"line-number"},[s._v("23")]),n("br"),n("span",{staticClass:"line-number"},[s._v("24")]),n("br"),n("span",{staticClass:"line-number"},[s._v("25")]),n("br"),n("span",{staticClass:"line-number"},[s._v("26")]),n("br"),n("span",{staticClass:"line-number"},[s._v("27")]),n("br"),n("span",{staticClass:"line-number"},[s._v("28")]),n("br"),n("span",{staticClass:"line-number"},[s._v("29")]),n("br"),n("span",{staticClass:"line-number"},[s._v("30")]),n("br"),n("span",{staticClass:"line-number"},[s._v("31")]),n("br"),n("span",{staticClass:"line-number"},[s._v("32")]),n("br"),n("span",{staticClass:"line-number"},[s._v("33")]),n("br"),n("span",{staticClass:"line-number"},[s._v("34")]),n("br"),n("span",{staticClass:"line-number"},[s._v("35")]),n("br"),n("span",{staticClass:"line-number"},[s._v("36")]),n("br"),n("span",{staticClass:"line-number"},[s._v("37")]),n("br"),n("span",{staticClass:"line-number"},[s._v("38")]),n("br"),n("span",{staticClass:"line-number"},[s._v("39")]),n("br")])]),n("h2",{attrs:{id:"坑"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#坑"}},[s._v("#")]),s._v(" 坑")]),s._v(" "),n("ul",[n("li",[n("p",[s._v("使用 vue-cli 安装,一直报错")])]),s._v(" "),n("li",[n("p",[s._v("修改hosts:")]),s._v(" "),n("ul",[n("li",[s._v("https://github.com.ipaddress.com/ 查看 ip")]),s._v(" "),n("li",[s._v("https://fastly.net.ipaddress.com/github.global.ssl.fastly.net")])]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("# github\n140.82.114.3 www.github.com\n140.82.114.3 github.com\n\n# 192.30.253.112 www.github.com\n# 192.30.253.112 github.com\n\n199.232.69.194 github.global.ssl.fastly.net\n# 151.101.13.194 github.global.ssl.fastly.net\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br")])])])]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v(" ERROR Failed fetching remote preset dcloudio/uni-preset-vue:\n ERROR Error: end of central directory record signature not found\n \n 手动下载 uni-preset-vue\n \n vue create --preset ./uni-preset-vue my-project\n \n 再选择模板 默认模板快 , hello很慢\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br")])]),n("ul",[n("li",[n("a",{attrs:{href:"https://cli.vuejs.org/zh/guide/plugins-and-presets.html#%E5%8A%A0%E8%BD%BD%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%B8%AD%E7%9A%84-preset",target:"_blank",rel:"noopener noreferrer"}},[s._v("加载文件系统中的-preset"),n("OutboundLink")],1)])]),s._v(" "),n("h2",{attrs:{id:"getapp"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#getapp"}},[s._v("#")]),s._v(" getApp()")]),s._v(" "),n("blockquote",[n("p",[s._v("函数用于获取当前应用实例,一般用于获取globalData")])]),s._v(" "),n("div",{staticClass:"language- line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[s._v("const app = getApp()\nconsole.log(app.globalData)\n\n\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br")])]),n("h2",{attrs:{id:"getcurrentpages"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#getcurrentpages"}},[s._v("#")]),s._v(" getCurrentPages()")]),s._v(" "),n("p",[s._v("getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。")]),s._v(" "),n("p",[s._v("注意: getCurrentPages()仅用于展示页面栈的情况,请勿修改页面栈,以免造成页面状态错误。")]),s._v(" "),n("h2",{attrs:{id:"参考"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#参考"}},[s._v("#")]),s._v(" 参考")]),s._v(" "),n("ul",[n("li",[n("p",[n("a",{attrs:{href:"https://uniapp.dcloud.net.cn/quickstart-cli?id=%e8%bf%90%e8%a1%8c%e3%80%81%e5%8f%91%e5%b8%83uni-app",target:"_blank",rel:"noopener noreferrer"}},[s._v("quickstart"),n("OutboundLink")],1)])]),s._v(" "),n("li",[n("p",[n("a",{attrs:{href:"https://github.com/dcloudio/uni-ui",target:"_blank",rel:"noopener noreferrer"}},[s._v("uni-ui"),n("OutboundLink")],1)])])])])}),[],!1,null,null,null);a.default=e.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{388:function(t,_,r){"use strict";r.r(_);var v=r(24),a=Object(v.a)({},(function(){var t=this,_=t.$createElement,r=t._self._c||_;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"前端升级规范"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#前端升级规范"}},[t._v("#")]),t._v(" 前端升级规范")]),t._v(" "),r("h2",{attrs:{id:"一、什么时间升级"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#一、什么时间升级"}},[t._v("#")]),t._v(" 一、什么时间升级?")]),t._v(" "),r("p",[t._v("● 每周四为各平台前端需求(不涉及后端的纯前端需求)的上线日。")]),t._v(" "),r("p",[t._v("● 优先级:临时的紧急上线 > 随业务组上线 > 周四上线\n"),r("br")]),t._v(" "),r("h2",{attrs:{id:"二、谁来操作升级"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#二、谁来操作升级"}},[t._v("#")]),t._v(" 二、谁来操作升级?")]),t._v(" "),r("table",[r("thead",[r("tr",[r("th",[t._v("~版本")]),t._v(" "),r("th",[t._v("~平台")]),t._v(" "),r("th",[t._v("~ 操作人 ")])])]),t._v(" "),r("tbody",[r("tr",[r("td",[t._v("3.0")]),t._v(" "),r("td",[t._v("全部平台")]),t._v(" "),r("td",[t._v("石瑶")])]),t._v(" "),r("tr",[r("td",[t._v("4.0")]),t._v(" "),r("td",[t._v("基础平台(包含运维平台)、移动平台")]),t._v(" "),r("td",[t._v("砂砾")])]),t._v(" "),r("tr",[r("td",[t._v("4.0")]),t._v(" "),r("td",[t._v("业务平台")]),t._v(" "),r("td",[t._v("叮当")])])])]),t._v(" "),r("br"),t._v(" "),r("h2",{attrs:{id:"三、原则"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#三、原则"}},[t._v("#")]),t._v(" 三、原则")]),t._v(" "),r("p",[t._v("上线前、后,均需要经过测试负责人测试。\n"),r("br")]),t._v(" "),r("h2",{attrs:{id:"四、升级通知"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#四、升级通知"}},[t._v("#")]),t._v(" 四、升级通知")]),t._v(" "),r("p",[t._v("● 只要有上线,就要发送"),r("a",{attrs:{href:"https://www.tapd.cn/33025272/documents/show/1133025272001004205",target:"_blank",rel:"noopener noreferrer"}},[t._v("《迭代升级说明》"),r("OutboundLink")],1),t._v("给相关人员,并抄送sj@demogic.com<升级通知组>。")]),t._v(" "),r("p",[t._v("● 由操作升级的人员发出邮件。")])])}),[],!1,null,null,null);_.default=a.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[16],{382:function(t,_,r){"use strict";r.r(_);var v=r(24),a=Object(v.a)({},(function(){var t=this,_=t.$createElement,r=t._self._c||_;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"前端升级规范"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#前端升级规范"}},[t._v("#")]),t._v(" 前端升级规范")]),t._v(" "),r("h2",{attrs:{id:"一、什么时间升级"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#一、什么时间升级"}},[t._v("#")]),t._v(" 一、什么时间升级?")]),t._v(" "),r("p",[t._v("● 每周四为各平台前端需求(不涉及后端的纯前端需求)的上线日。")]),t._v(" "),r("p",[t._v("● 优先级:临时的紧急上线 > 随业务组上线 > 周四上线\n"),r("br")]),t._v(" "),r("h2",{attrs:{id:"二、谁来操作升级"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#二、谁来操作升级"}},[t._v("#")]),t._v(" 二、谁来操作升级?")]),t._v(" "),r("table",[r("thead",[r("tr",[r("th",[t._v("~版本")]),t._v(" "),r("th",[t._v("~平台")]),t._v(" "),r("th",[t._v("~ 操作人 ")])])]),t._v(" "),r("tbody",[r("tr",[r("td",[t._v("3.0")]),t._v(" "),r("td",[t._v("全部平台")]),t._v(" "),r("td",[t._v("石瑶")])]),t._v(" "),r("tr",[r("td",[t._v("4.0")]),t._v(" "),r("td",[t._v("基础平台(包含运维平台)、移动平台")]),t._v(" "),r("td",[t._v("砂砾")])]),t._v(" "),r("tr",[r("td",[t._v("4.0")]),t._v(" "),r("td",[t._v("业务平台")]),t._v(" "),r("td",[t._v("叮当")])])])]),t._v(" "),r("br"),t._v(" "),r("h2",{attrs:{id:"三、原则"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#三、原则"}},[t._v("#")]),t._v(" 三、原则")]),t._v(" "),r("p",[t._v("上线前、后,均需要经过测试负责人测试。\n"),r("br")]),t._v(" "),r("h2",{attrs:{id:"四、升级通知"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#四、升级通知"}},[t._v("#")]),t._v(" 四、升级通知")]),t._v(" "),r("p",[t._v("● 只要有上线,就要发送"),r("a",{attrs:{href:"https://www.tapd.cn/33025272/documents/show/1133025272001004205",target:"_blank",rel:"noopener noreferrer"}},[t._v("《迭代升级说明》"),r("OutboundLink")],1),t._v("给相关人员,并抄送sj@demogic.com<升级通知组>。")]),t._v(" "),r("p",[t._v("● 由操作升级的人员发出邮件。")])])}),[],!1,null,null,null);_.default=a.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{389:function(e,a,s){"use strict";s.r(a);var t=s(24),n=Object(t.a)({},(function(){var e=this,a=e.$createElement,s=e._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"vue-项目"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vue-项目"}},[e._v("#")]),e._v(" vue 项目")]),e._v(" "),s("h2",{attrs:{id:"生命周期"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#生命周期"}},[e._v("#")]),e._v(" 生命周期")]),e._v(" "),s("ol",[s("li",[e._v("不在 mounted、created 之类的方法写逻辑,取 ajax 数据,")]),e._v(" "),s("li",[e._v("在 created 里面监听 Bus 事件")])]),e._v(" "),s("h2",{attrs:{id:"vue方法放置顺序"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vue方法放置顺序"}},[e._v("#")]),e._v(" vue方法放置顺序")]),e._v(" "),s("p",[s("code",[e._v("name->components ->props ->data ->beforeCreate->created ->beforeMount ->mounted->activited ->beforeUpdate->updated->beforeDestroy->destroyed->beforeRouteEnter->beforeRouteUpdate->beforeRouteLeave->metods->filter->computed ->watch")])]),e._v(" "),s("h2",{attrs:{id:"method-自定义方法命名-建议"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#method-自定义方法命名-建议"}},[e._v("#")]),e._v(" method 自定义方法命名(建议)")]),e._v(" "),s("ol",[s("li",[e._v("动宾短语(good:jumpPage、openCarInfoDialog)(bad:go、nextPage、show、open、login)")]),e._v(" "),s("li",[e._v("ajax 方法以 get、post 开头,以 data 结尾(good:getListData、postFormData)(bad:takeData、confirmData、getList、postForm)")]),e._v(" "),s("li",[e._v("事件方法以 on 开头(onTypeChange、onUsernameInput)")]),e._v(" "),s("li",[e._v("尽量使用常用单词开头(set、get、open、close、jump)")]),e._v(" "),s("li",[e._v("驼峰命名(good: getListData)(bad: get_list_data、getlistData)")])]),e._v(" "),s("p",[e._v("为了更好的阅读体验,也是为了避免过渡注释,最好的注释就是让代码自己“说出”自己的作用,即命名要有规律性"),s("br"),e._v("\n例如,用于存储数组的变量以 List作为名字后缀,用于某种信息的对象变量以 Info作为名字后缀,用于判断某种逻辑的变量以 is作为前缀")]),e._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("const namesList = ['xiaoming', 'xiaohong']\nconst userInfo = {\n name: 'John',\n age: 20,\n gender: 'male'\n}\nconst isEven = 10 % 2 === 0\n")])]),e._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[e._v("1")]),s("br"),s("span",{staticClass:"line-number"},[e._v("2")]),s("br"),s("span",{staticClass:"line-number"},[e._v("3")]),s("br"),s("span",{staticClass:"line-number"},[e._v("4")]),s("br"),s("span",{staticClass:"line-number"},[e._v("5")]),s("br"),s("span",{staticClass:"line-number"},[e._v("6")]),s("br"),s("span",{staticClass:"line-number"},[e._v("7")]),s("br")])]),s("h2",{attrs:{id:"vue-组件命名"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vue-组件命名"}},[e._v("#")]),e._v(" Vue 组件命名")]),e._v(" "),s("p",[e._v("有意义的: 不过于具体,也不过于抽象"),s("br"),e._v("\n简短: 2 到 3 个单词"),s("br"),e._v("\n具有可读性: 以便于沟通交流"),s("br"),e._v("\n组件文件名使用连字符命名:user-list.vue"),s("br"),e._v("\n组件内name属性使用大驼峰命名:{ name: 'UserList' }"),s("br"),e._v("\ntemplate中组件标签使用连字符:"),s("user-list")],1),e._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("\x3c!-- 推荐 --\x3e\n<app-header></app-header>\n<user-list></user-list>\n<range-slider></range-slider>\n\n\x3c!-- 避免 --\x3e\n<btn-group></btn-group>\x3c!-- 虽然简短但是可读性差. 使用 `button-group` 替代 --\x3e\n<ui-slider></ui-slider>\x3c!-- ui 前缀太过于宽泛,在这里意义不明确 --\x3e\n<slider></slider>\x3c!-- 与自定义元素规范不兼容 --\x3e\n")])]),e._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[e._v("1")]),s("br"),s("span",{staticClass:"line-number"},[e._v("2")]),s("br"),s("span",{staticClass:"line-number"},[e._v("3")]),s("br"),s("span",{staticClass:"line-number"},[e._v("4")]),s("br"),s("span",{staticClass:"line-number"},[e._v("5")]),s("br"),s("span",{staticClass:"line-number"},[e._v("6")]),s("br"),s("span",{staticClass:"line-number"},[e._v("7")]),s("br"),s("span",{staticClass:"line-number"},[e._v("8")]),s("br"),s("span",{staticClass:"line-number"},[e._v("9")]),s("br")])]),s("h2",{attrs:{id:"验证组件的props"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#验证组件的props"}},[e._v("#")]),e._v(" 验证组件的props")]),e._v(" "),s("p",[e._v("提供默认值。"),s("br"),e._v("\n使用 type 属性校验类型。"),s("br"),e._v("\nprops的key使用小驼峰命名法。"),s("br"),e._v("\n使用 props 之前先检查该 prop 是否存在。"),s("br"),e._v("\n当prop为多种类型时应该使用数组表示。"),s("br"),e._v("\n在标签中如果prop有多个单词组成,应当使用连字符。")]),e._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v(" \n props: {\n\t size: {\n\t\t type: Number,\n\t\t default:10\n\t },\n\t id: {\n\t\t type: [Number, String],\n\t\t default: ''\n\t }\n }\n")])]),e._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[e._v("1")]),s("br"),s("span",{staticClass:"line-number"},[e._v("2")]),s("br"),s("span",{staticClass:"line-number"},[e._v("3")]),s("br"),s("span",{staticClass:"line-number"},[e._v("4")]),s("br"),s("span",{staticClass:"line-number"},[e._v("5")]),s("br"),s("span",{staticClass:"line-number"},[e._v("6")]),s("br"),s("span",{staticClass:"line-number"},[e._v("7")]),s("br"),s("span",{staticClass:"line-number"},[e._v("8")]),s("br"),s("span",{staticClass:"line-number"},[e._v("9")]),s("br"),s("span",{staticClass:"line-number"},[e._v("10")]),s("br"),s("span",{staticClass:"line-number"},[e._v("11")]),s("br")])]),s("h2",{attrs:{id:"自定义事件名称"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#自定义事件名称"}},[e._v("#")]),e._v(" 自定义事件名称")]),e._v(" "),s("p",[e._v("自定义事件名称,如果有多个单词组成,使用连字符命名法。")]),e._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("this.$emit('current-change');\n")])]),e._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[e._v("1")]),s("br")])]),s("h2",{attrs:{id:"其他注意事项"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#其他注意事项"}},[e._v("#")]),e._v(" 其他注意事项:")]),e._v(" "),s("ol",[s("li",[e._v("组件的name要写")]),e._v(" "),s("li",[e._v("v-for v-if 避免一起使用 循环 v-for 加key")]),e._v(" "),s("li",[e._v("建议vue组件不要超过400行,既然是组件化开发,那么如果一个组件文件体积太大,存在几十个方法、几十个 data数据,那就说明这个组件大概率包含的功能点太多,是可以被继续细化出多个单一功能的子组件。每一个vue组件首先必须专注于解决一个单一的问题,独立的,可复用的,微小的和可测试的。 如果你的组件做了太多的事或是变得臃肿,将其拆成更小的组件并保持单一的原则。")]),e._v(" "),s("li",[e._v("每个函数不要超过 100行,不要让一个方法函数包含过多的逻辑功能,函数包含过多逻辑,容易混乱,遵循函数功能单一原则")]),e._v(" "),s("li",[e._v("与模板渲染无关的变量不要放在data里")]),e._v(" "),s("li",[e._v("页面计算属性,逻辑过多不要写在template里,用computed")]),e._v(" "),s("li",[e._v("与页面上与业务无关的工具方法应该放在工具方法里")])])])}),[],!1,null,null,null);a.default=n.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[17],{385:function(e,a,s){"use strict";s.r(a);var t=s(24),n=Object(t.a)({},(function(){var e=this,a=e.$createElement,s=e._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"vue-项目"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vue-项目"}},[e._v("#")]),e._v(" vue 项目")]),e._v(" "),s("h2",{attrs:{id:"生命周期"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#生命周期"}},[e._v("#")]),e._v(" 生命周期")]),e._v(" "),s("ol",[s("li",[e._v("不在 mounted、created 之类的方法写逻辑,取 ajax 数据,")]),e._v(" "),s("li",[e._v("在 created 里面监听 Bus 事件")])]),e._v(" "),s("h2",{attrs:{id:"vue方法放置顺序"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vue方法放置顺序"}},[e._v("#")]),e._v(" vue方法放置顺序")]),e._v(" "),s("p",[s("code",[e._v("name->components ->props ->data ->beforeCreate->created ->beforeMount ->mounted->activited ->beforeUpdate->updated->beforeDestroy->destroyed->beforeRouteEnter->beforeRouteUpdate->beforeRouteLeave->metods->filter->computed ->watch")])]),e._v(" "),s("h2",{attrs:{id:"method-自定义方法命名-建议"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#method-自定义方法命名-建议"}},[e._v("#")]),e._v(" method 自定义方法命名(建议)")]),e._v(" "),s("ol",[s("li",[e._v("动宾短语(good:jumpPage、openCarInfoDialog)(bad:go、nextPage、show、open、login)")]),e._v(" "),s("li",[e._v("ajax 方法以 get、post 开头,以 data 结尾(good:getListData、postFormData)(bad:takeData、confirmData、getList、postForm)")]),e._v(" "),s("li",[e._v("事件方法以 on 开头(onTypeChange、onUsernameInput)")]),e._v(" "),s("li",[e._v("尽量使用常用单词开头(set、get、open、close、jump)")]),e._v(" "),s("li",[e._v("驼峰命名(good: getListData)(bad: get_list_data、getlistData)")])]),e._v(" "),s("p",[e._v("为了更好的阅读体验,也是为了避免过渡注释,最好的注释就是让代码自己“说出”自己的作用,即命名要有规律性"),s("br"),e._v("\n例如,用于存储数组的变量以 List作为名字后缀,用于某种信息的对象变量以 Info作为名字后缀,用于判断某种逻辑的变量以 is作为前缀")]),e._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("const namesList = ['xiaoming', 'xiaohong']\nconst userInfo = {\n name: 'John',\n age: 20,\n gender: 'male'\n}\nconst isEven = 10 % 2 === 0\n")])]),e._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[e._v("1")]),s("br"),s("span",{staticClass:"line-number"},[e._v("2")]),s("br"),s("span",{staticClass:"line-number"},[e._v("3")]),s("br"),s("span",{staticClass:"line-number"},[e._v("4")]),s("br"),s("span",{staticClass:"line-number"},[e._v("5")]),s("br"),s("span",{staticClass:"line-number"},[e._v("6")]),s("br"),s("span",{staticClass:"line-number"},[e._v("7")]),s("br")])]),s("h2",{attrs:{id:"vue-组件命名"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#vue-组件命名"}},[e._v("#")]),e._v(" Vue 组件命名")]),e._v(" "),s("p",[e._v("有意义的: 不过于具体,也不过于抽象"),s("br"),e._v("\n简短: 2 到 3 个单词"),s("br"),e._v("\n具有可读性: 以便于沟通交流"),s("br"),e._v("\n组件文件名使用连字符命名:user-list.vue"),s("br"),e._v("\n组件内name属性使用大驼峰命名:{ name: 'UserList' }"),s("br"),e._v("\ntemplate中组件标签使用连字符:"),s("user-list")],1),e._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("\x3c!-- 推荐 --\x3e\n<app-header></app-header>\n<user-list></user-list>\n<range-slider></range-slider>\n\n\x3c!-- 避免 --\x3e\n<btn-group></btn-group>\x3c!-- 虽然简短但是可读性差. 使用 `button-group` 替代 --\x3e\n<ui-slider></ui-slider>\x3c!-- ui 前缀太过于宽泛,在这里意义不明确 --\x3e\n<slider></slider>\x3c!-- 与自定义元素规范不兼容 --\x3e\n")])]),e._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[e._v("1")]),s("br"),s("span",{staticClass:"line-number"},[e._v("2")]),s("br"),s("span",{staticClass:"line-number"},[e._v("3")]),s("br"),s("span",{staticClass:"line-number"},[e._v("4")]),s("br"),s("span",{staticClass:"line-number"},[e._v("5")]),s("br"),s("span",{staticClass:"line-number"},[e._v("6")]),s("br"),s("span",{staticClass:"line-number"},[e._v("7")]),s("br"),s("span",{staticClass:"line-number"},[e._v("8")]),s("br"),s("span",{staticClass:"line-number"},[e._v("9")]),s("br")])]),s("h2",{attrs:{id:"验证组件的props"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#验证组件的props"}},[e._v("#")]),e._v(" 验证组件的props")]),e._v(" "),s("p",[e._v("提供默认值。"),s("br"),e._v("\n使用 type 属性校验类型。"),s("br"),e._v("\nprops的key使用小驼峰命名法。"),s("br"),e._v("\n使用 props 之前先检查该 prop 是否存在。"),s("br"),e._v("\n当prop为多种类型时应该使用数组表示。"),s("br"),e._v("\n在标签中如果prop有多个单词组成,应当使用连字符。")]),e._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v(" \n props: {\n\t size: {\n\t\t type: Number,\n\t\t default:10\n\t },\n\t id: {\n\t\t type: [Number, String],\n\t\t default: ''\n\t }\n }\n")])]),e._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[e._v("1")]),s("br"),s("span",{staticClass:"line-number"},[e._v("2")]),s("br"),s("span",{staticClass:"line-number"},[e._v("3")]),s("br"),s("span",{staticClass:"line-number"},[e._v("4")]),s("br"),s("span",{staticClass:"line-number"},[e._v("5")]),s("br"),s("span",{staticClass:"line-number"},[e._v("6")]),s("br"),s("span",{staticClass:"line-number"},[e._v("7")]),s("br"),s("span",{staticClass:"line-number"},[e._v("8")]),s("br"),s("span",{staticClass:"line-number"},[e._v("9")]),s("br"),s("span",{staticClass:"line-number"},[e._v("10")]),s("br"),s("span",{staticClass:"line-number"},[e._v("11")]),s("br")])]),s("h2",{attrs:{id:"自定义事件名称"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#自定义事件名称"}},[e._v("#")]),e._v(" 自定义事件名称")]),e._v(" "),s("p",[e._v("自定义事件名称,如果有多个单词组成,使用连字符命名法。")]),e._v(" "),s("div",{staticClass:"language- line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[e._v("this.$emit('current-change');\n")])]),e._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[e._v("1")]),s("br")])]),s("h2",{attrs:{id:"其他注意事项"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#其他注意事项"}},[e._v("#")]),e._v(" 其他注意事项:")]),e._v(" "),s("ol",[s("li",[e._v("组件的name要写")]),e._v(" "),s("li",[e._v("v-for v-if 避免一起使用 循环 v-for 加key")]),e._v(" "),s("li",[e._v("建议vue组件不要超过400行,既然是组件化开发,那么如果一个组件文件体积太大,存在几十个方法、几十个 data数据,那就说明这个组件大概率包含的功能点太多,是可以被继续细化出多个单一功能的子组件。每一个vue组件首先必须专注于解决一个单一的问题,独立的,可复用的,微小的和可测试的。 如果你的组件做了太多的事或是变得臃肿,将其拆成更小的组件并保持单一的原则。")]),e._v(" "),s("li",[e._v("每个函数不要超过 100行,不要让一个方法函数包含过多的逻辑功能,函数包含过多逻辑,容易混乱,遵循函数功能单一原则")]),e._v(" "),s("li",[e._v("与模板渲染无关的变量不要放在data里")]),e._v(" "),s("li",[e._v("页面计算属性,逻辑过多不要写在template里,用computed")]),e._v(" "),s("li",[e._v("与页面上与业务无关的工具方法应该放在工具方法里")])])])}),[],!1,null,null,null);a.default=n.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{382:function(s,a,t){"use strict";t.r(a);var e=t(24),r=Object(e.a)({},(function(){var s=this,a=s.$createElement,t=s._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"介绍"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#介绍"}},[s._v("#")]),s._v(" 介绍")]),s._v(" "),t("blockquote",[t("p",[s._v("vuepress 搭建一个前端知识库的项目;")])]),s._v(" "),t("h2",{attrs:{id:"_1-文档"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-文档"}},[s._v("#")]),s._v(" 1.文档")]),s._v(" "),t("blockquote",[t("p",[s._v("如何使用")])]),s._v(" "),t("h3",{attrs:{id:"目录结构"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#目录结构"}},[s._v("#")]),s._v(" 目录结构")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v(".\n├─ front-vuepress\n| └─ dist // 打包后文件\n│ └─ config\n│ └─ sidebars.js // 侧边栏配置文件 \n│ ├─ README.md\n│ └─ .vuepress\n│ └─ config.js // 配置文件\n└─ package.json\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br")])]),t("h3",{attrs:{id:"新增-tab"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#新增-tab"}},[s._v("#")]),s._v(" 新增 tab")]),s._v(" "),t("p",[s._v("只需要在 "),t("code",[s._v(".vuepress")]),s._v(" 下的 "),t("code",[s._v("config.js")]),s._v(" 中新增 "),t("code",[s._v("nav")]),s._v(" 和对应的路径")]),s._v(" "),t("h3",{attrs:{id:"新增-目录"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#新增-目录"}},[s._v("#")]),s._v(" 新增 目录")]),s._v(" "),t("p",[s._v("只需要在根目录下新增即可")]),s._v(" "),t("h3",{attrs:{id:"新增-文档"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#新增-文档"}},[s._v("#")]),s._v(" 新增 文档")]),s._v(" "),t("p",[s._v("只需要在根目录下新增"),t("code",[s._v(".md")]),s._v("文件即可")]),s._v(" "),t("h2",{attrs:{id:"_2-配置侧边栏"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-配置侧边栏"}},[s._v("#")]),s._v(" 2.配置侧边栏")]),s._v(" "),t("blockquote",[t("p",[s._v("如果需要配置侧边栏,只需要 "),t("code",[s._v("config")]),s._v(" 下 "),t("code",[s._v("sidebars.js")]),s._v("中配置")])])])}),[],!1,null,null,null);a.default=r.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[18],{384:function(s,a,t){"use strict";t.r(a);var e=t(24),r=Object(e.a)({},(function(){var s=this,a=s.$createElement,t=s._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"介绍"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#介绍"}},[s._v("#")]),s._v(" 介绍")]),s._v(" "),t("blockquote",[t("p",[s._v("vuepress 搭建一个前端知识库的项目;")])]),s._v(" "),t("h2",{attrs:{id:"_1-文档"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-文档"}},[s._v("#")]),s._v(" 1.文档")]),s._v(" "),t("blockquote",[t("p",[s._v("如何使用")])]),s._v(" "),t("h3",{attrs:{id:"目录结构"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#目录结构"}},[s._v("#")]),s._v(" 目录结构")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v(".\n├─ front-vuepress\n| └─ dist // 打包后文件\n│ └─ config\n│ └─ sidebars.js // 侧边栏配置文件 \n│ ├─ README.md\n│ └─ .vuepress\n│ └─ config.js // 配置文件\n└─ package.json\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br")])]),t("h3",{attrs:{id:"新增-tab"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#新增-tab"}},[s._v("#")]),s._v(" 新增 tab")]),s._v(" "),t("p",[s._v("只需要在 "),t("code",[s._v(".vuepress")]),s._v(" 下的 "),t("code",[s._v("config.js")]),s._v(" 中新增 "),t("code",[s._v("nav")]),s._v(" 和对应的路径")]),s._v(" "),t("h3",{attrs:{id:"新增-目录"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#新增-目录"}},[s._v("#")]),s._v(" 新增 目录")]),s._v(" "),t("p",[s._v("只需要在根目录下新增即可")]),s._v(" "),t("h3",{attrs:{id:"新增-文档"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#新增-文档"}},[s._v("#")]),s._v(" 新增 文档")]),s._v(" "),t("p",[s._v("只需要在根目录下新增"),t("code",[s._v(".md")]),s._v("文件即可")]),s._v(" "),t("h2",{attrs:{id:"_2-配置侧边栏"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-配置侧边栏"}},[s._v("#")]),s._v(" 2.配置侧边栏")]),s._v(" "),t("blockquote",[t("p",[s._v("如果需要配置侧边栏,只需要 "),t("code",[s._v("config")]),s._v(" 下 "),t("code",[s._v("sidebars.js")]),s._v("中配置")])])])}),[],!1,null,null,null);a.default=r.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{390:function(t,v,a){"use strict";a.r(v);var _=a(24),s=Object(_.a)({},(function(){var t=this,v=t.$createElement,a=t._self._c||v;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"好办-2-0"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#好办-2-0"}},[t._v("#")]),t._v(" 好办 2.0")]),t._v(" "),a("blockquote",[a("p",[t._v("下面是当时我做这个项目时整理的文档")])]),t._v(" "),a("h1",{attrs:{id:"好办后台整体使用说明"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#好办后台整体使用说明"}},[t._v("#")]),t._v(" 好办后台整体使用说明")]),t._v(" "),a("h2",{attrs:{id:"一、扫码登录"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#一、扫码登录"}},[t._v("#")]),t._v(" 一、扫码登录")]),t._v(" "),a("blockquote",[a("p",[t._v("前提条件:已经在好办 APP 上注册,并且设置了管理员")])]),t._v(" "),a("ul",[a("li",[t._v("1.1.1 登录整体流程")])]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 后台前端根据接口生成二维码(定时轮询查询是否扫码)\n |\n |-------------------判断是否超时,如果超时,就提示,可以刷新重新生成二维码\n |\n 登录好办 APP,扫描二维码 (APP 端会做一些判断)\n |\n | 确认登录\n |\n 后台前端根据接口返回的企业列表,选择登录的企业,登录\n |\n |-------------------如果超时,直接提示,重新生成二维码\n | 获取用户信息,保存本地\n |\n 登录后台首页\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br"),a("span",{staticClass:"line-number"},[t._v("3")]),a("br"),a("span",{staticClass:"line-number"},[t._v("4")]),a("br"),a("span",{staticClass:"line-number"},[t._v("5")]),a("br"),a("span",{staticClass:"line-number"},[t._v("6")]),a("br"),a("span",{staticClass:"line-number"},[t._v("7")]),a("br"),a("span",{staticClass:"line-number"},[t._v("8")]),a("br"),a("span",{staticClass:"line-number"},[t._v("9")]),a("br"),a("span",{staticClass:"line-number"},[t._v("10")]),a("br"),a("span",{staticClass:"line-number"},[t._v("11")]),a("br"),a("span",{staticClass:"line-number"},[t._v("12")]),a("br"),a("span",{staticClass:"line-number"},[t._v("13")]),a("br"),a("span",{staticClass:"line-number"},[t._v("14")]),a("br")])]),a("h2",{attrs:{id:"二、首页"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#二、首页"}},[t._v("#")]),t._v(" 二、首页")]),t._v(" "),a("ul",[a("li",[t._v("1.1.2 首页")])]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取企业基本信息,获取轮播,获取数据概览,获取快捷入口\n |\n |\n |\n 配置数据概览,配置快捷入口\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br"),a("span",{staticClass:"line-number"},[t._v("3")]),a("br"),a("span",{staticClass:"line-number"},[t._v("4")]),a("br"),a("span",{staticClass:"line-number"},[t._v("5")]),a("br")])]),a("h2",{attrs:{id:"三、审核中心"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#三、审核中心"}},[t._v("#")]),t._v(" 三、审核中心")]),t._v(" "),a("ul",[a("li",[t._v("1.1.3 审核中心")])]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取未审核,已审核数据\n |\n |\n |\n 未审核的数据可以同意/批量同意、拒绝\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br"),a("span",{staticClass:"line-number"},[t._v("3")]),a("br"),a("span",{staticClass:"line-number"},[t._v("4")]),a("br"),a("span",{staticClass:"line-number"},[t._v("5")]),a("br")])]),a("h2",{attrs:{id:"四、设置"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#四、设置"}},[t._v("#")]),t._v(" 四、设置")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("1.1.4 企业设置")]),t._v(" "),a("ul",[a("li",[t._v("1.1.4.1 企业地址"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 企业地址设置开关\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[t._v("1.1.4.2 企业认证"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 设置企业的详细信息(名称,所在地区,详细地址,营业执照注册号,证件类型,营业执照,手持证件照片,,授权书)\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])])])]),t._v(" "),a("li",[a("p",[t._v("1.1.5 通讯录信息")]),t._v(" "),a("ul",[a("li",[t._v("1.1.5.1 员工详情字段配置(根据 通讯录 中档案设置字段配置)"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 行政架构通讯录员工详情字段设置\n 门店架构通讯录员工详情字段\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br")])])]),t._v(" "),a("li",[t._v("1.1.5.2 门店权限设置"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 设置各品牌下门店成员通讯录可见权限,设置门店信息变更是否需要审核\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])])])]),t._v(" "),a("li",[a("p",[t._v("1.1.6 更换超级管理员")])])]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 先验证超级管理员,再更换新的管理员\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])]),a("ul",[a("li",[t._v("1.1.7 设置子管理员\n"),a("ul",[a("li",[t._v("1.1.7.1 获取品牌中角色"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取角色列表\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[t._v("1.1.7.2 新增管理员角色"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 新增管理员角色(角色名称,角色说明,菜单权限,应用权限)\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[t._v("1.1.7.3 添加/编辑/删除成员(根据字段判断是否有权限)"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 新增/编辑/删除成员(管理员角色,成员名,选择管理范围(行政架构,门店架构))\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])])])])]),t._v(" "),a("h2",{attrs:{id:"五、通讯录"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#五、通讯录"}},[t._v("#")]),t._v(" 五、通讯录")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("1.1.8 企业通讯录")]),t._v(" "),a("ul",[a("li",[t._v("1.1.8.1 行政架构"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取行政架构列表,添加行政分组,添加分组,添加成员,批量导入导出员工信息,\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[t._v("1.1.8.2 门店架构"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取门店架构列表(门店视图和店员视图), 增加品牌,添加分组,添加/编辑门店,批量导入导出门店信息\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])])])]),t._v(" "),a("li",[a("p",[t._v("1.1.9 员工档案")]),t._v(" "),a("ul",[a("li",[t._v("1.1.9.1 档案设置"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 档案字段设置 、试用期时间设置\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[t._v("1.1.9.2 在职员工"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取在职员工列表,导入员工档案,导出员工\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[t._v("1.1.9.3 离职员工"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取离职员工列表,导出员工\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])])])]),t._v(" "),a("li",[a("p",[t._v("1.2.1 共享通讯录")]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取共享通讯录列表,\n 一个二维码只能和一个企业建立共享关系,24小时有效\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br")])])])]),t._v(" "),a("h2",{attrs:{id:"六、企业应用"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#六、企业应用"}},[t._v("#")]),t._v(" 六、企业应用")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("1.2.2 企业应用")]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取管理员角色中已经配置的应用数据,设置可见人群,设置开启/关闭应用\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])]),a("ul",[a("li",[a("p",[t._v("1.2.2.1 我的顾客")]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 会员搜索设置 在线沟通设置 开关\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[a("p",[t._v("1.2.2.2 云日报")]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取云日报记录列表,查看云日报记录详情,导出云日报记录\n 云日报系统报表配置,自定义报表设置,任务下发设置\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br")])])]),t._v(" "),a("li",[a("p",[t._v("1.2.2.3 企业公告")]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取企业公告列表,新建公告\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[a("p",[t._v("1.2.2.4 话务任务和不良评价(合并后)")]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取( 话务任务和不良评价)任务列表,查看任务详情(区分话务任务和不良评价),导出任务记录\n 话务任务设置\n 不良评价回访设置\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br"),a("span",{staticClass:"line-number"},[t._v("3")]),a("br")])])]),t._v(" "),a("li",[a("p",[t._v("1.2.2.5 指标管理")]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取月指标列表,查看门店月指标,导购月指标,商户日权重\n 获取 月指标任务列表,查看月指标任务详情,导出月指标任务\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br")])])])])])]),t._v(" "),a("h1",{attrs:{id:"安正需求"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#安正需求"}},[t._v("#")]),t._v(" 安正需求")]),t._v(" "),a("h2",{attrs:{id:"_1-好办1-0"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_1-好办1-0"}},[t._v("#")]),t._v(" 1. 好办1.0")]),t._v(" "),a("h3",{attrs:{id:"_1-1-签到"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_1-1-签到"}},[t._v("#")]),t._v(" 1.1 签到")]),t._v(" "),a("p",[t._v("需求说明:安正集团要求好办APP有签到功能,服务对象为导购人员。同时需要在后台导出签到数据。")]),t._v(" "),a("p",[t._v("原型链接:https://z2qxvy.axshare.com")]),t._v(" "),a("h2",{attrs:{id:"_6月中旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_6月中旬迭代"}},[t._v("#")]),t._v(" 6月中旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-06-04")]),t._v(" "),a("td",[t._v("企业公告优化")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-10")]),t._v(" "),a("td",[t._v("门店信息修改")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-10")]),t._v(" "),a("td",[t._v("GIC同步后添加成员")]),t._v(" "),a("td",[t._v("阿飞")])])])]),t._v(" "),a("h2",{attrs:{id:"_6月下旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_6月下旬迭代"}},[t._v("#")]),t._v(" 6月下旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-2"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-06-17")]),t._v(" "),a("td",[t._v("好办下载页面")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-17")]),t._v(" "),a("td",[t._v("管理员登录方式-手机号密码")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-17")]),t._v(" "),a("td",[t._v("扫码核销")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-17")]),t._v(" "),a("td",[t._v("新增海外手机号")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-17")]),t._v(" "),a("td",[t._v("门店活动")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-17")]),t._v(" "),a("td",[t._v("商品中心")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-19")]),t._v(" "),a("td",[t._v("扫码核销")]),t._v(" "),a("td",[t._v("阿飞")])])])]),t._v(" "),a("h2",{attrs:{id:"七月下旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#七月下旬迭代"}},[t._v("#")]),t._v(" 七月下旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-3"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-07-15")]),t._v(" "),a("td",[a("s",[t._v("工作台添加管理功能")])]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-15")]),t._v(" "),a("td",[t._v("新增转移成员")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-15")]),t._v(" "),a("td",[t._v("签到对除安正外隐掉")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-15")]),t._v(" "),a("td",[t._v("话务任务查询优化")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-15")]),t._v(" "),a("td",[t._v("创建企业入口优化")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-15")]),t._v(" "),a("td",[t._v("好办运维实施列表跳转")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-15")]),t._v(" "),a("td",[t._v("新增标签备注")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-22")]),t._v(" "),a("td",[a("s",[t._v("优化-pc账号登录")])]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-22")]),t._v(" "),a("td",[t._v("优化-pc好办余额隐掉")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-22")]),t._v(" "),a("td",[t._v("优化-通讯录、商品标题吸顶、权限提醒")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-22")]),t._v(" "),a("td",[t._v("企业公告优化-分类,已读未读列表下载")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-22")]),t._v(" "),a("td",[t._v("会员会话,附近的人会话")]),t._v(" "),a("td",[t._v("··")])])])]),t._v(" "),a("h2",{attrs:{id:"八月上旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#八月上旬迭代"}},[t._v("#")]),t._v(" 八月上旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-4"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-07-29")]),t._v(" "),a("td",[t._v("运维后台创建好办企业并关联")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-29")]),t._v(" "),a("td",[t._v("日报导出报表添加分组字段")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-29")]),t._v(" "),a("td",[t._v("话务任务反馈优化")]),t._v(" "),a("td",[t._v("··")])])])]),t._v(" "),a("h2",{attrs:{id:"八月下旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#八月下旬迭代"}},[t._v("#")]),t._v(" 八月下旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-5"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-08-14")]),t._v(" "),a("td",[t._v("员工档案")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-14")]),t._v(" "),a("td",[t._v("员工接收转岗消息")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-15")]),t._v(" "),a("td",[t._v("关于好办")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-15")]),t._v(" "),a("td",[t._v("优化弹窗提醒页面")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-19")]),t._v(" "),a("td",[t._v("帮助中心跳转udesk")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-19")]),t._v(" "),a("td",[t._v("屏蔽GIC中好办管理相关入口")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-19")]),t._v(" "),a("td",[t._v("话务任务列表")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-19")]),t._v(" "),a("td",[t._v("gic中新增好办跳转")]),t._v(" "),a("td",[t._v("..")])])])]),t._v(" "),a("p",[t._v("原型链接:https://lanhuapp.com/url/UA597")]),t._v(" "),a("p",[t._v("PRD路径:好办2.0迭代需求文档\\8月迭代\\8月下旬迭代。(链接:https://www.jianguoyun.com/p/DQ2vn7UQj56yBxiGsuUB)")]),t._v(" "),a("h2",{attrs:{id:"九月上旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#九月上旬迭代"}},[t._v("#")]),t._v(" 九月上旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-6"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-08-27")]),t._v(" "),a("td",[t._v("Web端通讯录模块调整")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-27")]),t._v(" "),a("td",[t._v("Web端顶部菜单位置调整")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-28")]),t._v(" "),a("td",[t._v("Web端我的顾客调整")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-28")]),t._v(" "),a("td",[t._v("Web端设置子管理员优化")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-28")]),t._v(" "),a("td",[t._v("Web端云日报调整")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-28")]),t._v(" "),a("td",[t._v("Web端会员分组调整")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-28")]),t._v(" "),a("td",[t._v("Web端企业应用调整")]),t._v(" "),a("td",[t._v("..")])])])]),t._v(" "),a("h2",{attrs:{id:"九月下旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#九月下旬迭代"}},[t._v("#")]),t._v(" 九月下旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-7"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-09-11")]),t._v(" "),a("td",[t._v("Web端电话功能配置")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-09-15")]),t._v(" "),a("td",[t._v("web端优化添加店员及审核中心等")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-09-15")]),t._v(" "),a("td",[t._v("web端短信提醒、模板消息、图文、商品、验证码有效期")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-09-15")]),t._v(" "),a("td",[t._v("web端聊天记录查看")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-09-15")]),t._v(" "),a("td",[t._v("web端专属导购菜单交互优化")]),t._v(" "),a("td",[t._v("..")])])])]),t._v(" "),a("h2",{attrs:{id:"_10月下旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_10月下旬迭代"}},[t._v("#")]),t._v(" 10月下旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-8"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-10-14")]),t._v(" "),a("td",[t._v("企业公告优化3.0")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-10-15")]),t._v(" "),a("td",[t._v("我的顾客优化-顾客衣橱、卡券记录")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-10-15")]),t._v(" "),a("td",[t._v("解散企业")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-10-15")]),t._v(" "),a("td",[t._v("优化-门店活动、企业应用、审核中心、话务任务、gic跳转好办")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-10-15")]),t._v(" "),a("td",[t._v("我的顾客-送券,当面领券、卡券发送记录、图文发送记录、商品发送记录")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-10-15")]),t._v(" "),a("td",[t._v("会员聊天语音")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-10-15")]),t._v(" "),a("td",[t._v("udesk人工客服")]),t._v(" "),a("td",[t._v("阿飞")])])])])])}),[],!1,null,null,null);v.default=s.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[19],{387:function(t,v,a){"use strict";a.r(v);var _=a(24),s=Object(_.a)({},(function(){var t=this,v=t.$createElement,a=t._self._c||v;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"好办-2-0"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#好办-2-0"}},[t._v("#")]),t._v(" 好办 2.0")]),t._v(" "),a("blockquote",[a("p",[t._v("下面是当时我做这个项目时整理的文档")])]),t._v(" "),a("h1",{attrs:{id:"好办后台整体使用说明"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#好办后台整体使用说明"}},[t._v("#")]),t._v(" 好办后台整体使用说明")]),t._v(" "),a("h2",{attrs:{id:"一、扫码登录"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#一、扫码登录"}},[t._v("#")]),t._v(" 一、扫码登录")]),t._v(" "),a("blockquote",[a("p",[t._v("前提条件:已经在好办 APP 上注册,并且设置了管理员")])]),t._v(" "),a("ul",[a("li",[t._v("1.1.1 登录整体流程")])]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 后台前端根据接口生成二维码(定时轮询查询是否扫码)\n |\n |-------------------判断是否超时,如果超时,就提示,可以刷新重新生成二维码\n |\n 登录好办 APP,扫描二维码 (APP 端会做一些判断)\n |\n | 确认登录\n |\n 后台前端根据接口返回的企业列表,选择登录的企业,登录\n |\n |-------------------如果超时,直接提示,重新生成二维码\n | 获取用户信息,保存本地\n |\n 登录后台首页\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br"),a("span",{staticClass:"line-number"},[t._v("3")]),a("br"),a("span",{staticClass:"line-number"},[t._v("4")]),a("br"),a("span",{staticClass:"line-number"},[t._v("5")]),a("br"),a("span",{staticClass:"line-number"},[t._v("6")]),a("br"),a("span",{staticClass:"line-number"},[t._v("7")]),a("br"),a("span",{staticClass:"line-number"},[t._v("8")]),a("br"),a("span",{staticClass:"line-number"},[t._v("9")]),a("br"),a("span",{staticClass:"line-number"},[t._v("10")]),a("br"),a("span",{staticClass:"line-number"},[t._v("11")]),a("br"),a("span",{staticClass:"line-number"},[t._v("12")]),a("br"),a("span",{staticClass:"line-number"},[t._v("13")]),a("br"),a("span",{staticClass:"line-number"},[t._v("14")]),a("br")])]),a("h2",{attrs:{id:"二、首页"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#二、首页"}},[t._v("#")]),t._v(" 二、首页")]),t._v(" "),a("ul",[a("li",[t._v("1.1.2 首页")])]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取企业基本信息,获取轮播,获取数据概览,获取快捷入口\n |\n |\n |\n 配置数据概览,配置快捷入口\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br"),a("span",{staticClass:"line-number"},[t._v("3")]),a("br"),a("span",{staticClass:"line-number"},[t._v("4")]),a("br"),a("span",{staticClass:"line-number"},[t._v("5")]),a("br")])]),a("h2",{attrs:{id:"三、审核中心"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#三、审核中心"}},[t._v("#")]),t._v(" 三、审核中心")]),t._v(" "),a("ul",[a("li",[t._v("1.1.3 审核中心")])]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取未审核,已审核数据\n |\n |\n |\n 未审核的数据可以同意/批量同意、拒绝\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br"),a("span",{staticClass:"line-number"},[t._v("3")]),a("br"),a("span",{staticClass:"line-number"},[t._v("4")]),a("br"),a("span",{staticClass:"line-number"},[t._v("5")]),a("br")])]),a("h2",{attrs:{id:"四、设置"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#四、设置"}},[t._v("#")]),t._v(" 四、设置")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("1.1.4 企业设置")]),t._v(" "),a("ul",[a("li",[t._v("1.1.4.1 企业地址"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 企业地址设置开关\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[t._v("1.1.4.2 企业认证"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 设置企业的详细信息(名称,所在地区,详细地址,营业执照注册号,证件类型,营业执照,手持证件照片,,授权书)\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])])])]),t._v(" "),a("li",[a("p",[t._v("1.1.5 通讯录信息")]),t._v(" "),a("ul",[a("li",[t._v("1.1.5.1 员工详情字段配置(根据 通讯录 中档案设置字段配置)"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 行政架构通讯录员工详情字段设置\n 门店架构通讯录员工详情字段\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br")])])]),t._v(" "),a("li",[t._v("1.1.5.2 门店权限设置"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 设置各品牌下门店成员通讯录可见权限,设置门店信息变更是否需要审核\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])])])]),t._v(" "),a("li",[a("p",[t._v("1.1.6 更换超级管理员")])])]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 先验证超级管理员,再更换新的管理员\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])]),a("ul",[a("li",[t._v("1.1.7 设置子管理员\n"),a("ul",[a("li",[t._v("1.1.7.1 获取品牌中角色"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取角色列表\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[t._v("1.1.7.2 新增管理员角色"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 新增管理员角色(角色名称,角色说明,菜单权限,应用权限)\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[t._v("1.1.7.3 添加/编辑/删除成员(根据字段判断是否有权限)"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 新增/编辑/删除成员(管理员角色,成员名,选择管理范围(行政架构,门店架构))\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])])])])]),t._v(" "),a("h2",{attrs:{id:"五、通讯录"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#五、通讯录"}},[t._v("#")]),t._v(" 五、通讯录")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("1.1.8 企业通讯录")]),t._v(" "),a("ul",[a("li",[t._v("1.1.8.1 行政架构"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取行政架构列表,添加行政分组,添加分组,添加成员,批量导入导出员工信息,\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[t._v("1.1.8.2 门店架构"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取门店架构列表(门店视图和店员视图), 增加品牌,添加分组,添加/编辑门店,批量导入导出门店信息\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])])])]),t._v(" "),a("li",[a("p",[t._v("1.1.9 员工档案")]),t._v(" "),a("ul",[a("li",[t._v("1.1.9.1 档案设置"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 档案字段设置 、试用期时间设置\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[t._v("1.1.9.2 在职员工"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取在职员工列表,导入员工档案,导出员工\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[t._v("1.1.9.3 离职员工"),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取离职员工列表,导出员工\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])])])]),t._v(" "),a("li",[a("p",[t._v("1.2.1 共享通讯录")]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取共享通讯录列表,\n 一个二维码只能和一个企业建立共享关系,24小时有效\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br")])])])]),t._v(" "),a("h2",{attrs:{id:"六、企业应用"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#六、企业应用"}},[t._v("#")]),t._v(" 六、企业应用")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("1.2.2 企业应用")]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取管理员角色中已经配置的应用数据,设置可见人群,设置开启/关闭应用\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])]),a("ul",[a("li",[a("p",[t._v("1.2.2.1 我的顾客")]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 会员搜索设置 在线沟通设置 开关\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[a("p",[t._v("1.2.2.2 云日报")]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取云日报记录列表,查看云日报记录详情,导出云日报记录\n 云日报系统报表配置,自定义报表设置,任务下发设置\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br")])])]),t._v(" "),a("li",[a("p",[t._v("1.2.2.3 企业公告")]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取企业公告列表,新建公告\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br")])])]),t._v(" "),a("li",[a("p",[t._v("1.2.2.4 话务任务和不良评价(合并后)")]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取( 话务任务和不良评价)任务列表,查看任务详情(区分话务任务和不良评价),导出任务记录\n 话务任务设置\n 不良评价回访设置\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br"),a("span",{staticClass:"line-number"},[t._v("3")]),a("br")])])]),t._v(" "),a("li",[a("p",[t._v("1.2.2.5 指标管理")]),t._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[t._v(" 获取月指标列表,查看门店月指标,导购月指标,商户日权重\n 获取 月指标任务列表,查看月指标任务详情,导出月指标任务\n")])]),t._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[t._v("1")]),a("br"),a("span",{staticClass:"line-number"},[t._v("2")]),a("br")])])])])])]),t._v(" "),a("h1",{attrs:{id:"安正需求"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#安正需求"}},[t._v("#")]),t._v(" 安正需求")]),t._v(" "),a("h2",{attrs:{id:"_1-好办1-0"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_1-好办1-0"}},[t._v("#")]),t._v(" 1. 好办1.0")]),t._v(" "),a("h3",{attrs:{id:"_1-1-签到"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_1-1-签到"}},[t._v("#")]),t._v(" 1.1 签到")]),t._v(" "),a("p",[t._v("需求说明:安正集团要求好办APP有签到功能,服务对象为导购人员。同时需要在后台导出签到数据。")]),t._v(" "),a("p",[t._v("原型链接:https://z2qxvy.axshare.com")]),t._v(" "),a("h2",{attrs:{id:"_6月中旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_6月中旬迭代"}},[t._v("#")]),t._v(" 6月中旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-06-04")]),t._v(" "),a("td",[t._v("企业公告优化")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-10")]),t._v(" "),a("td",[t._v("门店信息修改")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-10")]),t._v(" "),a("td",[t._v("GIC同步后添加成员")]),t._v(" "),a("td",[t._v("阿飞")])])])]),t._v(" "),a("h2",{attrs:{id:"_6月下旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_6月下旬迭代"}},[t._v("#")]),t._v(" 6月下旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息-2"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-2"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-06-17")]),t._v(" "),a("td",[t._v("好办下载页面")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-17")]),t._v(" "),a("td",[t._v("管理员登录方式-手机号密码")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-17")]),t._v(" "),a("td",[t._v("扫码核销")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-17")]),t._v(" "),a("td",[t._v("新增海外手机号")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-17")]),t._v(" "),a("td",[t._v("门店活动")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-17")]),t._v(" "),a("td",[t._v("商品中心")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-06-19")]),t._v(" "),a("td",[t._v("扫码核销")]),t._v(" "),a("td",[t._v("阿飞")])])])]),t._v(" "),a("h2",{attrs:{id:"七月下旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#七月下旬迭代"}},[t._v("#")]),t._v(" 七月下旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息-3"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-3"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-07-15")]),t._v(" "),a("td",[a("s",[t._v("工作台添加管理功能")])]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-15")]),t._v(" "),a("td",[t._v("新增转移成员")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-15")]),t._v(" "),a("td",[t._v("签到对除安正外隐掉")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-15")]),t._v(" "),a("td",[t._v("话务任务查询优化")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-15")]),t._v(" "),a("td",[t._v("创建企业入口优化")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-15")]),t._v(" "),a("td",[t._v("好办运维实施列表跳转")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-15")]),t._v(" "),a("td",[t._v("新增标签备注")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-22")]),t._v(" "),a("td",[a("s",[t._v("优化-pc账号登录")])]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-22")]),t._v(" "),a("td",[t._v("优化-pc好办余额隐掉")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-22")]),t._v(" "),a("td",[t._v("优化-通讯录、商品标题吸顶、权限提醒")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-22")]),t._v(" "),a("td",[t._v("企业公告优化-分类,已读未读列表下载")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-22")]),t._v(" "),a("td",[t._v("会员会话,附近的人会话")]),t._v(" "),a("td",[t._v("··")])])])]),t._v(" "),a("h2",{attrs:{id:"八月上旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#八月上旬迭代"}},[t._v("#")]),t._v(" 八月上旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息-4"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-4"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-07-29")]),t._v(" "),a("td",[t._v("运维后台创建好办企业并关联")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-29")]),t._v(" "),a("td",[t._v("日报导出报表添加分组字段")]),t._v(" "),a("td",[t._v("··")])]),t._v(" "),a("tr",[a("td",[t._v("2019-07-29")]),t._v(" "),a("td",[t._v("话务任务反馈优化")]),t._v(" "),a("td",[t._v("··")])])])]),t._v(" "),a("h2",{attrs:{id:"八月下旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#八月下旬迭代"}},[t._v("#")]),t._v(" 八月下旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息-5"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-5"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-08-14")]),t._v(" "),a("td",[t._v("员工档案")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-14")]),t._v(" "),a("td",[t._v("员工接收转岗消息")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-15")]),t._v(" "),a("td",[t._v("关于好办")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-15")]),t._v(" "),a("td",[t._v("优化弹窗提醒页面")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-19")]),t._v(" "),a("td",[t._v("帮助中心跳转udesk")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-19")]),t._v(" "),a("td",[t._v("屏蔽GIC中好办管理相关入口")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-19")]),t._v(" "),a("td",[t._v("话务任务列表")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-19")]),t._v(" "),a("td",[t._v("gic中新增好办跳转")]),t._v(" "),a("td",[t._v("..")])])])]),t._v(" "),a("p",[t._v("原型链接:https://lanhuapp.com/url/UA597")]),t._v(" "),a("p",[t._v("PRD路径:好办2.0迭代需求文档\\8月迭代\\8月下旬迭代。(链接:https://www.jianguoyun.com/p/DQ2vn7UQj56yBxiGsuUB)")]),t._v(" "),a("h2",{attrs:{id:"九月上旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#九月上旬迭代"}},[t._v("#")]),t._v(" 九月上旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息-6"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-6"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-08-27")]),t._v(" "),a("td",[t._v("Web端通讯录模块调整")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-27")]),t._v(" "),a("td",[t._v("Web端顶部菜单位置调整")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-28")]),t._v(" "),a("td",[t._v("Web端我的顾客调整")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-28")]),t._v(" "),a("td",[t._v("Web端设置子管理员优化")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-28")]),t._v(" "),a("td",[t._v("Web端云日报调整")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-28")]),t._v(" "),a("td",[t._v("Web端会员分组调整")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-08-28")]),t._v(" "),a("td",[t._v("Web端企业应用调整")]),t._v(" "),a("td",[t._v("..")])])])]),t._v(" "),a("h2",{attrs:{id:"九月下旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#九月下旬迭代"}},[t._v("#")]),t._v(" 九月下旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息-7"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-7"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-09-11")]),t._v(" "),a("td",[t._v("Web端电话功能配置")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-09-15")]),t._v(" "),a("td",[t._v("web端优化添加店员及审核中心等")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-09-15")]),t._v(" "),a("td",[t._v("web端短信提醒、模板消息、图文、商品、验证码有效期")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-09-15")]),t._v(" "),a("td",[t._v("web端聊天记录查看")]),t._v(" "),a("td",[t._v("..")])]),t._v(" "),a("tr",[a("td",[t._v("2019-09-15")]),t._v(" "),a("td",[t._v("web端专属导购菜单交互优化")]),t._v(" "),a("td",[t._v("..")])])])]),t._v(" "),a("h2",{attrs:{id:"_10月下旬迭代"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_10月下旬迭代"}},[t._v("#")]),t._v(" 10月下旬迭代")]),t._v(" "),a("h3",{attrs:{id:"日志信息-8"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-8"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),a("table",[a("thead",[a("tr",[a("th",[t._v("时间")]),t._v(" "),a("th",[t._v("内容")]),t._v(" "),a("th",[t._v("填写人")])])]),t._v(" "),a("tbody",[a("tr",[a("td",[t._v("2019-10-14")]),t._v(" "),a("td",[t._v("企业公告优化3.0")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-10-15")]),t._v(" "),a("td",[t._v("我的顾客优化-顾客衣橱、卡券记录")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-10-15")]),t._v(" "),a("td",[t._v("解散企业")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-10-15")]),t._v(" "),a("td",[t._v("优化-门店活动、企业应用、审核中心、话务任务、gic跳转好办")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-10-15")]),t._v(" "),a("td",[t._v("我的顾客-送券,当面领券、卡券发送记录、图文发送记录、商品发送记录")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-10-15")]),t._v(" "),a("td",[t._v("会员聊天语音")]),t._v(" "),a("td",[t._v("阿飞")])]),t._v(" "),a("tr",[a("td",[t._v("2019-10-15")]),t._v(" "),a("td",[t._v("udesk人工客服")]),t._v(" "),a("td",[t._v("阿飞")])])])])])}),[],!1,null,null,null);v.default=s.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{391:function(v,_,t){"use strict";t.r(_);var a=t(24),r=Object(a.a)({},(function(){var v=this,_=v.$createElement,t=v._self._c||_;return t("ContentSlotsDistributor",{attrs:{"slot-key":v.$parent.slotKey}},[t("h1",{attrs:{id:"好办-3-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办-3-0"}},[v._v("#")]),v._v(" 好办 3.0")]),v._v(" "),t("blockquote",[t("p",[v._v("3.0项目内容较多,大概经历了八九次迭代")])]),v._v(" "),t("h2",{attrs:{id:"好办3-0与好办2-0的比较"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0与好办2-0的比较"}},[v._v("#")]),v._v(" 好办3.0与好办2.0的比较")]),v._v(" "),t("blockquote",[t("p",[v._v("截止迭代二上线内容描述")])]),v._v(" "),t("p",[v._v("主要做了同步商户组织,登录授权流程,以及我的顾客、话务任务等五个应用。其余应用及权限相关内容等后续相关迭代更新")]),v._v(" "),t("h3",{attrs:{id:"同步逻辑"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#同步逻辑"}},[v._v("#")]),v._v(" 同步逻辑")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("商户注册企业微信→登录好办管理后台通讯录同步助手→完成商户授权→同步组织架构→导购code与企业微信成员绑定→登录好办小程序使用业务功能")]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("商户注册好办APP(实施在运维后台)创建好办企业及品牌→手动关联GIC企业(同步组织架构)→数据迁移→企业成员登录好办并使用")]),v._v(" "),t("h3",{attrs:{id:"移动端"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#移动端"}},[v._v("#")]),v._v(" 移动端")]),v._v(" "),t("h4",{attrs:{id:"登录逻辑"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#登录逻辑"}},[v._v("#")]),v._v(" 登录逻辑")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("企微成员绑定导购code→登录好办小程序→使用相关业务")]),v._v(" "),t("p",[v._v("未绑定导购code→无业务数据,不能使用功能")]),v._v(" "),t("p",[v._v("管理员→无业务数据,不能使用功能")]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("注册好办APP并关联GIC商户后→企业成员登录好办APP→使用相关业务")]),v._v(" "),t("p",[v._v("管理员→无业务数据,可见功能不可使用功能")]),v._v(" "),t("h4",{attrs:{id:"首页内容"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#首页内容"}},[v._v("#")]),v._v(" 首页内容")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("门店销售数据及工作台应用")]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("聊天及通知列表")]),v._v(" "),t("h4",{attrs:{id:"应用内容"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#应用内容"}},[v._v("#")]),v._v(" 应用内容")]),v._v(" "),t("h5",{attrs:{id:"我的顾客"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#我的顾客"}},[v._v("#")]),v._v(" 我的顾客")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("搜索+筛选+顾客列表+顾客详情(无卡券记录及话务记录,后续迭代加入)")]),v._v(" "),t("p",[v._v("添加会员及在线沟通逻辑:")]),v._v(" "),t("p",[v._v("微信公众号发送导购二维码,添加后,通过企业微信添加客户好友后进行联系。加好友后随时可联系,无微信48小时限制。员工离职后,企微微信已添加客户可转移给企微中其他成员,其他成员添加该会员后成为好友")]),v._v(" "),t("p",[v._v("2.0:")]),v._v(" "),t("p",[v._v("搜索+筛选+顾客列表+顾客详情+添加会员的导购二维码")]),v._v(" "),t("p",[v._v("添加会员及在线沟通逻辑:")]),v._v(" "),t("p",[v._v("微信公众号添加主导购,添加后,通过好办APP与客户进行联系,有微信48小时限制。")]),v._v(" "),t("h5",{attrs:{id:"指标管理"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#指标管理"}},[v._v("#")]),v._v(" 指标管理")]),v._v(" "),t("p",[v._v("3.0同2.0")]),v._v(" "),t("h5",{attrs:{id:"云日报"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#云日报"}},[v._v("#")]),v._v(" 云日报")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("日报筛选+日报列表+代报,分享到微信端为链接形式,分享至企业微信(后续迭代加入)")]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("日报筛选+日报列表+代报,分享到微信端为图片形式")]),v._v(" "),t("h5",{attrs:{id:"话务任务"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#话务任务"}},[v._v("#")]),v._v(" 话务任务")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("任务列表+任务列表+任务筛选+任务详情(同好办2.0)")]),v._v(" "),t("p",[v._v("触发逻辑:GIC触发话务任务→好办下发执行(同好办2.0)")]),v._v(" "),t("p",[v._v("完成任务方式:")]),v._v(" "),t("ul",[t("li",[v._v("普通电话:导购自己手机号拨打完成任务,计费由通话时长计算,无法查看通话录音及是否拨通**("),t("u",[v._v("好办3.0新增")]),v._v(")**")]),v._v(" "),t("li",[v._v("双向透传:使用腾讯云透传拨打完成任务,计费由GIC计费中心计算,可以查看通话录音及是否拨通")])]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("任务列表+任务列表+任务筛选+任务详情(同好办3.0)")]),v._v(" "),t("p",[v._v("触发逻辑:GIC触发话务任务→好办下发执行(同好办3.0)")]),v._v(" "),t("p",[v._v("完成任务方式:")]),v._v(" "),t("ul",[t("li",[v._v("双向透传:使用腾讯云透传拨打完成任务,计费由GIC计费中心计算,可以查看通话录音及是否拨通")])]),v._v(" "),t("h5",{attrs:{id:"商品中心"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#商品中心"}},[v._v("#")]),v._v(" 商品中心")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("商品列表+商品搜索+商品详情(销售数据、销售攻略、商品属性)")]),v._v(" "),t("h3",{attrs:{id:"管理后台"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#管理后台"}},[v._v("#")]),v._v(" 管理后台")]),v._v(" "),t("h4",{attrs:{id:"登录逻辑-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#登录逻辑-2"}},[v._v("#")]),v._v(" 登录逻辑")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("管理员用企业微信/微信扫码登录")]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("管理员用好办APP扫码登录/手机号登录")]),v._v(" "),t("h4",{attrs:{id:"应用内容-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#应用内容-2"}},[v._v("#")]),v._v(" 应用内容")]),v._v(" "),t("h5",{attrs:{id:"我的顾客-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#我的顾客-2"}},[v._v("#")]),v._v(" 我的顾客")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("会员展示筛选及分组筛选,"),t("strong",[v._v("无卡券赠送模块(后续迭代添加)")])]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("会员展示筛选及分组筛选,在线沟通设置、卡券赠送模块等")]),v._v(" "),t("h5",{attrs:{id:"指标管理-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#指标管理-2"}},[v._v("#")]),v._v(" 指标管理")]),v._v(" "),t("p",[v._v("3.0同好办2.0,月指标及月指标任务基本无改动")]),v._v(" "),t("h5",{attrs:{id:"云日报-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#云日报-2"}},[v._v("#")]),v._v(" 云日报")]),v._v(" "),t("p",[v._v("3.0同好办2.0,3.0查看云日报详情由企业微信扫码查看。"),t("strong",[v._v("新增解绑导购code释放任务逻辑(后续迭代添加)")]),v._v("。其他内容无变化")]),v._v(" "),t("h5",{attrs:{id:"话务任务-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#话务任务-2"}},[v._v("#")]),v._v(" 话务任务")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("可选择任务完成方式。"),t("strong",[v._v("新增解绑导购code释放任务逻辑(后续迭代添加)")]),v._v("。其他内容无变化。")]),v._v(" "),t("ul",[t("li",[v._v("普通电话")]),v._v(" "),t("li",[v._v("双向透传")])]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("任务完成方式默认透传。其他内容无变化")]),v._v(" "),t("h3",{attrs:{id:"运维后台"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#运维后台"}},[v._v("#")]),v._v(" 运维后台")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("企业列表+登录,"),t("strong",[v._v("无创建企业及关联商户")])]),v._v(" "),t("p",[v._v("菜单管理(后续迭代添加)")]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("企业列表+登录+创建企业+关联商户")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代1"}},[v._v("#")]),v._v(" 好办3.0(迭代1)")]),v._v(" "),t("h3",{attrs:{id:"日志信息"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2019-02-04")]),v._v(" "),t("td",[v._v("我的顾客")]),v._v(" "),t("td",[v._v("阿飞")])]),v._v(" "),t("tr",[t("td"),v._v(" "),t("td"),v._v(" "),t("td")]),v._v(" "),t("tr",[t("td"),v._v(" "),t("td"),v._v(" "),t("td")]),v._v(" "),t("tr",[t("td"),v._v(" "),t("td"),v._v(" "),t("td")]),v._v(" "),t("tr",[t("td"),v._v(" "),t("td"),v._v(" "),t("td")]),v._v(" "),t("tr",[t("td"),v._v(" "),t("td"),v._v(" "),t("td")])])]),v._v(" "),t("p",[v._v("原型链接:https://lanhuapp.com/url/H3gdE-ELMyO")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代1)。(链接:https://www.jianguoyun.com/p/DUp0Gx8Qj56yBxiEo9MC)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代2"}},[v._v("#")]),v._v(" 好办3.0(迭代2)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-2"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2020-02-04")]),v._v(" "),t("td",[v._v("我的顾客")]),v._v(" "),t("td",[v._v("阿飞")])]),v._v(" "),t("tr",[t("td",[v._v("2020-02-10")]),v._v(" "),t("td",[v._v("话务任务")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-02-10")]),v._v(" "),t("td",[v._v("指标管理")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-02-10")]),v._v(" "),t("td",[v._v("云日报")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-02-10")]),v._v(" "),t("td",[v._v("商品中心")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td"),v._v(" "),t("td"),v._v(" "),t("td")])])]),v._v(" "),t("p",[v._v("原型链接:https://lanhuapp.com/url/GKaDe-NPq0b")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代2)。(链接:https://www.jianguoyun.com/p/DRrWOUQQj56yBxjcl90C)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代3"}},[v._v("#")]),v._v(" 好办3.0(迭代3)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-3"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2020-03-11")]),v._v(" "),t("td",[v._v("观云台")]),v._v(" "),t("td",[v._v("阿飞")])]),v._v(" "),t("tr",[t("td",[v._v("2020-03-11")]),v._v(" "),t("td",[v._v("门店信息修改")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-03-11")]),v._v(" "),t("td",[v._v("审核中心")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-03-11")]),v._v(" "),t("td",[v._v("企业设置")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-03-11")]),v._v(" "),t("td",[v._v("运维后台-授权详情及业务字典")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td"),v._v(" "),t("td"),v._v(" "),t("td")])])]),v._v(" "),t("p",[v._v("原型链接:https://lanhuapp.com/url/8nImd")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代3)。(https://www.jianguoyun.com/p/DVsrX8IQj56yBxj7vPEC)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代4"}},[v._v("#")]),v._v(" 好办3.0(迭代4)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-4"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("p",[v._v("原型链接:https://lanhuapp.com/url/QciyJ-u1yOL")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代4)。(https://www.jianguoyun.com/p/DanOaBIQj56yBxj8wosD)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代5"}},[v._v("#")]),v._v(" 好办3.0(迭代5)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-5"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2020-04-07")]),v._v(" "),t("td",[v._v("门店信息修改")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-04-07")]),v._v(" "),t("td",[v._v("订单评价")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-04-07")]),v._v(" "),t("td",[v._v("卡券赠送")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-04-07")]),v._v(" "),t("td",[v._v("通讯录优化")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-04-12")]),v._v(" "),t("td",[v._v("会话任务")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-04-12")]),v._v(" "),t("td",[v._v("卡券赠送设置")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-04-12")]),v._v(" "),t("td",[v._v("帮助中心设置")]),v._v(" "),t("td",[v._v("--")])])])]),v._v(" "),t("p",[v._v("原型链接:https://lanhuapp.com/url/zCFRA-ia7IX")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代5)。(https://www.jianguoyun.com/p/DT9ijysQj56yBxiOnJQD)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-乔丹内购券"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-乔丹内购券"}},[v._v("#")]),v._v(" 好办3.0(乔丹内购券)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-6"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2020-04-07")]),v._v(" "),t("td",[v._v("内购券")]),v._v(" "),t("td",[v._v("阿飞")])])])]),v._v(" "),t("p",[v._v("原型链接:https://lanhuapp.com/url/Nyjr3-dVbpG")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(乔丹内购券)。(https://www.jianguoyun.com/p/DfBltQsQj56yBxjayJAD)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代7"}},[v._v("#")]),v._v(" 好办3.0(迭代7)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-7"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2020-05-24")]),v._v(" "),t("td",[v._v("管理后台-通讯录")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-05-24")]),v._v(" "),t("td",[v._v("管理后台-我的顾客冻结会员")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-05-24")]),v._v(" "),t("td",[v._v("管理后台-企业设置")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-05-24")]),v._v(" "),t("td",[v._v("应用权限模板")]),v._v(" "),t("td",[v._v("--")])])])]),v._v(" "),t("p",[v._v("原型链接:https://lanhuapp.com/url/dGbFg-iP4X2")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代7)。(https://www.jianguoyun.com/p/DQbrRUgQj56yBxiTrJwD)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代8"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代8"}},[v._v("#")]),v._v(" 好办3.0(迭代8)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-8"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-8"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-通讯录")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-会员分组展示")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-商品中心")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-会员分配")]),v._v(" "),t("td",[v._v("--")])])])]),v._v(" "),t("p",[v._v("原型/UI链接:https://lanhuapp.com/url/VqwsJ-ofgLI")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代8)。(https://www.jianguoyun.com/p/DQZ4JwwQj56yBxilk6ID)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代9"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代9"}},[v._v("#")]),v._v(" 好办3.0(迭代9)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-9"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-9"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-通讯录")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-会员分组展示")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-商品中心")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-会员分配")]),v._v(" "),t("td",[v._v("--")])])])]),v._v(" "),t("p",[v._v("原型/UI链接:https://lanhuapp.com/url/VqwsJ-ofgLI")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代8)。(https://www.jianguoyun.com/p/DQZ4JwwQj56yBxilk6ID)")])])}),[],!1,null,null,null);_.default=r.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[20],{386:function(v,_,t){"use strict";t.r(_);var a=t(24),r=Object(a.a)({},(function(){var v=this,_=v.$createElement,t=v._self._c||_;return t("ContentSlotsDistributor",{attrs:{"slot-key":v.$parent.slotKey}},[t("h1",{attrs:{id:"好办-3-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办-3-0"}},[v._v("#")]),v._v(" 好办 3.0")]),v._v(" "),t("blockquote",[t("p",[v._v("3.0项目内容较多,大概经历了八九次迭代")])]),v._v(" "),t("h2",{attrs:{id:"好办3-0与好办2-0的比较"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0与好办2-0的比较"}},[v._v("#")]),v._v(" 好办3.0与好办2.0的比较")]),v._v(" "),t("blockquote",[t("p",[v._v("截止迭代二上线内容描述")])]),v._v(" "),t("p",[v._v("主要做了同步商户组织,登录授权流程,以及我的顾客、话务任务等五个应用。其余应用及权限相关内容等后续相关迭代更新")]),v._v(" "),t("h3",{attrs:{id:"同步逻辑"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#同步逻辑"}},[v._v("#")]),v._v(" 同步逻辑")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("商户注册企业微信→登录好办管理后台通讯录同步助手→完成商户授权→同步组织架构→导购code与企业微信成员绑定→登录好办小程序使用业务功能")]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("商户注册好办APP(实施在运维后台)创建好办企业及品牌→手动关联GIC企业(同步组织架构)→数据迁移→企业成员登录好办并使用")]),v._v(" "),t("h3",{attrs:{id:"移动端"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#移动端"}},[v._v("#")]),v._v(" 移动端")]),v._v(" "),t("h4",{attrs:{id:"登录逻辑"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#登录逻辑"}},[v._v("#")]),v._v(" 登录逻辑")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("企微成员绑定导购code→登录好办小程序→使用相关业务")]),v._v(" "),t("p",[v._v("未绑定导购code→无业务数据,不能使用功能")]),v._v(" "),t("p",[v._v("管理员→无业务数据,不能使用功能")]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("注册好办APP并关联GIC商户后→企业成员登录好办APP→使用相关业务")]),v._v(" "),t("p",[v._v("管理员→无业务数据,可见功能不可使用功能")]),v._v(" "),t("h4",{attrs:{id:"首页内容"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#首页内容"}},[v._v("#")]),v._v(" 首页内容")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("门店销售数据及工作台应用")]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("聊天及通知列表")]),v._v(" "),t("h4",{attrs:{id:"应用内容"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#应用内容"}},[v._v("#")]),v._v(" 应用内容")]),v._v(" "),t("h5",{attrs:{id:"我的顾客"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#我的顾客"}},[v._v("#")]),v._v(" 我的顾客")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("搜索+筛选+顾客列表+顾客详情(无卡券记录及话务记录,后续迭代加入)")]),v._v(" "),t("p",[v._v("添加会员及在线沟通逻辑:")]),v._v(" "),t("p",[v._v("微信公众号发送导购二维码,添加后,通过企业微信添加客户好友后进行联系。加好友后随时可联系,无微信48小时限制。员工离职后,企微微信已添加客户可转移给企微中其他成员,其他成员添加该会员后成为好友")]),v._v(" "),t("p",[v._v("2.0:")]),v._v(" "),t("p",[v._v("搜索+筛选+顾客列表+顾客详情+添加会员的导购二维码")]),v._v(" "),t("p",[v._v("添加会员及在线沟通逻辑:")]),v._v(" "),t("p",[v._v("微信公众号添加主导购,添加后,通过好办APP与客户进行联系,有微信48小时限制。")]),v._v(" "),t("h5",{attrs:{id:"指标管理"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#指标管理"}},[v._v("#")]),v._v(" 指标管理")]),v._v(" "),t("p",[v._v("3.0同2.0")]),v._v(" "),t("h5",{attrs:{id:"云日报"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#云日报"}},[v._v("#")]),v._v(" 云日报")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("日报筛选+日报列表+代报,分享到微信端为链接形式,分享至企业微信(后续迭代加入)")]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("日报筛选+日报列表+代报,分享到微信端为图片形式")]),v._v(" "),t("h5",{attrs:{id:"话务任务"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#话务任务"}},[v._v("#")]),v._v(" 话务任务")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("任务列表+任务列表+任务筛选+任务详情(同好办2.0)")]),v._v(" "),t("p",[v._v("触发逻辑:GIC触发话务任务→好办下发执行(同好办2.0)")]),v._v(" "),t("p",[v._v("完成任务方式:")]),v._v(" "),t("ul",[t("li",[v._v("普通电话:导购自己手机号拨打完成任务,计费由通话时长计算,无法查看通话录音及是否拨通**("),t("u",[v._v("好办3.0新增")]),v._v(")**")]),v._v(" "),t("li",[v._v("双向透传:使用腾讯云透传拨打完成任务,计费由GIC计费中心计算,可以查看通话录音及是否拨通")])]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("任务列表+任务列表+任务筛选+任务详情(同好办3.0)")]),v._v(" "),t("p",[v._v("触发逻辑:GIC触发话务任务→好办下发执行(同好办3.0)")]),v._v(" "),t("p",[v._v("完成任务方式:")]),v._v(" "),t("ul",[t("li",[v._v("双向透传:使用腾讯云透传拨打完成任务,计费由GIC计费中心计算,可以查看通话录音及是否拨通")])]),v._v(" "),t("h5",{attrs:{id:"商品中心"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#商品中心"}},[v._v("#")]),v._v(" 商品中心")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("商品列表+商品搜索+商品详情(销售数据、销售攻略、商品属性)")]),v._v(" "),t("h3",{attrs:{id:"管理后台"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#管理后台"}},[v._v("#")]),v._v(" 管理后台")]),v._v(" "),t("h4",{attrs:{id:"登录逻辑-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#登录逻辑-2"}},[v._v("#")]),v._v(" 登录逻辑")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("管理员用企业微信/微信扫码登录")]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("管理员用好办APP扫码登录/手机号登录")]),v._v(" "),t("h4",{attrs:{id:"应用内容-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#应用内容-2"}},[v._v("#")]),v._v(" 应用内容")]),v._v(" "),t("h5",{attrs:{id:"我的顾客-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#我的顾客-2"}},[v._v("#")]),v._v(" 我的顾客")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("会员展示筛选及分组筛选,"),t("strong",[v._v("无卡券赠送模块(后续迭代添加)")])]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("会员展示筛选及分组筛选,在线沟通设置、卡券赠送模块等")]),v._v(" "),t("h5",{attrs:{id:"指标管理-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#指标管理-2"}},[v._v("#")]),v._v(" 指标管理")]),v._v(" "),t("p",[v._v("3.0同好办2.0,月指标及月指标任务基本无改动")]),v._v(" "),t("h5",{attrs:{id:"云日报-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#云日报-2"}},[v._v("#")]),v._v(" 云日报")]),v._v(" "),t("p",[v._v("3.0同好办2.0,3.0查看云日报详情由企业微信扫码查看。"),t("strong",[v._v("新增解绑导购code释放任务逻辑(后续迭代添加)")]),v._v("。其他内容无变化")]),v._v(" "),t("h5",{attrs:{id:"话务任务-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#话务任务-2"}},[v._v("#")]),v._v(" 话务任务")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("可选择任务完成方式。"),t("strong",[v._v("新增解绑导购code释放任务逻辑(后续迭代添加)")]),v._v("。其他内容无变化。")]),v._v(" "),t("ul",[t("li",[v._v("普通电话")]),v._v(" "),t("li",[v._v("双向透传")])]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("任务完成方式默认透传。其他内容无变化")]),v._v(" "),t("h3",{attrs:{id:"运维后台"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#运维后台"}},[v._v("#")]),v._v(" 运维后台")]),v._v(" "),t("p",[v._v("3.0")]),v._v(" "),t("p",[v._v("企业列表+登录,"),t("strong",[v._v("无创建企业及关联商户")])]),v._v(" "),t("p",[v._v("菜单管理(后续迭代添加)")]),v._v(" "),t("p",[v._v("2.0")]),v._v(" "),t("p",[v._v("企业列表+登录+创建企业+关联商户")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代1"}},[v._v("#")]),v._v(" 好办3.0(迭代1)")]),v._v(" "),t("h3",{attrs:{id:"日志信息"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2019-02-04")]),v._v(" "),t("td",[v._v("我的顾客")]),v._v(" "),t("td",[v._v("阿飞")])]),v._v(" "),t("tr",[t("td"),v._v(" "),t("td"),v._v(" "),t("td")]),v._v(" "),t("tr",[t("td"),v._v(" "),t("td"),v._v(" "),t("td")]),v._v(" "),t("tr",[t("td"),v._v(" "),t("td"),v._v(" "),t("td")]),v._v(" "),t("tr",[t("td"),v._v(" "),t("td"),v._v(" "),t("td")]),v._v(" "),t("tr",[t("td"),v._v(" "),t("td"),v._v(" "),t("td")])])]),v._v(" "),t("p",[v._v("原型链接:https://lanhuapp.com/url/H3gdE-ELMyO")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代1)。(链接:https://www.jianguoyun.com/p/DUp0Gx8Qj56yBxiEo9MC)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代2"}},[v._v("#")]),v._v(" 好办3.0(迭代2)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-2"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2020-02-04")]),v._v(" "),t("td",[v._v("我的顾客")]),v._v(" "),t("td",[v._v("阿飞")])]),v._v(" "),t("tr",[t("td",[v._v("2020-02-10")]),v._v(" "),t("td",[v._v("话务任务")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-02-10")]),v._v(" "),t("td",[v._v("指标管理")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-02-10")]),v._v(" "),t("td",[v._v("云日报")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-02-10")]),v._v(" "),t("td",[v._v("商品中心")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td"),v._v(" "),t("td"),v._v(" "),t("td")])])]),v._v(" "),t("p",[v._v("原型链接:https://lanhuapp.com/url/GKaDe-NPq0b")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代2)。(链接:https://www.jianguoyun.com/p/DRrWOUQQj56yBxjcl90C)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代3"}},[v._v("#")]),v._v(" 好办3.0(迭代3)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-3"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2020-03-11")]),v._v(" "),t("td",[v._v("观云台")]),v._v(" "),t("td",[v._v("阿飞")])]),v._v(" "),t("tr",[t("td",[v._v("2020-03-11")]),v._v(" "),t("td",[v._v("门店信息修改")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-03-11")]),v._v(" "),t("td",[v._v("审核中心")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-03-11")]),v._v(" "),t("td",[v._v("企业设置")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-03-11")]),v._v(" "),t("td",[v._v("运维后台-授权详情及业务字典")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td"),v._v(" "),t("td"),v._v(" "),t("td")])])]),v._v(" "),t("p",[v._v("原型链接:https://lanhuapp.com/url/8nImd")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代3)。(https://www.jianguoyun.com/p/DVsrX8IQj56yBxj7vPEC)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代4"}},[v._v("#")]),v._v(" 好办3.0(迭代4)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-4"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("p",[v._v("原型链接:https://lanhuapp.com/url/QciyJ-u1yOL")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代4)。(https://www.jianguoyun.com/p/DanOaBIQj56yBxj8wosD)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代5"}},[v._v("#")]),v._v(" 好办3.0(迭代5)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-5"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2020-04-07")]),v._v(" "),t("td",[v._v("门店信息修改")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-04-07")]),v._v(" "),t("td",[v._v("订单评价")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-04-07")]),v._v(" "),t("td",[v._v("卡券赠送")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-04-07")]),v._v(" "),t("td",[v._v("通讯录优化")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-04-12")]),v._v(" "),t("td",[v._v("会话任务")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-04-12")]),v._v(" "),t("td",[v._v("卡券赠送设置")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-04-12")]),v._v(" "),t("td",[v._v("帮助中心设置")]),v._v(" "),t("td",[v._v("--")])])])]),v._v(" "),t("p",[v._v("原型链接:https://lanhuapp.com/url/zCFRA-ia7IX")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代5)。(https://www.jianguoyun.com/p/DT9ijysQj56yBxiOnJQD)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-乔丹内购券"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-乔丹内购券"}},[v._v("#")]),v._v(" 好办3.0(乔丹内购券)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-6"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2020-04-07")]),v._v(" "),t("td",[v._v("内购券")]),v._v(" "),t("td",[v._v("阿飞")])])])]),v._v(" "),t("p",[v._v("原型链接:https://lanhuapp.com/url/Nyjr3-dVbpG")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(乔丹内购券)。(https://www.jianguoyun.com/p/DfBltQsQj56yBxjayJAD)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代7"}},[v._v("#")]),v._v(" 好办3.0(迭代7)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-7"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2020-05-24")]),v._v(" "),t("td",[v._v("管理后台-通讯录")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-05-24")]),v._v(" "),t("td",[v._v("管理后台-我的顾客冻结会员")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-05-24")]),v._v(" "),t("td",[v._v("管理后台-企业设置")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-05-24")]),v._v(" "),t("td",[v._v("应用权限模板")]),v._v(" "),t("td",[v._v("--")])])])]),v._v(" "),t("p",[v._v("原型链接:https://lanhuapp.com/url/dGbFg-iP4X2")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代7)。(https://www.jianguoyun.com/p/DQbrRUgQj56yBxiTrJwD)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代8"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代8"}},[v._v("#")]),v._v(" 好办3.0(迭代8)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-8"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-8"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-通讯录")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-会员分组展示")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-商品中心")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-会员分配")]),v._v(" "),t("td",[v._v("--")])])])]),v._v(" "),t("p",[v._v("原型/UI链接:https://lanhuapp.com/url/VqwsJ-ofgLI")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代8)。(https://www.jianguoyun.com/p/DQZ4JwwQj56yBxilk6ID)")]),v._v(" "),t("h2",{attrs:{id:"好办3-0-迭代9"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#好办3-0-迭代9"}},[v._v("#")]),v._v(" 好办3.0(迭代9)")]),v._v(" "),t("h3",{attrs:{id:"日志信息-9"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-9"}},[v._v("#")]),v._v(" 日志信息")]),v._v(" "),t("table",[t("thead",[t("tr",[t("th",[v._v("时间")]),v._v(" "),t("th",[v._v("内容")]),v._v(" "),t("th",[v._v("填写人")])])]),v._v(" "),t("tbody",[t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-通讯录")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-会员分组展示")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-商品中心")]),v._v(" "),t("td",[v._v("--")])]),v._v(" "),t("tr",[t("td",[v._v("2020-06-12")]),v._v(" "),t("td",[v._v("管理后台-会员分配")]),v._v(" "),t("td",[v._v("--")])])])]),v._v(" "),t("p",[v._v("原型/UI链接:https://lanhuapp.com/url/VqwsJ-ofgLI")]),v._v(" "),t("p",[v._v("PRD路径:移动组/PRD/好办3.0/好办3.0(迭代8)。(https://www.jianguoyun.com/p/DQZ4JwwQj56yBxilk6ID)")])])}),[],!1,null,null,null);_.default=r.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{387:function(t,v,_){"use strict";_.r(v);var a=_(24),r=Object(a.a)({},(function(){var t=this,v=t.$createElement,_=t._self._c||v;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h1",{attrs:{id:"好办-4-0"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#好办-4-0"}},[t._v("#")]),t._v(" 好办 4.0")]),t._v(" "),_("blockquote",[_("p",[t._v("目前是做了两个应用,通讯录,审核和一些配置相关,具体参考项目中前端概要设计,目前经过四五次迭代")])]),t._v(" "),_("h2",{attrs:{id:"好办4-0-迭代1"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#好办4-0-迭代1"}},[t._v("#")]),t._v(" 好办4.0(迭代1)")]),t._v(" "),_("h3",{attrs:{id:"日志信息"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#日志信息"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",[t._v("时间")]),t._v(" "),_("th",[t._v("内容")]),t._v(" "),_("th",[t._v("填写人")])])]),t._v(" "),_("tbody",[_("tr",[_("td",[t._v("2020-07-07")]),t._v(" "),_("td",[t._v("管理后台-通讯录")]),t._v(" "),_("td",[t._v("阿飞")])]),t._v(" "),_("tr",[_("td",[t._v("2020-07-12")]),t._v(" "),_("td",[t._v("管理后台-企业信息")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-07-12")]),t._v(" "),_("td",[t._v("管理后台-审核中心(待审核、已审核)")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-07-12")]),t._v(" "),_("td",[t._v("运维后台-企业管理列表及详情")]),t._v(" "),_("td",[t._v("--")])])])]),t._v(" "),_("h2",{attrs:{id:"好办4-0-迭代2"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#好办4-0-迭代2"}},[t._v("#")]),t._v(" 好办4.0(迭代2)")]),t._v(" "),_("h3",{attrs:{id:"日志信息-2"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-2"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",[t._v("时间")]),t._v(" "),_("th",[t._v("内容")]),t._v(" "),_("th",[t._v("填写人")])])]),t._v(" "),_("tbody",[_("tr",[_("td",[t._v("2020-08-31")]),t._v(" "),_("td",[t._v("管理后台-工作台应用")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-08-31")]),t._v(" "),_("td",[t._v("管理后台-通讯录授权优化")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-08-31")]),t._v(" "),_("td",[t._v("管理后台-审核中心、审批控制")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-08-31")]),t._v(" "),_("td",[t._v("管理后台-门店导购范围")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-08-31")]),t._v(" "),_("td",[t._v("运维后台-业务字典")]),t._v(" "),_("td",[t._v("--")])])])]),t._v(" "),_("h2",{attrs:{id:"好办4-0-迭代3"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#好办4-0-迭代3"}},[t._v("#")]),t._v(" 好办4.0(迭代3)")]),t._v(" "),_("h3",{attrs:{id:"日志信息-3"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-3"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",[t._v("时间")]),t._v(" "),_("th",[t._v("内容")]),t._v(" "),_("th",[t._v("填写人")])])]),t._v(" "),_("tbody",[_("tr",[_("td",[t._v("2020-09-25")]),t._v(" "),_("td",[t._v("管理后台-应用授权及应用管理、账号授权")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-09-25")]),t._v(" "),_("td",[t._v("运维后台-权限适用新增超管")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-09-25")]),t._v(" "),_("td",[t._v("运维后台-应用分组及授权记录")]),t._v(" "),_("td",[t._v("--")])])])]),t._v(" "),_("h2",{attrs:{id:"好办4-0-迭代4"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#好办4-0-迭代4"}},[t._v("#")]),t._v(" 好办4.0(迭代4)")]),t._v(" "),_("h3",{attrs:{id:"日志信息-4"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-4"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",[t._v("时间")]),t._v(" "),_("th",[t._v("内容")]),t._v(" "),_("th",[t._v("填写人")])])]),t._v(" "),_("tbody",[_("tr",[_("td",[t._v("2020-11-09")]),t._v(" "),_("td",[t._v("管理后台-优化")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-11-09")]),t._v(" "),_("td",[t._v("管理后台-指标管理")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-11-09")]),t._v(" "),_("td",[t._v("运维后台-SQL")]),t._v(" "),_("td",[t._v("--")])])])]),t._v(" "),_("h2",{attrs:{id:"好办-迭代5"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#好办-迭代5"}},[t._v("#")]),t._v(" 好办(迭代5)")]),t._v(" "),_("h3",{attrs:{id:"日志信息-5"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-5"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",[t._v("时间")]),t._v(" "),_("th",[t._v("内容")]),t._v(" "),_("th",[t._v("填写人")])])]),t._v(" "),_("tbody",[_("tr",[_("td",[t._v("2020-12-25")]),t._v(" "),_("td",[t._v("好办2.0及3.0卡券调整")]),t._v(" "),_("td",[t._v("阿飞")])]),t._v(" "),_("tr",[_("td"),t._v(" "),_("td"),t._v(" "),_("td")])])]),t._v(" "),_("p",[t._v("原型/UI链接:https://lanhuapp.com/url/VqwsJ-ofgLI")]),t._v(" "),_("p",[t._v("PRD路径:移动组/好办4.0项目/阿飞/PRD/好办4.0(迭代5)。(https://www.jianguoyun.com/p/DR--3CcQj56yBxi3hNUD )")])])}),[],!1,null,null,null);v.default=r.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[21],{389:function(t,v,_){"use strict";_.r(v);var a=_(24),r=Object(a.a)({},(function(){var t=this,v=t.$createElement,_=t._self._c||v;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h1",{attrs:{id:"好办-4-0"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#好办-4-0"}},[t._v("#")]),t._v(" 好办 4.0")]),t._v(" "),_("blockquote",[_("p",[t._v("目前是做了两个应用,通讯录,审核和一些配置相关,具体参考项目中前端概要设计,目前经过四五次迭代")])]),t._v(" "),_("h2",{attrs:{id:"好办4-0-迭代1"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#好办4-0-迭代1"}},[t._v("#")]),t._v(" 好办4.0(迭代1)")]),t._v(" "),_("h3",{attrs:{id:"日志信息"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#日志信息"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",[t._v("时间")]),t._v(" "),_("th",[t._v("内容")]),t._v(" "),_("th",[t._v("填写人")])])]),t._v(" "),_("tbody",[_("tr",[_("td",[t._v("2020-07-07")]),t._v(" "),_("td",[t._v("管理后台-通讯录")]),t._v(" "),_("td",[t._v("阿飞")])]),t._v(" "),_("tr",[_("td",[t._v("2020-07-12")]),t._v(" "),_("td",[t._v("管理后台-企业信息")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-07-12")]),t._v(" "),_("td",[t._v("管理后台-审核中心(待审核、已审核)")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-07-12")]),t._v(" "),_("td",[t._v("运维后台-企业管理列表及详情")]),t._v(" "),_("td",[t._v("--")])])])]),t._v(" "),_("h2",{attrs:{id:"好办4-0-迭代2"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#好办4-0-迭代2"}},[t._v("#")]),t._v(" 好办4.0(迭代2)")]),t._v(" "),_("h3",{attrs:{id:"日志信息-2"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-2"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",[t._v("时间")]),t._v(" "),_("th",[t._v("内容")]),t._v(" "),_("th",[t._v("填写人")])])]),t._v(" "),_("tbody",[_("tr",[_("td",[t._v("2020-08-31")]),t._v(" "),_("td",[t._v("管理后台-工作台应用")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-08-31")]),t._v(" "),_("td",[t._v("管理后台-通讯录授权优化")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-08-31")]),t._v(" "),_("td",[t._v("管理后台-审核中心、审批控制")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-08-31")]),t._v(" "),_("td",[t._v("管理后台-门店导购范围")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-08-31")]),t._v(" "),_("td",[t._v("运维后台-业务字典")]),t._v(" "),_("td",[t._v("--")])])])]),t._v(" "),_("h2",{attrs:{id:"好办4-0-迭代3"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#好办4-0-迭代3"}},[t._v("#")]),t._v(" 好办4.0(迭代3)")]),t._v(" "),_("h3",{attrs:{id:"日志信息-3"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-3"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",[t._v("时间")]),t._v(" "),_("th",[t._v("内容")]),t._v(" "),_("th",[t._v("填写人")])])]),t._v(" "),_("tbody",[_("tr",[_("td",[t._v("2020-09-25")]),t._v(" "),_("td",[t._v("管理后台-应用授权及应用管理、账号授权")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-09-25")]),t._v(" "),_("td",[t._v("运维后台-权限适用新增超管")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-09-25")]),t._v(" "),_("td",[t._v("运维后台-应用分组及授权记录")]),t._v(" "),_("td",[t._v("--")])])])]),t._v(" "),_("h2",{attrs:{id:"好办4-0-迭代4"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#好办4-0-迭代4"}},[t._v("#")]),t._v(" 好办4.0(迭代4)")]),t._v(" "),_("h3",{attrs:{id:"日志信息-4"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-4"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",[t._v("时间")]),t._v(" "),_("th",[t._v("内容")]),t._v(" "),_("th",[t._v("填写人")])])]),t._v(" "),_("tbody",[_("tr",[_("td",[t._v("2020-11-09")]),t._v(" "),_("td",[t._v("管理后台-优化")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-11-09")]),t._v(" "),_("td",[t._v("管理后台-指标管理")]),t._v(" "),_("td",[t._v("--")])]),t._v(" "),_("tr",[_("td",[t._v("2020-11-09")]),t._v(" "),_("td",[t._v("运维后台-SQL")]),t._v(" "),_("td",[t._v("--")])])])]),t._v(" "),_("h2",{attrs:{id:"好办-迭代5"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#好办-迭代5"}},[t._v("#")]),t._v(" 好办(迭代5)")]),t._v(" "),_("h3",{attrs:{id:"日志信息-5"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#日志信息-5"}},[t._v("#")]),t._v(" 日志信息")]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",[t._v("时间")]),t._v(" "),_("th",[t._v("内容")]),t._v(" "),_("th",[t._v("填写人")])])]),t._v(" "),_("tbody",[_("tr",[_("td",[t._v("2020-12-25")]),t._v(" "),_("td",[t._v("好办2.0及3.0卡券调整")]),t._v(" "),_("td",[t._v("阿飞")])]),t._v(" "),_("tr",[_("td"),t._v(" "),_("td"),t._v(" "),_("td")])])]),t._v(" "),_("p",[t._v("原型/UI链接:https://lanhuapp.com/url/VqwsJ-ofgLI")]),t._v(" "),_("p",[t._v("PRD路径:移动组/好办4.0项目/阿飞/PRD/好办4.0(迭代5)。(https://www.jianguoyun.com/p/DR--3CcQj56yBxi3hNUD )")])])}),[],!1,null,null,null);v.default=r.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{386:function(t,e,r){"use strict";r.r(e);var a=r(24),o=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"好办项目简介"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#好办项目简介"}},[t._v("#")]),t._v(" 好办项目简介")]),t._v(" "),r("h2",{attrs:{id:"_1-好办-2-0-项目"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_1-好办-2-0-项目"}},[t._v("#")]),t._v(" 1.好办 2.0 项目")]),t._v(" "),r("blockquote",[r("p",[t._v("最开始开发好办的项目,当时最开始不是我一个开发的,还有一个前端,干了大概一个月走了,产品后来也走了,后端当时是四个人,后来的迭代中基本我一个人负责开发,历时将近三四个月上线")])]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://www.gicdev.com/haoban-web/#/login",target:"_blank",rel:"noopener noreferrer"}},[t._v("查看 好办 2.0 后台"),r("OutboundLink")],1)])]),t._v(" "),r("h3",{attrs:{id:"说明文档"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#说明文档"}},[t._v("#")]),t._v(" 说明文档")]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"http://115.159.76.241/office/office-web/blob/dev/haoban-router-constructor.png",target:"_blank",rel:"noopener noreferrer"}},[t._v("好办后台路由结构图"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"http://115.159.76.241/office/office-web/blob/dev/instructions.md",target:"_blank",rel:"noopener noreferrer"}},[t._v("好办后台整体使用说明"),r("OutboundLink")],1)])]),t._v(" "),r("h3",{attrs:{id:"上线跟随项目"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#上线跟随项目"}},[t._v("#")]),t._v(" 上线跟随项目")]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"http://115.159.76.241/office/office-mobile",target:"_blank",rel:"noopener noreferrer"}},[t._v("好办App webview 项目 - office-mobile"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"http://115.159.76.241/office/haoban-old",target:"_blank",rel:"noopener noreferrer"}},[t._v("好办旧版项目- haoban-old"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"http://115.159.76.241/office/haobanDevOps",target:"_blank",rel:"noopener noreferrer"}},[t._v("好办运维后台项目- haoban-devOps"),r("OutboundLink")],1)])]),t._v(" "),r("p",[r("img",{attrs:{src:"http://git.gicdev.com/office/office-web/raw/master/haoban-router-constructor.png",alt:""}})]),t._v(" "),r("h2",{attrs:{id:"_2-好办-3-0-项目"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_2-好办-3-0-项目"}},[t._v("#")]),t._v(" 2.好办 3.0 项目")]),t._v(" "),r("blockquote",[r("p",[t._v("基本参照 2.0 ,把应用独立开来,在2.0基础上又增加一些新的应用,开始接入企业微信,后来迭代中增加企业数据这块")])]),t._v(" "),r("h2",{attrs:{id:"_3-好办-4-0-项目"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_3-好办-4-0-项目"}},[t._v("#")]),t._v(" 3.好办 4.0 项目")]),t._v(" "),r("blockquote",[r("p",[t._v("和 3.0 有些类似,接入企业微信,应用开始使用gic 服务市场应用,增加了商户授权这块")])]),t._v(" "),r("blockquote",[r("blockquote",[r("blockquote",[r("p",[t._v("更多文档参考坚果云---移动组")])])])])])}),[],!1,null,null,null);e.default=o.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[22],{388:function(t,e,r){"use strict";r.r(e);var a=r(24),o=Object(a.a)({},(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"好办项目简介"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#好办项目简介"}},[t._v("#")]),t._v(" 好办项目简介")]),t._v(" "),r("h2",{attrs:{id:"_1-好办-2-0-项目"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_1-好办-2-0-项目"}},[t._v("#")]),t._v(" 1.好办 2.0 项目")]),t._v(" "),r("blockquote",[r("p",[t._v("最开始开发好办的项目,当时最开始不是我一个开发的,还有一个前端,干了大概一个月走了,产品后来也走了,后端当时是四个人,后来的迭代中基本我一个人负责开发,历时将近三四个月上线")])]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://www.gicdev.com/haoban-web/#/login",target:"_blank",rel:"noopener noreferrer"}},[t._v("查看 好办 2.0 后台"),r("OutboundLink")],1)])]),t._v(" "),r("h3",{attrs:{id:"说明文档"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#说明文档"}},[t._v("#")]),t._v(" 说明文档")]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"http://115.159.76.241/office/office-web/blob/dev/haoban-router-constructor.png",target:"_blank",rel:"noopener noreferrer"}},[t._v("好办后台路由结构图"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"http://115.159.76.241/office/office-web/blob/dev/instructions.md",target:"_blank",rel:"noopener noreferrer"}},[t._v("好办后台整体使用说明"),r("OutboundLink")],1)])]),t._v(" "),r("h3",{attrs:{id:"上线跟随项目"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#上线跟随项目"}},[t._v("#")]),t._v(" 上线跟随项目")]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"http://115.159.76.241/office/office-mobile",target:"_blank",rel:"noopener noreferrer"}},[t._v("好办App webview 项目 - office-mobile"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"http://115.159.76.241/office/haoban-old",target:"_blank",rel:"noopener noreferrer"}},[t._v("好办旧版项目- haoban-old"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"http://115.159.76.241/office/haobanDevOps",target:"_blank",rel:"noopener noreferrer"}},[t._v("好办运维后台项目- haoban-devOps"),r("OutboundLink")],1)])]),t._v(" "),r("p",[r("img",{attrs:{src:"http://git.gicdev.com/office/office-web/raw/master/haoban-router-constructor.png",alt:""}})]),t._v(" "),r("h2",{attrs:{id:"_2-好办-3-0-项目"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_2-好办-3-0-项目"}},[t._v("#")]),t._v(" 2.好办 3.0 项目")]),t._v(" "),r("blockquote",[r("p",[t._v("基本参照 2.0 ,把应用独立开来,在2.0基础上又增加一些新的应用,开始接入企业微信,后来迭代中增加企业数据这块")])]),t._v(" "),r("h2",{attrs:{id:"_3-好办-4-0-项目"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_3-好办-4-0-项目"}},[t._v("#")]),t._v(" 3.好办 4.0 项目")]),t._v(" "),r("blockquote",[r("p",[t._v("和 3.0 有些类似,接入企业微信,应用开始使用gic 服务市场应用,增加了商户授权这块")])]),t._v(" "),r("blockquote",[r("blockquote",[r("blockquote",[r("p",[t._v("更多文档参考坚果云---移动组")])])])])])}),[],!1,null,null,null);e.default=o.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{338:function(t,e,n){},366:function(t,e,n){"use strict";n(338)},392:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,e){var n=e.props,i=e.slots;return t("span",{class:["badge",n.type],style:{verticalAlign:n.vertical}},n.text||i().default)}},r=(n(366),n(24)),p=Object(r.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=p.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[3],{340:function(t,e,n){},368:function(t,e,n){"use strict";n(340)},392:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,e){var n=e.props,i=e.slots;return t("span",{class:["badge",n.type],style:{verticalAlign:n.vertical}},n.text||i().default)}},r=(n(368),n(24)),p=Object(r.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=p.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{339:function(e,t,c){},367:function(e,t,c){"use strict";c(339)},374:function(e,t,c){"use strict";c.r(t);var i={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}}},n=(c(367),c(24)),s=Object(n.a)(i,(function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"6d04095e",null);t.default=s.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[4],{338:function(e,t,c){},366:function(e,t,c){"use strict";c(338)},374:function(e,t,c){"use strict";c.r(t);var i={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}}},n=(c(366),c(24)),s=Object(n.a)(i,(function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"6d04095e",null);t.default=s.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{340:function(e,t,o){},368:function(e,t,o){"use strict";o(340)},375:function(e,t,o){"use strict";o.r(t);o(19),o(46),o(70),o(47);var a={name:"CodeGroup",data:function(){return{codeTabs:[],activeCodeTabIndex:-1}},watch:{activeCodeTabIndex:function(e){this.codeTabs.forEach((function(e){e.elm.classList.remove("theme-code-block__active")})),this.codeTabs[e].elm.classList.add("theme-code-block__active")}},mounted:function(){var e=this;this.codeTabs=(this.$slots.default||[]).filter((function(e){return Boolean(e.componentOptions)})).map((function(t,o){return""===t.componentOptions.propsData.active&&(e.activeCodeTabIndex=o),{title:t.componentOptions.propsData.title,elm:t.elm}})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0)},methods:{changeCodeTab:function(e){this.activeCodeTabIndex=e}}},c=(o(368),o(24)),n=Object(c.a)(a,(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"theme-code-group"},[o("div",{staticClass:"theme-code-group__nav"},[o("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(t,a){return o("li",{key:t.title,staticClass:"theme-code-group__li"},[o("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":a===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(a)}}},[e._v("\n "+e._s(t.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?o("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)}),[],!1,null,"32c2d7ed",null);t.default=n.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[5],{339:function(e,t,o){},367:function(e,t,o){"use strict";o(339)},375:function(e,t,o){"use strict";o.r(t);o(19),o(46),o(70),o(47);var a={name:"CodeGroup",data:function(){return{codeTabs:[],activeCodeTabIndex:-1}},watch:{activeCodeTabIndex:function(e){this.codeTabs.forEach((function(e){e.elm.classList.remove("theme-code-block__active")})),this.codeTabs[e].elm.classList.add("theme-code-block__active")}},mounted:function(){var e=this;this.codeTabs=(this.$slots.default||[]).filter((function(e){return Boolean(e.componentOptions)})).map((function(t,o){return""===t.componentOptions.propsData.active&&(e.activeCodeTabIndex=o),{title:t.componentOptions.propsData.title,elm:t.elm}})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0)},methods:{changeCodeTab:function(e){this.activeCodeTabIndex=e}}},c=(o(367),o(24)),n=Object(c.a)(a,(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"theme-code-group"},[o("div",{staticClass:"theme-code-group__nav"},[o("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(t,a){return o("li",{key:t.title,staticClass:"theme-code-group__li"},[o("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":a===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(a)}}},[e._v("\n "+e._s(t.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?o("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)}),[],!1,null,"32c2d7ed",null);t.default=n.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{385:function(s,n,e){"use strict";e.r(n);var a=e(24),t=Object(a.a)({},(function(){var s=this,n=s.$createElement,e=s._self._c||n;return e("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[e("h2",{attrs:{id:"简介"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#简介"}},[s._v("#")]),s._v(" 简介")]),s._v(" "),e("blockquote",[e("p",[s._v("本文档使用 "),e("code",[s._v("VuePress 1.x")]),s._v(" 搭建")])]),s._v(" "),e("div",{staticClass:"language- line-numbers-mode"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[s._v("# 安装\nyarn global add vuepress@next # 或者:npm install -g vuepress@next\n\n# 新建一个 markdown 文件\necho '# Hello VuePress!' > README.md\n\n# 开始写作\nvuepress dev .\n\n# 构建静态文件\nvuepress build .\n")])]),s._v(" "),e("div",{staticClass:"line-numbers-wrapper"},[e("span",{staticClass:"line-number"},[s._v("1")]),e("br"),e("span",{staticClass:"line-number"},[s._v("2")]),e("br"),e("span",{staticClass:"line-number"},[s._v("3")]),e("br"),e("span",{staticClass:"line-number"},[s._v("4")]),e("br"),e("span",{staticClass:"line-number"},[s._v("5")]),e("br"),e("span",{staticClass:"line-number"},[s._v("6")]),e("br"),e("span",{staticClass:"line-number"},[s._v("7")]),e("br"),e("span",{staticClass:"line-number"},[s._v("8")]),e("br"),e("span",{staticClass:"line-number"},[s._v("9")]),e("br"),e("span",{staticClass:"line-number"},[s._v("10")]),e("br"),e("span",{staticClass:"line-number"},[s._v("11")]),e("br")])])])}),[],!1,null,null,null);n.default=t.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[7],{383:function(s,n,e){"use strict";e.r(n);var a=e(24),t=Object(a.a)({},(function(){var s=this,n=s.$createElement,e=s._self._c||n;return e("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[e("h2",{attrs:{id:"简介"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#简介"}},[s._v("#")]),s._v(" 简介")]),s._v(" "),e("blockquote",[e("p",[s._v("本文档使用 "),e("code",[s._v("VuePress 1.x")]),s._v(" 搭建")])]),s._v(" "),e("div",{staticClass:"language- line-numbers-mode"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[s._v("# 安装\nyarn global add vuepress@next # 或者:npm install -g vuepress@next\n\n# 新建一个 markdown 文件\necho '# Hello VuePress!' > README.md\n\n# 开始写作\nvuepress dev .\n\n# 构建静态文件\nvuepress build .\n")])]),s._v(" "),e("div",{staticClass:"line-numbers-wrapper"},[e("span",{staticClass:"line-number"},[s._v("1")]),e("br"),e("span",{staticClass:"line-number"},[s._v("2")]),e("br"),e("span",{staticClass:"line-number"},[s._v("3")]),e("br"),e("span",{staticClass:"line-number"},[s._v("4")]),e("br"),e("span",{staticClass:"line-number"},[s._v("5")]),e("br"),e("span",{staticClass:"line-number"},[s._v("6")]),e("br"),e("span",{staticClass:"line-number"},[s._v("7")]),e("br"),e("span",{staticClass:"line-number"},[s._v("8")]),e("br"),e("span",{staticClass:"line-number"},[s._v("9")]),e("br"),e("span",{staticClass:"line-number"},[s._v("10")]),e("br"),e("span",{staticClass:"line-number"},[s._v("11")]),e("br")])])])}),[],!1,null,null,null);n.default=t.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{379:function(e,t,r){"use strict";r.r(t);var s=r(24),n=Object(s.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"文档简介"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#文档简介"}},[e._v("#")]),e._v(" 文档简介")]),e._v(" "),r("p",[e._v("VuePress 由两部分组成:第一部分是一个极简静态网站生成器 (opens new window),它包含由 Vue 驱动的主题系统和插件 API,另一个部分是为书写技术文档而优化的默认主题,它的诞生初衷是为了支持 Vue 及其子项目的文档需求。")]),e._v(" "),r("p",[e._v("每一个由 VuePress 生成的页面都带有预渲染好的 HTML,也因此具有非常好的加载性能和搜索引擎优化(SEO)。同时,一旦页面被加载,Vue 将接管这些静态内容,并将其转换成一个完整的单页应用(SPA),其他的页面则会只在用户浏览到的时候才按需加载。")]),e._v(" "),r("h2",{attrs:{id:"参考"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#参考"}},[e._v("#")]),e._v(" 参考")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://www.vuepress.cn/guide/",target:"_blank",rel:"noopener noreferrer"}},[e._v("vuepress"),r("OutboundLink")],1)])])])}),[],!1,null,null,null);t.default=n.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[8],{391:function(e,t,r){"use strict";r.r(t);var s=r(24),n=Object(s.a)({},(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[r("h1",{attrs:{id:"文档简介"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#文档简介"}},[e._v("#")]),e._v(" 文档简介")]),e._v(" "),r("p",[e._v("VuePress 由两部分组成:第一部分是一个极简静态网站生成器 (opens new window),它包含由 Vue 驱动的主题系统和插件 API,另一个部分是为书写技术文档而优化的默认主题,它的诞生初衷是为了支持 Vue 及其子项目的文档需求。")]),e._v(" "),r("p",[e._v("每一个由 VuePress 生成的页面都带有预渲染好的 HTML,也因此具有非常好的加载性能和搜索引擎优化(SEO)。同时,一旦页面被加载,Vue 将接管这些静态内容,并将其转换成一个完整的单页应用(SPA),其他的页面则会只在用户浏览到的时候才按需加载。")]),e._v(" "),r("h2",{attrs:{id:"参考"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#参考"}},[e._v("#")]),e._v(" 参考")]),e._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://www.vuepress.cn/guide/",target:"_blank",rel:"noopener noreferrer"}},[e._v("vuepress"),r("OutboundLink")],1)])])])}),[],!1,null,null,null);t.default=n.exports}}]);
\ No newline at end of file \ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{383:function(s,a,t){"use strict";t.r(a);var n=t(24),e=Object(n.a)({},(function(){var s=this,a=s.$createElement,t=s._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"javascript-命名规范"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#javascript-命名规范"}},[s._v("#")]),s._v(" JavaScript 命名规范")]),s._v(" "),t("blockquote"),s._v(" "),t("p",[t("a",{attrs:{href:"https://www.zcfy.cc/article/clean-code-javascript-readme-md-at-master-ryanmcdermott-clean-code-javascript-github-2273.html",target:"_blank",rel:"noopener noreferrer"}},[s._v("JavaScript 代码整洁之道"),t("OutboundLink")],1)]),s._v(" "),t("h2",{attrs:{id:"变量"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#变量"}},[s._v("#")]),s._v(" 变量")]),s._v(" "),t("p",[s._v("命名方法:小驼峰式命名法。"),t("br"),s._v("\n命名规范:前缀应当是名词。(函数的名字前缀为动词,以此区分变量和函数)"),t("br"),s._v("\n命名建议:尽量在变量名字中体现所属类型,如:length、count等表示数字类型;而包含name、title表示为字符串类型。")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("// good\nlet maxCount = 10;\nlet tableTitle = 'LoginTable';\n// bad\nlet setCount = 10;\nlet getTitle = 'LoginTable';\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br")])]),t("h2",{attrs:{id:"常量"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#常量"}},[s._v("#")]),s._v(" 常量")]),s._v(" "),t("p",[s._v("仅适用于常量定义,用const进行解构等方式不适用此规范\n命名方法:名称全部大写。\n命名规范:使用大写字母和下划线来组合命名,下划线用以分割单词。")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("const MAX_COUNT = 10;\nconst URL = 'http://www.demogic.com';\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br")])]),t("h2",{attrs:{id:"函数"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#函数"}},[s._v("#")]),s._v(" 函数")]),s._v(" "),t("p",[s._v("命名方法:小驼峰式命名法。"),t("br"),s._v("\n命名规范:前缀应当为动词。"),t("br"),s._v("\n命名建议:可使用常见动词约定")]),s._v(" "),t("table",[t("thead",[t("tr",[t("th",[s._v("动词")]),s._v(" "),t("th",[s._v("含义")]),s._v(" "),t("th",[s._v("返回值")])])]),s._v(" "),t("tbody",[t("tr",[t("td",[s._v("can")]),s._v(" "),t("td",[s._v("判断是否可执行某个动作(权限)")]),s._v(" "),t("td",[s._v("函数返回一个布尔值。true:可执行;false:不可执行")])]),s._v(" "),t("tr",[t("td",[s._v("has")]),s._v(" "),t("td",[s._v("判断是否含有某个值")]),s._v(" "),t("td",[s._v("函数返回一个布尔值。true:含有此值;false:不含有此值")])]),s._v(" "),t("tr",[t("td",[s._v("is")]),s._v(" "),t("td",[s._v("判断是否为某个值")]),s._v(" "),t("td",[s._v("函数返回一个布尔值。true:为某个值;false:不为某个值")])]),s._v(" "),t("tr",[t("td",[s._v("get")]),s._v(" "),t("td",[s._v("获取某个值")]),s._v(" "),t("td",[s._v("函数返回一个非布尔值")])]),s._v(" "),t("tr",[t("td",[s._v("set")]),s._v(" "),t("td",[s._v("设置某个值")]),s._v(" "),t("td",[s._v("无返回值、返回是否设置成功或者返回链式对象")])]),s._v(" "),t("tr",[t("td",[s._v("load")]),s._v(" "),t("td",[s._v("加载某些数据")]),s._v(" "),t("td",[s._v("无返回值或者返回是否加载完成的结果")])])])]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("// 是否可阅读\nfunction canRead(): boolean {\n return true;\n}\n// 获取名称\nfunction getName(): string {\n return this.name;\n}\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br")])]),t("h2",{attrs:{id:"类-构造函数"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#类-构造函数"}},[s._v("#")]),s._v(" 类 & 构造函数")]),s._v(" "),t("p",[s._v("命名方法:大驼峰式命名法,首字母大写。"),t("br"),s._v("\n命名规范:前缀为名称。")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("class Person {\n public name: string;\n constructor(name) {\n this.name = name;\n }\n}\nconst person = new Person('bob');\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br")])]),t("h2",{attrs:{id:"类的成员"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#类的成员"}},[s._v("#")]),s._v(" 类的成员")]),s._v(" "),t("p",[s._v("类的成员包含:"),t("br"),s._v("\n公共属性和方法:跟变量和函数的命名一样。"),t("br"),s._v("\n私有属性和方法:前缀为_(下划线),后面跟公共属性和方法一样的命名方式。")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("class Person {\n private _name: string;\n constructor() { }\n // 公共方法\n getName() {\n return this._name;\n }\n // 公共方法\n setName(name) {\n this._name = name;\n }\n}\nconst person = new Person();\nperson.setName('bob');\nperson.getName(); // -&bob\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br")])])])}),[],!1,null,null,null);a.default=e.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[9],{381:function(s,a,t){"use strict";t.r(a);var n=t(24),e=Object(n.a)({},(function(){var s=this,a=s.$createElement,t=s._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"javascript-命名规范"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#javascript-命名规范"}},[s._v("#")]),s._v(" JavaScript 命名规范")]),s._v(" "),t("blockquote"),s._v(" "),t("p",[t("a",{attrs:{href:"https://www.zcfy.cc/article/clean-code-javascript-readme-md-at-master-ryanmcdermott-clean-code-javascript-github-2273.html",target:"_blank",rel:"noopener noreferrer"}},[s._v("JavaScript 代码整洁之道"),t("OutboundLink")],1)]),s._v(" "),t("h2",{attrs:{id:"变量"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#变量"}},[s._v("#")]),s._v(" 变量")]),s._v(" "),t("p",[s._v("命名方法:小驼峰式命名法。"),t("br"),s._v("\n命名规范:前缀应当是名词。(函数的名字前缀为动词,以此区分变量和函数)"),t("br"),s._v("\n命名建议:尽量在变量名字中体现所属类型,如:length、count等表示数字类型;而包含name、title表示为字符串类型。")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("// good\nlet maxCount = 10;\nlet tableTitle = 'LoginTable';\n// bad\nlet setCount = 10;\nlet getTitle = 'LoginTable';\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br")])]),t("h2",{attrs:{id:"常量"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#常量"}},[s._v("#")]),s._v(" 常量")]),s._v(" "),t("p",[s._v("仅适用于常量定义,用const进行解构等方式不适用此规范\n命名方法:名称全部大写。\n命名规范:使用大写字母和下划线来组合命名,下划线用以分割单词。")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("const MAX_COUNT = 10;\nconst URL = 'http://www.demogic.com';\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br")])]),t("h2",{attrs:{id:"函数"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#函数"}},[s._v("#")]),s._v(" 函数")]),s._v(" "),t("p",[s._v("命名方法:小驼峰式命名法。"),t("br"),s._v("\n命名规范:前缀应当为动词。"),t("br"),s._v("\n命名建议:可使用常见动词约定")]),s._v(" "),t("table",[t("thead",[t("tr",[t("th",[s._v("动词")]),s._v(" "),t("th",[s._v("含义")]),s._v(" "),t("th",[s._v("返回值")])])]),s._v(" "),t("tbody",[t("tr",[t("td",[s._v("can")]),s._v(" "),t("td",[s._v("判断是否可执行某个动作(权限)")]),s._v(" "),t("td",[s._v("函数返回一个布尔值。true:可执行;false:不可执行")])]),s._v(" "),t("tr",[t("td",[s._v("has")]),s._v(" "),t("td",[s._v("判断是否含有某个值")]),s._v(" "),t("td",[s._v("函数返回一个布尔值。true:含有此值;false:不含有此值")])]),s._v(" "),t("tr",[t("td",[s._v("is")]),s._v(" "),t("td",[s._v("判断是否为某个值")]),s._v(" "),t("td",[s._v("函数返回一个布尔值。true:为某个值;false:不为某个值")])]),s._v(" "),t("tr",[t("td",[s._v("get")]),s._v(" "),t("td",[s._v("获取某个值")]),s._v(" "),t("td",[s._v("函数返回一个非布尔值")])]),s._v(" "),t("tr",[t("td",[s._v("set")]),s._v(" "),t("td",[s._v("设置某个值")]),s._v(" "),t("td",[s._v("无返回值、返回是否设置成功或者返回链式对象")])]),s._v(" "),t("tr",[t("td",[s._v("load")]),s._v(" "),t("td",[s._v("加载某些数据")]),s._v(" "),t("td",[s._v("无返回值或者返回是否加载完成的结果")])])])]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("// 是否可阅读\nfunction canRead(): boolean {\n return true;\n}\n// 获取名称\nfunction getName(): string {\n return this.name;\n}\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br")])]),t("h2",{attrs:{id:"类-构造函数"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#类-构造函数"}},[s._v("#")]),s._v(" 类 & 构造函数")]),s._v(" "),t("p",[s._v("命名方法:大驼峰式命名法,首字母大写。"),t("br"),s._v("\n命名规范:前缀为名称。")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("class Person {\n public name: string;\n constructor(name) {\n this.name = name;\n }\n}\nconst person = new Person('bob');\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br")])]),t("h2",{attrs:{id:"类的成员"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#类的成员"}},[s._v("#")]),s._v(" 类的成员")]),s._v(" "),t("p",[s._v("类的成员包含:"),t("br"),s._v("\n公共属性和方法:跟变量和函数的命名一样。"),t("br"),s._v("\n私有属性和方法:前缀为_(下划线),后面跟公共属性和方法一样的命名方式。")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("class Person {\n private _name: string;\n constructor() { }\n // 公共方法\n getName() {\n return this._name;\n }\n // 公共方法\n setName(name) {\n this._name = name;\n }\n}\nconst person = new Person();\nperson.setName('bob');\nperson.getName(); // -&bob\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br")])])])}),[],!1,null,null,null);a.default=e.exports}}]);
\ No newline at end of file \ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/9.c46319dc.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/9.1de5ecbe.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -88,6 +88,6 @@ person.getName(); // -&amp;bob ...@@ -88,6 +88,6 @@ person.getName(); // -&amp;bob
</a> </a>
</span></p></div> </main></div><div class="global-ui"><div></div></div></div> </span></p></div> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/9.c46319dc.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/9.1de5ecbe.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/11.034654c7.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/11.48a0d862.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -113,6 +113,6 @@ border-radius: 15px; /</em> Opera 10.5+, 以及使用了IE-CSS3的IE浏览器 * ...@@ -113,6 +113,6 @@ border-radius: 15px; /</em> Opera 10.5+, 以及使用了IE-CSS3的IE浏览器 *
</a> </a>
</span></p></div> </main></div><div class="global-ui"><div></div></div></div> </span></p></div> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/11.034654c7.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/11.48a0d862.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/12.568121ab.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/12.568121ab.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -74,6 +74,6 @@ indent_style = tab ...@@ -74,6 +74,6 @@ indent_style = tab
</a> </a>
</span></p></div> </main></div><div class="global-ui"><div></div></div></div> </span></p></div> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/12.568121ab.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/12.568121ab.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/13.9be6c128.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/13.29782c85.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -57,6 +57,6 @@ refactor:重构(即不是新增功能,也不是修改bug的代码变动) ...@@ -57,6 +57,6 @@ refactor:重构(即不是新增功能,也不是修改bug的代码变动)
</a> </a>
</span></p></div> </main></div><div class="global-ui"><div></div></div></div> </span></p></div> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/13.9be6c128.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/13.29782c85.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/10.15174ada.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/10.3e8c57b8.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -37,6 +37,6 @@ ...@@ -37,6 +37,6 @@
</a> </a>
</span></p></div> </main></div><div class="global-ui"><div></div></div></div> </span></p></div> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/10.15174ada.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/10.3e8c57b8.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/14.47be6bdb.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/14.9835ee05.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -329,6 +329,6 @@ fly.all([getUserRecords(), getUserProjects()]) ...@@ -329,6 +329,6 @@ fly.all([getUserRecords(), getUserProjects()])
</a> </a>
</span></p></div> </main></div><div class="global-ui"><div></div></div></div> </span></p></div> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/14.47be6bdb.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/14.9835ee05.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/15.babf9b40.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/15.de10a8e3.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -181,6 +181,6 @@ console.log(app.globalData) ...@@ -181,6 +181,6 @@ console.log(app.globalData)
<a href="/front-vuepress/frontend/mpvue.html" class="prev"> <a href="/front-vuepress/frontend/mpvue.html" class="prev">
mpvue 使用 mpvue 使用
</a></span> <!----></p></div> </main></div><div class="global-ui"><div></div></div></div> </a></span> <!----></p></div> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/15.babf9b40.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/15.de10a8e3.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/16.ffbdcbb3.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/16.8523c1b7.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -43,6 +43,6 @@ ...@@ -43,6 +43,6 @@
</a> </a>
</span></p></div> </main></div><div class="global-ui"><div></div></div></div> </span></p></div> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/16.ffbdcbb3.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/16.8523c1b7.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/17.aba01ac0.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/17.cee818e4.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -80,6 +80,6 @@ props的key使用小驼峰命名法。<br> ...@@ -80,6 +80,6 @@ props的key使用小驼峰命名法。<br>
</a> </a>
</span></p></div> </main></div><div class="global-ui"><div></div></div></div> </span></p></div> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/17.aba01ac0.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/17.cee818e4.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/18.80ab75fa.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/18.e64b8e9f.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -42,6 +42,6 @@ ...@@ -42,6 +42,6 @@
│ └─ config.js // 配置文件 │ └─ config.js // 配置文件
└─ package.json └─ package.json
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br></div></div><h3 id="新增-tab"><a href="#新增-tab" class="header-anchor">#</a> 新增 tab</h3> <p>只需要在 <code>.vuepress</code> 下的 <code>config.js</code> 中新增 <code>nav</code> 和对应的路径</p> <h3 id="新增-目录"><a href="#新增-目录" class="header-anchor">#</a> 新增 目录</h3> <p>只需要在根目录下新增即可</p> <h3 id="新增-文档"><a href="#新增-文档" class="header-anchor">#</a> 新增 文档</h3> <p>只需要在根目录下新增<code>.md</code>文件即可</p> <h2 id="_2-配置侧边栏"><a href="#_2-配置侧边栏" class="header-anchor">#</a> 2.配置侧边栏</h2> <blockquote><p>如果需要配置侧边栏,只需要 <code>config</code><code>sidebars.js</code>中配置</p></blockquote></div> <footer class="page-edit"><!----> <!----></footer> <!----> </main></div><div class="global-ui"><div></div></div></div> </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br></div></div><h3 id="新增-tab"><a href="#新增-tab" class="header-anchor">#</a> 新增 tab</h3> <p>只需要在 <code>.vuepress</code> 下的 <code>config.js</code> 中新增 <code>nav</code> 和对应的路径</p> <h3 id="新增-目录"><a href="#新增-目录" class="header-anchor">#</a> 新增 目录</h3> <p>只需要在根目录下新增即可</p> <h3 id="新增-文档"><a href="#新增-文档" class="header-anchor">#</a> 新增 文档</h3> <p>只需要在根目录下新增<code>.md</code>文件即可</p> <h2 id="_2-配置侧边栏"><a href="#_2-配置侧边栏" class="header-anchor">#</a> 2.配置侧边栏</h2> <blockquote><p>如果需要配置侧边栏,只需要 <code>config</code><code>sidebars.js</code>中配置</p></blockquote></div> <footer class="page-edit"><!----> <!----></footer> <!----> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/18.80ab75fa.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/18.e64b8e9f.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/19.ec5e4c99.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/19.56ba22ec.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -92,6 +92,6 @@ ...@@ -92,6 +92,6 @@
</a> </a>
</span></p></div> </main></div><div class="global-ui"><div></div></div></div> </span></p></div> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/19.ec5e4c99.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/19.56ba22ec.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/20.6e2b965a.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/20.29ba5f5c.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -41,6 +41,6 @@ ...@@ -41,6 +41,6 @@
</a> </a>
</span></p></div> </main></div><div class="global-ui"><div></div></div></div> </span></p></div> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/20.6e2b965a.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/20.29ba5f5c.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/21.8cbdb84b.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/21.f28e90b8.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -37,6 +37,6 @@ ...@@ -37,6 +37,6 @@
<a href="/front-vuepress/haoban/2.haoban3.0.html" class="prev"> <a href="/front-vuepress/haoban/2.haoban3.0.html" class="prev">
好办 3.0 好办 3.0
</a></span> <!----></p></div> </main></div><div class="global-ui"><div></div></div></div> </a></span> <!----></p></div> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/21.8cbdb84b.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/21.f28e90b8.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/22.0e558c35.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.2750df5f.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/22.6d5ef012.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.a3ab0a2e.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link"> <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" class="home-link router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
...@@ -37,6 +37,6 @@ ...@@ -37,6 +37,6 @@
</a> </a>
</span></p></div> </main></div><div class="global-ui"><div></div></div></div> </span></p></div> </main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/22.0e558c35.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/22.6d5ef012.js" defer></script>
</body> </body>
</html> </html>
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
<link rel="icon" href="/front-vuepress/favicon.ico"> <link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库"> <meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.d7fb117e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.9234bcbe.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/7.2750df5f.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.15174ada.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.034654c7.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.9be6c128.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.47be6bdb.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.babf9b40.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.ffbdcbb3.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.aba01ac0.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80ab75fa.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.ec5e4c99.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.6e2b965a.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.8cbdb84b.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.0e558c35.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.54876c8a.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.6a3721d1.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.b8532f97.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.0870fa1f.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.c46319dc.js"> <link rel="preload" href="/front-vuepress/assets/css/0.styles.c5cc079e.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.1b3f1b4c.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.aa8f573f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/7.a3ab0a2e.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.3e8c57b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.48a0d862.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.568121ab.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.29782c85.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.9835ee05.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.de10a8e3.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.8523c1b7.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.cee818e4.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.e64b8e9f.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.56ba22ec.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.29ba5f5c.js"><link rel="prefetch" href="/front-vuepress/assets/js/21.f28e90b8.js"><link rel="prefetch" href="/front-vuepress/assets/js/22.6d5ef012.js"><link rel="prefetch" href="/front-vuepress/assets/js/23.129e2259.js"><link rel="prefetch" href="/front-vuepress/assets/js/24.57e0199c.js"><link rel="prefetch" href="/front-vuepress/assets/js/25.e5a2b9b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.771277b9.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.e270470e.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.c6738d4b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.21aee0b6.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.a3fa100a.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.1de5ecbe.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.d7fb117e.css"> <link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.c5cc079e.css">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container no-sidebar"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" aria-current="page" class="home-link router-link-exact-active router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" aria-current="page" class="nav-link router-link-exact-active router-link-active"> <div id="app" data-server-rendered="true"><div class="theme-container no-sidebar"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/front-vuepress/" aria-current="page" class="home-link router-link-exact-active router-link-active"><!----> <span class="site-name">前端知识库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/front-vuepress/" aria-current="page" class="nav-link router-link-exact-active router-link-active">
...@@ -52,6 +52,6 @@ vuepress build . ...@@ -52,6 +52,6 @@ vuepress build .
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br></div></div></div> <div class="footer"> </code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br></div></div></div> <div class="footer">
MIT Licensed | Copyright © 2019-present fairyly MIT Licensed | Copyright © 2019-present fairyly
</div></main></div><div class="global-ui"><div></div></div></div> </div></main></div><div class="global-ui"><div></div></div></div>
<script src="/front-vuepress/assets/js/app.9234bcbe.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/7.2750df5f.js" defer></script> <script src="/front-vuepress/assets/js/app.1b3f1b4c.js" defer></script><script src="/front-vuepress/assets/js/2.aa8f573f.js" defer></script><script src="/front-vuepress/assets/js/7.a3ab0a2e.js" defer></script>
</body> </body>
</html> </html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment