Commit 7eb07eca by 无尘

feat: 增加文档

parent 60d06471
......@@ -24,6 +24,7 @@ module.exports = {
themeConfig: {
nav: [
{ text: "主页", link: "/" },
{ text: "前端规范", link: "/frontend/" },
{ text: "好办项目", link: "/haoban/" },
{ text: "简介", link: "/guide/" },
{ text: "关于", link: "/about/" },
......
......@@ -18,5 +18,14 @@ module.exports = {
'1.haoban2.0',
'2.haoban3.0',
'3.haoban4.0',
]
],
'/frontend/': [
'',
'css',
'JavaScript',
'editorconfig',
'git',
'update',
'vue'
],
};
\ No newline at end of file
......@@ -8,13 +8,13 @@
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.247a3952.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.5bcad825.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/6.706caab8.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.547ecaa9.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.6244719b.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.6a7e13a1.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.1815b13d.js"><link rel="prefetch" href="/front-vuepress/assets/js/2.45b9916f.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.6391a0d0.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.77a548c8.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.7964fd10.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.43b9788c.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.68c73906.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.247a3952.css">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/6.706caab8.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.c0302693.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.25403e95.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.1fc9c8cf.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.a634acab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.398c66a9.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.281444ad.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.f476b293.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.fab97534.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80c852bd.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.8a49b651.js"><link rel="prefetch" href="/front-vuepress/assets/js/2.45b9916f.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.861900e5.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.3dc91026.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.27f906d5.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.8ef7e0de.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><div class="theme-default-content"><h1>404</h1> <blockquote>Looks like we've got some broken links.</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.
</a></div></div><div class="global-ui"></div></div>
<script src="/front-vuepress/assets/js/app.5bcad825.js" defer></script><script src="/front-vuepress/assets/js/6.706caab8.js" defer></script>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/6.706caab8.js" defer></script>
</body>
</html>
......@@ -8,12 +8,14 @@
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.247a3952.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.5bcad825.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/8.43b9788c.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.547ecaa9.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.6244719b.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.6a7e13a1.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.1815b13d.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.6391a0d0.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.77a548c8.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.7964fd10.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.68c73906.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.247a3952.css">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/8.27f906d5.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.c0302693.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.25403e95.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.1fc9c8cf.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.a634acab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.398c66a9.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.281444ad.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.f476b293.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.fab97534.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80c852bd.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.8a49b651.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.861900e5.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.3dc91026.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.8ef7e0de.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<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">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
......@@ -22,6 +24,8 @@
关于
</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
......@@ -29,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> <!----></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>
<script src="/front-vuepress/assets/js/app.5bcad825.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/8.43b9788c.js" defer></script>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/8.27f906d5.js" defer></script>
</body>
</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}
\ No newline at end of file
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}}.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}.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-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}
\ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{366:function(t,s,e){"use strict";e.r(s);var i=e(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{368:function(s,n,a){"use strict";a.r(n);var t=a(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{365:function(n,s,e){"use strict";e.r(s);var a=e(42),t=Object(a.a)({},(function(){var n=this,s=n.$createElement,e=n._self._c||s;return e("ContentSlotsDistributor",{attrs:{"slot-key":n.$parent.slotKey}},[e("h1",{attrs:{id:"editorconfig"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#editorconfig"}},[n._v("#")]),n._v(" editorconfig")]),n._v(" "),e("h2",{attrs:{id:"_1-了解"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_1-了解"}},[n._v("#")]),n._v(" 1.了解")]),n._v(" "),e("hr"),n._v(" "),e("ul",[e("li",[e("p",[n._v("【通配符】")]),n._v(" "),e("div",{staticClass:"language- line-numbers-mode"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[n._v("* 匹配除/之外的任意字符串\n** 匹配任意字符串\n? 匹配任意单个字符\n[name] 匹配name中的任意一个单一字符\n[!name] 匹配不存在name中的任意一个单一字符\n{s1,s2,s3} 匹配给定的字符串中的任意一个(用逗号分隔) \n{num1..num2}  匹配num1到num2之间的任意一个整数, 这里的num1和num2可以为正整数也可以为负整数\n")])]),n._v(" "),e("div",{staticClass:"line-numbers-wrapper"},[e("span",{staticClass:"line-number"},[n._v("1")]),e("br"),e("span",{staticClass:"line-number"},[n._v("2")]),e("br"),e("span",{staticClass:"line-number"},[n._v("3")]),e("br"),e("span",{staticClass:"line-number"},[n._v("4")]),e("br"),e("span",{staticClass:"line-number"},[n._v("5")]),e("br"),e("span",{staticClass:"line-number"},[n._v("6")]),e("br"),e("span",{staticClass:"line-number"},[n._v("7")]),e("br")])])]),n._v(" "),e("li",[e("p",[n._v("各个属性")]),n._v(" "),e("div",{staticClass:"language- line-numbers-mode"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[n._v("indent_style 设置缩进风格(tab是硬缩进,space为软缩进)\nindent_size 用一个整数定义的列数来设置缩进的宽度,如果indent_style为tab,则此属性默认为 tab_width\ntab_width 用一个整数来设置tab缩进的列数。默认是indent_size\nend_of_line 设置换行符,值为lf、cr和crlf\ncharset 设置编码,值为latin1、utf-8、utf-8-bom、utf-16be和utf-16le,不建议使用utf-8-bom\ntrim_trailing_whitespace 设为true表示会去除换行行首的任意空白字符。\ninsert_final_newline 设为true表示使文件以一个空白行结尾\nroot    表示是最顶层的配置文件,发现设为true时,才会停止查找.editorconfig文件 \n")])]),n._v(" "),e("div",{staticClass:"line-numbers-wrapper"},[e("span",{staticClass:"line-number"},[n._v("1")]),e("br"),e("span",{staticClass:"line-number"},[n._v("2")]),e("br"),e("span",{staticClass:"line-number"},[n._v("3")]),e("br"),e("span",{staticClass:"line-number"},[n._v("4")]),e("br"),e("span",{staticClass:"line-number"},[n._v("5")]),e("br"),e("span",{staticClass:"line-number"},[n._v("6")]),e("br"),e("span",{staticClass:"line-number"},[n._v("7")]),e("br"),e("span",{staticClass:"line-number"},[n._v("8")]),e("br")])])])]),n._v(" "),e("h2",{attrs:{id:"_2-使用"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#_2-使用"}},[n._v("#")]),n._v(" 2.使用")]),n._v(" "),e("hr"),n._v(" "),e("blockquote"),n._v(" "),e("p",[n._v("有些编辑器则需要安装editorConfig插件,如ATOM、Sublime、VS Code等")]),n._v(" "),e("ul",[e("li",[e("p",[n._v("项目目录创建 "),e("code",[n._v(".editorconfig")]),n._v(" 文件")]),n._v(" "),e("div",{staticClass:"language- line-numbers-mode"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[n._v("$ touch .editorconfig\n")])]),n._v(" "),e("div",{staticClass:"line-numbers-wrapper"},[e("span",{staticClass:"line-number"},[n._v("1")]),e("br")])])]),n._v(" "),e("li",[e("p",[e("code",[n._v(".editorconfig")]),n._v(" 常用内容设置:")])])]),n._v(" "),e("div",{staticClass:"language- line-numbers-mode"},[e("pre",{pre:!0,attrs:{class:"language-text"}},[e("code",[n._v("# editorconfig.org\nroot = true\n\n[*]\ncharset = utf-8\nindent_style = space\nindent_size = 2\nend_of_line = lf\ntrim_trailing_whitespace = true\ninsert_final_newline = true\ntab_width = 2\n\n[*.md]\ntrim_trailing_whitespace = false\n\n[Makefile]\nindent_style = tab\n")])]),n._v(" "),e("div",{staticClass:"line-numbers-wrapper"},[e("span",{staticClass:"line-number"},[n._v("1")]),e("br"),e("span",{staticClass:"line-number"},[n._v("2")]),e("br"),e("span",{staticClass:"line-number"},[n._v("3")]),e("br"),e("span",{staticClass:"line-number"},[n._v("4")]),e("br"),e("span",{staticClass:"line-number"},[n._v("5")]),e("br"),e("span",{staticClass:"line-number"},[n._v("6")]),e("br"),e("span",{staticClass:"line-number"},[n._v("7")]),e("br"),e("span",{staticClass:"line-number"},[n._v("8")]),e("br"),e("span",{staticClass:"line-number"},[n._v("9")]),e("br"),e("span",{staticClass:"line-number"},[n._v("10")]),e("br"),e("span",{staticClass:"line-number"},[n._v("11")]),e("br"),e("span",{staticClass:"line-number"},[n._v("12")]),e("br"),e("span",{staticClass:"line-number"},[n._v("13")]),e("br"),e("span",{staticClass:"line-number"},[n._v("14")]),e("br"),e("span",{staticClass:"line-number"},[n._v("15")]),e("br"),e("span",{staticClass:"line-number"},[n._v("16")]),e("br"),e("span",{staticClass:"line-number"},[n._v("17")]),e("br")])])])}),[],!1,null,null,null);s.default=t.exports}}]);
\ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{367:function(s,t,a){"use strict";a.r(t);var e=a(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{370:function(t,_,r){"use strict";r.r(_);var v=r(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{371:function(e,a,s){"use strict";s.r(a);var t=s(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{369:function(t,a,s){"use strict";s.r(a);var e=s(42),r=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"介绍"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#介绍"}},[t._v("#")]),t._v(" 介绍")]),t._v(" "),s("blockquote",[s("p",[t._v("vuepress 搭建一个前端知识库的项目;")])]),t._v(" "),s("h2",{attrs:{id:"_1-文档"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_1-文档"}},[t._v("#")]),t._v(" 1.文档")]),t._v(" "),s("h2",{attrs:{id:"_2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2"}},[t._v("#")]),t._v(" 2.")])])}),[],!1,null,null,null);a.default=r.exports}}]);
\ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{368:function(t,v,a){"use strict";a.r(v);var _=a(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{374:function(t,v,a){"use strict";a.r(v);var _=a(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{369:function(v,_,t){"use strict";t.r(_);var a=t(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{375:function(v,_,t){"use strict";t.r(_);var a=t(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{367:function(t,v,_){"use strict";_.r(v);var a=_(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{373:function(t,v,_){"use strict";_.r(v);var a=_(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{364:function(t,e,r){"use strict";r.r(e);var a=r(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{372:function(t,e,r){"use strict";r.r(e);var a=r(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{328:function(t,e,n){},356:function(t,e,n){"use strict";n(328)},370: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(356),n(42)),p=Object(r.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=p.exports}}]);
\ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{329:function(t,e,n){},357:function(t,e,n){"use strict";n(329)},377: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(357),n(42)),p=Object(r.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=p.exports}}]);
\ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{329:function(e,t,c){},357:function(e,t,c){"use strict";c(329)},361: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(357),c(42)),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{328:function(e,t,c){},356:function(e,t,c){"use strict";c(328)},361: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(356),c(42)),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{365:function(s,n,e){"use strict";e.r(n);var a=e(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{364:function(s,n,e){"use strict";e.r(n);var a=e(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{366:function(e,t,r){"use strict";r.r(t);var s=r(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{376:function(e,t,r){"use strict";r.r(t);var s=r(42),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
(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{363:function(t,a,s){"use strict";s.r(a);var e=s(42),r=Object(e.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"介绍"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#介绍"}},[t._v("#")]),t._v(" 介绍")]),t._v(" "),s("blockquote",[s("p",[t._v("vuepress 搭建一个前端知识库的项目;")])]),t._v(" "),s("h2",{attrs:{id:"_1-文档"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_1-文档"}},[t._v("#")]),t._v(" 1.文档")]),t._v(" "),s("h2",{attrs:{id:"_2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2"}},[t._v("#")]),t._v(" 2.")])])}),[],!1,null,null,null);a.default=r.exports}}]);
\ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{363:function(s,a,t){"use strict";t.r(a);var n=t(42),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
This source diff could not be displayed because it is too large. You can view the blob instead.
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>JavaScript 命名规范 | 前端知识库</title>
<meta name="generator" content="VuePress 1.8.0">
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/9.8ef7e0de.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.c0302693.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.25403e95.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.1fc9c8cf.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.a634acab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.398c66a9.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.281444ad.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.f476b293.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.fab97534.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80c852bd.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.8a49b651.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.861900e5.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.3dc91026.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.27f906d5.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<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">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link router-link-active">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
简介
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link router-link-active">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
简介
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/front-vuepress/frontend/" aria-current="page" class="sidebar-link">前端开发规范</a></li><li><a href="/front-vuepress/frontend/css.html" class="sidebar-link">CSS 规范</a></li><li><a href="/front-vuepress/frontend/JavaScript.html" aria-current="page" class="active sidebar-link">JavaScript 命名规范</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/JavaScript.html#变量" class="sidebar-link">变量</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/JavaScript.html#常量" class="sidebar-link">常量</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/JavaScript.html#函数" class="sidebar-link">函数</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/JavaScript.html#类-构造函数" class="sidebar-link">&amp;amp; 构造函数</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/JavaScript.html#类的成员" class="sidebar-link">类的成员</a></li></ul></li><li><a href="/front-vuepress/frontend/editorconfig.html" class="sidebar-link">editorconfig</a></li><li><a href="/front-vuepress/frontend/git.html" class="sidebar-link">git 分支管理</a></li><li><a href="/front-vuepress/frontend/update.html" class="sidebar-link">前端升级规范</a></li><li><a href="/front-vuepress/frontend/vue.html" class="sidebar-link">vue 项目</a></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="javascript-命名规范"><a href="#javascript-命名规范" class="header-anchor">#</a> JavaScript 命名规范</h1> <blockquote></blockquote> <p><a 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">JavaScript 代码整洁之道<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></p> <h2 id="变量"><a href="#变量" class="header-anchor">#</a> 变量</h2> <p>命名方法:小驼峰式命名法。<br>
命名规范:前缀应当是名词。(函数的名字前缀为动词,以此区分变量和函数)<br>
命名建议:尽量在变量名字中体现所属类型,如:length、count等表示数字类型;而包含name、title表示为字符串类型。</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>// good
let maxCount = 10;
let tableTitle = 'LoginTable';
// bad
let setCount = 10;
let getTitle = 'LoginTable';
</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></div></div><h2 id="常量"><a href="#常量" class="header-anchor">#</a> 常量</h2> <p>仅适用于常量定义,用const进行解构等方式不适用此规范
命名方法:名称全部大写。
命名规范:使用大写字母和下划线来组合命名,下划线用以分割单词。</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>const MAX_COUNT = 10;
const URL = 'http://www.demogic.com';
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><h2 id="函数"><a href="#函数" class="header-anchor">#</a> 函数</h2> <p>命名方法:小驼峰式命名法。<br>
命名规范:前缀应当为动词。<br>
命名建议:可使用常见动词约定</p> <table><thead><tr><th>动词</th> <th>含义</th> <th>返回值</th></tr></thead> <tbody><tr><td>can</td> <td>判断是否可执行某个动作(权限)</td> <td>函数返回一个布尔值。true:可执行;false:不可执行</td></tr> <tr><td>has</td> <td>判断是否含有某个值</td> <td>函数返回一个布尔值。true:含有此值;false:不含有此值</td></tr> <tr><td>is</td> <td>判断是否为某个值</td> <td>函数返回一个布尔值。true:为某个值;false:不为某个值</td></tr> <tr><td>get</td> <td>获取某个值</td> <td>函数返回一个非布尔值</td></tr> <tr><td>set</td> <td>设置某个值</td> <td>无返回值、返回是否设置成功或者返回链式对象</td></tr> <tr><td>load</td> <td>加载某些数据</td> <td>无返回值或者返回是否加载完成的结果</td></tr></tbody></table> <div class="language- line-numbers-mode"><pre class="language-text"><code>// 是否可阅读
function canRead(): boolean {
return true;
}
// 获取名称
function getName(): string {
return this.name;
}
</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></div></div><h2 id="类-构造函数"><a href="#类-构造函数" class="header-anchor">#</a>&amp; 构造函数</h2> <p>命名方法:大驼峰式命名法,首字母大写。<br>
命名规范:前缀为名称。</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>class Person {
public name: string;
constructor(name) {
this.name = name;
}
}
const person = new Person('bob');
</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></div></div><h2 id="类的成员"><a href="#类的成员" class="header-anchor">#</a> 类的成员</h2> <p>类的成员包含:<br>
公共属性和方法:跟变量和函数的命名一样。<br>
私有属性和方法:前缀为_(下划线),后面跟公共属性和方法一样的命名方式。</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>class Person {
private _name: string;
constructor() { }
// 公共方法
getName() {
return this._name;
}
// 公共方法
setName(name) {
this._name = name;
}
}
const person = new Person();
person.setName('bob');
person.getName(); // -&amp;bob
</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><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br></div></div></div> <footer class="page-edit"><!----> <!----></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/front-vuepress/frontend/css.html" class="prev">
CSS 规范
</a></span> <span class="next"><a href="/front-vuepress/frontend/editorconfig.html">
editorconfig
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/9.8ef7e0de.js" defer></script>
</body>
</html>
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>CSS 规范 | 前端知识库</title>
<meta name="generator" content="VuePress 1.8.0">
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/11.25403e95.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.c0302693.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.1fc9c8cf.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.a634acab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.398c66a9.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.281444ad.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.f476b293.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.fab97534.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80c852bd.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.8a49b651.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.861900e5.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.3dc91026.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.27f906d5.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.8ef7e0de.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<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">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link router-link-active">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
简介
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link router-link-active">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
简介
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/front-vuepress/frontend/" aria-current="page" class="sidebar-link">前端开发规范</a></li><li><a href="/front-vuepress/frontend/css.html" aria-current="page" class="active sidebar-link">CSS 规范</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/css.html#_1-css的书写顺序" class="sidebar-link">1.CSS的书写顺序</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/css.html#_2-bem-命名" class="sidebar-link">2.BEM 命名</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/css.html#_3-css规范" class="sidebar-link">3.css规范</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/css.html#html文件" class="sidebar-link">html文件</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/css.html#css文件" class="sidebar-link">css文件</a></li></ul></li><li><a href="/front-vuepress/frontend/JavaScript.html" class="sidebar-link">JavaScript 命名规范</a></li><li><a href="/front-vuepress/frontend/editorconfig.html" class="sidebar-link">editorconfig</a></li><li><a href="/front-vuepress/frontend/git.html" class="sidebar-link">git 分支管理</a></li><li><a href="/front-vuepress/frontend/update.html" class="sidebar-link">前端升级规范</a></li><li><a href="/front-vuepress/frontend/vue.html" class="sidebar-link">vue 项目</a></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="css-规范"><a href="#css-规范" class="header-anchor">#</a> CSS 规范</h1> <blockquote><p>element-ui 里面的index.css 改过一些样式 所以新拉的项目要记得覆盖index.css</p></blockquote> <h2 id="_1-css的书写顺序"><a href="#_1-css的书写顺序" class="header-anchor">#</a> 1.CSS的书写顺序</h2> <p>结构性属性:
display,position, left, top, right float,margin, padding....
表现性属性:
background, border font...</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>&lt;!-- display 放在最前面 --&gt;
display:block;
&lt;!-- position --&gt;
position: relative;
&lt;!-- position 进行定位的属性 --&gt;
top: 100px;
&lt;!-- 宽高 --&gt;
width: 100px;
line-height: 20px;
&lt;!-- margin padding --&gt;
margin: 10px;
padding: 10px;
&lt;!-- font --&gt;
font-size: 20px;
font-weight: 700;
&lt;!-- border --&gt;
border: 1px solid red;
border-radius: 4px;
&lt;!-- background --&gt;
background-color: pink;
&lt;!-- z-index --&gt;
z-index: 10;
</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><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br></div></div><h2 id="_2-bem-命名"><a href="#_2-bem-命名" class="header-anchor">#</a> 2.BEM 命名</h2> <p>BEM代表块(Block),元素(Element),修饰符(Modifier)。
<a href="https://blog.csdn.net/love_lovelove/article/details/79462952" target="_blank" rel="noopener noreferrer">BEM介绍<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>
组件库的通用组件强制要求使用BEM</p> <h2 id="_3-css规范"><a href="#_3-css规范" class="header-anchor">#</a> 3.css规范</h2> <ol><li>id 驼峰 PageOne</li> <li>class 以&quot;-&quot;间隔 page-one</li> <li>尽量避免把标签作为选择器</li> <li>选择器尽可能的精确,避免出现中文拼音类名</li> <li>减少使用ID作为选择器</li> <li>避免使用!important</li> <li>在css中注释要表明,分模块来标明,比如头部用/<em><strong><strong>头部start</strong></strong></em>/和/<em><strong><strong>头部end</strong></strong></em>/,目的是便于修改样式时进行查找。同样的js 也要以事件源发生的事件进行命名。</li> <li>禁止在html文件使用<code>&lt;style&gt;&lt;/style&gt;</code></li> <li>名称首单词要与插件或者模块相关,例如时间插件:.date-(单词)</li> <li>缩写属性</li></ol> <div class="language- line-numbers-mode"><pre class="language-text"><code>//不推荐
font-family: palatino, georgia, serif;
font-size: 100%;
line-height: 1.6;
//推荐
font: 100%/1.6 palatino, georgia, serif;
</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></div></div><ol start="11"><li>兼容多个浏览器时,将标准属性写在底部。
-moz-border-radius: 15px; /* Firefox <em>/
-webkit-border-radius: 15px; /</em> Safari和Chrome <em>/
border-radius: 15px; /</em> Opera 10.5+, 以及使用了IE-CSS3的IE浏览器 *//标准属性</li> <li>css文件 一个样式一行</li></ol> <div class="language- line-numbers-mode"><pre class="language-text"><code>// 不推荐
.gic-btn {font-size:15px;}
// 推荐
.gic-btn
{
font-size:15px;
}
</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></div></div><ol start="12"><li>css每一个样式都需要“;”结尾,后期压缩css需要断句,例如:</li></ol> <div class="language- line-numbers-mode"><pre class="language-text"><code>.btn
{
font-size:14px;//结尾
}
</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></div></div><ol start="13"><li>尽量css 路径,但路径不宜过长 3层内为宜</li></ol> <h2 id="html文件"><a href="#html文件" class="header-anchor">#</a> html文件</h2> <div class="language- line-numbers-mode"><pre class="language-text"><code>&lt;form class=&quot;gic-form&quot;&gt;
&lt;dl class=&quot;gic-group&quot;&gt;
&lt;dd class=&quot;gic-input&quot;&gt;
&lt;label&gt;
&lt;span&gt;名称:&lt;/span&gt;
&lt;span&gt;&lt;input type=&quot;text&quot; value=&quot;&quot; /&gt;&lt;/input&gt;&lt;/span&gt;
&lt;/lable&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/form&gt;
</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></div></div><h2 id="css文件"><a href="#css文件" class="header-anchor">#</a> css文件</h2> <div class="language- line-numbers-mode"><pre class="language-text"><code>/**表单模块**/
.gic-form
{
display:block;
font-size:16px;
}
.gic-form .gic-input
{
display:block;
}
.gic-form .gic-input span
{
}
/**表单模块end**/
</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><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br></div></div></div> <footer class="page-edit"><!----> <!----></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/front-vuepress/frontend/" class="prev router-link-active">
前端开发规范
</a></span> <span class="next"><a href="/front-vuepress/frontend/JavaScript.html">
JavaScript 命名规范
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/11.25403e95.js" defer></script>
</body>
</html>
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>editorconfig | 前端知识库</title>
<meta name="generator" content="VuePress 1.8.0">
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/12.1fc9c8cf.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.c0302693.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.25403e95.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.a634acab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.398c66a9.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.281444ad.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.f476b293.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.fab97534.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80c852bd.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.8a49b651.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.861900e5.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.3dc91026.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.27f906d5.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.8ef7e0de.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<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">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link router-link-active">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
简介
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link router-link-active">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
简介
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/front-vuepress/frontend/" aria-current="page" class="sidebar-link">前端开发规范</a></li><li><a href="/front-vuepress/frontend/css.html" class="sidebar-link">CSS 规范</a></li><li><a href="/front-vuepress/frontend/JavaScript.html" class="sidebar-link">JavaScript 命名规范</a></li><li><a href="/front-vuepress/frontend/editorconfig.html" aria-current="page" class="active sidebar-link">editorconfig</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/editorconfig.html#_1-了解" class="sidebar-link">1.了解</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/editorconfig.html#_2-使用" class="sidebar-link">2.使用</a></li></ul></li><li><a href="/front-vuepress/frontend/git.html" class="sidebar-link">git 分支管理</a></li><li><a href="/front-vuepress/frontend/update.html" class="sidebar-link">前端升级规范</a></li><li><a href="/front-vuepress/frontend/vue.html" class="sidebar-link">vue 项目</a></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="editorconfig"><a href="#editorconfig" class="header-anchor">#</a> editorconfig</h1> <h2 id="_1-了解"><a href="#_1-了解" class="header-anchor">#</a> 1.了解</h2> <hr> <ul><li><p>【通配符】</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>* 匹配除/之外的任意字符串
** 匹配任意字符串
? 匹配任意单个字符
[name] 匹配name中的任意一个单一字符
[!name] 匹配不存在name中的任意一个单一字符
{s1,s2,s3} 匹配给定的字符串中的任意一个(用逗号分隔)
{num1..num2}  匹配num1到num2之间的任意一个整数, 这里的num1和num2可以为正整数也可以为负整数
</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></div></div></li> <li><p>各个属性</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>indent_style 设置缩进风格(tab是硬缩进,space为软缩进)
indent_size 用一个整数定义的列数来设置缩进的宽度,如果indent_style为tab,则此属性默认为 tab_width
tab_width 用一个整数来设置tab缩进的列数。默认是indent_size
end_of_line 设置换行符,值为lf、cr和crlf
charset 设置编码,值为latin1、utf-8、utf-8-bom、utf-16be和utf-16le,不建议使用utf-8-bom
trim_trailing_whitespace 设为true表示会去除换行行首的任意空白字符。
insert_final_newline 设为true表示使文件以一个空白行结尾
root    表示是最顶层的配置文件,发现设为true时,才会停止查找.editorconfig文件
</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></div></div></li></ul> <h2 id="_2-使用"><a href="#_2-使用" class="header-anchor">#</a> 2.使用</h2> <hr> <blockquote></blockquote> <p>有些编辑器则需要安装editorConfig插件,如ATOM、Sublime、VS Code等</p> <ul><li><p>项目目录创建 <code>.editorconfig</code> 文件</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>$ touch .editorconfig
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div></li> <li><p><code>.editorconfig</code> 常用内容设置:</p></li></ul> <div class="language- line-numbers-mode"><pre class="language-text"><code># editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
tab_width = 2
[*.md]
trim_trailing_whitespace = false
[Makefile]
indent_style = tab
</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><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br></div></div></div> <footer class="page-edit"><!----> <!----></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/front-vuepress/frontend/JavaScript.html" class="prev">
JavaScript 命名规范
</a></span> <span class="next"><a href="/front-vuepress/frontend/git.html">
git 分支管理
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/12.1fc9c8cf.js" defer></script>
</body>
</html>
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>git 分支管理 | 前端知识库</title>
<meta name="generator" content="VuePress 1.8.0">
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/13.a634acab.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.c0302693.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.25403e95.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.1fc9c8cf.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.398c66a9.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.281444ad.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.f476b293.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.fab97534.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80c852bd.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.8a49b651.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.861900e5.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.3dc91026.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.27f906d5.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.8ef7e0de.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<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">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link router-link-active">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
简介
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link router-link-active">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
简介
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/front-vuepress/frontend/" aria-current="page" class="sidebar-link">前端开发规范</a></li><li><a href="/front-vuepress/frontend/css.html" class="sidebar-link">CSS 规范</a></li><li><a href="/front-vuepress/frontend/JavaScript.html" class="sidebar-link">JavaScript 命名规范</a></li><li><a href="/front-vuepress/frontend/editorconfig.html" class="sidebar-link">editorconfig</a></li><li><a href="/front-vuepress/frontend/git.html" aria-current="page" class="active sidebar-link">git 分支管理</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/git.html#git-分支及操作规范" class="sidebar-link">git 分支及操作规范</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/git.html#git-log-规范" class="sidebar-link">git log 规范</a></li></ul></li><li><a href="/front-vuepress/frontend/update.html" class="sidebar-link">前端升级规范</a></li><li><a href="/front-vuepress/frontend/vue.html" class="sidebar-link">vue 项目</a></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="git-分支管理"><a href="#git-分支管理" class="header-anchor">#</a> git 分支管理</h1> <h2 id="git-分支及操作规范"><a href="#git-分支及操作规范" class="header-anchor">#</a> git 分支及操作规范</h2> <ul><li>master:主分支,稳定分支,必须保证随时可用于发布</li> <li>release:预发布分支,如果有此分支,需将分支合并至release解决了冲突后,再将release合到master</li> <li>dev:开发分支,仅用来发布更新测试环境,需定期将master分支合并至此</li> <li>feature/xxx(迭代结束或上线时间,如200901,20年9月1日):功能开发分支,须从master分支上开出此分支,开发期间需定期合并master至此,测试时合并至dev更新到测试环境,测试完成后将该分支合并至master,然后删除分支</li> <li>bugfix:线上bug修复分支,每次修改前需将master合并至此,测试时合并至dev测试,测试完成后再合并至master发布上线</li></ul> <h2 id="git-log-规范"><a href="#git-log-规范" class="header-anchor">#</a> git log 规范</h2> <p>建议:</p> <ul><li>格式:</li></ul> <div class="language- line-numbers-mode"><pre class="language-text"><code>- type: &lt;subject&gt;
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><ul><li>type: 说明本次 <code>commit</code> 的类别</li></ul> <div class="language- line-numbers-mode"><pre class="language-text"><code>add(feat): 增加
update: 更新
fix: 修复bug
style: 样式调整
test: 增加测试
docs: 编写文档
chore:构建过程或辅助工具的变动
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
</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><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br></div></div><ul><li>subject: <code>commit</code> 的简短描述</li></ul></div> <footer class="page-edit"><!----> <!----></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/front-vuepress/frontend/editorconfig.html" class="prev">
editorconfig
</a></span> <span class="next"><a href="/front-vuepress/frontend/update.html">
前端升级规范
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/13.a634acab.js" defer></script>
</body>
</html>
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>前端开发规范 | 前端知识库</title>
<meta name="generator" content="VuePress 1.8.0">
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/10.c0302693.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/11.25403e95.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.1fc9c8cf.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.a634acab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.398c66a9.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.281444ad.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.f476b293.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.fab97534.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80c852bd.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.8a49b651.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.861900e5.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.3dc91026.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.27f906d5.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.8ef7e0de.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<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">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" aria-current="page" class="nav-link router-link-exact-active router-link-active">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
简介
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" aria-current="page" class="nav-link router-link-exact-active router-link-active">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
简介
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/front-vuepress/frontend/" aria-current="page" class="active sidebar-link">前端开发规范</a></li><li><a href="/front-vuepress/frontend/css.html" class="sidebar-link">CSS 规范</a></li><li><a href="/front-vuepress/frontend/JavaScript.html" class="sidebar-link">JavaScript 命名规范</a></li><li><a href="/front-vuepress/frontend/editorconfig.html" class="sidebar-link">editorconfig</a></li><li><a href="/front-vuepress/frontend/git.html" class="sidebar-link">git 分支管理</a></li><li><a href="/front-vuepress/frontend/update.html" class="sidebar-link">前端升级规范</a></li><li><a href="/front-vuepress/frontend/vue.html" class="sidebar-link">vue 项目</a></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="前端开发规范"><a href="#前端开发规范" class="header-anchor">#</a> 前端开发规范</h1> <blockquote><p>规范的目的是为了编写高质量的代码,让团队成员每天得心情都是愉悦的,大家在一起是快乐的。</p></blockquote> <blockquote><p>记录前端开发中代码规范</p></blockquote></div> <footer class="page-edit"><!----> <!----></footer> <div class="page-nav"><p class="inner"><!----> <span class="next"><a href="/front-vuepress/frontend/css.html">
CSS 规范
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/10.c0302693.js" defer></script>
</body>
</html>
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>前端升级规范 | 前端知识库</title>
<meta name="generator" content="VuePress 1.8.0">
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/14.398c66a9.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.c0302693.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.25403e95.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.1fc9c8cf.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.a634acab.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.281444ad.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.f476b293.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.fab97534.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80c852bd.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.8a49b651.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.861900e5.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.3dc91026.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.27f906d5.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.8ef7e0de.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<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">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link router-link-active">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
简介
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link router-link-active">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
简介
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/front-vuepress/frontend/" aria-current="page" class="sidebar-link">前端开发规范</a></li><li><a href="/front-vuepress/frontend/css.html" class="sidebar-link">CSS 规范</a></li><li><a href="/front-vuepress/frontend/JavaScript.html" class="sidebar-link">JavaScript 命名规范</a></li><li><a href="/front-vuepress/frontend/editorconfig.html" class="sidebar-link">editorconfig</a></li><li><a href="/front-vuepress/frontend/git.html" class="sidebar-link">git 分支管理</a></li><li><a href="/front-vuepress/frontend/update.html" aria-current="page" class="active sidebar-link">前端升级规范</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/update.html#一、什么时间升级" class="sidebar-link">一、什么时间升级?</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/update.html#二、谁来操作升级" class="sidebar-link">二、谁来操作升级?</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/update.html#三、原则" class="sidebar-link">三、原则</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/update.html#四、升级通知" class="sidebar-link">四、升级通知</a></li></ul></li><li><a href="/front-vuepress/frontend/vue.html" class="sidebar-link">vue 项目</a></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="前端升级规范"><a href="#前端升级规范" class="header-anchor">#</a> 前端升级规范</h1> <h2 id="一、什么时间升级"><a href="#一、什么时间升级" class="header-anchor">#</a> 一、什么时间升级?</h2> <p>● 每周四为各平台前端需求(不涉及后端的纯前端需求)的上线日。</p> <p>● 优先级:临时的紧急上线 &gt; 随业务组上线 &gt; 周四上线
<br></p> <h2 id="二、谁来操作升级"><a href="#二、谁来操作升级" class="header-anchor">#</a> 二、谁来操作升级?</h2> <table><thead><tr><th>~版本</th> <th>~平台</th> <th>~ 操作人 </th></tr></thead> <tbody><tr><td>3.0</td> <td>全部平台</td> <td>石瑶</td></tr> <tr><td>4.0</td> <td>基础平台(包含运维平台)、移动平台</td> <td>砂砾</td></tr> <tr><td>4.0</td> <td>业务平台</td> <td>叮当</td></tr></tbody></table> <br> <h2 id="三、原则"><a href="#三、原则" class="header-anchor">#</a> 三、原则</h2> <p>上线前、后,均需要经过测试负责人测试。
<br></p> <h2 id="四、升级通知"><a href="#四、升级通知" class="header-anchor">#</a> 四、升级通知</h2> <p>● 只要有上线,就要发送<a href="https://www.tapd.cn/33025272/documents/show/1133025272001004205" target="_blank" rel="noopener noreferrer">《迭代升级说明》<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>给相关人员,并抄送sj@demogic.com&lt;升级通知组&gt;</p> <p>● 由操作升级的人员发出邮件。</p></div> <footer class="page-edit"><!----> <!----></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/front-vuepress/frontend/git.html" class="prev">
git 分支管理
</a></span> <span class="next"><a href="/front-vuepress/frontend/vue.html">
vue 项目
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/14.398c66a9.js" defer></script>
</body>
</html>
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>vue 项目 | 前端知识库</title>
<meta name="generator" content="VuePress 1.8.0">
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/15.281444ad.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.c0302693.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.25403e95.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.1fc9c8cf.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.a634acab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.398c66a9.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.f476b293.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.fab97534.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80c852bd.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.8a49b651.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.861900e5.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.3dc91026.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.27f906d5.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.8ef7e0de.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<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">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link router-link-active">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
简介
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link router-link-active">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
简介
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/front-vuepress/frontend/" aria-current="page" class="sidebar-link">前端开发规范</a></li><li><a href="/front-vuepress/frontend/css.html" class="sidebar-link">CSS 规范</a></li><li><a href="/front-vuepress/frontend/JavaScript.html" class="sidebar-link">JavaScript 命名规范</a></li><li><a href="/front-vuepress/frontend/editorconfig.html" class="sidebar-link">editorconfig</a></li><li><a href="/front-vuepress/frontend/git.html" class="sidebar-link">git 分支管理</a></li><li><a href="/front-vuepress/frontend/update.html" class="sidebar-link">前端升级规范</a></li><li><a href="/front-vuepress/frontend/vue.html" aria-current="page" class="active sidebar-link">vue 项目</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/vue.html#生命周期" class="sidebar-link">生命周期</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/vue.html#vue方法放置顺序" class="sidebar-link">vue方法放置顺序</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/vue.html#method-自定义方法命名-建议" class="sidebar-link">method 自定义方法命名(建议)</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/vue.html#vue-组件命名" class="sidebar-link">Vue 组件命名</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/vue.html#验证组件的props" class="sidebar-link">验证组件的props</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/vue.html#自定义事件名称" class="sidebar-link">自定义事件名称</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/frontend/vue.html#其他注意事项" class="sidebar-link">其他注意事项:</a></li></ul></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="vue-项目"><a href="#vue-项目" class="header-anchor">#</a> vue 项目</h1> <h2 id="生命周期"><a href="#生命周期" class="header-anchor">#</a> 生命周期</h2> <ol><li>不在 mounted、created 之类的方法写逻辑,取 ajax 数据,</li> <li>在 created 里面监听 Bus 事件</li></ol> <h2 id="vue方法放置顺序"><a href="#vue方法放置顺序" class="header-anchor">#</a> vue方法放置顺序</h2> <p><code>name-&gt;components -&gt;props -&gt;data -&gt;beforeCreate-&gt;created -&gt;beforeMount -&gt;mounted-&gt;activited -&gt;beforeUpdate-&gt;updated-&gt;beforeDestroy-&gt;destroyed-&gt;beforeRouteEnter-&gt;beforeRouteUpdate-&gt;beforeRouteLeave-&gt;metods-&gt;filter-&gt;computed -&gt;watch</code></p> <h2 id="method-自定义方法命名-建议"><a href="#method-自定义方法命名-建议" class="header-anchor">#</a> method 自定义方法命名(建议)</h2> <ol><li>动宾短语(good:jumpPage、openCarInfoDialog)(bad:go、nextPage、show、open、login)</li> <li>ajax 方法以 get、post 开头,以 data 结尾(good:getListData、postFormData)(bad:takeData、confirmData、getList、postForm)</li> <li>事件方法以 on 开头(onTypeChange、onUsernameInput)</li> <li>尽量使用常用单词开头(set、get、open、close、jump)</li> <li>驼峰命名(good: getListData)(bad: get_list_data、getlistData)</li></ol> <p>为了更好的阅读体验,也是为了避免过渡注释,最好的注释就是让代码自己“说出”自己的作用,即命名要有规律性<br>
例如,用于存储数组的变量以 List作为名字后缀,用于某种信息的对象变量以 Info作为名字后缀,用于判断某种逻辑的变量以 is作为前缀</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>const namesList = ['xiaoming', 'xiaohong']
const userInfo = {
name: 'John',
age: 20,
gender: 'male'
}
const isEven = 10 % 2 === 0
</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></div></div><h2 id="vue-组件命名"><a href="#vue-组件命名" class="header-anchor">#</a> Vue 组件命名</h2> <p>有意义的: 不过于具体,也不过于抽象<br>
简短: 2 到 3 个单词<br>
具有可读性: 以便于沟通交流<br>
组件文件名使用连字符命名:user-list.vue<br>
组件内name属性使用大驼峰命名:{ name: 'UserList' }<br>
template中组件标签使用连字符:<user-list></user-list></p> <div class="language- line-numbers-mode"><pre class="language-text"><code>&lt;!-- 推荐 --&gt;
&lt;app-header&gt;&lt;/app-header&gt;
&lt;user-list&gt;&lt;/user-list&gt;
&lt;range-slider&gt;&lt;/range-slider&gt;
&lt;!-- 避免 --&gt;
&lt;btn-group&gt;&lt;/btn-group&gt;&lt;!-- 虽然简短但是可读性差. 使用 `button-group` 替代 --&gt;
&lt;ui-slider&gt;&lt;/ui-slider&gt;&lt;!-- ui 前缀太过于宽泛,在这里意义不明确 --&gt;
&lt;slider&gt;&lt;/slider&gt;&lt;!-- 与自定义元素规范不兼容 --&gt;
</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><h2 id="验证组件的props"><a href="#验证组件的props" class="header-anchor">#</a> 验证组件的props</h2> <p>提供默认值。<br>
使用 type 属性校验类型。<br>
props的key使用小驼峰命名法。<br>
使用 props 之前先检查该 prop 是否存在。<br>
当prop为多种类型时应该使用数组表示。<br>
在标签中如果prop有多个单词组成,应当使用连字符。</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>
props: {
size: {
type: Number,
default:10
},
id: {
type: [Number, String],
default: ''
}
}
</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><h2 id="自定义事件名称"><a href="#自定义事件名称" class="header-anchor">#</a> 自定义事件名称</h2> <p>自定义事件名称,如果有多个单词组成,使用连字符命名法。</p> <div class="language- line-numbers-mode"><pre class="language-text"><code>this.$emit('current-change');
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><h2 id="其他注意事项"><a href="#其他注意事项" class="header-anchor">#</a> 其他注意事项:</h2> <ol><li>组件的name要写</li> <li>v-for v-if 避免一起使用 循环 v-for 加key</li> <li>建议vue组件不要超过400行,既然是组件化开发,那么如果一个组件文件体积太大,存在几十个方法、几十个 data数据,那就说明这个组件大概率包含的功能点太多,是可以被继续细化出多个单一功能的子组件。每一个vue组件首先必须专注于解决一个单一的问题,独立的,可复用的,微小的和可测试的。 如果你的组件做了太多的事或是变得臃肿,将其拆成更小的组件并保持单一的原则。</li> <li>每个函数不要超过 100行,不要让一个方法函数包含过多的逻辑功能,函数包含过多逻辑,容易混乱,遵循函数功能单一原则</li> <li>与模板渲染无关的变量不要放在data里</li> <li>页面计算属性,逻辑过多不要写在template里,用computed</li> <li>与页面上与业务无关的工具方法应该放在工具方法里</li></ol></div> <footer class="page-edit"><!----> <!----></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/front-vuepress/frontend/update.html" class="prev">
前端升级规范
</a></span> <!----></p></div> </main></div><div class="global-ui"></div></div>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/15.281444ad.js" defer></script>
</body>
</html>
......@@ -8,12 +8,14 @@
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.247a3952.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.5bcad825.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/9.68c73906.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.547ecaa9.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.6244719b.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.6a7e13a1.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.1815b13d.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.6391a0d0.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.77a548c8.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.7964fd10.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.43b9788c.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.247a3952.css">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/16.f476b293.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.c0302693.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.25403e95.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.1fc9c8cf.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.a634acab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.398c66a9.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.281444ad.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.fab97534.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80c852bd.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.8a49b651.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.861900e5.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.3dc91026.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.27f906d5.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.8ef7e0de.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<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">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" aria-current="page" class="nav-link router-link-exact-active router-link-active">
......@@ -22,6 +24,8 @@
关于
</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" aria-current="page" class="nav-link router-link-exact-active router-link-active">
......@@ -29,6 +33,6 @@
</a></div><div class="nav-item"><a href="/front-vuepress/about/" class="nav-link">
关于
</a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/front-vuepress/guide/" aria-current="page" class="active sidebar-link">介绍</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/front-vuepress/guide/#_1-文档" class="sidebar-link">1.文档</a></li><li class="sidebar-sub-header"><a href="/front-vuepress/guide/#_2" class="sidebar-link">2.</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> <blockquote><p>vuepress 搭建一个前端知识库的项目;</p></blockquote> <h2 id="_1-文档"><a href="#_1-文档" class="header-anchor">#</a> 1.文档</h2> <h2 id="_2"><a href="#_2" class="header-anchor">#</a> 2.</h2></div> <footer class="page-edit"><!----> <!----></footer> <!----> </main></div><div class="global-ui"></div></div>
<script src="/front-vuepress/assets/js/app.5bcad825.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/9.68c73906.js" defer></script>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/16.f476b293.js" defer></script>
</body>
</html>
......@@ -8,12 +8,14 @@
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.247a3952.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.5bcad825.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/10.547ecaa9.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/11.6244719b.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.6a7e13a1.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.1815b13d.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.6391a0d0.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.77a548c8.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.7964fd10.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.43b9788c.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.68c73906.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.247a3952.css">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/17.fab97534.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.c0302693.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.25403e95.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.1fc9c8cf.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.a634acab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.398c66a9.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.281444ad.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.f476b293.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80c852bd.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.8a49b651.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.861900e5.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.3dc91026.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.27f906d5.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.8ef7e0de.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<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">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link router-link-active">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
......@@ -22,6 +24,8 @@
关于
</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link router-link-active">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
......@@ -88,6 +92,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/front-vuepress/assets/js/app.5bcad825.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/10.547ecaa9.js" defer></script>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/17.fab97534.js" defer></script>
</body>
</html>
......@@ -8,12 +8,14 @@
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.247a3952.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.5bcad825.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/11.6244719b.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.547ecaa9.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.6a7e13a1.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.1815b13d.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.6391a0d0.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.77a548c8.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.7964fd10.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.43b9788c.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.68c73906.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.247a3952.css">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/18.80c852bd.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.c0302693.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.25403e95.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.1fc9c8cf.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.a634acab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.398c66a9.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.281444ad.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.f476b293.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.fab97534.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.8a49b651.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.861900e5.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.3dc91026.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.27f906d5.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.8ef7e0de.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<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">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link router-link-active">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
......@@ -22,6 +24,8 @@
关于
</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link router-link-active">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
......@@ -37,6 +41,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/front-vuepress/assets/js/app.5bcad825.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/11.6244719b.js" defer></script>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/18.80c852bd.js" defer></script>
</body>
</html>
......@@ -8,12 +8,14 @@
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.247a3952.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.5bcad825.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/12.6a7e13a1.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.547ecaa9.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.6244719b.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.1815b13d.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.6391a0d0.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.77a548c8.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.7964fd10.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.43b9788c.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.68c73906.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.247a3952.css">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/19.8a49b651.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.c0302693.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.25403e95.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.1fc9c8cf.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.a634acab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.398c66a9.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.281444ad.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.f476b293.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.fab97534.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80c852bd.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.861900e5.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.3dc91026.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.27f906d5.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.8ef7e0de.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<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">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link router-link-active">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
......@@ -22,6 +24,8 @@
关于
</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link router-link-active">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
......@@ -33,6 +37,6 @@
<a href="/front-vuepress/haoban/2.haoban3.0.html" class="prev">
好办 3.0
</a></span> <!----></p></div> </main></div><div class="global-ui"></div></div>
<script src="/front-vuepress/assets/js/app.5bcad825.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/12.6a7e13a1.js" defer></script>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/19.8a49b651.js" defer></script>
</body>
</html>
......@@ -8,12 +8,14 @@
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.247a3952.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.5bcad825.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/13.1815b13d.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.547ecaa9.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.6244719b.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.6a7e13a1.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.6391a0d0.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.77a548c8.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.7964fd10.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.43b9788c.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.68c73906.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.247a3952.css">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/20.861900e5.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.c0302693.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.25403e95.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.1fc9c8cf.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.a634acab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.398c66a9.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.281444ad.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.f476b293.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.fab97534.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80c852bd.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.8a49b651.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/7.3dc91026.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.27f906d5.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.8ef7e0de.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<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">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" aria-current="page" class="nav-link router-link-exact-active router-link-active">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
......@@ -22,6 +24,8 @@
关于
</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/front-vuepress/" class="nav-link">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" aria-current="page" class="nav-link router-link-exact-active router-link-active">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
......@@ -33,6 +37,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/front-vuepress/assets/js/app.5bcad825.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/13.1815b13d.js" defer></script>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/20.861900e5.js" defer></script>
</body>
</html>
......@@ -8,12 +8,14 @@
<link rel="icon" href="/front-vuepress/favicon.ico">
<meta name="description" content="前端知识库">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.247a3952.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.5bcad825.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/7.7964fd10.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.547ecaa9.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.6244719b.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.6a7e13a1.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.1815b13d.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.6391a0d0.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.77a548c8.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.43b9788c.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.68c73906.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.247a3952.css">
<link rel="preload" href="/front-vuepress/assets/css/0.styles.abc88622.css" as="style"><link rel="preload" href="/front-vuepress/assets/js/app.fc78f24f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/2.45b9916f.js" as="script"><link rel="preload" href="/front-vuepress/assets/js/7.3dc91026.js" as="script"><link rel="prefetch" href="/front-vuepress/assets/js/10.c0302693.js"><link rel="prefetch" href="/front-vuepress/assets/js/11.25403e95.js"><link rel="prefetch" href="/front-vuepress/assets/js/12.1fc9c8cf.js"><link rel="prefetch" href="/front-vuepress/assets/js/13.a634acab.js"><link rel="prefetch" href="/front-vuepress/assets/js/14.398c66a9.js"><link rel="prefetch" href="/front-vuepress/assets/js/15.281444ad.js"><link rel="prefetch" href="/front-vuepress/assets/js/16.f476b293.js"><link rel="prefetch" href="/front-vuepress/assets/js/17.fab97534.js"><link rel="prefetch" href="/front-vuepress/assets/js/18.80c852bd.js"><link rel="prefetch" href="/front-vuepress/assets/js/19.8a49b651.js"><link rel="prefetch" href="/front-vuepress/assets/js/20.861900e5.js"><link rel="prefetch" href="/front-vuepress/assets/js/3.0cb1ab3d.js"><link rel="prefetch" href="/front-vuepress/assets/js/4.ea3e8443.js"><link rel="prefetch" href="/front-vuepress/assets/js/5.5fd3c55b.js"><link rel="prefetch" href="/front-vuepress/assets/js/6.706caab8.js"><link rel="prefetch" href="/front-vuepress/assets/js/8.27f906d5.js"><link rel="prefetch" href="/front-vuepress/assets/js/9.8ef7e0de.js">
<link rel="stylesheet" href="/front-vuepress/assets/css/0.styles.abc88622.css">
</head>
<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">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
......@@ -22,6 +24,8 @@
关于
</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/front-vuepress/" aria-current="page" class="nav-link router-link-exact-active router-link-active">
主页
</a></div><div class="nav-item"><a href="/front-vuepress/frontend/" class="nav-link">
前端规范
</a></div><div class="nav-item"><a href="/front-vuepress/haoban/" class="nav-link">
好办项目
</a></div><div class="nav-item"><a href="/front-vuepress/guide/" class="nav-link">
......@@ -48,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">
MIT Licensed | Copyright © 2019-present fairyly
</div></main></div><div class="global-ui"></div></div>
<script src="/front-vuepress/assets/js/app.5bcad825.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/7.7964fd10.js" defer></script>
<script src="/front-vuepress/assets/js/app.fc78f24f.js" defer></script><script src="/front-vuepress/assets/js/2.45b9916f.js" defer></script><script src="/front-vuepress/assets/js/7.3dc91026.js" defer></script>
</body>
</html>
# JavaScript 命名规范
>
[JavaScript 代码整洁之道](https://www.zcfy.cc/article/clean-code-javascript-readme-md-at-master-ryanmcdermott-clean-code-javascript-github-2273.html)
## 变量
命名方法:小驼峰式命名法。
命名规范:前缀应当是名词。(函数的名字前缀为动词,以此区分变量和函数)
命名建议:尽量在变量名字中体现所属类型,如:length、count等表示数字类型;而包含name、title表示为字符串类型。
```
// good
let maxCount = 10;
let tableTitle = 'LoginTable';
// bad
let setCount = 10;
let getTitle = 'LoginTable';
```
## 常量
仅适用于常量定义,用const进行解构等方式不适用此规范
命名方法:名称全部大写。
命名规范:使用大写字母和下划线来组合命名,下划线用以分割单词。
```
const MAX_COUNT = 10;
const URL = 'http://www.demogic.com';
```
## 函数
命名方法:小驼峰式命名法。
命名规范:前缀应当为动词。
命名建议:可使用常见动词约定
| 动词 | 含义 | 返回值 |
| ------------ | ------------ | ------------ |
| can | 判断是否可执行某个动作(权限) |函数返回一个布尔值。true:可执行;false:不可执行 |
| has | 判断是否含有某个值 |函数返回一个布尔值。true:含有此值;false:不含有此值 |
| is | 判断是否为某个值 | 函数返回一个布尔值。true:为某个值;false:不为某个值 |
| get | 获取某个值 | 函数返回一个非布尔值 |
| set | 设置某个值 | 无返回值、返回是否设置成功或者返回链式对象 |
| load | 加载某些数据 | 无返回值或者返回是否加载完成的结果 |
```
// 是否可阅读
function canRead(): boolean {
return true;
}
// 获取名称
function getName(): string {
return this.name;
}
```
## 类 &amp; 构造函数
命名方法:大驼峰式命名法,首字母大写。
命名规范:前缀为名称。
```
class Person {
public name: string;
constructor(name) {
this.name = name;
}
}
const person = new Person('bob');
```
## 类的成员
类的成员包含:
公共属性和方法:跟变量和函数的命名一样。
私有属性和方法:前缀为_(下划线),后面跟公共属性和方法一样的命名方式。
```
class Person {
private _name: string;
constructor() { }
// 公共方法
getName() {
return this._name;
}
// 公共方法
setName(name) {
this._name = name;
}
}
const person = new Person();
person.setName('bob');
person.getName(); // -&bob
```
# 前端开发规范
>规范的目的是为了编写高质量的代码,让团队成员每天得心情都是愉悦的,大家在一起是快乐的。
>记录前端开发中代码规范
# CSS 规范
>element-ui 里面的index.css 改过一些样式 所以新拉的项目要记得覆盖index.css
## 1.CSS的书写顺序
结构性属性:
display,position, left, top, right float,margin, padding....
表现性属性:
background, border font...
```
<!-- display 放在最前面 -->
display:block;
<!-- position -->
position: relative;
<!-- position 进行定位的属性 -->
top: 100px;
<!-- 宽高 -->
width: 100px;
line-height: 20px;
<!-- margin padding -->
margin: 10px;
padding: 10px;
<!-- font -->
font-size: 20px;
font-weight: 700;
<!-- border -->
border: 1px solid red;
border-radius: 4px;
<!-- background -->
background-color: pink;
<!-- z-index -->
z-index: 10;
```
## 2.BEM 命名
BEM代表块(Block),元素(Element),修饰符(Modifier)。
[BEM介绍](https://blog.csdn.net/love_lovelove/article/details/79462952)
组件库的通用组件强制要求使用BEM
## 3.css规范
1. id 驼峰 PageOne
2. class 以"-"间隔 page-one
3. 尽量避免把标签作为选择器
4. 选择器尽可能的精确,避免出现中文拼音类名
5. 减少使用ID作为选择器
6. 避免使用!important
7. 在css中注释要表明,分模块来标明,比如头部用/*****头部start*****/和/*****头部end*****/,目的是便于修改样式时进行查找。同样的js 也要以事件源发生的事件进行命名。
8. 禁止在html文件使用`<style></style>`
9. 名称首单词要与插件或者模块相关,例如时间插件:.date-(单词)
10. 缩写属性
```
//不推荐
font-family: palatino, georgia, serif;
font-size: 100%;
line-height: 1.6;
//推荐
font: 100%/1.6 palatino, georgia, serif;
```
11. 兼容多个浏览器时,将标准属性写在底部。
-moz-border-radius: 15px; /* Firefox */
-webkit-border-radius: 15px; /* Safari和Chrome */
border-radius: 15px; /* Opera 10.5+, 以及使用了IE-CSS3的IE浏览器 *//标准属性
12. css文件 一个样式一行
```
// 不推荐
.gic-btn {font-size:15px;}
// 推荐
.gic-btn
{
font-size:15px;
}
```
12. css每一个样式都需要“;”结尾,后期压缩css需要断句,例如:
```
.btn
{
font-size:14px;//结尾
}
```
13. 尽量css 路径,但路径不宜过长 3层内为宜
## html文件
```
<form class="gic-form">
<dl class="gic-group">
<dd class="gic-input">
<label>
<span>名称:</span>
<span><input type="text" value="" /></input></span>
</lable>
</dd>
</dl>
</form>
```
## css文件
```
/**表单模块**/
.gic-form
{
display:block;
font-size:16px;
}
.gic-form .gic-input
{
display:block;
}
.gic-form .gic-input span
{
}
/**表单模块end**/
```
\ No newline at end of file
# editorconfig
## 1.了解
----------
- 【通配符】
```
* 匹配除/之外的任意字符串
** 匹配任意字符串
? 匹配任意单个字符
[name] 匹配name中的任意一个单一字符
[!name] 匹配不存在name中的任意一个单一字符
{s1,s2,s3} 匹配给定的字符串中的任意一个(用逗号分隔)
{num1..num2}  匹配num1到num2之间的任意一个整数, 这里的num1和num2可以为正整数也可以为负整数
```
- 各个属性
```
indent_style 设置缩进风格(tab是硬缩进,space为软缩进)
indent_size 用一个整数定义的列数来设置缩进的宽度,如果indent_style为tab,则此属性默认为 tab_width
tab_width 用一个整数来设置tab缩进的列数。默认是indent_size
end_of_line 设置换行符,值为lf、cr和crlf
charset 设置编码,值为latin1、utf-8、utf-8-bom、utf-16be和utf-16le,不建议使用utf-8-bom
trim_trailing_whitespace 设为true表示会去除换行行首的任意空白字符。
insert_final_newline 设为true表示使文件以一个空白行结尾
root    表示是最顶层的配置文件,发现设为true时,才会停止查找.editorconfig文件
```
## 2.使用
----------
>
有些编辑器则需要安装editorConfig插件,如ATOM、Sublime、VS Code等
- 项目目录创建 `.editorconfig` 文件
```
$ touch .editorconfig
```
- `.editorconfig` 常用内容设置:
```
# editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
tab_width = 2
[*.md]
trim_trailing_whitespace = false
[Makefile]
indent_style = tab
```
\ No newline at end of file
# git 分支管理
## git 分支及操作规范
- master:主分支,稳定分支,必须保证随时可用于发布
- release:预发布分支,如果有此分支,需将分支合并至release解决了冲突后,再将release合到master
- dev:开发分支,仅用来发布更新测试环境,需定期将master分支合并至此
- feature/xxx(迭代结束或上线时间,如200901,20年9月1日):功能开发分支,须从master分支上开出此分支,开发期间需定期合并master至此,测试时合并至dev更新到测试环境,测试完成后将该分支合并至master,然后删除分支
- bugfix:线上bug修复分支,每次修改前需将master合并至此,测试时合并至dev测试,测试完成后再合并至master发布上线
## git log 规范
建议:
- 格式:
```
- type: <subject>
```
- type: 说明本次 `commit` 的类别
```
add(feat): 增加
update: 更新
fix: 修复bug
style: 样式调整
test: 增加测试
docs: 编写文档
chore:构建过程或辅助工具的变动
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
```
- subject: `commit` 的简短描述
\ No newline at end of file
# 前端升级规范
## 一、什么时间升级?
● 每周四为各平台前端需求(不涉及后端的纯前端需求)的上线日。
● 优先级:临时的紧急上线 > 随业务组上线 > 周四上线
<br/>
## 二、谁来操作升级?
|~版本|~平台|~&nbsp;操作人&nbsp;|
| -- | -- | -- |
|3.0|全部平台 |石瑶 |
|4.0|基础平台(包含运维平台)、移动平台 |砂砾 |
|4.0|业务平台 |叮当 |
<br/>
## 三、原则
上线前、后,均需要经过测试负责人测试。
<br/>
## 四、升级通知
● 只要有上线,就要发送[《迭代升级说明》](https://www.tapd.cn/33025272/documents/show/1133025272001004205)给相关人员,并抄送sj@demogic.com&lt;升级通知组&gt;
● 由操作升级的人员发出邮件。
# vue 项目
## 生命周期
1. 不在 mounted、created 之类的方法写逻辑,取 ajax 数据,
2. 在 created 里面监听 Bus 事件
## vue方法放置顺序
`name->components ->props ->data ->beforeCreate->created ->beforeMount ->mounted->activited ->beforeUpdate->updated->beforeDestroy->destroyed->beforeRouteEnter->beforeRouteUpdate->beforeRouteLeave->metods->filter->computed ->watch`
## method 自定义方法命名(建议)
1. 动宾短语(good:jumpPage、openCarInfoDialog)(bad:go、nextPage、show、open、login)
2. ajax 方法以 get、post 开头,以 data 结尾(good:getListData、postFormData)(bad:takeData、confirmData、getList、postForm)
3. 事件方法以 on 开头(onTypeChange、onUsernameInput)
4. 尽量使用常用单词开头(set、get、open、close、jump)
5. 驼峰命名(good: getListData)(bad: get_list_data、getlistData)
为了更好的阅读体验,也是为了避免过渡注释,最好的注释就是让代码自己“说出”自己的作用,即命名要有规律性
例如,用于存储数组的变量以 List作为名字后缀,用于某种信息的对象变量以 Info作为名字后缀,用于判断某种逻辑的变量以 is作为前缀
```
const namesList = ['xiaoming', 'xiaohong']
const userInfo = {
name: 'John',
age: 20,
gender: 'male'
}
const isEven = 10 % 2 === 0
```
## Vue 组件命名
有意义的: 不过于具体,也不过于抽象
简短: 2 到 3 个单词
具有可读性: 以便于沟通交流
组件文件名使用连字符命名:user-list.vue
组件内name属性使用大驼峰命名:{ name: 'UserList' }
template中组件标签使用连字符:<user-list></user-list>
```
<!-- 推荐 -->
<app-header></app-header>
<user-list></user-list>
<range-slider></range-slider>
<!-- 避免 -->
<btn-group></btn-group><!-- 虽然简短但是可读性差. 使用 `button-group` 替代 -->
<ui-slider></ui-slider><!-- ui 前缀太过于宽泛,在这里意义不明确 -->
<slider></slider><!-- 与自定义元素规范不兼容 -->
```
## 验证组件的props
提供默认值。
使用 type 属性校验类型。
props的key使用小驼峰命名法。
使用 props 之前先检查该 prop 是否存在。
当prop为多种类型时应该使用数组表示。
在标签中如果prop有多个单词组成,应当使用连字符。
```
props: {
size: {
type: Number,
default:10
},
id: {
type: [Number, String],
default: ''
}
}
```
## 自定义事件名称
自定义事件名称,如果有多个单词组成,使用连字符命名法。
```
this.$emit('current-change');
```
## 其他注意事项:
1. 组件的name要写
2. v-for v-if 避免一起使用 循环 v-for 加key
3. 建议vue组件不要超过400行,既然是组件化开发,那么如果一个组件文件体积太大,存在几十个方法、几十个 data数据,那就说明这个组件大概率包含的功能点太多,是可以被继续细化出多个单一功能的子组件。每一个vue组件首先必须专注于解决一个单一的问题,独立的,可复用的,微小的和可测试的。 如果你的组件做了太多的事或是变得臃肿,将其拆成更小的组件并保持单一的原则。
4. 每个函数不要超过 100行,不要让一个方法函数包含过多的逻辑功能,函数包含过多逻辑,容易混乱,遵循函数功能单一原则
5. 与模板渲染无关的变量不要放在data里
6. 页面计算属性,逻辑过多不要写在template里,用computed
7. 与页面上与业务无关的工具方法应该放在工具方法里
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