作者 曾海沥

autoadd

.login-form{padding:1rem;display:flex;flex-direction:column;box-sizing:border-box}.login-form .btn-row{margin-top:1rem}.login-form .btn{padding:.6rem 2rem;outline:none;background-color:#60c084;color:#fff;border:0}.login-form .form-header{color:#666;margin-bottom:.5rem}.login-form .form-control{padding:.6rem;border:2px solid #ddd;width:100%;margin-bottom:.5rem;box-sizing:border-box;outline:none;transition:border .2s ease}.login-form .form-control:focus{border:2px solid #aaa}#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)}}html{scroll-behavior:smooth}.go-to-top[data-v-67a9666a]{cursor:pointer;position:fixed;bottom:2rem;right:2.5rem;width:2rem;color:#3eaf7c;z-index:1}.go-to-top[data-v-67a9666a]:hover{color:#72cda4}@media (max-width:959px){.go-to-top[data-v-67a9666a]{display:none}}.fade-enter-active[data-v-67a9666a],.fade-leave-active[data-v-67a9666a]{transition:opacity .3s}.fade-enter[data-v-67a9666a],.fade-leave-to[data-v-67a9666a]{opacity:0}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.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(/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:1.5rem;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{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{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.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:.45rem 1.5rem 0 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{font-weight:600;font-size:inherit}.dropdown-wrapper .dropdown-title:hover{color:#3eaf7c}.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 .dropdown-title .arrow{border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #ccc;border-bottom:0}.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:#aaa}@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}}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;-moz-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 .line-number,div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;-moz-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;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}.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:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .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: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}}h1{font-size:2.5rem}h2{font-size:1.9rem}h3{font-size:1.5rem}h4{font-size:1.2rem}.text-center{text-align:center}.nowrap{white-space:nowrap}.img{height:150px;width:150px}.img-small{height:$qcode-width;width:$qcode-width}.border{border:1px solid #eaecef;padding:5px;margin-top:1rem;border-radius:5px}.shadow{box-shadow:0 .125rem 1rem rgba(0,0,0,.1)!important}.border-shadow{border:1px solid #eaecef;padding:5px;margin-top:1rem;border-radius:5px;transition:box-shadow .3s ease}.border-shadow:hover{box-shadow:0 .125rem 1rem rgba(0,0,0,.1)!important}.danger{color:red}.contains-task-list LI{list-style-type:none}.badge[data-v-c13ee5b0]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff}.badge.green[data-v-c13ee5b0],.badge.tip[data-v-c13ee5b0],.badge[data-v-c13ee5b0]{background-color:#42b983}.badge.error[data-v-c13ee5b0]{background-color:#da5961}.badge.warn[data-v-c13ee5b0],.badge.warning[data-v-c13ee5b0],.badge.yellow[data-v-c13ee5b0]{background-color:#e7c000}.badge+.badge[data-v-c13ee5b0]{margin-left:5px}
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{217:function(t,r,s){"use strict";s.r(r);var e=s(0),n=Object(e.a)({},function(){var t=this.$createElement,r=this._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[r("h1",{attrs:{id:"android-安卓端"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#android-安卓端","aria-hidden":"true"}},[this._v("#")]),this._v(" Android 安卓端")])])},[],!1,null,null,null);r.default=n.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{220:function(t,s,e){"use strict";e.r(s);var r=e(0),a=Object(r.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:"#服务端","aria-hidden":"true"}},[this._v("#")]),this._v(" 服务端")])])},[],!1,null,null,null);s.default=a.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{218:function(t,s,e){"use strict";e.r(s);var r=e(0),a=Object(r.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:"#产品设计","aria-hidden":"true"}},[this._v("#")]),this._v(" 产品设计")])])},[],!1,null,null,null);s.default=a.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{214:function(t,v,_){"use strict";_.r(v);var r=_(0),e=Object(r.a)({},function(){var t=this,v=t.$createElement,_=t._self._c||v;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h1",{attrs:{id:"前端-frontend"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#前端-frontend","aria-hidden":"true"}},[t._v("#")]),t._v(" 前端 Frontend")]),t._v(" "),_("h2",{attrs:{id:"能力输出"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#能力输出","aria-hidden":"true"}},[t._v("#")]),t._v(" 能力输出")]),t._v(" "),_("ul",[_("li",[_("p",[t._v("微信小程序")])]),t._v(" "),_("li",[_("p",[t._v("支持全平台("),_("strong",[t._v("Windows")]),t._v("、"),_("strong",[t._v("Mac")]),t._v("、"),_("strong",[t._v("Linux")]),t._v(")的桌面客户端,以 "),_("code",[t._v("Windows")]),t._v(" 环境为例,客户端程序以 "),_("code",[t._v("exe")]),t._v(" 格式的可执行文件形式存在,不需要依赖浏览器运行,例如 QQ、Microsoft Office 等一系列可直接运行的桌面客户端")])]),t._v(" "),_("li",[_("p",[t._v("各类型网站,包含但不限于以下类型")]),t._v(" "),_("ul",[_("li",[t._v("管理平台")]),t._v(" "),_("li",[t._v("CMS 站点")]),t._v(" "),_("li",[t._v("企业门户综合网站")]),t._v(" "),_("li",[t._v("服务类型网站")]),t._v(" "),_("li",[t._v("设备嵌入网页")])]),t._v(" "),_("p",[t._v("网站可根据需求针对 "),_("code",[t._v("desktop")]),t._v("、"),_("code",[t._v("tablet")]),t._v("、"),_("code",[t._v("mobile")]),t._v(" 等不同尺寸设备进行适配")])])]),t._v(" "),_("h2",{attrs:{id:"项目构建说明"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#项目构建说明","aria-hidden":"true"}},[t._v("#")]),t._v(" 项目构建说明")]),t._v(" "),_("h3",{attrs:{id:"构建网站"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#构建网站","aria-hidden":"true"}},[t._v("#")]),t._v(" 构建网站")]),t._v(" "),_("p",[t._v("各类型网站、设备嵌入式网页等")]),t._v(" "),_("p",[_("strong",[t._v("生产环境")])]),t._v(" "),_("p",[t._v("生产环境内容更新须严格按照计划安排执行")]),t._v(" "),_("p",[t._v("执行构建流程")]),t._v(" "),_("ol",[_("li",[t._v("测试小组确认当前版本已通过测试")]),t._v(" "),_("li",[t._v("项目负责人根据计划决定更新时间")]),t._v(" "),_("li",[t._v("执行构建前自动化测试\n"),_("ul",{staticClass:"contains-task-list"},[_("li",{staticClass:"task-list-item"},[_("input",{staticClass:"task-list-item-checkbox",attrs:{checked:"",disabled:"",type:"checkbox"}}),t._v(" ESLint 语法检查扫描")]),t._v(" "),_("li",{staticClass:"task-list-item"},[_("input",{staticClass:"task-list-item-checkbox",attrs:{disabled:"",type:"checkbox"}}),t._v(" 单元测试")]),t._v(" "),_("li",{staticClass:"task-list-item"},[_("input",{staticClass:"task-list-item-checkbox",attrs:{disabled:"",type:"checkbox"}}),t._v(" 端对端测试")])])]),t._v(" "),_("li",[t._v("执行项目构建")]),t._v(" "),_("li",[t._v("提交构建结果于运维人员并正式更新至生产环境")])]),t._v(" "),_("p",[_("strong",[t._v("测试环境")])]),t._v(" "),_("p",[t._v("持续集成平台根据配置自动进行构建,用于测试小组测试功能完成情况")]),t._v(" "),_("div",{staticClass:"custom-block tip"},[_("p",{staticClass:"custom-block-title"},[t._v("构建频率")]),t._v(" "),_("p",[t._v("在所有使用自动持续集成的项目中,构建频率均为每天中午及凌晨两个时段")]),t._v(" "),_("ul",[_("li",[t._v("中午自动构建保证下午可以测试新的内容")]),t._v(" "),_("li",[t._v("凌晨自动构建保证第二天早晨可以测试新的内容")])])]),t._v(" "),_("h4",{attrs:{id:"开发环境"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#开发环境","aria-hidden":"true"}},[t._v("#")]),t._v(" 开发环境")]),t._v(" "),_("p",[t._v("开发环境使用本地环境进行构建及运行项目")]),t._v(" "),_("h3",{attrs:{id:"构建微信小程序"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#构建微信小程序","aria-hidden":"true"}},[t._v("#")]),t._v(" 构建微信小程序")]),t._v(" "),_("p",[t._v("微信小程序各版本发布流程说明")]),t._v(" "),_("p",[_("strong",[t._v("线上版")])]),t._v(" "),_("ol",[_("li",[t._v("测试小组确认当前版本已通过测试")]),t._v(" "),_("li",[t._v("项目负责人根据计划决定更新时间")]),t._v(" "),_("li",[t._v("设置环境参数为线上版")]),t._v(" "),_("li",[t._v("上传代码至微信小程序平台")]),t._v(" "),_("li",[t._v("进入微信公众平台,在版本管理中将当前 "),_("strong",[t._v("体验版")]),t._v(" 提交为 "),_("strong",[t._v("线上版")])]),t._v(" "),_("li",[t._v("等待微信平台审核")]),t._v(" "),_("li",[t._v("微信平台审核通过,并会在微信中通知相关人员")]),t._v(" "),_("li",[t._v("进入微信公众平台,将审核通过的版本,发布为 "),_("strong",[t._v("线上版")])])]),t._v(" "),_("p",[_("strong",[t._v("预览版")])]),t._v(" "),_("ol",[_("li",[t._v("设置环境参数为开发版")]),t._v(" "),_("li",[t._v("将开发完成的代码上传至微信小程序平台")]),t._v(" "),_("li",[t._v("通过扫描预览版二维码进行试用")])]),t._v(" "),_("h2",{attrs:{id:"项目环境要求"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#项目环境要求","aria-hidden":"true"}},[t._v("#")]),t._v(" 项目环境要求")]),t._v(" "),_("p",[_("strong",[t._v("浏览器及版本要求")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",[_("img",{attrs:{src:"/frontend/browser/edge.png",alt:"IE / Edge",width:"48",height:"48"}}),_("br"),t._v("IE / Edge")]),t._v(" "),_("th",[_("img",{attrs:{src:"/frontend/browser/firefox.png",alt:"Firefox",width:"48",height:"48"}}),_("br"),t._v("Firefox")]),t._v(" "),_("th",[_("img",{attrs:{src:"/frontend/browser/chrome.png",alt:"Chrome",width:"48",height:"48"}}),_("br"),t._v("Chrome")]),t._v(" "),_("th",[_("img",{attrs:{src:"/frontend/browser/safari.png",alt:"Safari",width:"48",height:"48"}}),_("br"),t._v("Safari")]),t._v(" "),_("th",[_("img",{attrs:{src:"/frontend/browser/opera.png",alt:"Opera",width:"48",height:"48"}}),_("br"),t._v("Opera")])])]),t._v(" "),_("tbody",[_("tr",[_("td",[t._v("IE10, IE11, Edge")]),t._v(" "),_("td",[t._v("Firefox 18+")]),t._v(" "),_("td",[t._v("Chrome 49+")]),t._v(" "),_("td",[t._v("Safari 10+")]),t._v(" "),_("td",[t._v("Opera 36+")])])])]),t._v(" "),_("blockquote",[_("p",[t._v("后续的技术版本升级后,仅对 IE11 进行兼容性支持")])]),t._v(" "),_("p",[_("strong",[t._v("屏幕分辨率要求")])]),t._v(" "),_("p",[_("code",[t._v("1366 X 768")]),t._v(" 及以上")]),t._v(" "),_("p",[_("strong",[t._v("项目部署需求")])]),t._v(" "),_("ul",[_("li",[t._v("nginx(gzip)")])]),t._v(" "),_("p",[_("br"),_("br")]),t._v(" "),_("h2",{attrs:{id:"项目技术组成"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#项目技术组成","aria-hidden":"true"}},[t._v("#")]),t._v(" 项目技术组成")]),t._v(" "),_("p",[t._v("管理平台")]),t._v(" "),_("ul",[_("li",[t._v("vue2")]),t._v(" "),_("li",[t._v("vue-router")]),t._v(" "),_("li",[t._v("vuex")]),t._v(" "),_("li",[t._v("axios")]),t._v(" "),_("li",[t._v("element-ui")])]),t._v(" "),_("p",[t._v("网页开放平台(专项提供移动端 WebView 嵌入、独立页提供)")]),t._v(" "),_("ul",[_("li",[t._v("vue2")]),t._v(" "),_("li",[t._v("vue-router")]),t._v(" "),_("li",[t._v("axios")]),t._v(" "),_("li",[t._v("bootstrap 4(仅 CSS)")])]),t._v(" "),_("p",[t._v("单元测试")]),t._v(" "),_("ul",[_("li",[t._v("vue-test-utils")]),t._v(" "),_("li",[t._v("mocha")]),t._v(" "),_("li",[t._v("cypress")]),t._v(" "),_("li",[t._v("chai")])]),t._v(" "),_("p",[t._v("小程序")]),t._v(" "),_("ul",[_("li",[t._v("微信小程序原生方式")])]),t._v(" "),_("p",[_("br"),_("br")]),t._v(" "),_("h2",{attrs:{id:"代码版本控制位置"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#代码版本控制位置","aria-hidden":"true"}},[t._v("#")]),t._v(" 代码版本控制位置")]),t._v(" "),_("p",[t._v("前端团队代码使用位置:"),_("a",{attrs:{href:"http://192.168.100.254:3000/frontend",target:"_blank",rel:"noopener noreferrer"}},[t._v("frontend"),_("OutboundLink")],1)]),t._v(" "),_("p",[t._v("以下为前端团队目前完成的项目")]),t._v(" "),_("h3",{attrs:{id:"网站、管理平台"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#网站、管理平台","aria-hidden":"true"}},[t._v("#")]),t._v(" 网站、管理平台")]),t._v(" "),_("ul",[_("li",[_("a",{attrs:{href:"http://192.168.100.254:3000/zenghaili/vegetarian-plus",target:"_blank",rel:"noopener noreferrer"}},[t._v("素+管理平台"),_("OutboundLink")],1)]),t._v(" "),_("li",[_("a",{attrs:{href:"http://192.168.100.254:3000/zenghaili/admin-platform",target:"_blank",rel:"noopener noreferrer"}},[t._v("系统管理后台"),_("OutboundLink")],1)])]),t._v(" "),_("h3",{attrs:{id:"小程序"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#小程序","aria-hidden":"true"}},[t._v("#")]),t._v(" 小程序")]),t._v(" "),_("ul",[_("li",[_("a",{attrs:{href:"http://192.168.100.254:3000/zenghaili/exam",target:"_blank",rel:"noopener noreferrer"}},[t._v("便捷答题"),_("OutboundLink")],1)]),t._v(" "),_("li",[t._v("票选小助手")]),t._v(" "),_("li",[t._v("海鲜干货人家")]),t._v(" "),_("li",[t._v("我的旺铺")])])])},[],!1,null,null,null);v.default=e.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{233:function(t,s,a){"use strict";a.r(s);var n=a(0),r=Object(n.a)({},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"业务组件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#业务组件","aria-hidden":"true"}},[t._v("#")]),t._v(" 业务组件")]),t._v(" "),a("p",[t._v("整合了部分业务功能或特殊定制化需求的组件")]),t._v(" "),a("h2",{attrs:{id:"数据导入导出"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#数据导入导出","aria-hidden":"true"}},[t._v("#")]),t._v(" 数据导入导出")]),t._v(" "),a("p",[t._v("公用数据导入导出组件,功能包含有数据介质模板下载(空或部分业务数据)、数据介质模板导出以及数据介质文件导入(上传)")]),t._v(" "),a("img",{staticClass:"border-shadow",attrs:{src:"/frontend/plugins/import-and-export.png"}}),t._v(" "),a("p",[t._v("使用流程")]),t._v(" "),a("ol",[a("li",[t._v("手机短信验证身份")]),t._v(" "),a("li",[t._v("下载、导出数据介质模板文件(非必须)")]),t._v(" "),a("li",[t._v("选择并上传已填写/修改的数据介质文件")]),t._v(" "),a("li",[t._v("预览文件内容")]),t._v(" "),a("li",[t._v("执行数据介质文件上传")]),t._v(" "),a("li",[t._v("上传成功/失败详细报告")])]),t._v(" "),a("p",[t._v("目前已配置并使用在素+管理平台的以下业务场景中")]),t._v(" "),a("ul",[a("li",[t._v("通讯录  "),a("code",[t._v("导入")]),t._v(" "),a("code",[t._v("导出")])]),t._v(" "),a("li",[t._v("客户档案 "),a("code",[t._v("导入")]),t._v(" "),a("code",[t._v("导出")])]),t._v(" "),a("li",[t._v("组织部门 "),a("code",[t._v("导入")])]),t._v(" "),a("li",[t._v("常购产品 "),a("code",[t._v("导入")]),t._v(" "),a("code",[t._v("导出")])]),t._v(" "),a("li",[t._v("存货档案 "),a("code",[t._v("导入")]),t._v(" "),a("code",[t._v("导出")])]),t._v(" "),a("li",[t._v("期初数据 "),a("code",[t._v("导入")])])]),t._v(" "),a("h2",{attrs:{id:"操作权限应用"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#操作权限应用","aria-hidden":"true"}},[t._v("#")]),t._v(" 操作权限应用")]),t._v(" "),a("p",[t._v("适配根据对用户或角色指定的权限设置(例:增加、删除、导出等),对界面元素的权限控制应用(例:按钮、链接等),自动根据配置内容决定该元素是否出现于当前界面")]),t._v(" "),a("blockquote",[a("p",[t._v("如果用户角色为主管理员,则所有功能始终可用,不受该操作权限控制")])]),t._v(" "),a("p",[t._v("完整权限字段如下:")]),t._v(" "),a("div",{staticClass:"language-json line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-json"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\tadd"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\tdelete"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\taddCustom"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\tcheck"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\tedit"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\texport"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\timport"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\taddGroup"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\tdeleteGroup"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\teditGroup"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\tcolumn"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\taddCustom"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\tcheck"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\tedit"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\tbasic"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\tcheck"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\tedit"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\tothers"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\tcheck"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\tedit"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\tpicture"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\tcheck"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\tedit"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\tprice"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\tcheck"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\tedit"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\tcontactWay"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\tcheck"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\tedit"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\tcredit"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\tcheck"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\tedit"),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v("\n\t\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\t"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\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("span",{staticClass:"line-number"},[t._v("15")]),a("br"),a("span",{staticClass:"line-number"},[t._v("16")]),a("br"),a("span",{staticClass:"line-number"},[t._v("17")]),a("br"),a("span",{staticClass:"line-number"},[t._v("18")]),a("br"),a("span",{staticClass:"line-number"},[t._v("19")]),a("br"),a("span",{staticClass:"line-number"},[t._v("20")]),a("br"),a("span",{staticClass:"line-number"},[t._v("21")]),a("br"),a("span",{staticClass:"line-number"},[t._v("22")]),a("br"),a("span",{staticClass:"line-number"},[t._v("23")]),a("br"),a("span",{staticClass:"line-number"},[t._v("24")]),a("br"),a("span",{staticClass:"line-number"},[t._v("25")]),a("br"),a("span",{staticClass:"line-number"},[t._v("26")]),a("br"),a("span",{staticClass:"line-number"},[t._v("27")]),a("br"),a("span",{staticClass:"line-number"},[t._v("28")]),a("br"),a("span",{staticClass:"line-number"},[t._v("29")]),a("br"),a("span",{staticClass:"line-number"},[t._v("30")]),a("br"),a("span",{staticClass:"line-number"},[t._v("31")]),a("br"),a("span",{staticClass:"line-number"},[t._v("32")]),a("br"),a("span",{staticClass:"line-number"},[t._v("33")]),a("br"),a("span",{staticClass:"line-number"},[t._v("34")]),a("br"),a("span",{staticClass:"line-number"},[t._v("35")]),a("br"),a("span",{staticClass:"line-number"},[t._v("36")]),a("br"),a("span",{staticClass:"line-number"},[t._v("37")]),a("br"),a("span",{staticClass:"line-number"},[t._v("38")]),a("br"),a("span",{staticClass:"line-number"},[t._v("39")]),a("br"),a("span",{staticClass:"line-number"},[t._v("40")]),a("br"),a("span",{staticClass:"line-number"},[t._v("41")]),a("br"),a("span",{staticClass:"line-number"},[t._v("42")]),a("br")])]),a("h2",{attrs:{id:"选择器"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#选择器","aria-hidden":"true"}},[t._v("#")]),t._v(" 选择器")]),t._v(" "),a("p",[t._v("用于挑选数据的选择器")]),t._v(" "),a("h3",{attrs:{id:"存货选择器"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#存货选择器","aria-hidden":"true"}},[t._v("#")]),t._v(" 存货选择器")]),t._v(" "),a("img",{staticClass:"border-shadow",attrs:{src:"/frontend/plugins/product.png"}})])},[],!1,null,null,null);s.default=r.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{225:function(t,s,n){"use strict";n.r(s);var a=n(0),r=Object(a.a)({},function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"数据交互格式标准"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#数据交互格式标准","aria-hidden":"true"}},[t._v("#")]),t._v(" 数据交互格式标准")]),t._v(" "),n("p",[t._v("前后端数据交互格式详细说明")]),t._v(" "),n("div",{staticClass:"language-js line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-js"}},[n("code",[n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t"),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/**\n\t * 请求结果\n * -1:请求成功,但业务检查不通过\n\t * 0:请求成功,数据正常返回\n * 2:token 超时,主要用于用户登录超时、特定情况下主动清除用户登录状态\n * 例如用户权限发生变化等场景\n\t */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"code"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t"),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/**\n\t * 提示信息,错误时按UI规范显示错误信息,成功则返回操作成功\n\t */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"msg"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"姓名不能超过20个字符"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t"),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/**\n\t * 请求返回结果 JSON类型\n\t * 正常请求后返回的内容都应在data节点下生成\n\t */")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"data"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" \n\t\t"),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/** int、String、long等普通类型 */")]),t._v("\n\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"attr"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" value"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" \n\t\t "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/** 属性为JSON对象 */")]),t._v(" \n\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"user"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"name"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"zhangsan"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"age"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("18")]),t._v("\n\t\t"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" \n\t\t"),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/** 属性为一维数组,An为一维数组元素 */")]),t._v("\n\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"users"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token constant"}},[t._v("A1")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),n("span",{pre:!0,attrs:{class:"token constant"}},[t._v("A2")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v("An"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(", \n\t\t "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/** 属性为对象数组 */")]),t._v("\n\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"users"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),n("span",{pre:!0,attrs:{class:"token constant"}},[t._v("JSON")]),t._v("类型"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),n("span",{pre:!0,attrs:{class:"token constant"}},[t._v("JSON")]),t._v("类型"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(",\n\t\t"),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/**\n\t\t * grid表格结果集格式 表单记录 JSON类型\n\t\t */")]),t._v("\n\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"gridResult"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t"),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("//当前页")]),t._v("\n\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"pageNumber"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t"),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("//总记录数")]),t._v("\n\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"totalRow"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token comment"}},[t._v("//数据列表内容")]),t._v("\n\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"lists"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"id"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"prop2"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('""')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"status"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"remark"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('""')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"prop1"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('""')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"statusName"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"启用"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"description"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"系统标题名称"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"value"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"后台管理系统"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"prop3"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('""')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"code"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"SYSTEM_CAPTION"')]),t._v("\n\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"id"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("12860")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"prop2"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"2"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"status"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"remark"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"2"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"prop1"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"2"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"statusName"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"启用"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"description"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"定时任务开关"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"value"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"0"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"prop3"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"2"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"code"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"SYSTEM_QUARTZ"')]),t._v("\n\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"id"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("12861")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"prop2"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"3"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"status"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"remark"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"3"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"prop1"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"3"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"statusName"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"启用"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"description"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"3"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"value"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"3"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"prop3"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"3"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n\t\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"code"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(":")]),t._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[t._v('"3"')]),t._v("\n\t\t\t\t"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),n("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\t\t\t"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v("\n\t\t"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])]),t._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[t._v("1")]),n("br"),n("span",{staticClass:"line-number"},[t._v("2")]),n("br"),n("span",{staticClass:"line-number"},[t._v("3")]),n("br"),n("span",{staticClass:"line-number"},[t._v("4")]),n("br"),n("span",{staticClass:"line-number"},[t._v("5")]),n("br"),n("span",{staticClass:"line-number"},[t._v("6")]),n("br"),n("span",{staticClass:"line-number"},[t._v("7")]),n("br"),n("span",{staticClass:"line-number"},[t._v("8")]),n("br"),n("span",{staticClass:"line-number"},[t._v("9")]),n("br"),n("span",{staticClass:"line-number"},[t._v("10")]),n("br"),n("span",{staticClass:"line-number"},[t._v("11")]),n("br"),n("span",{staticClass:"line-number"},[t._v("12")]),n("br"),n("span",{staticClass:"line-number"},[t._v("13")]),n("br"),n("span",{staticClass:"line-number"},[t._v("14")]),n("br"),n("span",{staticClass:"line-number"},[t._v("15")]),n("br"),n("span",{staticClass:"line-number"},[t._v("16")]),n("br"),n("span",{staticClass:"line-number"},[t._v("17")]),n("br"),n("span",{staticClass:"line-number"},[t._v("18")]),n("br"),n("span",{staticClass:"line-number"},[t._v("19")]),n("br"),n("span",{staticClass:"line-number"},[t._v("20")]),n("br"),n("span",{staticClass:"line-number"},[t._v("21")]),n("br"),n("span",{staticClass:"line-number"},[t._v("22")]),n("br"),n("span",{staticClass:"line-number"},[t._v("23")]),n("br"),n("span",{staticClass:"line-number"},[t._v("24")]),n("br"),n("span",{staticClass:"line-number"},[t._v("25")]),n("br"),n("span",{staticClass:"line-number"},[t._v("26")]),n("br"),n("span",{staticClass:"line-number"},[t._v("27")]),n("br"),n("span",{staticClass:"line-number"},[t._v("28")]),n("br"),n("span",{staticClass:"line-number"},[t._v("29")]),n("br"),n("span",{staticClass:"line-number"},[t._v("30")]),n("br"),n("span",{staticClass:"line-number"},[t._v("31")]),n("br"),n("span",{staticClass:"line-number"},[t._v("32")]),n("br"),n("span",{staticClass:"line-number"},[t._v("33")]),n("br"),n("span",{staticClass:"line-number"},[t._v("34")]),n("br"),n("span",{staticClass:"line-number"},[t._v("35")]),n("br"),n("span",{staticClass:"line-number"},[t._v("36")]),n("br"),n("span",{staticClass:"line-number"},[t._v("37")]),n("br"),n("span",{staticClass:"line-number"},[t._v("38")]),n("br"),n("span",{staticClass:"line-number"},[t._v("39")]),n("br"),n("span",{staticClass:"line-number"},[t._v("40")]),n("br"),n("span",{staticClass:"line-number"},[t._v("41")]),n("br"),n("span",{staticClass:"line-number"},[t._v("42")]),n("br"),n("span",{staticClass:"line-number"},[t._v("43")]),n("br"),n("span",{staticClass:"line-number"},[t._v("44")]),n("br"),n("span",{staticClass:"line-number"},[t._v("45")]),n("br"),n("span",{staticClass:"line-number"},[t._v("46")]),n("br"),n("span",{staticClass:"line-number"},[t._v("47")]),n("br"),n("span",{staticClass:"line-number"},[t._v("48")]),n("br"),n("span",{staticClass:"line-number"},[t._v("49")]),n("br"),n("span",{staticClass:"line-number"},[t._v("50")]),n("br"),n("span",{staticClass:"line-number"},[t._v("51")]),n("br"),n("span",{staticClass:"line-number"},[t._v("52")]),n("br"),n("span",{staticClass:"line-number"},[t._v("53")]),n("br"),n("span",{staticClass:"line-number"},[t._v("54")]),n("br"),n("span",{staticClass:"line-number"},[t._v("55")]),n("br"),n("span",{staticClass:"line-number"},[t._v("56")]),n("br"),n("span",{staticClass:"line-number"},[t._v("57")]),n("br"),n("span",{staticClass:"line-number"},[t._v("58")]),n("br"),n("span",{staticClass:"line-number"},[t._v("59")]),n("br"),n("span",{staticClass:"line-number"},[t._v("60")]),n("br"),n("span",{staticClass:"line-number"},[t._v("61")]),n("br"),n("span",{staticClass:"line-number"},[t._v("62")]),n("br"),n("span",{staticClass:"line-number"},[t._v("63")]),n("br"),n("span",{staticClass:"line-number"},[t._v("64")]),n("br"),n("span",{staticClass:"line-number"},[t._v("65")]),n("br"),n("span",{staticClass:"line-number"},[t._v("66")]),n("br"),n("span",{staticClass:"line-number"},[t._v("67")]),n("br"),n("span",{staticClass:"line-number"},[t._v("68")]),n("br"),n("span",{staticClass:"line-number"},[t._v("69")]),n("br"),n("span",{staticClass:"line-number"},[t._v("70")]),n("br"),n("span",{staticClass:"line-number"},[t._v("71")]),n("br"),n("span",{staticClass:"line-number"},[t._v("72")]),n("br"),n("span",{staticClass:"line-number"},[t._v("73")]),n("br"),n("span",{staticClass:"line-number"},[t._v("74")]),n("br"),n("span",{staticClass:"line-number"},[t._v("75")]),n("br"),n("span",{staticClass:"line-number"},[t._v("76")]),n("br"),n("span",{staticClass:"line-number"},[t._v("77")]),n("br"),n("span",{staticClass:"line-number"},[t._v("78")]),n("br"),n("span",{staticClass:"line-number"},[t._v("79")]),n("br"),n("span",{staticClass:"line-number"},[t._v("80")]),n("br")])])])},[],!1,null,null,null);s.default=r.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{229:function(t,a,r){"use strict";r.r(a);var s=r(0),e=Object(s.a)({},function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"功能插件"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#功能插件","aria-hidden":"true"}},[t._v("#")]),t._v(" 功能插件")]),t._v(" "),r("p",[t._v("完全不与业务耦合的功能插件/组件,此类型的成果代表着不以项目类型或业务为限,可随意组合使用")]),t._v(" "),r("h2",{attrs:{id:"拼图验证码插件"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#拼图验证码插件","aria-hidden":"true"}},[t._v("#")]),t._v(" 拼图验证码插件")]),t._v(" "),r("p",[t._v("用户操作行为验证,能有效区分人机,阻绝恶意程序带来的业务损失。")]),t._v(" "),r("p",[t._v("可应用于系统登录、用户端留言或发贴等场景")]),t._v(" "),r("p",[r("strong",[t._v("拼图拖拽模式")])]),t._v(" "),r("p",[r("img",{attrs:{src:"/frontend/plugins/captcha.png",alt:"captcha"}})]),t._v(" "),r("p",[r("strong",[t._v("随机文字点选模式")])]),t._v(" "),r("p",[r("img",{attrs:{src:"/frontend/plugins/captcha1.png",alt:"captcha1"}})]),t._v(" "),r("p",[t._v("图形验证码插件(极验),当前使用 "),r("strong",[t._v("免费")]),t._v(" 版本,限制为 200 次 / 小时的使用频率,且免费版仅能使用拼图拖拽或文字选择等形式的其中一种,收费版本可随出现验证类型或根据验证级别的提升智能选择不同验证方式和难度,且可定制背景图片")]),t._v(" "),r("p",[r("strong",[t._v("全部验证形式")])]),t._v(" "),r("p",[r("img",{attrs:{src:"/frontend/plugins/captcha-all.png",alt:"captcha-all"}})]),t._v(" "),r("blockquote",[r("p",[t._v("该功能需要服务端配套相关功能")])]),t._v(" "),r("h2",{attrs:{id:"短信验证"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#短信验证","aria-hidden":"true"}},[t._v("#")]),t._v(" 短信验证")]),t._v(" "),r("p",[t._v("使用手机及验证码进行身份验证")]),t._v(" "),r("img",{staticClass:"border-shadow",attrs:{src:"/frontend/plugins/sms.png"}}),t._v(" "),r("p",[t._v("提供了默认形态界面的完整功能,也允许只引用底层实现 API 适配自定义短信验证界面场景")]),t._v(" "),r("h2",{attrs:{id:"侧边栏抽屉"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#侧边栏抽屉","aria-hidden":"true"}},[t._v("#")]),t._v(" 侧边栏抽屉")]),t._v(" "),r("p",[t._v("一个可从屏幕边缘抽屉式滑出的内容展示层")]),t._v(" "),r("p",[r("img",{attrs:{src:"/frontend/plugins/slide.png",alt:"slide"}})]),t._v(" "),r("h2",{attrs:{id:"数据表格"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#数据表格","aria-hidden":"true"}},[t._v("#")]),t._v(" 数据表格")]),t._v(" "),r("p",[t._v("带有分页栏的数据表格,集成了单选、多选、跨页选择等功能")]),t._v(" "),r("p",[r("img",{attrs:{src:"/frontend/plugins/grid.png",alt:"grid"}})]),t._v(" "),r("blockquote",[r("p",[t._v("该插件依赖于 element-ui,以及服务端数据接口")])]),t._v(" "),r("h2",{attrs:{id:"数据下载-导出"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#数据下载-导出","aria-hidden":"true"}},[t._v("#")]),t._v(" 数据下载/导出")]),t._v(" "),r("p",[t._v("标准文件下载/导出功能,根据提供位置的内容构建文件流并自动开始下载,下载过程中默认开启全屏遮罩,并在下载完成后自动关闭")]),t._v(" "),r("p",[r("img",{attrs:{src:"/frontend/plugins/download.png",alt:"download"}})]),t._v(" "),r("blockquote",[r("p",[t._v("该插件遮罩功能依赖于 element-ui")])]),t._v(" "),r("h2",{attrs:{id:"选择器"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#选择器","aria-hidden":"true"}},[t._v("#")]),t._v(" 选择器")]),t._v(" "),r("p",[t._v("用于挑选数据的选择器")]),t._v(" "),r("p",[r("strong",[t._v("选择器基本规则说明")])]),t._v(" "),r("p",[t._v("所有选择器应包含以下三个基本行为")]),t._v(" "),r("ul",[r("li",[t._v("右上角 "),r("code",[t._v("X")]),t._v(" 关闭按钮,点击后仅关闭选择器,不触发事件响应")]),t._v(" "),r("li",[r("code",[t._v("清空")]),t._v(" 按钮,清空选择器已选择项目,但不关闭窗口")]),t._v(" "),r("li",[r("code",[t._v("确定")]),t._v(" 按钮,触发回调事件,响应数据变更并关闭选择器窗口")])]),t._v(" "),r("p",[r("strong",[t._v("选择器基本构成元素图例")])]),t._v(" "),r("img",{staticClass:"border-shadow",attrs:{src:"/frontend/plugins/selector-base.png"}}),t._v(" "),r("h3",{attrs:{id:"单列数据穿梭框"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#单列数据穿梭框","aria-hidden":"true"}},[t._v("#")]),t._v(" 单列数据穿梭框")]),t._v(" "),r("p",[t._v("以数据列表形式展现,提供数据可以左右穿梭直观效果")]),t._v(" "),r("img",{staticClass:"border-shadow",attrs:{src:"/frontend/plugins/selector-transfer.png"}}),t._v(" "),r("h3",{attrs:{id:"树形数据选择器"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#树形数据选择器","aria-hidden":"true"}},[t._v("#")]),t._v(" 树形数据选择器")]),t._v(" "),r("p",[t._v("以树形结构展示待选项目")]),t._v(" "),r("img",{staticClass:"border-shadow",attrs:{src:"/frontend/plugins/selector-tree.png"}}),t._v(" "),r("h3",{attrs:{id:"分组树形数据选择器"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#分组树形数据选择器","aria-hidden":"true"}},[t._v("#")]),t._v(" 分组树形数据选择器")]),t._v(" "),r("p",[t._v("多分组且每个分组可使用树形结构展示的选择器")]),t._v(" "),r("img",{staticClass:"border-shadow",attrs:{src:"/frontend/plugins/selector-tree-group.png"}})])},[],!1,null,null,null);a.default=e.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{213:function(t,a,e){"use strict";e.r(a);var r=e(0),s=Object(r.a)({},function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"质量保证体系"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#质量保证体系","aria-hidden":"true"}},[t._v("#")]),t._v(" 质量保证体系")]),t._v(" "),e("p",[t._v("通过各类型自动化工具及测试用例对代码质量进行检测")]),t._v(" "),e("h2",{attrs:{id:"团队应用现状"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#团队应用现状","aria-hidden":"true"}},[t._v("#")]),t._v(" 团队应用现状")]),t._v(" "),e("ul",{staticClass:"contains-task-list"},[e("li",{staticClass:"task-list-item"},[e("input",{staticClass:"task-list-item-checkbox",attrs:{checked:"",disabled:"",type:"checkbox"}}),t._v(" 语法检查工具")]),t._v(" "),e("li",{staticClass:"task-list-item"},[e("input",{staticClass:"task-list-item-checkbox",attrs:{disabled:"",type:"checkbox"}}),t._v(" 单元测试")]),t._v(" "),e("li",{staticClass:"task-list-item"},[e("input",{staticClass:"task-list-item-checkbox",attrs:{disabled:"",type:"checkbox"}}),t._v(" 端对端测试")])]),t._v(" "),e("p",[t._v("目前所有自动化检查的方式仅为手动运行检测,后续将视情况切换为强制执行方式,检测不通过则不允许编译与发行")]),t._v(" "),e("h2",{attrs:{id:"语法检查"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#语法检查","aria-hidden":"true"}},[t._v("#")]),t._v(" 语法检查")]),t._v(" "),e("p",[t._v("语法检查工具用于检查代码的语法是否正确、风格是否符合要求")]),t._v(" "),e("p",[t._v("JavaScript 是一个动态的弱类型语言,在开发中比较容易出错。因为没有编译程序,为了寻找 JavaScript 代码错误通常需要在执行过程中不断调试。像 ESLint 这样的可以让程序员在编码的过程中发现问题而不是在执行的过程中。")]),t._v(" "),e("h3",{attrs:{id:"使用工具"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#使用工具","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用工具")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://eslint.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("ESLint"),e("OutboundLink")],1)])]),t._v(" "),e("p",[t._v("目前使用规则为宽松模式,后续将逐步增加规则要求级别")]),t._v(" "),e("h3",{attrs:{id:"运行方式"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#运行方式","aria-hidden":"true"}},[t._v("#")]),t._v(" 运行方式")]),t._v(" "),e("div",{staticClass:"language-bash line-numbers-mode"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[t._v("npm")]),t._v(" run lint\n")])]),t._v(" "),e("div",{staticClass:"line-numbers-wrapper"},[e("span",{staticClass:"line-number"},[t._v("1")]),e("br")])]),e("h3",{attrs:{id:"检查结果要求"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#检查结果要求","aria-hidden":"true"}},[t._v("#")]),t._v(" 检查结果要求")]),t._v(" "),e("p",[t._v("ESlint 命令行输出")]),t._v(" "),e("blockquote",[e("Badge",{attrs:{text:"DONE",vertical:"middle"}}),t._v(" No lint errors found!\n")],1),t._v(" "),e("p",[t._v("代表了语法检查通过")]),t._v(" "),e("h2",{attrs:{id:"单元测试"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#单元测试","aria-hidden":"true"}},[t._v("#")]),t._v(" 单元测试")]),t._v(" "),e("p",[t._v("单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作,可以理解为 "),e("strong",[t._v("白盒测试")]),t._v(" 的行为。")]),t._v(" "),e("h3",{attrs:{id:"为什么要写单元测试?"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#为什么要写单元测试?","aria-hidden":"true"}},[t._v("#")]),t._v(" 为什么要写单元测试?")]),t._v(" "),e("p",[t._v("Web应用程序越来越复杂,这意味着有更多的可能出错。测试是帮助我们提高代码质量、降低错误的最好方法和工具之一")]),t._v(" "),e("ul",[e("li",[t._v("测试可以确保得到预期结果")]),t._v(" "),e("li",[t._v("加快开发速度")]),t._v(" "),e("li",[t._v("方便维护")]),t._v(" "),e("li",[t._v("提供用法的文档")])]),t._v(" "),e("p",[t._v("通过测试提供软件的质量,在开始的时候,可能会降低开发速度。但是从长期看,尤其是那种代码需要长期维护、不断开发的情况,测试会大大加快开发速度,减轻维护难度")]),t._v(" "),e("h3",{attrs:{id:"使用功能库"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#使用功能库","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用功能库")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",[t._v("功能库")]),t._v(" "),e("th",[t._v("作用")])])]),t._v(" "),e("tbody",[e("tr",[e("td",[e("a",{attrs:{href:"https://mochajs.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Mocha"),e("OutboundLink")],1)]),t._v(" "),e("td",[t._v("单元测试引擎")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"https://www.chaijs.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Chai"),e("OutboundLink")],1)]),t._v(" "),e("td",[t._v("断言库")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"https://github.com/jsdom/jsdom",target:"_blank",rel:"noopener noreferrer"}},[t._v("JsDom"),e("OutboundLink")],1)]),t._v(" "),e("td",[t._v("虚拟浏览器容器")])]),t._v(" "),e("tr",[e("td",[e("a",{attrs:{href:"https://vue-test-utils.vuejs.org/zh/",target:"_blank",rel:"noopener noreferrer"}},[t._v("@vue/test-utils"),e("OutboundLink")],1)]),t._v(" "),e("td",[t._v("vue 官方提供单元测试工具集")])])])]),t._v(" "),e("h3",{attrs:{id:"运行方式-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#运行方式-2","aria-hidden":"true"}},[t._v("#")]),t._v(" 运行方式")]),t._v(" "),e("div",{staticClass:"language-bash line-numbers-mode"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[t._v("npm")]),t._v(" run test:unit\n")])]),t._v(" "),e("div",{staticClass:"line-numbers-wrapper"},[e("span",{staticClass:"line-number"},[t._v("1")]),e("br")])]),e("h3",{attrs:{id:"适用范围"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#适用范围","aria-hidden":"true"}},[t._v("#")]),t._v(" 适用范围")]),t._v(" "),e("p",[t._v("很多时候,一些简单的功能场景,例如表单增、删、改、查等并没有编写单元测试的必要,况且编写单元测试需要不少时间成本,建议编写单元测试的场景如下")]),t._v(" "),e("ul",[e("li",[t._v("系统底层 API")]),t._v(" "),e("li",[t._v("功能封装类")]),t._v(" "),e("li",[t._v("功能组件")]),t._v(" "),e("li",[t._v("关联计算")]),t._v(" "),e("li",[t._v("业务集成联动")])]),t._v(" "),e("p",[t._v("对于功能封装函数,更是应该增加多种测试用例进行功能覆盖,对于边界测试更是其中重中之重")]),t._v(" "),e("h2",{attrs:{id:"端对端测试(end-to-end)"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#端对端测试(end-to-end)","aria-hidden":"true"}},[t._v("#")]),t._v(" 端对端测试(End-to-end)")]),t._v(" "),e("p",[t._v("端对端测试,简单地可以理解为站在用户角度的测试。站在用户的角度,他不需要知道软件的内部实现是怎么样的,只是使用即可;那么端对端测试模拟的就是用户的行为,只负责打开软件/浏览器,按序执行测试用例,并检查测试结果是否符合预期,它是 "),e("strong",[t._v("黑盒测试")]),t._v(" 的行为。")]),t._v(" "),e("h3",{attrs:{id:"使用功能库-2"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#使用功能库-2","aria-hidden":"true"}},[t._v("#")]),t._v(" 使用功能库")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://www.cypress.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("cypress"),e("OutboundLink")],1)])]),t._v(" "),e("h3",{attrs:{id:"运行方式-3"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#运行方式-3","aria-hidden":"true"}},[t._v("#")]),t._v(" 运行方式")]),t._v(" "),e("div",{staticClass:"language-bash line-numbers-mode"},[e("pre",{pre:!0,attrs:{class:"language-bash"}},[e("code",[e("span",{pre:!0,attrs:{class:"token function"}},[t._v("npm")]),t._v(" run test:e2e\n")])]),t._v(" "),e("div",{staticClass:"line-numbers-wrapper"},[e("span",{staticClass:"line-number"},[t._v("1")]),e("br")])])])},[],!1,null,null,null);a.default=s.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{230:function(t,r,a){"use strict";a.r(r);var e=a(0),s=Object(e.a)({},function(){var t=this,r=t.$createElement,a=t._self._c||r;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"陈列柜"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#陈列柜","aria-hidden":"true"}},[t._v("#")]),t._v(" 陈列柜")]),t._v(" "),a("p",[t._v("展示出团队完成的相关产品")]),t._v(" "),a("h2",{attrs:{id:"网站"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#网站","aria-hidden":"true"}},[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("买买买公司首页")]),t._v(" "),a("td",[a("a",{attrs:{href:"http://www.szmaimaimai.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("点击访问"),a("OutboundLink")],1)]),t._v(" "),a("td")]),t._v(" "),a("tr",[a("td",[t._v("素+管理平台")]),t._v(" "),a("td",[a("a",{attrs:{href:"http://suplus-front-prd.fjmaimaimai.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("点击访问"),a("OutboundLink")],1)]),t._v(" "),a("td",[a("a",{attrs:{href:"http://suplus-front-dev.fjmaimaimai.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("点击访问"),a("OutboundLink")],1)])]),t._v(" "),a("tr",[a("td",[t._v("管理中心(原素+管理后台)")]),t._v(" "),a("td",[a("a",{attrs:{href:"http://suplus-app-mg-prd.fjmaimaimai.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("点击访问"),a("OutboundLink")],1)]),t._v(" "),a("td",[a("a",{attrs:{href:"http://suplus-app-mg-dev.fjmaimaimai.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("点击访问"),a("OutboundLink")],1)])]),t._v(" "),a("tr",[a("td",[t._v("便捷答题小程序管理平台")]),t._v(" "),a("td",[a("a",{attrs:{href:"https://dati.fjmaimaimai.com/dati_manage/#/login",target:"_blank",rel:"noopener noreferrer"}},[t._v("点击访问"),a("OutboundLink")],1)]),t._v(" "),a("td",[a("a",{attrs:{href:"https://csdati.fjmaimaimai.com/dati_manage/#/login",target:"_blank",rel:"noopener noreferrer"}},[t._v("点击访问"),a("OutboundLink")],1)])])])]),t._v(" "),a("h2",{attrs:{id:"微信小程序"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#微信小程序","aria-hidden":"true"}},[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",{staticClass:"nowrap",attrs:{rowspan:"2"}},[t._v("票选小助手")]),t._v(" "),a("td",{staticClass:"text-center"},[a("img",{staticClass:"img",attrs:{src:"/frontend/mini-program/vote/experience.jpg"}})]),t._v(" "),a("td",{staticClass:"text-center"},[a("img",{staticClass:"img",attrs:{src:"/frontend/mini-program/vote/production.jpg"}})])]),t._v(" "),a("tr",[a("td",{attrs:{colspan:"2"}},[t._v("快速简单创建投票,支持图文选项。可支持群投票或指定用户进行投票")])]),t._v(" "),a("tr",[a("td",{staticClass:"nowrap",attrs:{rowspan:"2"}},[t._v("便捷答题")]),t._v(" "),a("td",{staticClass:"text-center"},[a("img",{staticClass:"img",attrs:{src:"/frontend/mini-program/exam/experience.jpg"}})]),t._v(" "),a("td",{staticClass:"text-center"},[a("img",{staticClass:"img",attrs:{src:"/frontend/mini-program/exam/production.jpg"}})])]),t._v(" "),a("tr",[a("td",{attrs:{colspan:"2"}},[t._v("让公司可以便捷地给员工培训考试")])]),t._v(" "),a("tr",[a("td",{staticClass:"nowrap",attrs:{rowspan:"2"}},[t._v("海鲜干货人家")]),t._v(" "),a("td",{staticClass:"text-center"},[a("img",{staticClass:"img",attrs:{src:"/frontend/mini-program/seafood/experience.jpg"}})]),t._v(" "),a("td",{staticClass:"text-center"},[a("img",{staticClass:"img",attrs:{src:"/frontend/mini-program/seafood/production.jpg"}})])]),t._v(" "),a("tr",[a("td",{attrs:{colspan:"2"}},[t._v("专业包点、小食订购平台;自提需标提货时间(至少次日),配送为当天下单,次日配送;周末节假日暂不支持发货")])]),t._v(" "),a("tr",[a("td",{staticClass:"nowrap",attrs:{rowspan:"2"}},[t._v("我的旺铺")]),t._v(" "),a("td",{staticClass:"text-center"},[a("img",{staticClass:"img",attrs:{src:"/frontend/mini-program/hot-shop/experience.jpg"}})]),t._v(" "),a("td",{staticClass:"text-center"},[a("img",{staticClass:"img",attrs:{src:"/frontend/mini-program/hot-shop/production.jpg"}})])]),t._v(" "),a("tr",[a("td",{attrs:{colspan:"2"}},[t._v("店铺管理工具,能快速的管理店铺的分类、商品和海报图册。")])])])]),t._v(" "),a("h2",{attrs:{id:"桌面客户端"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#桌面客户端","aria-hidden":"true"}},[t._v("#")]),t._v(" 桌面客户端")]),t._v(" "),a("p",[t._v("未上线")])])},[],!1,null,null,null);r.default=s.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],Array(74).concat([function(t,e,n){var r=n(124)("wks"),i=n(125),o=n(76).Symbol,a="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))}).store=r},function(t,e,n){"use strict";n.d(e,"d",function(){return r}),n.d(e,"a",function(){return o}),n.d(e,"i",function(){return a}),n.d(e,"f",function(){return u}),n.d(e,"g",function(){return c}),n.d(e,"h",function(){return l}),n.d(e,"b",function(){return f}),n.d(e,"e",function(){return p}),n.d(e,"k",function(){return h}),n.d(e,"l",function(){return d}),n.d(e,"c",function(){return v}),n.d(e,"j",function(){return g});const r=/#.*$/,i=/\.(md|html)$/,o=/\/$/,a=/^[a-z]+:/i;function s(t){return decodeURI(t).replace(r,"").replace(i,"")}function u(t){return a.test(t)}function c(t){return/^mailto:/.test(t)}function l(t){return/^tel:/.test(t)}function f(t){if(u(t))return t;const e=t.match(r),n=e?e[0]:"",i=s(t);return o.test(i)?t:i+".html"+n}function p(t,e){const n=t.hash,i=function(t){const e=t.match(r);if(e)return e[0]}(e);return(!i||n===i)&&s(t.path)===s(e)}function h(t,e,n){if(u(e))return{type:"external",path:e};n&&(e=function(t,e,n){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;const i=e.split("/");n&&i[i.length-1]||i.pop();const o=t.replace(/^\//,"").split("/");for(let t=0;t<o.length;t++){const e=o[t];".."===e?i.pop():"."!==e&&i.push(e)}""!==i[0]&&i.unshift("");return i.join("/")}(e,n));const r=s(e);for(let e=0;e<t.length;e++)if(s(t[e].regularPath)===r)return Object.assign({},t[e],{type:"page",path:f(t[e].path)});return console.error(`[vuepress] No matching page found for sidebar item "${e}"`),{}}function d(t,e,n,r){const{pages:i,themeConfig:o}=n,a=r&&o.locales&&o.locales[r]||o;if("auto"===(t.frontmatter.sidebar||a.sidebar||o.sidebar))return function(t){const e=v(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}(t);const s=a.sidebar||o.sidebar;if(s){const{base:t,config:n}=function(t,e){if(Array.isArray(e))return{base:"/",config:e};for(const r in e)if(0===(n=t,/(\.html|\/)$/.test(n)?n:n+"/").indexOf(encodeURI(r)))return{base:r,config:e[r]};var n;return{}}(e,s);return n?n.map(e=>(function t(e,n,r,i=1){if("string"==typeof e)return h(n,e,r);if(Array.isArray(e))return Object.assign(h(n,e[0],r),{title:e[1]});{i>3&&console.error("[vuepress] detected a too deep nested sidebar group.");const o=e.children||[];return 0===o.length&&e.path?Object.assign(h(n,e.path,r),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,children:o.map(e=>t(e,n,r,i+1)),collapsable:!1!==e.collapsable}}})(e,i,t)):[]}return[]}function v(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function g(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){var n=t.exports={version:"2.6.9"};"number"==typeof __e&&(__e=n)},function(t,e){t.exports={}},function(t,e,n){var r=n(83),i=n(92);t.exports=n(85)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){"use strict";var r=n(18),i=n(81)(3);r(r.P+r.F*!n(82)([].some,!0),"Array",{some:function(t){return i(this,t,arguments[1])}})},function(t,e,n){var r=n(31),i=n(46),o=n(30),a=n(41),s=n(136);t.exports=function(t,e){var n=1==t,u=2==t,c=3==t,l=4==t,f=6==t,p=5==t||f,h=e||s;return function(e,s,d){for(var v,g,m=o(e),b=i(m),x=r(s,d,3),y=a(b.length),_=0,k=n?h(e,y):u?h(e,0):void 0;y>_;_++)if((p||_ in b)&&(g=x(v=b[_],_,m),t))if(n)k[_]=g;else if(g)switch(t){case 3:return!0;case 5:return v;case 6:return _;case 2:k.push(v)}else if(l)return!1;return f?-1:c||l?l:k}}},function(t,e,n){"use strict";var r=n(6);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){var r=n(84),i=n(160),o=n(161),a=Object.defineProperty;e.f=n(85)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(91);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){t.exports=!n(118)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){var r=n(76),i=n(77),o=n(117),a=n(79),s=n(86),u=function(t,e,n){var c,l,f,p=t&u.F,h=t&u.G,d=t&u.S,v=t&u.P,g=t&u.B,m=t&u.W,b=h?i:i[e]||(i[e]={}),x=b.prototype,y=h?r:d?r[e]:(r[e]||{}).prototype;for(c in h&&(n=e),n)(l=!p&&y&&void 0!==y[c])&&s(b,c)||(f=l?y[c]:n[c],b[c]=h&&"function"!=typeof y[c]?n[c]:g&&l?o(f,r):m&&y[c]==f?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(f):v&&"function"==typeof f?o(Function.call,f):f,v&&((b.virtual||(b.virtual={}))[c]=f,t&u.R&&x&&!x[c]&&a(x,c,f)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var r=n(172),i=n(95);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(124)("keys"),i=n(125);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},function(t,e,n){},,function(t,e,n){var r=n(28);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(7),i=n(28),o=n(5)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},function(t,e,n){"use strict";var r=n(8),i=n(41),o=n(112),a=n(113);n(114)("match",1,function(t,e,n,s){return[function(n){var r=t(this),i=null==n?void 0:n[e];return void 0!==i?i.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=s(n,t,this);if(e.done)return e.value;var u=r(t),c=String(this);if(!u.global)return a(u,c);var l=u.unicode;u.lastIndex=0;for(var f,p=[],h=0;null!==(f=a(u,c));){var d=String(f[0]);p[h]=d,""===d&&(u.lastIndex=o(c,i(u.lastIndex),l)),h++}return 0===h?null:p}]})},function(t,e,n){"use strict";var r=n(145)(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},function(t,e,n){"use strict";var r=n(146),i=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var o=n.call(t,e);if("object"!=typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,e)}},function(t,e,n){"use strict";n(147);var r=n(10),i=n(3),o=n(6),a=n(19),s=n(5),u=n(115),c=s("species"),l=!o(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var p=s(t),h=!o(function(){var e={};return e[p]=function(){return 7},7!=""[t](e)}),d=h?!o(function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[c]=function(){return n}),n[p](""),!e}):void 0;if(!h||!d||"replace"===t&&!l||"split"===t&&!f){var v=/./[p],g=n(a,p,""[t],function(t,e,n,r,i){return e.exec===u?h&&!i?{done:!0,value:v.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),m=g[0],b=g[1];r(String.prototype,t,m),i(RegExp.prototype,p,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}}},function(t,e,n){"use strict";var r,i,o=n(116),a=RegExp.prototype.exec,s=String.prototype.replace,u=a,c=(r=/a/,i=/b*/g,a.call(r,"a"),a.call(i,"a"),0!==r.lastIndex||0!==i.lastIndex),l=void 0!==/()??/.exec("")[1];(c||l)&&(u=function(t){var e,n,r,i,u=this;return l&&(n=new RegExp("^"+u.source+"$(?!\\s)",o.call(u))),c&&(e=u.lastIndex),r=a.call(u,t),c&&r&&(u.lastIndex=u.global?r.index+r[0].length:e),l&&r&&r.length>1&&s.call(r[0],n,function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(r[i]=void 0)}),r}),t.exports=u},function(t,e,n){"use strict";var r=n(8);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){var r=n(159);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var r=n(91),i=n(76).document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},function(t,e,n){"use strict";var r=n(165)(!0);n(121)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";var r=n(122),i=n(90),o=n(166),a=n(79),s=n(78),u=n(167),c=n(127),l=n(176),f=n(74)("iterator"),p=!([].keys&&"next"in[].keys()),h=function(){return this};t.exports=function(t,e,n,d,v,g,m){u(n,e,d);var b,x,y,_=function(t){if(!p&&t in w)return w[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},k=e+" Iterator",C="values"==v,S=!1,w=t.prototype,L=w[f]||w["@@iterator"]||v&&w[v],$=L||_(v),O=v?C?_("entries"):$:void 0,A="Array"==e&&w.entries||L;if(A&&(y=l(A.call(new t)))!==Object.prototype&&y.next&&(c(y,k,!0),r||"function"==typeof y[f]||a(y,f,h)),C&&L&&"values"!==L.name&&(S=!0,$=function(){return L.call(this)}),r&&!m||!p&&!S&&w[f]||a(w,f,$),s[e]=$,s[k]=h,v)if(b={values:C?$:_("values"),keys:g?$:_("keys"),entries:O},m)for(x in b)x in w||o(w,x,b[x]);else i(i.P+i.F*(p||S),e,b);return b}},function(t,e){t.exports=!0},function(t,e,n){var r=n(94),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e,n){var r=n(77),i=n(76),o=i["__core-js_shared__"]||(i["__core-js_shared__"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(122)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(83).f,i=n(86),o=n(74)("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){var r=n(95);t.exports=function(t){return Object(r(t))}},function(t,e,n){var r=n(93),i=n(74)("toStringTag"),o="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?n:o?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){"use strict";var r=n(8),i=n(30),o=n(41),a=n(29),s=n(112),u=n(113),c=Math.max,l=Math.min,f=Math.floor,p=/\$([$&`']|\d\d?|<[^>]*>)/g,h=/\$([$&`']|\d\d?)/g;n(114)("replace",2,function(t,e,n,d){return[function(r,i){var o=t(this),a=null==r?void 0:r[e];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(t,e){var i=d(n,t,this,e);if(i.done)return i.value;var f=r(t),p=String(this),h="function"==typeof e;h||(e=String(e));var g=f.global;if(g){var m=f.unicode;f.lastIndex=0}for(var b=[];;){var x=u(f,p);if(null===x)break;if(b.push(x),!g)break;""===String(x[0])&&(f.lastIndex=s(p,o(f.lastIndex),m))}for(var y,_="",k=0,C=0;C<b.length;C++){x=b[C];for(var S=String(x[0]),w=c(l(a(x.index),p.length),0),L=[],$=1;$<x.length;$++)L.push(void 0===(y=x[$])?y:String(y));var O=x.groups;if(h){var A=[S].concat(L,w,p);void 0!==O&&A.push(O);var j=String(e.apply(void 0,A))}else j=v(S,p,w,L,O,e);w>=k&&(_+=p.slice(k,w)+j,k=w+S.length)}return _+p.slice(k)}];function v(t,e,r,o,a,s){var u=r+t.length,c=o.length,l=h;return void 0!==a&&(a=i(a),l=p),n.call(s,l,function(n,i){var s;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(u);case"<":s=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return n;if(l>c){var p=f(l/10);return 0===p?n:p<=c?void 0===o[p-1]?i.charAt(1):o[p-1]+i.charAt(1):n}s=o[l-1]}return void 0===s?"":s})}})},function(t,e,n){"use strict";var r=n(18),i=n(81)(1);r(r.P+r.F*!n(82)([].map,!0),"Array",{map:function(t){return i(this,t,arguments[1])}})},function(t,e){t.exports=function(t){return null==t}},function(t,e,n){var r=n(198).Symbol;t.exports=r},function(t,e,n){"use strict";n.r(e);n(80);var r=n(75),i={name:"SidebarGroup",props:["item","open","collapsable","depth"],components:{DropdownTransition:n(135).a},beforeCreate:function(){this.$options.components.SidebarLinks=n(134).default},methods:{isActive:r.e}},o=(n(206),n(0)),a=Object(o.a)(i,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("section",{staticClass:"sidebar-group",class:[{collapsable:t.collapsable,"is-sub-group":0!==t.depth},"depth-"+t.depth]},[t.item.path?n("router-link",{staticClass:"sidebar-heading clickable",class:{open:t.open,active:t.isActive(t.$route,t.item.path)},attrs:{to:t.item.path},nativeOn:{click:function(e){return t.$emit("toggle")}}},[n("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?n("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]):n("p",{staticClass:"sidebar-heading",class:{open:t.open},on:{click:function(e){return t.$emit("toggle")}}},[n("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?n("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]),t._v(" "),n("DropdownTransition",[t.open||!t.collapsable?n("SidebarLinks",{staticClass:"sidebar-group-items",attrs:{items:t.item.children,sidebarDepth:t.item.sidebarDepth,depth:t.depth+1}}):t._e()],1)],1)},[],!1,null,null,null).exports;n(131),n(207);function s(t,e,n,r){return t("router-link",{props:{to:e,activeClass:"",exactActiveClass:""},class:{active:r,"sidebar-link":!0}},n)}function u(t,e,n,i,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1;return!e||a>o?null:t("ul",{class:"sidebar-sub-headers"},e.map(function(e){var c=Object(r.e)(i,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[s(t,n+"#"+e.slug,e.title,c),u(t,e.children,n,i,o,a+1)])}))}var c={functional:!0,props:["item","sidebarDepth"],render:function(t,e){var n=e.parent,i=n.$page,o=(n.$site,n.$route),a=n.$themeConfig,c=n.$themeLocaleConfig,l=e.props,f=l.item,p=l.sidebarDepth,h=Object(r.e)(o,f.path),d="auto"===f.type?h||f.children.some(function(t){return Object(r.e)(o,f.basePath+"#"+t.slug)}):h,v="external"===f.type?function(t,e,n){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[n,t("OutboundLink")])}(t,f.path,f.title||f.path):s(t,f.path,f.title||f.path,d),g=[i.frontmatter.sidebarDepth,p,c.sidebarDepth,a.sidebarDepth,1].find(function(t){return void 0!==t}),m=c.displayAllHeaders||a.displayAllHeaders;return"auto"===f.type?[v,u(t,f.children,f.basePath,o,g)]:(d||m)&&f.headers&&!r.d.test(f.path)?[v,u(t,Object(r.c)(f.headers),f.path,o,g)]:v}};n(208);function l(t,e){return"group"===e.type&&e.children.some(function(e){return"group"===e.type?l(t,e):"page"===e.type&&Object(r.e)(t,e.path)})}var f={name:"SidebarLinks",components:{SidebarGroup:a,SidebarLink:Object(o.a)(c,void 0,void 0,!1,null,null,null).exports},props:["items","depth","sidebarDepth"],data:function(){return{openGroupIndex:0}},created:function(){this.refreshIndex()},watch:{$route:function(){this.refreshIndex()}},methods:{refreshIndex:function(){var t=function(t,e){for(var n=0;n<e.length;n++){var r=e[n];if(l(t,r))return n}return-1}(this.$route,this.items);t>-1&&(this.openGroupIndex=t)},toggleGroup:function(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive:function(t){return Object(r.e)(this.$route,t.regularPath)}}},p=Object(o.a)(f,function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.items.length?n("ul",{staticClass:"sidebar-links"},t._l(t.items,function(e,r){return n("li",{key:r},["group"===e.type?n("SidebarGroup",{attrs:{item:e,open:r===t.openGroupIndex,collapsable:e.collapsable||e.collapsible,depth:t.depth},on:{toggle:function(e){return t.toggleGroup(r)}}}):n("SidebarLink",{attrs:{sidebarDepth:t.sidebarDepth,item:e}})],1)}),0):t._e()},[],!1,null,null,null);e.default=p.exports},function(t,e,n){"use strict";var r={name:"DropdownTransition",methods:{setHeight:function(t){t.style.height=t.scrollHeight+"px"},unsetHeight:function(t){t.style.height=""}}},i=(n(190),n(0)),o=Object(i.a)(r,function(){var t=this.$createElement;return(this._self._c||t)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)},[],!1,null,null,null);e.a=o.exports},function(t,e,n){var r=n(137);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(7),i=n(109),o=n(5)("species");t.exports=function(t){var e;return i(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!i(e.prototype)||(e=void 0),r(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){"use strict";n(139)("link",function(t){return function(e){return t(this,"a","href",e)}})},function(t,e,n){var r=n(18),i=n(6),o=n(19),a=/"/g,s=function(t,e,n,r){var i=String(o(t)),s="<"+e;return""!==n&&(s+=" "+n+'="'+String(r).replace(a,"&quot;")+'"'),s+">"+i+"</"+e+">"};t.exports=function(t,e){var n={};n[t]=e(s),r(r.P+r.F*i(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e,n){"use strict";var r=n(87);n.n(r).a},function(t,e,n){"use strict";var r=n(18),i=n(44)(!0);r(r.P,"Array",{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(43)("includes")},function(t,e,n){"use strict";var r=n(18),i=n(143);r(r.P+r.F*n(144)("includes"),"String",{includes:function(t){return!!~i(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(110),i=n(19);t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(t))}},function(t,e,n){var r=n(5)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(t){}}return!0}},function(t,e,n){var r=n(29),i=n(19);t.exports=function(t){return function(e,n){var o,a,s=String(i(e)),u=r(n),c=s.length;return u<0||u>=c?t?"":void 0:(o=s.charCodeAt(u))<55296||o>56319||u+1===c||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):o:t?s.slice(u,u+2):a-56320+(o-55296<<10)+65536}}},function(t,e,n){var r=n(28),i=n(5)("toStringTag"),o="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?n:o?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){"use strict";var r=n(115);n(18)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(t,e,n){"use strict";var r=n(18),i=n(81)(2);r(r.P+r.F*!n(82)([].filter,!0),"Array",{filter:function(t){return i(this,t,arguments[1])}})},function(t,e,n){var r=n(18);r(r.S,"Array",{isArray:n(109)})},function(t,e,n){"use strict";var r=n(18),i=n(44)(!1),o=[].indexOf,a=!!o&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n(82)(o)),"Array",{indexOf:function(t){return a?o.apply(this,arguments)||0:i(this,t,arguments[1])}})},function(t,e,n){"use strict";n(49)("trim",function(t){return function(){return t(this,3)}})},function(t,e,n){"use strict";var r=n(88);n.n(r).a},function(t,e,n){"use strict";var r=n(89);n.n(r).a},function(t,e,n){var r=n(1),i=n(47),o=n(9).f,a=n(48).f,s=n(110),u=n(116),c=r.RegExp,l=c,f=c.prototype,p=/a/g,h=/a/g,d=new c(p)!==p;if(n(2)&&(!d||n(6)(function(){return h[n(5)("match")]=!1,c(p)!=p||c(h)==h||"/a/i"!=c(p,"i")}))){c=function(t,e){var n=this instanceof c,r=s(t),o=void 0===e;return!n&&r&&t.constructor===c&&o?t:i(d?new l(r&&!o?t.source:t,e):l((r=t instanceof c)?t.source:t,r&&o?u.call(t):e),n?this:f,c)};for(var v=function(t){t in c||o(c,t,{configurable:!0,get:function(){return l[t]},set:function(e){l[t]=e}})},g=a(l),m=0;g.length>m;)v(g[m++]);f.constructor=c,c.prototype=f,n(10)(r,"RegExp",c)}n(155)("RegExp")},function(t,e,n){"use strict";var r=n(1),i=n(9),o=n(2),a=n(5)("species");t.exports=function(t){var e=r[t];o&&e&&!e[a]&&i.f(e,a,{configurable:!0,get:function(){return this}})}},function(t,e,n){t.exports=n(157)},function(t,e,n){n(158),t.exports=n(77).Array.isArray},function(t,e,n){var r=n(90);r(r.S,"Array",{isArray:n(162)})},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){t.exports=!n(85)&&!n(118)(function(){return 7!=Object.defineProperty(n(119)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(91);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(93);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){t.exports=n(164)},function(t,e,n){n(120),n(177),t.exports=n(77).Array.from},function(t,e,n){var r=n(94),i=n(95);t.exports=function(t){return function(e,n){var o,a,s=String(i(e)),u=r(n),c=s.length;return u<0||u>=c?t?"":void 0:(o=s.charCodeAt(u))<55296||o>56319||u+1===c||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):o:t?s.slice(u,u+2):a-56320+(o-55296<<10)+65536}}},function(t,e,n){t.exports=n(79)},function(t,e,n){"use strict";var r=n(168),i=n(92),o=n(127),a={};n(79)(a,n(74)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},function(t,e,n){var r=n(84),i=n(169),o=n(126),a=n(97)("IE_PROTO"),s=function(){},u=function(){var t,e=n(119)("iframe"),r=o.length;for(e.style.display="none",n(175).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),u=t.F;r--;)delete u.prototype[o[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(s.prototype=r(t),n=new s,s.prototype=null,n[a]=t):n=u(),void 0===e?n:i(n,e)}},function(t,e,n){var r=n(83),i=n(84),o=n(170);t.exports=n(85)?Object.defineProperties:function(t,e){i(t);for(var n,a=o(e),s=a.length,u=0;s>u;)r.f(t,n=a[u++],e[n]);return t}},function(t,e,n){var r=n(171),i=n(126);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e,n){var r=n(86),i=n(96),o=n(173)(!1),a=n(97)("IE_PROTO");t.exports=function(t,e){var n,s=i(t),u=0,c=[];for(n in s)n!=a&&r(s,n)&&c.push(n);for(;e.length>u;)r(s,n=e[u++])&&(~o(c,n)||c.push(n));return c}},function(t,e,n){var r=n(93);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(96),i=n(123),o=n(174);t.exports=function(t){return function(e,n,a){var s,u=r(e),c=i(u.length),l=o(a,c);if(t&&n!=n){for(;c>l;)if((s=u[l++])!=s)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},function(t,e,n){var r=n(94),i=Math.max,o=Math.min;t.exports=function(t,e){return(t=r(t))<0?i(t+e,0):o(t,e)}},function(t,e,n){var r=n(76).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(86),i=n(128),o=n(97)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,n){"use strict";var r=n(117),i=n(90),o=n(128),a=n(178),s=n(179),u=n(123),c=n(180),l=n(181);i(i.S+i.F*!n(182)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,i,f,p=o(t),h="function"==typeof this?this:Array,d=arguments.length,v=d>1?arguments[1]:void 0,g=void 0!==v,m=0,b=l(p);if(g&&(v=r(v,d>2?arguments[2]:void 0,2)),null==b||h==Array&&s(b))for(n=new h(e=u(p.length));e>m;m++)c(n,m,g?v(p[m],m):p[m]);else for(f=b.call(p),n=new h;!(i=f.next()).done;m++)c(n,m,g?a(f,v,[i.value,m],!0):i.value);return n.length=m,n}})},function(t,e,n){var r=n(84);t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&r(o.call(t)),e}}},function(t,e,n){var r=n(78),i=n(74)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||o[i]===t)}},function(t,e,n){"use strict";var r=n(83),i=n(92);t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},function(t,e,n){var r=n(129),i=n(74)("iterator"),o=n(78);t.exports=n(77).getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[r(t)]}},function(t,e,n){var r=n(74)("iterator"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:n=!0}},o[r]=function(){return a},t(o)}catch(t){}return n}},function(t,e,n){t.exports=n(184)},function(t,e,n){n(185),n(120),t.exports=n(189)},function(t,e,n){n(186);for(var r=n(76),i=n(79),o=n(78),a=n(74)("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),u=0;u<s.length;u++){var c=s[u],l=r[c],f=l&&l.prototype;f&&!f[a]&&i(f,a,c),o[c]=o.Array}},function(t,e,n){"use strict";var r=n(187),i=n(188),o=n(78),a=n(96);t.exports=n(121)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(129),i=n(74)("iterator"),o=n(78);t.exports=n(77).isIterable=function(t){var e=Object(t);return void 0!==e[i]||"@@iterator"in e||o.hasOwnProperty(r(e))}},function(t,e,n){"use strict";var r=n(98);n.n(r).a},function(t,e){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},function(t,e,n){"use strict";var r=n(99);n.n(r).a},function(t,e,n){"use strict";var r=n(100);n.n(r).a},function(t,e,n){"use strict";var r=n(101);n.n(r).a},function(t,e,n){"use strict";var r=n(102);n.n(r).a},function(t,e,n){var r=n(197),i=n(202),o=n(203),a="[object String]";t.exports=function(t){return"string"==typeof t||!i(t)&&o(t)&&r(t)==a}},function(t,e,n){var r=n(133),i=n(200),o=n(201),a="[object Null]",s="[object Undefined]",u=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?s:a:u&&u in Object(t)?i(t):o(t)}},function(t,e,n){var r=n(199),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o},function(t,e){var n="object"==typeof global&&global&&global.Object===Object&&global;t.exports=n},function(t,e,n){var r=n(133),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i}},function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},function(t,e){var n=Array.isArray;t.exports=n},function(t,e){t.exports=function(t){return null!=t&&"object"==typeof t}},function(t,e,n){"use strict";var r=n(103);n.n(r).a},function(t,e,n){"use strict";var r=n(104);n.n(r).a},function(t,e,n){"use strict";var r=n(105);n.n(r).a},function(t,e,n){"use strict";var r=n(18),i=n(81)(5),o=!0;"find"in[]&&Array(1).find(function(){o=!1}),r(r.P+r.F*o,"Array",{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(43)("find")},function(t,e,n){"use strict";var r=n(106);n.n(r).a},function(t,e,n){"use strict";var r=n(107);n.n(r).a},,function(t,e,n){"use strict";n.r(e);n(42),n(45),n(80),n(138);var r=n(75),i={props:{item:{required:!0}},computed:{link:function(){return Object(r.b)(this.item.link)},exact:function(){var t=this;return this.$site.locales?Object.keys(this.$site.locales).some(function(e){return e===t.link}):"/"===this.link}},methods:{isExternal:r.f,isMailto:r.g,isTel:r.h,focusoutAction:function(){this.$emit("focusout")}}},o=n(0),a=Object(o.a)(i,function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.isExternal(t.link)?n("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.isMailto(t.link)||t.isTel(t.link)?null:"_blank",rel:t.isMailto(t.link)||t.isTel(t.link)?null:"noopener noreferrer"},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),n("OutboundLink")],1):n("router-link",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction(e)}}},[t._v(t._s(t.item.text))])},[],!1,null,null,null).exports,s={components:{NavLink:a},computed:{data:function(){return this.$page.frontmatter},actionLink:function(){return{link:this.data.actionLink,text:this.data.actionText}}}},u=(n(140),Object(o.a)(s,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("main",{staticClass:"home",attrs:{"aria-labelledby":"main-title"}},[n("header",{staticClass:"hero"},[t.data.heroImage?n("img",{attrs:{src:t.$withBase(t.data.heroImage),alt:t.data.heroAlt||"hero"}}):t._e(),t._v(" "),null!==t.data.heroText?n("h1",{attrs:{id:"main-title"}},[t._v(t._s(t.data.heroText||t.$title||"Hello"))]):t._e(),t._v(" "),n("p",{staticClass:"description"},[t._v("\n "+t._s(t.data.tagline||t.$description||"Welcome to your VuePress site")+"\n ")]),t._v(" "),t.data.actionText&&t.data.actionLink?n("p",{staticClass:"action"},[n("NavLink",{staticClass:"action-button",attrs:{item:t.actionLink}})],1):t._e()]),t._v(" "),t.data.features&&t.data.features.length?n("div",{staticClass:"features"},t._l(t.data.features,function(e,r){return n("div",{key:r,staticClass:"feature"},[n("h2",[t._v(t._s(e.title))]),t._v(" "),n("p",[t._v(t._s(e.details))])])}),0):t._e(),t._v(" "),n("Content",{staticClass:"theme-default-content custom"}),t._v(" "),t.data.footer?n("div",{staticClass:"footer"},[t._v("\n "+t._s(t.data.footer)+"\n ")]):t._e()],1)},[],!1,null,null,null).exports),c=(n(141),n(142),n(111),n(148),n(149),n(150),n(151),{data:function(){return{query:"",focused:!1,focusIndex:0,placeholder:void 0}},mounted:function(){this.placeholder=this.$site.themeConfig.searchPlaceholder||"",document.addEventListener("keydown",this.onHotkey)},beforeDestroy:function(){document.removeEventListener("keydown",this.onHotkey)},computed:{showSuggestions:function(){return this.focused&&this.suggestions&&this.suggestions.length},suggestions:function(){var t=this.query.trim().toLowerCase();if(t){for(var e=this.$site.pages,n=this.$site.themeConfig.searchMaxSuggestions||5,r=this.$localePath,i=function(e){return e&&e.title&&e.title.toLowerCase().indexOf(t)>-1},o=[],a=0;a<e.length&&!(o.length>=n);a++){var s=e[a];if(this.getPageLocalePath(s)===r&&this.isSearchable(s))if(i(s))o.push(s);else if(s.headers)for(var u=0;u<s.headers.length&&!(o.length>=n);u++){var c=s.headers[u];i(c)&&o.push(Object.assign({},s,{path:s.path+"#"+c.slug,header:c}))}}return o}},alignRight:function(){return(this.$site.themeConfig.nav||[]).length+(this.$site.repo?1:0)<=2}},methods:{getPageLocalePath:function(t){for(var e in this.$site.locales||{})if("/"!==e&&0===t.path.indexOf(e))return e;return"/"},isSearchable:function(t){var e=null;return null===e||(e=Array.isArray(e)?e:new Array(e)).filter(function(e){return t.path.match(e)}).length>0},onHotkey:function(t){t.srcElement===document.body&&["s","/"].includes(t.key)&&(this.$refs.input.focus(),t.preventDefault())},onUp:function(){this.showSuggestions&&(this.focusIndex>0?this.focusIndex--:this.focusIndex=this.suggestions.length-1)},onDown:function(){this.showSuggestions&&(this.focusIndex<this.suggestions.length-1?this.focusIndex++:this.focusIndex=0)},go:function(t){this.showSuggestions&&(this.$router.push(this.suggestions[t].path),this.query="",this.focusIndex=0)},focus:function(t){this.focusIndex=t},unfocus:function(){this.focusIndex=-1}}}),l=(n(152),Object(o.a)(c,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"search-box"},[n("input",{ref:"input",class:{focused:t.focused},attrs:{"aria-label":"Search",placeholder:t.placeholder,autocomplete:"off",spellcheck:"false"},domProps:{value:t.query},on:{input:function(e){t.query=e.target.value},focus:function(e){t.focused=!0},blur:function(e){t.focused=!1},keyup:[function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.go(t.focusIndex)},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"up",38,e.key,["Up","ArrowUp"])?null:t.onUp(e)},function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"down",40,e.key,["Down","ArrowDown"])?null:t.onDown(e)}]}}),t._v(" "),t.showSuggestions?n("ul",{staticClass:"suggestions",class:{"align-right":t.alignRight},on:{mouseleave:t.unfocus}},t._l(t.suggestions,function(e,r){return n("li",{staticClass:"suggestion",class:{focused:r===t.focusIndex},on:{mousedown:function(e){return t.go(r)},mouseenter:function(e){return t.focus(r)}}},[n("a",{attrs:{href:e.path},on:{click:function(t){t.preventDefault()}}},[n("span",{staticClass:"page-title"},[t._v(t._s(e.title||e.path))]),t._v(" "),e.header?n("span",{staticClass:"header"},[t._v("> "+t._s(e.header.title))]):t._e()])])}),0):t._e()])},[],!1,null,null,null).exports),f=(n(153),Object(o.a)({},function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"sidebar-button",on:{click:function(e){return t.$emit("toggle-sidebar")}}},[n("svg",{staticClass:"icon",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"}},[n("path",{attrs:{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"}})])])},[],!1,null,null,null).exports),p=(n(154),n(156)),h=n.n(p);var d=n(163),v=n.n(d),g=n(183),m=n.n(g);function b(t){return function(t){if(h()(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(m()(Object(t))||"[object Arguments]"===Object.prototype.toString.call(t))return v()(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}n(130),n(131);var x=n(135),y=n(191),_=n.n(y),k={components:{NavLink:a,DropdownTransition:x.a},data:function(){return{open:!1}},props:{item:{required:!0}},computed:{dropdownAriaLabel:function(){return this.item.ariaLabel||this.item.text}},methods:{toggle:function(){this.open=!this.open},isLastItemOfArray:function(t,e){return _()(e)===t}},watch:{$route:function(){this.open=!1}}},C=(n(192),{components:{NavLink:a,DropdownLink:Object(o.a)(k,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[n("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.toggle}},[n("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),n("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),n("DropdownTransition",[n("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,function(e,r){return n("li",{key:e.link||r,staticClass:"dropdown-item"},["links"===e.type?n("h4",[t._v(t._s(e.text))]):t._e(),t._v(" "),"links"===e.type?n("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(e.items,function(r){return n("li",{key:r.link,staticClass:"dropdown-subitem"},[n("NavLink",{attrs:{item:r},on:{focusout:function(n){t.isLastItemOfArray(r,e.items)&&t.isLastItemOfArray(e,t.item.items)&&t.toggle()}}})],1)}),0):n("NavLink",{attrs:{item:e},on:{focusout:function(n){t.isLastItemOfArray(e,t.item.items)&&t.toggle()}}})],1)}),0)])],1)},[],!1,null,null,null).exports},computed:{userNav:function(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},nav:function(){var t=this,e=this.$site.locales;if(e&&Object.keys(e).length>1){var n=this.$page.path,r=this.$router.options.routes,i=this.$site.themeConfig.locales||{},o={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(e).map(function(o){var a,s=e[o],u=i[o]&&i[o].label||s.lang;return s.lang===t.$lang?a=n:(a=n.replace(t.$localeConfig.path,o),r.some(function(t){return t.path===a})||(a=o)),{text:u,link:a}})};return[].concat(b(this.userNav),[o])}return this.userNav},userLinks:function(){return(this.nav||[]).map(function(t){return Object.assign(Object(r.j)(t),{items:(t.items||[]).map(r.j)})})},repoLink:function(){var t=this.$site.themeConfig.repo;return t?/^https?:/.test(t)?t:"https://github.com/".concat(t):null},repoLabel:function(){if(this.repoLink){if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;for(var t=this.repoLink.match(/^https?:\/\/[^\/]+/)[0],e=["GitHub","GitLab","Bitbucket"],n=0;n<e.length;n++){var r=e[n];if(new RegExp(r,"i").test(t))return r}return"Source"}}}}),S=(n(193),Object(o.a)(C,function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.userLinks.length||t.repoLink?n("nav",{staticClass:"nav-links"},[t._l(t.userLinks,function(t){return n("div",{key:t.link,staticClass:"nav-item"},["links"===t.type?n("DropdownLink",{attrs:{item:t}}):n("NavLink",{attrs:{item:t}})],1)}),t._v(" "),t.repoLink?n("a",{staticClass:"repo-link",attrs:{href:t.repoLink,target:"_blank",rel:"noopener noreferrer"}},[t._v("\n "+t._s(t.repoLabel)+"\n "),n("OutboundLink")],1):t._e()],2):t._e()},[],!1,null,null,null).exports);function w(t,e){return t.ownerDocument.defaultView.getComputedStyle(t,null)[e]}var L={components:{SidebarButton:f,NavLinks:S,SearchBox:l,AlgoliaSearchBox:{}},data:function(){return{linksWrapMaxWidth:null}},mounted:function(){var t=this,e=parseInt(w(this.$el,"paddingLeft"))+parseInt(w(this.$el,"paddingRight")),n=function(){document.documentElement.clientWidth<719?t.linksWrapMaxWidth=null:t.linksWrapMaxWidth=t.$el.offsetWidth-e-(t.$refs.siteName&&t.$refs.siteName.offsetWidth||0)};n(),window.addEventListener("resize",n,!1)},computed:{algolia:function(){return this.$themeLocaleConfig.algolia||this.$site.themeConfig.algolia||{}},isAlgoliaSearch:function(){return this.algolia&&this.algolia.apiKey&&this.algolia.indexName}}},$=(n(194),Object(o.a)(L,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("header",{staticClass:"navbar"},[n("SidebarButton",{on:{"toggle-sidebar":function(e){return t.$emit("toggle-sidebar")}}}),t._v(" "),n("router-link",{staticClass:"home-link",attrs:{to:t.$localePath}},[t.$site.themeConfig.logo?n("img",{staticClass:"logo",attrs:{src:t.$withBase(t.$site.themeConfig.logo),alt:t.$siteTitle}}):t._e(),t._v(" "),t.$siteTitle?n("span",{ref:"siteName",staticClass:"site-name",class:{"can-hide":t.$site.themeConfig.logo}},[t._v(t._s(t.$siteTitle))]):t._e()]),t._v(" "),n("div",{staticClass:"links",style:t.linksWrapMaxWidth?{"max-width":t.linksWrapMaxWidth+"px"}:{}},[t.isAlgoliaSearch?n("AlgoliaSearchBox",{attrs:{options:t.algolia}}):!1!==t.$site.themeConfig.search&&!1!==t.$page.frontmatter.search?n("SearchBox"):t._e(),t._v(" "),n("NavLinks",{staticClass:"can-hide"})],1)],1)},[],!1,null,null,null).exports),O=n(132),A=n.n(O),j={name:"PageEdit",computed:{lastUpdated:function(){return this.$page.lastUpdated},lastUpdatedText:function(){return"string"==typeof this.$themeLocaleConfig.lastUpdated?this.$themeLocaleConfig.lastUpdated:"string"==typeof this.$site.themeConfig.lastUpdated?this.$site.themeConfig.lastUpdated:"Last Updated"},editLink:function(){var t=A()(this.$page.frontmatter.editLink)?this.$site.themeConfig.editLinks:this.$page.frontmatter.editLink,e=this.$site.themeConfig,n=e.repo,r=e.docsDir,i=void 0===r?"":r,o=e.docsBranch,a=void 0===o?"master":o,s=e.docsRepo,u=void 0===s?n:s;return t&&u&&this.$page.relativePath?this.createEditLink(n,u,i,a,this.$page.relativePath):null},editLinkText:function(){return this.$themeLocaleConfig.editLinkText||this.$site.themeConfig.editLinkText||"Edit this page"}},methods:{createEditLink:function(t,e,n,i,o){return/bitbucket.org/.test(t)?(r.i.test(e)?e:t).replace(r.a,"")+"/src"+"/".concat(i,"/")+(n?n.replace(r.a,"")+"/":"")+o+"?mode=edit&spa=0&at=".concat(i,"&fileviewer=file-view-default"):(r.i.test(e)?e:"https://github.com/".concat(e)).replace(r.a,"")+"/edit"+"/".concat(i,"/")+(n?n.replace(r.a,"")+"/":"")+o}}},E=(n(195),Object(o.a)(j,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("footer",{staticClass:"page-edit"},[t.editLink?n("div",{staticClass:"edit-link"},[n("a",{attrs:{href:t.editLink,target:"_blank",rel:"noopener noreferrer"}},[t._v(t._s(t.editLinkText))]),t._v(" "),n("OutboundLink")],1):t._e(),t._v(" "),t.lastUpdated?n("div",{staticClass:"last-updated"},[n("span",{staticClass:"prefix"},[t._v(t._s(t.lastUpdatedText)+":")]),t._v(" "),n("span",{staticClass:"time"},[t._v(t._s(t.lastUpdated))])]):t._e()])},[],!1,null,null,null).exports),T=n(196),P=n.n(T),I={name:"PageNav",props:["sidebarItems"],computed:{prev:function(){return M(N.PREV,this)},next:function(){return M(N.NEXT,this)}}};var N={NEXT:{resolveLink:function(t,e){return D(t,e,1)},getThemeLinkConfig:function(t){return t.nextLinks},getPageLinkConfig:function(t){return t.frontmatter.next}},PREV:{resolveLink:function(t,e){return D(t,e,-1)},getThemeLinkConfig:function(t){return t.prevLinks},getPageLinkConfig:function(t){return t.frontmatter.prev}}};function M(t,e){var n=e.$themeConfig,i=e.$page,o=e.$route,a=e.$site,s=e.sidebarItems,u=t.resolveLink,c=t.getThemeLinkConfig,l=t.getPageLinkConfig,f=c(n),p=l(i),h=A()(p)?f:p;return!1===h?void 0:P()(h)?Object(r.k)(a.pages,h,o.path):u(i,s)}function D(t,e,n){var r=[];!function t(e,n){for(var r=0,i=e.length;r<i;r++)"group"===e[r].type?t(e[r].children||[],n):n.push(e[r])}(e,r);for(var i=0;i<r.length;i++){var o=r[i];if("page"===o.type&&o.path===decodeURIComponent(t.path))return r[i+n]}}var R=I,H=(n(204),{components:{PageEdit:E,PageNav:Object(o.a)(R,function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.prev||t.next?n("div",{staticClass:"page-nav"},[n("p",{staticClass:"inner"},[t.prev?n("span",{staticClass:"prev"},[t._v("\n ←\n "),t.prev?n("router-link",{staticClass:"prev",attrs:{to:t.prev.path}},[t._v(t._s(t.prev.title||t.prev.path))]):t._e()],1):t._e(),t._v(" "),t.next?n("span",{staticClass:"next"},[t.next?n("router-link",{attrs:{to:t.next.path}},[t._v(t._s(t.next.title||t.next.path))]):t._e(),t._v("\n →\n ")],1):t._e()])]):t._e()},[],!1,null,null,null).exports},props:["sidebarItems"]}),U=(n(205),Object(o.a)(H,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("main",{staticClass:"page"},[t._t("top"),t._v(" "),n("Content",{staticClass:"theme-default-content"}),t._v(" "),n("PageEdit"),t._v(" "),n("PageNav",t._b({},"PageNav",{sidebarItems:t.sidebarItems},!1)),t._v(" "),t._t("bottom")],2)},[],!1,null,null,null).exports),G={name:"Sidebar",components:{SidebarLinks:n(134).default,NavLinks:S},props:["items"]},F=(n(209),{components:{Home:u,Page:U,Sidebar:Object(o.a)(G,function(){var t=this.$createElement,e=this._self._c||t;return e("aside",{staticClass:"sidebar"},[e("NavLinks"),this._v(" "),this._t("top"),this._v(" "),e("SidebarLinks",{attrs:{depth:0,items:this.items}}),this._v(" "),this._t("bottom")],2)},[],!1,null,null,null).exports,Navbar:$},data:function(){return{isSidebarOpen:!1}},computed:{shouldShowNavbar:function(){var t=this.$site.themeConfig;return!1!==this.$page.frontmatter.navbar&&!1!==t.navbar&&(this.$title||t.logo||t.repo||t.nav||this.$themeLocaleConfig.nav)},shouldShowSidebar:function(){var t=this.$page.frontmatter;return!t.home&&!1!==t.sidebar&&this.sidebarItems.length},sidebarItems:function(){return Object(r.l)(this.$page,this.$page.regularPath,this.$site,this.$localePath)},pageClasses:function(){var t=this.$page.frontmatter.pageClass;return[{"no-navbar":!this.shouldShowNavbar,"sidebar-open":this.isSidebarOpen,"no-sidebar":!this.shouldShowSidebar},t]}},mounted:function(){var t=this;this.$router.afterEach(function(){t.isSidebarOpen=!1})},methods:{toggleSidebar:function(t){this.isSidebarOpen="boolean"==typeof t?t:!this.isSidebarOpen,this.$emit("toggle-sidebar",this.isSidebarOpen)},onTouchStart:function(t){this.touchStart={x:t.changedTouches[0].clientX,y:t.changedTouches[0].clientY}},onTouchEnd:function(t){var e=t.changedTouches[0].clientX-this.touchStart.x,n=t.changedTouches[0].clientY-this.touchStart.y;Math.abs(e)>Math.abs(n)&&Math.abs(e)>40&&(e>0&&this.touchStart.x<=80?this.toggleSidebar(!0):this.toggleSidebar(!1))}}}),W=Object(o.a)(F,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"theme-container",class:t.pageClasses,on:{touchstart:t.onTouchStart,touchend:t.onTouchEnd}},[t.shouldShowNavbar?n("Navbar",{on:{"toggle-sidebar":t.toggleSidebar}}):t._e(),t._v(" "),n("div",{staticClass:"sidebar-mask",on:{click:function(e){return t.toggleSidebar(!1)}}}),t._v(" "),n("Sidebar",{attrs:{items:t.sidebarItems},on:{"toggle-sidebar":t.toggleSidebar}},[t._t("sidebar-top"),t._v(" "),t._t("sidebar-bottom")],2),t._v(" "),t.$page.frontmatter.home?n("Home"):n("Page",{attrs:{"sidebar-items":t.sidebarItems}},[t._t("page-top"),t._v(" "),t._t("page-bottom")],2)],1)},[],!1,null,null,null);e.default=W.exports}])]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{227:function(s,t,a){"use strict";a.r(t);var n=a(0),e=Object(n.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:"开发规范"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#开发规范","aria-hidden":"true"}},[s._v("#")]),s._v(" 开发规范")]),s._v(" "),a("p",[s._v("编码规范好比协议,有了 "),a("code",[s._v("Http")]),s._v("、"),a("code",[s._v("TCP")]),s._v(" 等各种协议,计算机之间才能有效地通信,同样的,有了一致的编码规范,开发人员之间才能有效地合作")]),s._v(" "),a("p",[s._v("为提高软件开发质量,降低开发周期,增强代码的可重用性和易读性,使软件便于维护及移交,开发人员间便于交流和协作,本规范适用于前端团队,以作参考。")]),s._v(" "),a("div",{staticClass:"custom-block danger"},[a("p",{staticClass:"custom-block-title"},[s._v("注意")]),s._v(" "),a("p",[s._v("开发规范执行情况将会不定期进行 "),a("strong",[s._v("Code Review")]),s._v(",不符合规范的内容必须进行整改。")])]),s._v(" "),a("h2",{attrs:{id:"文件与目录命名规范"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#文件与目录命名规范","aria-hidden":"true"}},[s._v("#")]),s._v(" 文件与目录命名规范")]),s._v(" "),a("p",[s._v("前端开发规范应用于 Web 网站、管理平台、移动端内嵌、微信小程序等范围,即使是本文档项目("),a("code",[s._v("doc-press")]),s._v(")中的文件命名,依然建议应用本规范")]),s._v(" "),a("p",[s._v("命名规范优秀的行业范例可参考 "),a("a",{attrs:{href:"https://github.com/vuejs/vue",target:"_blank",rel:"noopener noreferrer"}},[s._v("Vuejs"),a("OutboundLink")],1),s._v(" 和 "),a("a",{attrs:{href:"https://github.com/facebook/react",target:"_blank",rel:"noopener noreferrer"}},[s._v("Reactjs"),a("OutboundLink")],1),s._v(" 的源码")]),s._v(" "),a("h3",{attrs:{id:"目录命名"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#目录命名","aria-hidden":"true"}},[s._v("#")]),s._v(" 目录命名")]),s._v(" "),a("p",[s._v("业务功能结构示例")]),s._v(" "),a("div",{staticClass:"language-js line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("├─用户管理\n └─授权管理\n ├─角色管理\n └─用户角色绑定\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br")])]),a("p",[s._v("目录命名示例")]),s._v(" "),a("div",{staticClass:"language-js line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("✖\n├─userManage\n └─userAuthManage\n ├─RoleManage\n └─userRoleBind\n\n✔\n├─user\n └─auth\n ├─role\n └─user"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("-")]),s._v("role\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("p",[s._v("目录的命名,应尽可能结合上下、父子结构进行上下文信息描述,目录名自身应尽可能简洁直观。文本上使用全小写字母,有词组的情况使用 “-” 符号隔开")]),s._v(" "),a("h4",{attrs:{id:"为什么要使用小写?"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#为什么要使用小写?","aria-hidden":"true"}},[s._v("#")]),s._v(" 为什么要使用小写?")]),s._v(" "),a("ul",[a("li",[a("p",[s._v("易用性/可读性"),a("br"),s._v("\n小写文件名通常比大写文件名更易读,比如 "),a("code",[s._v("accessibility.txt")]),s._v(" 就比 "),a("code",[s._v("ACCESSIBILITY.TXT")]),s._v(" 易读。即使使用驼峰命名法,如 "),a("code",[s._v("UserRoleBind")]),s._v(" 或 "),a("code",[s._v("userRoleBind")]),s._v(" 不如 "),a("code",[s._v("user-role-bind")]),s._v(" 的可读性高")])]),s._v(" "),a("li",[a("p",[s._v("兼容性"),a("br"),s._v("\n不同操作系统对于大小兼容程度不一样,为了保证编译、部署后的内容在所有平台上顺利部署,目录名也应当使用小写")])]),s._v(" "),a("li",[a("p",[s._v("行业惯例"),a("br"),s._v("\n诸如 "),a("code",[s._v("Java")]),s._v("、"),a("code",[s._v(".net")]),s._v("、"),a("code",[s._v("C")]),s._v(" 等著名语言的包路径均为小写,行业巨头的良好规范也逐渐成为行业里约定俗成的规范")])])]),s._v(" "),a("h3",{attrs:{id:"文件命名"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#文件命名","aria-hidden":"true"}},[s._v("#")]),s._v(" 文件命名")]),s._v(" "),a("p",[s._v("文件名的规则在遵循目录命名的规则作为基础规则,但文件名的命名规则相比目录,略有不同")]),s._v(" "),a("h4",{attrs:{id:"插件-组件-页面"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#插件-组件-页面","aria-hidden":"true"}},[s._v("#")]),s._v(" 插件/组件/页面")]),s._v(" "),a("p",[s._v("单文件组件、插件/组件主体、页面的文件名应该始终是单词大写开头 (PascalCase)")]),s._v(" "),a("p",[s._v("单词大写开头对于代码编辑器的自动补全最为友好,因为这使得我们在 JS(X) 和模板中引用组件的方式尽可能的一致。然而,混用文件命名方式有的时候会导致大小写不敏感的文件系统的问题。")]),s._v(" "),a("p",[a("strong",[s._v("Vuejs")]),s._v(" 官方文档中,对于文件命名也有相应的 "),a("a",{attrs:{href:"https://cn.vuejs.org/v2/style-guide/#%E5%8D%95%E6%96%87%E4%BB%B6%E7%BB%84%E4%BB%B6%E6%96%87%E4%BB%B6%E7%9A%84%E5%A4%A7%E5%B0%8F%E5%86%99-%E5%BC%BA%E7%83%88%E6%8E%A8%E8%8D%90",target:"_blank",rel:"noopener noreferrer"}},[s._v("指导规范"),a("OutboundLink")],1)]),s._v(" "),a("p",[s._v("文件命名示例")]),s._v(" "),a("div",{staticClass:"language-js line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("✖\ncomponents\n └─grid\n ├─grid"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("sass\n ├─headRow"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("vue\n ├─bodyrow"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("vue\n ├─grid"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("vue\n └─index"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("js\n\n✔\ncomponents\n └─grid\n ├─grid"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("sass\n ├─HeadRow"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("vue\n ├─BodyRow"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("vue\n ├─Grid"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("vue\n └─index"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("js\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("h2",{attrs:{id:"css-样式预处理"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#css-样式预处理","aria-hidden":"true"}},[s._v("#")]),s._v(" CSS 样式预处理")]),s._v(" "),a("p",[s._v("对于 CSS 样式预处理方案,比较流行的有 "),a("code",[s._v("SASS/SCSS")]),s._v("、"),a("code",[s._v("LESS")]),s._v(" 和 "),a("code",[s._v("Stylus")]),s._v(",大体上的使用方式类似,区别在于功能的多少与扩展的能力。")]),s._v(" "),a("p",[s._v("综合各方面考虑,开发规范如下(微信小程序不在讨论范围)")]),s._v(" "),a("ul",[a("li",[s._v("前端项目统一使用 "),a("code",[s._v("SASS/SCSS")]),s._v(" 开发样式预处理内容")]),s._v(" "),a("li",[a("code",[s._v("web-open-platform")]),s._v(" 项目使用 "),a("code",[s._v("Stylus")])])]),s._v(" "),a("p",[s._v("关于文件及目录的命名遵循 "),a("a",{attrs:{href:"#%E6%96%87%E4%BB%B6%E4%B8%8E%E7%9B%AE%E5%BD%95%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83"}},[s._v("文件与目录命名")]),s._v(" 规则")]),s._v(" "),a("h3",{attrs:{id:"class-命名"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#class-命名","aria-hidden":"true"}},[s._v("#")]),s._v(" class 命名")]),s._v(" "),a("p",[s._v('对于 class name 的命名同样遵循全小写与单词间使用 "-" 隔开原则')]),s._v(" "),a("p",[s._v("命名示例")]),s._v(" "),a("div",{staticClass:"language-scss line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-scss"}},[a("code",[a("span",{pre:!0,attrs:{class:"token selector"}},[s._v(".user-container ")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token selector"}},[s._v("width: 100vw\n .user-header ")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token property"}},[s._v("background-color")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" #eee\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\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("h3",{attrs:{id:"样式抽象"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#样式抽象","aria-hidden":"true"}},[s._v("#")]),s._v(" 样式抽象")]),s._v(" "),a("p",[s._v("一个工程通常会有大量的页面、组件和插件,功能虽不同,但风格必须统一。对于主题风格部分的内容,必须提取到专用样式文件中进行维护。类似的功能或结构的样式内容在多处独立维护,是冗余且低效的,多人协同开发时须杜绝该现象发生,在进行样式定义之前应互相询问是否存在重复定义的情况。")]),s._v(" "),a("p",[a("strong",[s._v("BTW")]),a("br"),s._v("\nCSS 样式预处理,只使用最基本的结构嵌套功能是不够的,了解和使用高级特性才是提高效率和效果的最佳实践")]),s._v(" "),a("h2",{attrs:{id:"路由命名规则"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#路由命名规则","aria-hidden":"true"}},[s._v("#")]),s._v(" 路由命名规则")]),s._v(" "),a("p",[s._v("在路由(Vue Router)的命名中,依然遵循 "),a("a",{attrs:{href:"#%E6%96%87%E4%BB%B6%E4%B8%8E%E7%9B%AE%E5%BD%95%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83"}},[s._v("文件与目录命名")]),s._v(" 规则;因为路由命名的结果最终会体现在浏览器的地址栏中,所以在路由的命名过程中依然是推荐结合业务结构的上下文级进行组合命名,内容必须做到精简、简洁,不要让最终呈现出来的地址链接过于冗长。")]),s._v(" "),a("p",[s._v("一个网站的路由结构通常两层就可以完全满足需求,所以除去页面布局结构外,大量的业务页面的路由均为同级,既然是同级,就需要通过路由的路径(path)来声明功能的业务结构")]),s._v(" "),a("p",[s._v("业务功能结构示例")]),s._v(" "),a("div",{staticClass:"language-js line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("├─系统管理\n └─用户管理\n └─角色授权管理\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br")])]),a("p",[s._v("路由命名示例")]),s._v(" "),a("div",{staticClass:"language-js line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("✖\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/systemManage/userManage/roleAuth'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n\n✔\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/system/user/role-auth'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\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("p",[a("strong",[s._v("现有项目命名情况改造实例")])]),s._v(" "),a("p",[s._v("以现有素+管理平台的路由设置情况进行举例")]),s._v(" "),a("div",{staticClass:"language-js line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[s._v("✖ 不推荐\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/workbench/stockManager/stockType'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 存货类别")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/workbench/stockManager/goodsClassify'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 存货分类")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/workbench/stockManager/goodsSeries'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 存货系列")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/workbench/stockManager/goodsUnit'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 计量组单位")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/workbench/stockManager/stockBrands'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 存货品牌")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/workbench/stockManager/stockForm'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 存货形态")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/workbench/stockManager/stockArchives'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 存货档案")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n\n✔ 推荐设置\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/workbench/stock/type'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 存货类别")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/workbench/stock/category'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 存货分类")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/workbench/stock/series'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 存货系列")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/workbench/stock/goods-unit'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 计量组单位")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/workbench/stock/brand'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 存货品牌")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/workbench/stock/form'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 存货形态")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v(" path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/workbench/stock/file'")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("// 存货档案")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\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("p",[s._v("通常情况下,对于路由的定义,不设置 "),a("code",[s._v("name")]),s._v(" 属性,推荐仅对于使用频率较高的功能模块设置,例如登录、首页等最经常被使用的模块,另外就是业务中也经常会被多个场景中使用的情况")]),s._v(" "),a("h3",{attrs:{id:"异步加载页面-组件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#异步加载页面-组件","aria-hidden":"true"}},[s._v("#")]),s._v(" 异步加载页面/组件")]),s._v(" "),a("p",[s._v("对于路由的定义推荐使用以下模式")]),s._v(" "),a("div",{staticClass:"language-js line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-js"}},[a("code",[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'/aaa/bbb'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token function-variable function"}},[s._v("component")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=>")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'@/views/abc'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\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")])])])},[],!1,null,null,null);t.default=e.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{228:function(t,a,r){"use strict";r.r(a);var e=r(0),s=Object(e.a)({},function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"网页能力开放平台"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#网页能力开放平台","aria-hidden":"true"}},[t._v("#")]),t._v(" 网页能力开放平台")]),t._v(" "),r("h2",{attrs:{id:"平台介绍及使用规范"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#平台介绍及使用规范","aria-hidden":"true"}},[t._v("#")]),t._v(" 平台介绍及使用规范")]),t._v(" "),r("h4",{attrs:{id:"背景情况说明"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#背景情况说明","aria-hidden":"true"}},[t._v("#")]),t._v(" 背景情况说明")]),t._v(" "),r("p",[r("em",[t._v("网页能力开放平台")]),t._v(" 作为专为 "),r("code",[t._v("App")]),t._v(" 中内嵌或在 "),r("code",[t._v("Desktop / Mobile")]),t._v(" 独立功能网页输出的功能平台,将移动、多场景共享使用的内容聚合于一个独立工程中,以达到专项优化,专项处理的功能需求")]),t._v(" "),r("p",[t._v("平台使用 "),r("a",{attrs:{href:"https://getbootstrap.com/docs/4.3/getting-started/introduction/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Bootstrap"),r("OutboundLink")],1),t._v(" UI 框架的 4.3.1 版本的样式作为基础框架样式库使用, 原则上如果没有极其特殊需求,不允许再引用其他样式进行使用")]),t._v(" "),r("h4",{attrs:{id:"项目名称"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#项目名称","aria-hidden":"true"}},[t._v("#")]),t._v(" 项目名称")]),t._v(" "),r("p",[r("code",[t._v("web-open-platform")])]),t._v(" "),r("h4",{attrs:{id:"内容管理规范"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#内容管理规范","aria-hidden":"true"}},[t._v("#")]),t._v(" 内容管理规范")]),t._v(" "),r("ul",[r("li",[t._v("内容以项目作为基本单位建立目录")]),t._v(" "),r("li",[t._v("使用 "),r("a",{attrs:{href:"https://getbootstrap.com/docs/4.3/getting-started/introduction/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Bootstrap"),r("OutboundLink")],1),t._v(" 作为基础 UI 框架(仅使用样式),为界面中排版布局,样式组件所用")]),t._v(" "),r("li",[t._v("样式表预处理语言必须使用 "),r("a",{attrs:{href:"https://www.zhangxinxu.com/jq/stylus/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Stylus"),r("OutboundLink")],1)])]),t._v(" "),r("h4",{attrs:{id:"路由命令规则"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#路由命令规则","aria-hidden":"true"}},[t._v("#")]),t._v(" 路由命令规则")]),t._v(" "),r("div",{staticClass:"language- line-numbers-mode"},[r("pre",{pre:!0,attrs:{class:"language-text"}},[r("code",[t._v("project/function[/children-function]\n")])]),t._v(" "),r("div",{staticClass:"line-numbers-wrapper"},[r("span",{staticClass:"line-number"},[t._v("1")]),r("br")])]),r("p",[r("strong",[t._v("示例")])]),t._v(" "),r("p",[t._v("能力展示平台的公告详情功能: "),r("code",[t._v("http://web-open-platform.com/ability/announcement")])]),t._v(" "),r("h2",{attrs:{id:"现有项目-模块"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#现有项目-模块","aria-hidden":"true"}},[t._v("#")]),t._v(" 现有项目/模块")]),t._v(" "),r("p",[t._v("陈列出在 "),r("strong",[t._v("网页能力开放平台")]),t._v(" 中已完成或正在进行中的项目")]),t._v(" "),r("h3",{attrs:{id:"app-内嵌网页"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#app-内嵌网页","aria-hidden":"true"}},[t._v("#")]),t._v(" App 内嵌网页")]),t._v(" "),r("p",[t._v("应用于 "),r("strong",[t._v("App(Android、IOS)")]),t._v(" 内嵌使用")]),t._v(" "),r("h4",{attrs:{id:"能力展示"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#能力展示","aria-hidden":"true"}},[t._v("#")]),t._v(" 能力展示")]),t._v(" "),r("ul",[r("li",[r("strong",[t._v("活动 / 公告内容展示")]),t._v(" "),r("Badge",{attrs:{text:"完成",type:"success",vertical:"middle"}}),r("br"),t._v("\n提供展示活动 / 公告的标题、内容以及投票交互能力,若有交互功能场景则在提交数据后,通知客户端处理后续功能")],1)]),t._v(" "),r("h4",{attrs:{id:"素-管理平台"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#素-管理平台","aria-hidden":"true"}},[t._v("#")]),t._v(" 素+管理平台")]),t._v(" "),r("ul",[r("li",[r("strong",[t._v("用户协议")]),t._v(" "),r("Badge",{attrs:{text:"完成",vertical:"middle"}}),r("br"),t._v("\n提供素+管理平台用户协议详情,内容来自管理后台")],1),t._v(" "),r("li",[r("strong",[t._v("隐私政策")]),t._v(" "),r("Badge",{attrs:{text:"完成",vertical:"middle"}}),r("br"),t._v("\n提供素+管理平台隐私政策详情,内容来自管理后台")],1),t._v(" "),r("li",[r("strong",[t._v("App 版本更新详情")]),t._v(" "),r("Badge",{attrs:{text:"完成",vertical:"middle"}}),r("br"),t._v("\n提供 App 版本更新详情内容展示,内容来自管理后台")],1),t._v(" "),r("li",[r("strong",[t._v("仓储管理预警消息详情")]),t._v(" "),r("Badge",{attrs:{text:"完成",vertical:"middle"}}),r("br"),t._v("\n提供预警消息详情内容查看,其中又分为 “产品” 与 “仓库” 两种类型")],1)]),t._v(" "),r("h3",{attrs:{id:"独立功能页"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#独立功能页","aria-hidden":"true"}},[t._v("#")]),t._v(" 独立功能页")]),t._v(" "),r("p",[t._v("应用于 "),r("strong",[t._v("Desktop、Mobile")]),t._v(" 的独立功能网页")]),t._v(" "),r("h4",{attrs:{id:"素-管理平台-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#素-管理平台-2","aria-hidden":"true"}},[t._v("#")]),t._v(" 素+管理平台")]),t._v(" "),r("ul",[r("li",[r("strong",[t._v("App 版本更新详情")]),t._v(" "),r("Badge",{attrs:{text:"完成",vertical:"middle"}}),r("br"),t._v("\n提供 App 版本更新详情内容展示,内容来自管理后台")],1),t._v(" "),r("li",[r("strong",[t._v("仓储管理预警消息详情")]),t._v(" "),r("Badge",{attrs:{text:"完成",vertical:"middle"}}),r("br"),t._v("\n提供预警消息详情内容查看,其中又分为 “产品” 与 “仓库” 两种类型")],1)])])},[],!1,null,null,null);a.default=s.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{231:function(t,s,e){"use strict";e.r(s);var r=e(0),a=Object(r.a)({},function(){var t=this.$createElement,s=this._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[s("h1",{attrs:{id:"ios-苹果端"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ios-苹果端","aria-hidden":"true"}},[this._v("#")]),this._v(" IOS 苹果端")])])},[],!1,null,null,null);s.default=a.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{226:function(t,s,e){"use strict";e.r(s);var r=e(0),a=Object(r.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:"#测试组","aria-hidden":"true"}},[this._v("#")]),this._v(" 测试组")])])},[],!1,null,null,null);s.default=a.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{224:function(t,r,e){"use strict";e.r(r);var a=e(0),n=Object(a.a)({},function(){var t=this,r=t.$createElement,e=t._self._c||r;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"协作工具"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#协作工具","aria-hidden":"true"}},[t._v("#")]),t._v(" 协作工具")]),t._v(" "),e("p",[t._v("公司团队协作工具站点")]),t._v(" "),e("h2",{attrs:{id:"项目研发管理"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#项目研发管理","aria-hidden":"true"}},[t._v("#")]),t._v(" 项目研发管理")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"http://192.168.100.254:8088/zentao/",target:"_blank",rel:"noopener noreferrer"}},[t._v("禅道"),e("OutboundLink")],1),t._v(" Bug 管理平台")]),t._v(" "),e("li",[e("a",{attrs:{href:"https://mp.weixin.qq.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("微信公众平台"),e("OutboundLink")],1),t._v(" 微信小程序、微信公众号开发管理,开发文档中心")])]),t._v(" "),e("h2",{attrs:{id:"api-管理平台"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#api-管理平台","aria-hidden":"true"}},[t._v("#")]),t._v(" API 管理平台")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"http://115.29.205.99:3000/",target:"_blank",rel:"noopener noreferrer"}},[t._v("YAPI"),e("OutboundLink")],1),t._v(" 服务端提供 API 的描述与快速测试平台")])]),t._v(" "),e("h2",{attrs:{id:"资源管理"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#资源管理","aria-hidden":"true"}},[t._v("#")]),t._v(" 资源管理")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"http://192.168.100.254:3000/",target:"_blank",rel:"noopener noreferrer"}},[t._v("git"),e("OutboundLink")],1),t._v(" 使用 gogs 搭建的基于 git 的代码版本控制管理平台,现有公司项目代码均维护在此")]),t._v(" "),e("li",[e("a",{attrs:{href:"svn://192.168.100.254/repo/%E9%A1%B9%E7%9B%AE%E6%96%87%E4%BB%B6"}},[t._v("svn")]),t._v(" 设计原型、UI、文档等内容")])]),t._v(" "),e("h2",{attrs:{id:"产品设计"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#产品设计","aria-hidden":"true"}},[t._v("#")]),t._v(" 产品设计")]),t._v(" "),e("ul",[e("li",[e("a",{attrs:{href:"https://lanhuapp.com",target:"_blank",rel:"noopener noreferrer"}},[t._v("蓝湖"),e("OutboundLink")],1),t._v(" UI 预览查看")])])])},[],!1,null,null,null);r.default=n.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{73:function(n,w,o){}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{108:function(t,e,n){},210:function(t,e,n){"use strict";var i=n(108);n.n(i).a},223: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(210),n(0)),a=Object(r.a)(i,void 0,void 0,!1,null,"c13ee5b0",null);e.default=a.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{212:function(t,e,s){"use strict";s.r(e);var o=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],n={methods:{getMsg:function(){return o[Math.floor(Math.random()*o.length)]}}},i=s(0),h=Object(i.a)(n,function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"theme-container"},[e("div",{staticClass:"theme-default-content"},[e("h1",[this._v("404")]),this._v(" "),e("blockquote",[this._v(this._s(this.getMsg()))]),this._v(" "),e("router-link",{attrs:{to:"/"}},[this._v("Take me home.")])],1)])},[],!1,null,null,null);e.default=h.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{215:function(a,t,r){"use strict";r.r(t);var v=r(0),_=Object(v.a)({},function(){var a=this,t=a.$createElement,r=a._self._c||t;return r("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[r("h1",{attrs:{id:"查询导览"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#查询导览","aria-hidden":"true"}},[a._v("#")]),a._v(" 查询导览")]),a._v(" "),r("h2",{attrs:{id:"一、买买买文档平台简介"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#一、买买买文档平台简介","aria-hidden":"true"}},[a._v("#")]),a._v(" 一、买买买文档平台简介")]),a._v(" "),r("p",[a._v("买买买文档平台是基于买买买公司内部使用知识存储开放平台,提供买买买员工参与项目管理、研发、运维相关的各类查询文档,例如项目管控、开发规范、行政管理等。汇聚了买买买所有研发项目、产品重要知识信息,推进员工知识共享与交流,以便随取随用。")]),a._v(" "),r("h2",{attrs:{id:"二、快速浏览入口"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#二、快速浏览入口","aria-hidden":"true"}},[a._v("#")]),a._v(" 二、快速浏览入口")]),a._v(" "),r("ul",[r("li",[r("h4",{attrs:{id:"项目清单"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#项目清单","aria-hidden":"true"}},[a._v("#")]),a._v(" 项目清单")])])]),a._v(" "),r("ol",[r("li",[r("p",[r("a",{attrs:{href:""}},[a._v("能力展示APP")])]),a._v(" "),r("p",[a._v("简介、下载体验、版本规划")])]),a._v(" "),r("li",[r("p",[a._v("素+信息化:在线订单APP")])]),a._v(" "),r("li",[r("p",[a._v("素+信息化:仓储管理APP")])]),a._v(" "),r("li",[r("p",[a._v("关注事项APP")])]),a._v(" "),r("li",[r("p",[a._v("便捷答题小程序")])]),a._v(" "),r("li",[r("p",[a._v("票选小助手小程序")])]),a._v(" "),r("li",[r("p",[a._v("海鲜干货人家小程序")])]),a._v(" "),r("li",[r("p",[a._v("我的旺铺小程序")])]),a._v(" "),r("li",[r("p",[a._v("买买买公司官网")])])]),a._v(" "),r("ul",[r("li",[r("h4",{attrs:{id:"团队文档"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#团队文档","aria-hidden":"true"}},[a._v("#")]),a._v(" 团队文档")])])]),a._v(" "),r("ol",[r("li",[r("router-link",{attrs:{to:"/team/frontend/"}},[a._v("前端开发文档")])],1),a._v(" "),r("li",[a._v("IOS端开发文档")]),a._v(" "),r("li",[a._v("安卓端开发文档")]),a._v(" "),r("li",[a._v("服务端开发文档")]),a._v(" "),r("li",[a._v("测试端文档")]),a._v(" "),r("li",[a._v("产品设计文档")])]),a._v(" "),r("ul",[r("li",[r("h4",{attrs:{id:"项目管控"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#项目管控","aria-hidden":"true"}},[a._v("#")]),a._v(" 项目管控")])])]),a._v(" "),r("ol",[r("li",[a._v("阶段输出结果")]),a._v(" "),r("li",[a._v("变更控制")]),a._v(" "),r("li",[a._v("问题日志")]),a._v(" "),r("li",[a._v("常用文档下载")])]),a._v(" "),r("ul",[r("li",[r("h4",{attrs:{id:"行政管理"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#行政管理","aria-hidden":"true"}},[a._v("#")]),a._v(" 行政管理")])]),a._v(" "),r("li",[r("h4",{attrs:{id:"协同工具"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#协同工具","aria-hidden":"true"}},[a._v("#")]),a._v(" 协同工具")])])]),a._v(" "),r("ol",[r("li",[r("p",[a._v("项目研发管理")])]),a._v(" "),r("li",[r("p",[a._v("API管理平台")])]),a._v(" "),r("li",[r("p",[a._v("资源管理")])])]),a._v(" "),r("h2",{attrs:{id:"三、文档使用权限说明"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#三、文档使用权限说明","aria-hidden":"true"}},[a._v("#")]),a._v(" 三、文档使用权限说明")]),a._v(" "),r("p",[a._v("对文档使用定制保密说明")])])},[],!1,null,null,null);t.default=_.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{221:function(t,s,e){"use strict";e.r(s);var r=e(0),a=Object(r.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:"#行政管理","aria-hidden":"true"}},[this._v("#")]),this._v(" 行政管理")])])},[],!1,null,null,null);s.default=a.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{219:function(t,e,r){"use strict";r.r(e);var a=r(0),s=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:"#文档写作平台使用入门","aria-hidden":"true"}},[t._v("#")]),t._v(" 文档写作平台使用入门")]),t._v(" "),r("p",[t._v("介绍文档写作平台的运行方式,如何编写文档及各方面资源的内容组织")]),t._v(" "),r("h2",{attrs:{id:"文档写作平台项目地址"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#文档写作平台项目地址","aria-hidden":"true"}},[t._v("#")]),t._v(" 文档写作平台项目地址")]),t._v(" "),r("p",[r("a",{attrs:{href:"http://192.168.100.254:3000/frontend/doc-press",target:"_blank",rel:"noopener noreferrer"}},[t._v("doc-press"),r("OutboundLink")],1)]),t._v(" "),r("h2",{attrs:{id:"项目运行方式"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#项目运行方式","aria-hidden":"true"}},[t._v("#")]),t._v(" 项目运行方式")]),t._v(" "),r("ol",[r("li",[t._v("安装 "),r("code",[t._v("nodejs")]),t._v(",在 "),r("a",{attrs:{href:"http://nodejs.cn/download/",target:"_blank",rel:"noopener noreferrer"}},[t._v("nodejs 官网"),r("OutboundLink")],1),t._v(" 下载并安装"),r("br"),t._v(" "),r("em",[t._v("windows 下建议下载 "),r("code",[t._v("Windows 安装包 (.msi) 64 位")])])]),t._v(" "),r("li",[t._v("安装 "),r("code",[t._v("yarn")]),t._v(",在 "),r("a",{attrs:{href:"https://www.yarnpkg.com/zh-Hant/docs/install#windows-stable",target:"_blank",rel:"noopener noreferrer"}},[t._v("yarn 官网"),r("OutboundLink")],1),t._v(" 下载并安装")]),t._v(" "),r("li",[t._v("安装 "),r("code",[t._v("git")]),t._v(",在 "),r("a",{attrs:{href:"https://git-scm.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("git 官网"),r("OutboundLink")],1),t._v(" 下载并安装好")]),t._v(" "),r("li",[t._v("下载并安装 git 图形化工具,推荐使用的有 "),r("a",{attrs:{href:"https://tortoisegit.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("TortoiseGit"),r("OutboundLink")],1),t._v("、"),r("a",{attrs:{href:"https://www.sourcetreeapp.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("SourceTree"),r("OutboundLink")],1),t._v("、"),r("a",{attrs:{href:"https://git-fork.com/windows",target:"_blank",rel:"noopener noreferrer"}},[t._v("Fork"),r("OutboundLink")],1)]),t._v(" "),r("li",[t._v("克隆文档写作平台到本地环境")]),t._v(" "),r("li",[t._v("使用命令行进入到文档写作平台目录")]),t._v(" "),r("li",[t._v("运行命令 "),r("code",[t._v("yarn install")]),t._v(" 安装依赖库")]),t._v(" "),r("li",[t._v("运行命令 "),r("code",[t._v("yarn dev")]),t._v(" 运行本地开发平台")]),t._v(" "),r("li",[t._v("运行完成后,命令行界面中会提示访问地址,在浏览器中访问该地址即可开始进行写作,效果如下")]),t._v(" "),r("li",[t._v("此时可开始写作,并在网页中实时预览效果")]),t._v(" "),r("li",[t._v("写作完成后,将内容提交并推送到项目托管地址")])]),t._v(" "),r("div",{staticClass:"language-bash line-numbers-mode"},[r("pre",{pre:!0,attrs:{class:"language-bash"}},[r("code",[t._v("success "),r("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),r("span",{pre:!0,attrs:{class:"token number"}},[t._v("16")]),t._v(":22:08"),r("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),t._v(" Build 42920d finished "),r("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("in")]),t._v(" "),r("span",{pre:!0,attrs:{class:"token number"}},[t._v("3668")]),t._v(" ms"),r("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("\n"),r("span",{pre:!0,attrs:{class:"token operator"}},[t._v(">")]),t._v(" VuePress dev server listening at http://localhost:8080/\n")])]),t._v(" "),r("div",{staticClass:"line-numbers-wrapper"},[r("span",{staticClass:"line-number"},[t._v("1")]),r("br"),r("span",{staticClass:"line-number"},[t._v("2")]),r("br")])]),r("p",[t._v("只进行文档写作,不希望本地运行网站服务的情况,仅需执行 "),r("code",[t._v("3、4、5、11")]),t._v(" 步骤")]),t._v(" "),r("h2",{attrs:{id:"文档写作"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#文档写作","aria-hidden":"true"}},[t._v("#")]),t._v(" 文档写作")]),t._v(" "),r("p",[t._v("Markdown 标记语言语法")]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://www.w3cschool.cn/markdownyfsm/markdownyfsm-odm6256r.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://www.w3cschool.cn"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://www.markdown.cn/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://www.markdown.cn/"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://markdown-zh.readthedocs.io/en/latest/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://markdown-zh.readthedocs.io/en/latest/"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"http://wow.kuapp.com/markdown/",target:"_blank",rel:"noopener noreferrer"}},[t._v("http://wow.kuapp.com/markdown/"),r("OutboundLink")],1)])]),t._v(" "),r("p",[t._v("推荐编辑器")]),t._v(" "),r("ul",[r("li",[r("a",{attrs:{href:"https://typora.io/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Typora"),r("OutboundLink")],1)]),t._v(" "),r("li",[r("a",{attrs:{href:"https://code.visualstudio.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("VSCode"),r("OutboundLink")],1)])]),t._v(" "),r("blockquote",[r("p",[t._v("文档写作平台项目基于 VuePress 构建,具体配置内容请查看 "),r("a",{attrs:{href:"https://vuepress.vuejs.org/zh/",target:"_blank",rel:"noopener noreferrer"}},[t._v("这里"),r("OutboundLink")],1)])]),t._v(" "),r("h3",{attrs:{id:"写作方式"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#写作方式","aria-hidden":"true"}},[t._v("#")]),t._v(" 写作方式")]),t._v(" "),r("p",[t._v("文档写作平台所有编写的文档均是基于 "),r("strong",[t._v("Markdown")]),t._v(" 标记语言来编写,它的特点是使用简单的符号即可清晰地描述整个文档结构和排版,仅需要普通文本编辑器即可完成,不像 Word、Excel 等格式必须安装 Microsft Office 才可以正常使用;目前 Markdown 标记语言已经被广泛使用于国内、国际各种记事本或笔记平台、知识平台、写作平台,成为一种流行的文档编写格式,且范围不仅仅是软件行业")]),t._v(" "),r("p",[t._v("在网站的内容组织上,一个目录或站点的默认访问位置是 "),r("code",[t._v("index.html")]),t._v(",这是整个互联网环境、网页服务平台、网页服务软件等组织共同形成的约定俗成的结果")]),t._v(" "),r("p",[t._v("在以 Markdown 标记语言为主要格式和形式的文档平台中,大家约定俗成的默认文档为 "),r("code",[t._v("README.md")]),t._v("(注意大小写),其功能与 "),r("code",[t._v("index.html")]),t._v(" 一致,可以将其理解为是一个目录或是一个文档站点的里的 "),r("strong",[t._v("首页")])]),t._v(" "),r("p",[r("strong",[t._v("HTML")])]),t._v(" "),r("p",[t._v("实际上,在文档写作平台中,所有的 Markdown 文档最终会被编译为 HTML 格式的网页作为最终展现,所以在内容的编写上可以放心使用部分 HTML 标签的排版,建议是排版方面的标签,"),r("strong",[t._v("表单类型的标签请尽可能不要使用")]),t._v(",以免出现不可预期的问题")]),t._v(" "),r("h3",{attrs:{id:"资源内容添加"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#资源内容添加","aria-hidden":"true"}},[t._v("#")]),t._v(" 资源内容添加")]),t._v(" "),r("p",[t._v("在文档写作过程中,除了文档描述自身,往往需要引用图片、跳转链接和文件下载等需求来丰富文档内容")]),t._v(" "),r("h4",{attrs:{id:"资源内容说明"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#资源内容说明","aria-hidden":"true"}},[t._v("#")]),t._v(" 资源内容说明")]),t._v(" "),r("p",[t._v("资源可分为以下两类")]),t._v(" "),r("ul",[r("li",[t._v("图片")]),t._v(" "),r("li",[t._v("文档(Word、Excel、PowerPoint或其它类型文档)")])]),t._v(" "),r("p",[t._v("其中,图片可在文档中直接显示,而其它类型文件可作为下载附件的方式挂载在文档中")]),t._v(" "),r("p",[t._v("所有资源存放位置:")]),t._v(" "),r("p",[r("code",[t._v("/.vuepress/public/")])]),t._v(" "),r("div",{staticClass:"custom-block danger"},[r("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),r("p",[t._v("注意:所有资源要求必须有序存放,例如根据业务类型、团队类型等形式分目录存放")])]),t._v(" "),r("h4",{attrs:{id:"资源使用方式"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#资源使用方式","aria-hidden":"true"}},[t._v("#")]),t._v(" 资源使用方式")]),t._v(" "),r("ul",[r("li",[t._v("图片内容")])]),t._v(" "),r("p",[t._v("假设有一张图片存放于以下位置")]),t._v(" "),r("p",[r("code",[t._v("/.vuepress/public/logo.png")])]),t._v(" "),r("p",[t._v("那么在文档中引用该图片的方式为")]),t._v(" "),r("p",[r("code",[t._v("![logo](/logo.png)")])]),t._v(" "),r("p",[t._v("渲染结果")]),t._v(" "),r("p",[r("img",{attrs:{src:"/logo.png",alt:"logo"}})]),t._v(" "),r("p",[t._v("可以看到 "),r("code",[t._v("/")]),t._v(" 资源引用的根位置指向了 "),r("code",[t._v("/.vuepress/public/")])]),t._v(" "),r("div",{staticClass:"custom-block danger"},[r("p",{staticClass:"custom-block-title"},[t._v("WARNING")]),t._v(" "),r("p",[t._v("如果设置的图片是项目 Logo、二维码(App 或 小程序等),必须按照以下格式使用")]),t._v(" "),r("div",{staticClass:"language-html line-numbers-mode"},[r("pre",{pre:!0,attrs:{class:"language-html"}},[r("code",[r("span",{pre:!0,attrs:{class:"token tag"}},[r("span",{pre:!0,attrs:{class:"token tag"}},[r("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("img")]),t._v(" "),r("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("src")]),r("span",{pre:!0,attrs:{class:"token attr-value"}},[r("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),r("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("/xxx.jpg"),r("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),r("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("class")]),r("span",{pre:!0,attrs:{class:"token attr-value"}},[r("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("=")]),r("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("img"),r("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),r("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),t._v("\n")])]),t._v(" "),r("div",{staticClass:"line-numbers-wrapper"},[r("span",{staticClass:"line-number"},[t._v("1")]),r("br")])]),r("p",[t._v("图片将以 "),r("code",[t._v("150 X 150")]),t._v(" 的统一规格(像素)显示")])]),t._v(" "),r("ul",[r("li",[t._v("文档或其它")])]),t._v(" "),r("p",[t._v("引用其它资源,区别仅为引用方式上,假设有一个文档存放于以下位置")]),t._v(" "),r("p",[r("code",[t._v("/.vuepress/public/design/file.docx")])]),t._v(" "),r("p",[t._v("该文档的引用方式为")]),t._v(" "),r("p",[r("code",[t._v("[file](/design/file.docx)")])]),t._v(" "),r("p",[t._v("根据观察可以发现,文件的引用方式与图片的引用方式上的区别仅是一个 "),r("code",[t._v("!")]),t._v(",而在描述一个链接时增加感叹号则是专用于图片显示")]),t._v(" "),r("blockquote",[r("p",[t._v("附件类型的在点击后,会直接弹出浏览器下载窗口下载该文件,所以该方式适用于与文档内容相关的附件设置")])])])},[],!1,null,null,null);e.default=s.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{232:function(t,a,r){"use strict";r.r(a);var e=r(0),s=Object(e.a)({},function(){var t=this,a=t.$createElement,r=t._self._c||a;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("h1",{attrs:{id:"项目清单"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#项目清单","aria-hidden":"true"}},[t._v("#")]),t._v(" 项目清单")]),t._v(" "),r("p",[t._v("汇总买买买公司目前正在开发项目清单,将实时同步各个项目开发状态。")]),t._v(" "),r("h2",{attrs:{id:"能力展示app-企业员工能力展示应用"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#能力展示app-企业员工能力展示应用","aria-hidden":"true"}},[t._v("#")]),t._v(" 能力展示APP - 企业员工能力展示应用")]),t._v(" "),r("p",[t._v("能力展示,用于展示企业员工能力的应用。促进员工积极去发现问题、分析问题、解决问题,并在轻松娱乐的氛围下,展示能力同时并共同营建一个和谐可持续发展的大家庭。主要功能有,企业的提问管理、部门统计、公司表彰、星数排行。")]),t._v(" "),r("h3",{attrs:{id:"下载体验"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#下载体验","aria-hidden":"true"}},[t._v("#")]),t._v(" 下载体验")]),t._v(" "),r("ul",[r("li",[r("strong",[t._v("IOS版本")])])]),t._v(" "),r("p",[r("img",{attrs:{src:"/ios/ability/IOS.png",alt:"IOS下载二维码"}})]),t._v(" "),r("ul",[r("li",[r("p",[r("strong",[t._v("安卓版本可支持:腾讯应用宝、360、华为、小米、百度、VIVO、OPPO,请直接到相关应用商店下载。")])])]),t._v(" "),r("li",[r("p",[r("strong",[t._v("最新功能:版本0.3.0")])]),t._v(" "),r("ol",[r("li",[r("p",[t._v("增加@功能,由提问人在提出问题时候选择@部门决定该问题的职能归属,由归属部门进行后续的评分管理,提问者不明确的戒被@部门不接受的可以@回服务小组;")])]),t._v(" "),r("li",[r("p",[t._v("消息模块改版")])]),t._v(" "),r("li",[r("p",[t._v("个人中心--待我评分入口")])]),t._v(" "),r("li",[r("p",[t._v("特殊用户同感信息的展示")])]),t._v(" "),r("li",[r("p",[t._v("用户行为数据统计组件接入")])])])])]),t._v(" "),r("h3",{attrs:{id:"敬请期待:正在开发版本0-4-0"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#敬请期待:正在开发版本0-4-0","aria-hidden":"true"}},[t._v("#")]),t._v(" 敬请期待:正在开发版本0.4.0")]),t._v(" "),r("ul",[r("li",[r("p",[t._v("开发需求清单:")]),t._v(" "),r("table",[r("thead",[r("tr",[r("th",{staticStyle:{"text-align":"left"}},[t._v("内容")])])]),t._v(" "),r("tbody",[r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("增加帐号切换功能。")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("增加后台数据导出功能")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理后台增加加分功能;")])])])])]),t._v(" "),r("li",[r("p",[t._v("项目里程碑:开发时间: ,提测时间: ,上线时间:")])])]),t._v(" "),r("h2",{attrs:{id:"素-信息化:在线订单app"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#素-信息化:在线订单app","aria-hidden":"true"}},[t._v("#")]),t._v(" 素+信息化:在线订单APP")]),t._v(" "),r("p",[t._v("素+在线下单是一款自主研发的移动销售管理应用助力企业构建组织内部的高效协作网络,让中小型制造企业在销售前端与企业内部组织和人,以驱动业务为目标,实现以客户为中心的全员高效营销协作。\u2029主要功能有,企业的产品档案管理、订单管理、客户管理")]),t._v(" "),r("h3",{attrs:{id:"下载体验-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#下载体验-2","aria-hidden":"true"}},[t._v("#")]),t._v(" 下载体验")]),t._v(" "),r("ul",[r("li",[r("strong",[t._v("IOS版本")])])]),t._v(" "),r("p",[r("img",{attrs:{src:"C:%5CUsers%5Cuser%5CDesktop%5C%E5%9C%A8%E7%BA%BF%E6%96%87%E6%A1%A3%5C%E5%9C%A8%E7%BA%BF%E8%AE%A2%E5%8D%95IOS.png",alt:"IOS下载二维码"}})]),t._v(" "),r("ul",[r("li",[r("p",[r("strong",[t._v("安卓版本可支持:腾讯应用宝、360、华为、小米、百度、VIVO、OPPO,请直接到相关应用商店下载。")])])]),t._v(" "),r("li",[r("p",[r("strong",[t._v("最新功能:版本1.0.5")])])])]),t._v(" "),r("ol",[r("li",[r("p",[t._v("全新设计网络框架,轻装前行。")])]),t._v(" "),r("li",[r("p",[t._v("修复已知问题,减少问题体验更好\u2029为了获得更好的用户体验,会经常在App Store上更新哦!")])]),t._v(" "),r("li",[r("p",[t._v("推荐 「设置>iTunes &App Store>自动下载>开启素+订单」")])])]),t._v(" "),r("h3",{attrs:{id:"敬请期待:正在开发版本1-1-0"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#敬请期待:正在开发版本1-1-0","aria-hidden":"true"}},[t._v("#")]),t._v(" 敬请期待:正在开发版本1.1.0")]),t._v(" "),r("ul",[r("li",[r("p",[r("strong",[t._v("开发需求清单:")])]),t._v(" "),r("table",[r("thead",[r("tr",[r("th",{staticStyle:{"text-align":"left"}},[t._v("内容")])])]),t._v(" "),r("tbody",[r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("App:产成品入库以及产成品检验扫描页新增查看历史功能(安卓)")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理平台:出入库类型设置时,无需标识默认为入,即无需给默认标识,让用户自己选择** 出/入")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理平台:业务地区设置,入口需要移动到销售模块中")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理平台:分页功能最多一页展示 100 条,新增 500 条每页的选项;")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("App;出库时选择或者扫描同商品同批号时数量累加;")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理平台:权限改动,子管理员无法修改自身以及其他子管理员的权限")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理平台:报表行间距调整,报表中数据只展示一行超出部分缺损显示")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理平台:销售订单列表业务区域分开展示")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理平台&APP:业务订单新增客户要求交期字段")])])])])]),t._v(" "),r("li",[r("p",[r("strong",[t._v("项目里程碑:8月19日开始,8月30日提交上线。")])])])]),t._v(" "),r("h2",{attrs:{id:"素-信息化:仓储管理app"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#素-信息化:仓储管理app","aria-hidden":"true"}},[t._v("#")]),t._v(" 素+信息化:仓储管理APP")]),t._v(" "),r("p",[t._v("素+仓储 是一款自主研发的仓储管理应用可便捷的通过扫一扫实现出入库自动登记。对仓库里的存货进行检查和登记存货质量状态。随时随地任意手机,电脑可查询仓库存货实时库存数据·主要功能有,企业的产品档案管理、产出登记、生产入库、其他入库、质检登记、销售出库、其他出库、库存查询")]),t._v(" "),r("h3",{attrs:{id:"下载体验-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#下载体验-3","aria-hidden":"true"}},[t._v("#")]),t._v(" 下载体验")]),t._v(" "),r("p",[r("img",{attrs:{src:"C:%5CUsers%5Cuser%5CDesktop%5C%E5%9C%A8%E7%BA%BF%E6%96%87%E6%A1%A3%5C%E4%BB%93%E5%82%A8IOS.png",alt:"IOS下载二维码"}})]),t._v(" "),r("ul",[r("li",[r("p",[r("strong",[t._v("安卓版本可支持:腾讯应用宝、360、华为、小米、百度、VIVO、OPPO,请直接到相关应用商店下载。")])])]),t._v(" "),r("li",[r("p",[r("strong",[t._v("最新功能:版本1.0.9")])])])]),t._v(" "),r("ol",[r("li",[r("p",[t._v("全新设计网络框架,轻装前行。")])]),t._v(" "),r("li",[r("p",[t._v("修复已知问题,减少问题体验更好\u2029为了获得更好的用户体验,会经常在App Store上更新哦")])]),t._v(" "),r("li",[r("p",[t._v("推荐 「设置>iTunes &App Store>自动下载>开启素+仓储」")])])]),t._v(" "),r("h3",{attrs:{id:"敬请期待:正在开发版本1-1-0-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#敬请期待:正在开发版本1-1-0-2","aria-hidden":"true"}},[t._v("#")]),t._v(" 敬请期待:正在开发版本1.1.0")]),t._v(" "),r("ul",[r("li",[r("p",[r("strong",[t._v("开发需求清单:")])]),t._v(" "),r("table",[r("thead",[r("tr",[r("th",{staticStyle:{"text-align":"left"}},[t._v("内容")])])]),t._v(" "),r("tbody",[r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("App:产成品入库以及产成品检验扫描页新增查看历史功能(安卓)")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理平台:出入库类型设置时,无需标识默认为入,即无需给默认标识,让用户自己选择** 出/入")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理平台:业务地区设置,入口需要移动到销售模块中")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理平台:分页功能最多一页展示 100 条,新增 500 条每页的选项;")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("App;出库时选择或者扫描同商品同批号时数量累加;")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理平台:权限改动,子管理员无法修改自身以及其他子管理员的权限")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理平台:报表行间距调整,报表中数据只展示一行超出部分缺损显示")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理平台:销售订单列表业务区域分开展示")])]),t._v(" "),r("tr",[r("td",{staticStyle:{"text-align":"left"}},[t._v("管理平台&APP:业务订单新增客户要求交期字段")])])])])]),t._v(" "),r("li",[r("p",[r("strong",[t._v("项目里程碑:8月19日开始,8月30日提交上线。")])])])]),t._v(" "),r("h2",{attrs:{id:"关注事项app"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#关注事项app","aria-hidden":"true"}},[t._v("#")]),t._v(" 关注事项APP")]),t._v(" "),r("p",[t._v("关注事项,用于重要事项汇报的应用;通过创建群组,组员在群组内进行相关事务的汇报,并将重要关注事项进行实时提醒用户。")]),t._v(" "),r("h3",{attrs:{id:"下载体验-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#下载体验-4","aria-hidden":"true"}},[t._v("#")]),t._v(" 下载体验")]),t._v(" "),r("ul",[r("li",[r("strong",[t._v("IOS版本")])])]),t._v(" "),r("p",[r("img",{attrs:{src:"C:%5CUsers%5Cuser%5CDesktop%5C%E5%9C%A8%E7%BA%BF%E6%96%87%E6%A1%A3%5C%E5%85%B3%E6%B3%A8%E4%BA%8B%E9%A1%B9IOS.png",alt:"IOS下载二维码"}})]),t._v(" "),r("ul",[r("li",[r("p",[r("strong",[t._v("安卓版本可支持:腾讯应用宝、360、华为、小米、百度、VIVO、OPPO,请直接到相关应用商店下载。")])])]),t._v(" "),r("li",[r("p",[r("strong",[t._v("最新功能:版本0.1.2")])]),t._v(" "),r("p",[t._v("修复已知BUG。")])])]),t._v(" "),r("h2",{attrs:{id:"便捷答题小程序"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#便捷答题小程序","aria-hidden":"true"}},[t._v("#")]),t._v(" 便捷答题小程序")]),t._v(" "),r("p",[t._v("让公司可以便捷地给员工培训考试")]),t._v(" "),r("h3",{attrs:{id:"扫码体验"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#扫码体验","aria-hidden":"true"}},[t._v("#")]),t._v(" 扫码体验")]),t._v(" "),r("p",[r("img",{attrs:{src:"C:%5CUsers%5Cuser%5CDesktop%5C%E5%9C%A8%E7%BA%BF%E6%96%87%E6%A1%A3%5C%E4%BE%BF%E6%8D%B7%E7%AD%94%E9%A2%98.jpg",alt:"小程序二维码"}})]),t._v(" "),r("h2",{attrs:{id:"票选小助手小程序"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#票选小助手小程序","aria-hidden":"true"}},[t._v("#")]),t._v(" 票选小助手小程序")]),t._v(" "),r("p",[t._v("快速简单创建投票,支持图文选项。可支持群投票或指定用户进行投票。")]),t._v(" "),r("h3",{attrs:{id:"扫码体验-2"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#扫码体验-2","aria-hidden":"true"}},[t._v("#")]),t._v(" 扫码体验")]),t._v(" "),r("p",[r("img",{attrs:{src:"C:%5CUsers%5Cuser%5CDesktop%5C%E5%9C%A8%E7%BA%BF%E6%96%87%E6%A1%A3%5C%E7%A5%A8%E9%80%89%E5%B0%8F%E5%8A%A9%E6%89%8B.jpg",alt:"小程序二维码"}})]),t._v(" "),r("h2",{attrs:{id:"海鲜干货人家小程序"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#海鲜干货人家小程序","aria-hidden":"true"}},[t._v("#")]),t._v(" 海鲜干货人家小程序")]),t._v(" "),r("p",[t._v("专业包点、小食订购平台;自提需标提货时间(至少次日),配送为当天下单,次日配送;周末节假日暂不支持发货")]),t._v(" "),r("h3",{attrs:{id:"扫码体验-3"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#扫码体验-3","aria-hidden":"true"}},[t._v("#")]),t._v(" 扫码体验")]),t._v(" "),r("p",[r("img",{attrs:{src:"C:%5CUsers%5Cuser%5CDesktop%5C%E5%9C%A8%E7%BA%BF%E6%96%87%E6%A1%A3%5C%E6%B5%B7%E9%B2%9C%E5%B9%B2%E8%B4%A7%E4%BA%BA%E5%AE%B6.jpg",alt:"小程序二维码"}})]),t._v(" "),r("h2",{attrs:{id:"我的旺铺小程序"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#我的旺铺小程序","aria-hidden":"true"}},[t._v("#")]),t._v(" 我的旺铺小程序")]),t._v(" "),r("p",[t._v("店铺管理工具,能快速的管理店铺的分类、商品和海报图册。")]),t._v(" "),r("h3",{attrs:{id:"扫码体验-4"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#扫码体验-4","aria-hidden":"true"}},[t._v("#")]),t._v(" 扫码体验")]),t._v(" "),r("p",[r("img",{attrs:{src:"C:%5CUsers%5Cuser%5CDesktop%5C%E5%9C%A8%E7%BA%BF%E6%96%87%E6%A1%A3%5C%E6%88%91%E7%9A%84%E6%97%BA%E9%93%BA.jpg",alt:"小程序二维码"}})]),t._v(" "),r("h2",{attrs:{id:"买买买公司官网"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#买买买公司官网","aria-hidden":"true"}},[t._v("#")]),t._v(" 买买买公司官网")]),t._v(" "),r("p",[r("a",{attrs:{href:"http://www.fjmaimaimai.com/",target:"_blank",rel:"noopener noreferrer"}},[t._v("深圳买买信息科技有限公司"),r("OutboundLink")],1)])])},[],!1,null,null,null);a.default=s.exports}}]);
\ No newline at end of file
... ...
(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{216:function(t,s,e){"use strict";e.r(s);var r=e(0),a=Object(r.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:"#项目管控","aria-hidden":"true"}},[this._v("#")]),this._v(" 项目管控")])])},[],!1,null,null,null);s.default=a.exports}}]);
\ No newline at end of file
... ...
此 diff 太大无法显示。