diff --git a/doc-dist/404.html b/doc-dist/404.html new file mode 100644 index 00000000..a1fa237f --- /dev/null +++ b/doc-dist/404.html @@ -0,0 +1,20 @@ + + + + + + h5-dooring + + + + + + + + +

404

That's a Four-Oh-Four.
+ Take me home. +
+ + + diff --git a/doc-dist/assets/css/0.styles.690c58c3.css b/doc-dist/assets/css/0.styles.690c58c3.css new file mode 100644 index 00000000..5d19ff0a --- /dev/null +++ b/doc-dist/assets/css/0.styles.690c58c3.css @@ -0,0 +1 @@ +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0;padding:0}article,aside,footer,header,nav,section{display:block}h1,h2,h3,h4,h5{margin:0;padding:0}figcaption,figure,main{display:block}figure{margin:0;padding:0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects;color:#329aff}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0;padding:0}button,input{overflow:visible;outline:none}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}input{outline:none}body,html{scrollbar-arrow-color:#d1d5db;scrollbar-face-color:#d1d5db;scrollbar-3dlight-color:#d1d5db;scrollbar-highlight-color:#d1d5db;scrollbar-shadow-color:#d1d5db;scrollbar-darkshadow-color:#d1d5db;scrollbar-track-color:#d1d5db;scrollbar-base-color:#f4f5f9}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar,::-webkit-scrollbar-track{background-color:transparent}::-webkit-scrollbar-thumb{border-radius:4px;background-color:#d1d5db}dd,dl,dt,ul li{padding:0;margin:0}button{cursor:pointer;border:none}button[disabled]{cursor:not-allowed}.nav-link.external .outbound{display:none}.nav-link.external:last-child{color:#fff;background-color:#083ac4;border-color:#083ac4;padding:6px 14px;border-radius:4px}.doc-main{padding-top:88px;padding-left:380px}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:#083ac4}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.theme-default-content pre[class*=language-] code,.theme-default-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;border-radius:6px}div[class*=language-] .highlight-lines{-webkit-user-select:none;-ms-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;-ms-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;-webkit-user-select:none;-ms-user-select:none;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{background-color:#f3f5f7;border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}.custom-block.details{display:block;position:relative;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid #ccc}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid #ccc}.arrow.right{border-left:6px solid #ccc}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid #ccc}.theme-default-content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-default-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-default-content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0;background-color:#fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:3.6rem;background-color:#fff;box-sizing:border-box;border-bottom:1px solid #eaecef}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:16px;background-color:#fff;width:20rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;overflow-y:auto}.theme-default-content:not(.custom)>:first-child{margin-top:3.6rem}.theme-default-content:not(.custom) a:hover{text-decoration:underline}.theme-default-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.theme-default-content:not(.custom) img{max-width:100%}.theme-default-content.custom{padding:0;margin:0}.theme-default-content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#083ac4}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:1rem;color:#999;border-left:.2rem solid #dfe2e5;margin:1rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.theme-default-content:not(.custom)>h1,.theme-default-content:not(.custom)>h2,.theme-default-content:not(.custom)>h3,.theme-default-content:not(.custom)>h4,.theme-default-content:not(.custom)>h5,.theme-default-content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.theme-default-content:not(.custom)>h1:first-child,.theme-default-content:not(.custom)>h2:first-child,.theme-default-content:not(.custom)>h3:first-child,.theme-default-content:not(.custom)>h4:first-child,.theme-default-content:not(.custom)>h5:first-child,.theme-default-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-default-content:not(.custom)>h1:first-child+.custom-block,.theme-default-content:not(.custom)>h1:first-child+p,.theme-default-content:not(.custom)>h1:first-child+pre,.theme-default-content:not(.custom)>h2:first-child+.custom-block,.theme-default-content:not(.custom)>h2:first-child+p,.theme-default-content:not(.custom)>h2:first-child+pre,.theme-default-content:not(.custom)>h3:first-child+.custom-block,.theme-default-content:not(.custom)>h3:first-child+p,.theme-default-content:not(.custom)>h3:first-child+pre,.theme-default-content:not(.custom)>h4:first-child+.custom-block,.theme-default-content:not(.custom)>h4:first-child+p,.theme-default-content:not(.custom)>h4:first-child+pre,.theme-default-content:not(.custom)>h5:first-child+.custom-block,.theme-default-content:not(.custom)>h5:first-child+p,.theme-default-content:not(.custom)>h5:first-child+pre,.theme-default-content:not(.custom)>h6:first-child+.custom-block,.theme-default-content:not(.custom)>h6:first-child+p,.theme-default-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:focus .header-anchor,h1:hover .header-anchor,h2:focus .header-anchor,h2:hover .header-anchor,h3:focus .header-anchor,h3:hover .header-anchor,h4:focus .header-anchor,h4:hover .header-anchor,h5:focus .header-anchor,h5:hover .header-anchor,h6:focus .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0}a.header-anchor:focus,a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5;padding:.6em 1em}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .theme-default-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}#nprogress{pointer-events:none}#nprogress .bar{background:#083ac4;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 #083ac4,0 0 5px #083ac4;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:#083ac4 transparent transparent #083ac4;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.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(/doc/assets/img/search.83621669.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#083ac4}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:2rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#5d82a6}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:#f3f4f5}.search-box .suggestion.focused a{color:#083ac4}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title,.dropdown-wrapper .mobile-dropdown-title{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:#2c3e50}.dropdown-wrapper .dropdown-title:hover,.dropdown-wrapper .mobile-dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow,.dropdown-wrapper .mobile-dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .mobile-dropdown-title{display:none;font-weight:600}.dropdown-wrapper .mobile-dropdown-title font-size inherit:hover{color:#083ac4}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eee;padding:1rem 1.5rem .45rem 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#083ac4}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #083ac4;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .dropdown-title{display:none}.dropdown-wrapper .mobile-dropdown-title{display:block}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper.open .nav-dropdown,.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper.open:blur{display:none}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;padding:.6rem 0;border:1px solid;border-color:#ddd #ddd #ccc;text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#083ac4}.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 #0941dc}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;background-color:#fff;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}.navbar .site-name{width:calc(100vw - 9.4rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.page-edit{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit{padding:2rem}}@media (max-width:419px){.page-edit{padding:1.5rem}}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#4e6e8e;margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#4e6e8e}.page-edit .last-updated .time{font-weight:400;color:#767676}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.page-nav{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav{padding:2rem}}@media (max-width:419px){.page-nav{padding:1.5rem}}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;padding-top:1rem;overflow:auto}.page-nav .next{float:right}.page{padding-bottom:2rem;display:block}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:inherit}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{color:#2c3e50;transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0;border-left:.25rem solid transparent}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading.clickable.active{font-weight:600;color:#083ac4;border-left-color:#083ac4}.sidebar-heading.clickable:hover{color:#083ac4}.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:#083ac4}a.sidebar-link.active{font-weight:600;color:#083ac4;border-left-color:#083ac4}.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}}.container{max-width:1080px;margin:0 auto;display:block}.home{padding:3.6rem 0;display:block;max-width:none;margin:initial;background-color:#f5f8fe}.home .hero{text-align:center}.home .hero img{width:190px;height:50px;display:inline-block;margin:initial;margin-bottom:0;margin-right:20px;vertical-align:sub}.home .hero h1{font-size:1.5rem;font-weight:600}.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:1rem;color:#fff;background-color:#083ac4;padding:.4rem 2rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #0734b0}.home .hero .action-button:hover{background-color:#0943e1}.home .features{border-top:1px solid #eaecef;padding:80px 0;background-color:#fff;margin-top:2.5rem}.home .features .container{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:27%;border-radius:8px;padding:20px 22px;box-shadow:0 0 8px rgba(0,0,0,.1)}.home .feature .feature-index{border-radius:4px;background-color:#083ac4;width:50px;line-height:50px;color:#fff;font-size:20px;text-align:center;margin-bottom:6px;box-shadow:1px 0 0 0 rgba(0,0,0,.1)}.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}}.badge[data-v-15b7b770]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff}.badge.green[data-v-15b7b770],.badge.tip[data-v-15b7b770],.badge[data-v-15b7b770]{background-color:#42b983}.badge.error[data-v-15b7b770]{background-color:#da5961}.badge.warn[data-v-15b7b770],.badge.warning[data-v-15b7b770],.badge.yellow[data-v-15b7b770]{background-color:#e7c000}.badge+.badge[data-v-15b7b770]{margin-left:5px}.theme-code-block[data-v-6d04095e]{display:none}.theme-code-block__active[data-v-6d04095e]{display:block}.theme-code-block>pre[data-v-6d04095e]{background-color:orange}.theme-code-group__nav[data-v-32c2d7ed]{margin-bottom:-35px;background-color:#282c34;padding-bottom:22px;border-top-left-radius:6px;border-top-right-radius:6px;padding-left:10px;padding-top:10px}.theme-code-group__ul[data-v-32c2d7ed]{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.theme-code-group__nav-tab[data-v-32c2d7ed]{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:hsla(0,0%,100%,.9);font-weight:600}.theme-code-group__nav-tab-active[data-v-32c2d7ed]{border-bottom:1px solid #42b983}.pre-blank[data-v-32c2d7ed]{color:#42b983} \ No newline at end of file diff --git a/doc-dist/assets/img/deploy.d1b1d698.png b/doc-dist/assets/img/deploy.d1b1d698.png new file mode 100644 index 00000000..deca6693 Binary files /dev/null and b/doc-dist/assets/img/deploy.d1b1d698.png differ diff --git a/doc-dist/assets/img/down.75812dab.png b/doc-dist/assets/img/down.75812dab.png new file mode 100644 index 00000000..e9befda2 Binary files /dev/null and b/doc-dist/assets/img/down.75812dab.png differ diff --git a/doc-dist/assets/img/dynamic.15a5303a.png b/doc-dist/assets/img/dynamic.15a5303a.png new file mode 100644 index 00000000..cdb94f1a Binary files /dev/null and b/doc-dist/assets/img/dynamic.15a5303a.png differ diff --git a/doc-dist/assets/img/framework.1c9c696b.png b/doc-dist/assets/img/framework.1c9c696b.png new file mode 100644 index 00000000..550ef983 Binary files /dev/null and b/doc-dist/assets/img/framework.1c9c696b.png differ diff --git a/doc-dist/assets/img/home.f76105db.png b/doc-dist/assets/img/home.f76105db.png new file mode 100644 index 00000000..72bb5018 Binary files /dev/null and b/doc-dist/assets/img/home.f76105db.png differ diff --git a/doc-dist/assets/img/logo.001d04e6.svg b/doc-dist/assets/img/logo.001d04e6.svg new file mode 100644 index 00000000..825d4cf7 --- /dev/null +++ b/doc-dist/assets/img/logo.001d04e6.svg @@ -0,0 +1,12 @@ + + + + 编组 + Created with Sketch. + + + + + + + \ No newline at end of file diff --git a/doc-dist/assets/img/preview-flow.b37c7798.png b/doc-dist/assets/img/preview-flow.b37c7798.png new file mode 100644 index 00000000..952bc368 Binary files /dev/null and b/doc-dist/assets/img/preview-flow.b37c7798.png differ diff --git a/doc-dist/assets/img/preview-machine.895a0711.png b/doc-dist/assets/img/preview-machine.895a0711.png new file mode 100644 index 00000000..d4af158c Binary files /dev/null and b/doc-dist/assets/img/preview-machine.895a0711.png differ diff --git a/doc-dist/assets/img/preview-page.3ec86df5.png b/doc-dist/assets/img/preview-page.3ec86df5.png new file mode 100644 index 00000000..714b83c1 Binary files /dev/null and b/doc-dist/assets/img/preview-page.3ec86df5.png differ diff --git a/doc-dist/assets/img/screenshot.daeecedd.png b/doc-dist/assets/img/screenshot.daeecedd.png new file mode 100644 index 00000000..91b3502b Binary files /dev/null and b/doc-dist/assets/img/screenshot.daeecedd.png differ diff --git a/doc-dist/assets/img/search.83621669.svg b/doc-dist/assets/img/search.83621669.svg new file mode 100644 index 00000000..03d83913 --- /dev/null +++ b/doc-dist/assets/img/search.83621669.svg @@ -0,0 +1 @@ + diff --git a/doc-dist/assets/img/template-bg.244b9ac7.png b/doc-dist/assets/img/template-bg.244b9ac7.png new file mode 100644 index 00000000..cd973866 Binary files /dev/null and b/doc-dist/assets/img/template-bg.244b9ac7.png differ diff --git a/doc-dist/assets/img/template-ft.4f6e0d14.png b/doc-dist/assets/img/template-ft.4f6e0d14.png new file mode 100644 index 00000000..bb846792 Binary files /dev/null and b/doc-dist/assets/img/template-ft.4f6e0d14.png differ diff --git a/doc-dist/assets/img/v6.deploy.43cbe0de.png b/doc-dist/assets/img/v6.deploy.43cbe0de.png new file mode 100644 index 00000000..eb445189 Binary files /dev/null and b/doc-dist/assets/img/v6.deploy.43cbe0de.png differ diff --git a/doc-dist/assets/js/10.54d9780e.js b/doc-dist/assets/js/10.54d9780e.js new file mode 100644 index 00000000..45dc4398 --- /dev/null +++ b/doc-dist/assets/js/10.54d9780e.js @@ -0,0 +1,72 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [10], + { + 360: function(t, r, a) { + t.exports = a.p + 'assets/img/dynamic.15a5303a.png'; + }, + 391: function(t, r, a) { + 'use strict'; + a.r(r); + var n = a(42), + i = Object(n.a)( + {}, + function() { + var t = this, + r = t.$createElement, + n = t._self._c || r; + return n('ContentSlotsDistributor', { attrs: { 'slot-key': t.$parent.slotKey } }, [ + n('h1', { attrs: { id: '组件动态加载' } }, [ + n('a', { staticClass: 'header-anchor', attrs: { href: '#组件动态加载' } }, [ + t._v('#'), + ]), + t._v(' 组件动态加载'), + ]), + t._v(' '), + n('p', [ + t._v( + '目前H5-Dooring的组件都是通过动态加载的方式引入,好处是我们在页面中只会加载我们需要的组件,不需要的组件不会被加载,这样可以提高页面加载的速度,这样做也会出现一些问题,比如一个长页面,配置了很多组件,那么一个页面加载过程可以会触发多次请求,目前还没有遇到性能问题,但后续会逐渐优化这个问题。', + ), + ]), + t._v(' '), + n('h2', { attrs: { id: 'umi3提供的dynamic' } }, [ + n('a', { staticClass: 'header-anchor', attrs: { href: '#umi3提供的dynamic' } }, [ + t._v('#'), + ]), + t._v(' umi3提供的dynamic'), + ]), + t._v(' '), + n('p', [ + t._v( + '目前组件的动态加载我们采用的umi的dynamic方案,基于它我们上层封装了一个组件动态加载器,原理如下:', + ), + ]), + t._v(' '), + n('img', { attrs: { src: a(360), alt: 'foo' } }), + t._v(' '), + n('p', [ + t._v('具体代码可以参考Dooring的Github地址:'), + n( + 'a', + { + attrs: { + href: 'https://github.com/MrXujiang/h5-Dooring', + target: '_blank', + rel: 'noopener noreferrer', + }, + }, + [t._v('https://github.com/MrXujiang/h5-Dooring'), n('OutboundLink')], + 1, + ), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + r.default = i.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/11.a67c4713.js b/doc-dist/assets/js/11.a67c4713.js new file mode 100644 index 00000000..c98b0e9e --- /dev/null +++ b/doc-dist/assets/js/11.a67c4713.js @@ -0,0 +1,179 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [11], + { + 358: function(t, _, v) { + t.exports = v.p + 'assets/img/deploy.d1b1d698.png'; + }, + 389: function(t, _, v) { + 'use strict'; + v.r(_); + var e = v(42), + a = Object(e.a)( + {}, + function() { + var t = this, + _ = t.$createElement, + e = t._self._c || _; + return e('ContentSlotsDistributor', { attrs: { 'slot-key': t.$parent.slotKey } }, [ + e('p', [t._v('私有化部署需要获取4个核心项目包, 包括')]), + t._v(' '), + e('ul', [ + e('li', [t._v('H5编辑器(h5_plus)')]), + t._v(' '), + e('li', [t._v('H5基座(h5)')]), + t._v(' '), + e('li', [t._v('Dooring管理后台(Dooring-Admin)')]), + t._v(' '), + e('li', [t._v('服务端项目(Server)')]), + ]), + t._v(' '), + e('p', [ + t._v('获取以上四个核心源码工程需要满足商业授权协议, 具体可联系作者'), + e( + 'a', + { + attrs: { + href: 'http://h5.dooring.cn/uploads/WechatIMG3_1758e9753e2.jpeg', + target: '_blank', + rel: 'noopener noreferrer', + }, + }, + [t._v('徐小夕'), e('OutboundLink')], + 1, + ), + ]), + t._v(' '), + e('h3', { attrs: { id: '部署架构图' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#部署架构图' } }, [ + t._v('#'), + ]), + t._v(' 部署架构图'), + ]), + t._v(' '), + e('img', { attrs: { src: v(358), alt: 'H5-dooring部署' } }), + t._v(' '), + e('p', [t._v('部署流程如下:')]), + t._v(' '), + e('ol', [ + e('li', [t._v('下载4个源码工程, 安装依赖(npm install 或 yarn)')]), + t._v(' '), + e('li', [ + t._v('打包3个前端工程至'), + e('code', [t._v('server')]), + t._v('的static目录下'), + ]), + t._v(' '), + e('li', [ + t._v('在'), + e('code', [t._v('server')]), + t._v('下本地运行 '), + e('code', [t._v('yarn start')]), + t._v(' 或 '), + e('code', [t._v('npm start')]), + t._v(' 启动服务端进行本地测试'), + ]), + t._v(' '), + e('li', [ + t._v('打包服务端代码, '), + e('code', [t._v('yarn build')]), + t._v(' 生成 '), + e('code', [t._v('dist')]), + t._v(' 目录, 建议使用 '), + e('code', [t._v('pm2')]), + t._v(' 做'), + e('code', [t._v('nodejs')]), + t._v('服务的负载均衡, 运行 '), + e('code', [t._v('pm2 start dist/index.js')]), + t._v('启动生产环境代码'), + ]), + ]), + t._v(' '), + e('p', [ + t._v('也可以将以上步骤集成到gitlab等CI, CD服务中, 进行自动化打包发布, 或者采用'), + e('code', [t._v('docker')]), + t._v('进行容器化部署.'), + ]), + t._v(' '), + e('h3', { attrs: { id: '步骤3-4详细流程' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#步骤3-4详细流程' } }, [ + t._v('#'), + ]), + t._v(' 步骤3.4详细流程'), + ]), + t._v(' '), + e('h4', { attrs: { id: '_1-安装项目环境' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#_1-安装项目环境' } }, [ + t._v('#'), + ]), + t._v(' 1. 安装项目环境'), + ]), + t._v(' '), + e('p', [ + t._v( + '服务器需提前安装node和pm2, 将本项目上传至服务器指定的目录(如/www/activity), 进入项目目录, 执行:', + ), + ]), + t._v(' '), + e('div', { staticClass: 'language- extra-class' }, [ + e('pre', { pre: !0, attrs: { class: 'language-text' } }, [ + e('code', [t._v('npm install\n')]), + ]), + ]), + e('h4', { attrs: { id: '_2-修改项目域名' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#_2-修改项目域名' } }, [ + t._v('#'), + ]), + t._v(' 2. 修改项目域名'), + ]), + t._v(' '), + e('p', [ + t._v('进入'), + e('code', [t._v('./src/config/index.js')]), + t._v(', 修改'), + e('code', [t._v('staticPath')]), + t._v('变量为当前服务器域名/ip, 如'), + e('code', [t._v('http://xxx.com')]), + t._v('或'), + e('code', [t._v('http://xxx.com:8080')]), + t._v('(如非80端口)'), + ]), + t._v(' '), + e('h4', { attrs: { id: '_3-编译项目' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#_3-编译项目' } }, [ + t._v('#'), + ]), + t._v(' 3. 编译项目'), + ]), + t._v(' '), + e('p', [ + t._v('执行'), + e('code', [t._v('npm run build')]), + t._v('编译项目, 生成'), + e('code', [t._v('dist')]), + t._v('目录'), + ]), + t._v(' '), + e('h4', { attrs: { id: '_4-运行项目' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#_4-运行项目' } }, [ + t._v('#'), + ]), + t._v(' 4. 运行项目'), + ]), + t._v(' '), + e('p', [ + t._v('在项目根目录执行 '), + e('code', [t._v('pm2 start dist/index.js')]), + t._v('启动项目'), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + _.default = a.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/12.f7aa9a93.js b/doc-dist/assets/js/12.f7aa9a93.js new file mode 100644 index 00000000..08e502f9 --- /dev/null +++ b/doc-dist/assets/js/12.f7aa9a93.js @@ -0,0 +1,177 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [12], + { + 359: function(t, v, _) { + t.exports = _.p + 'assets/img/v6.deploy.43cbe0de.png'; + }, + 390: function(t, v, _) { + 'use strict'; + _.r(v); + var e = _(42), + a = Object(e.a)( + {}, + function() { + var t = this, + v = t.$createElement, + e = t._self._c || v; + return e('ContentSlotsDistributor', { attrs: { 'slot-key': t.$parent.slotKey } }, [ + e('p', [t._v('私有化部署需要获取3个核心项目包, 包括')]), + t._v(' '), + e('ul', [ + e('li', [t._v('可视化大屏编辑器(v6.dooring/)')]), + t._v(' '), + e('li', [t._v('v6管理后台(v6.dooring/manage)')]), + t._v(' '), + e('li', [t._v('服务端项目(v6.dooring/server)')]), + ]), + t._v(' '), + e('p', [ + t._v('获取以上三个核心源码工程需要满足商业授权协议, 具体可参考'), + e( + 'a', + { + attrs: { + href: 'http://h5.dooring.cn/h5_plus/price', + target: '_blank', + rel: 'noopener noreferrer', + }, + }, + [t._v('商业授权方案'), e('OutboundLink')], + 1, + ), + ]), + t._v(' '), + e('h3', { attrs: { id: '部署架构图' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#部署架构图' } }, [ + t._v('#'), + ]), + t._v(' 部署架构图'), + ]), + t._v(' '), + e('img', { attrs: { src: _(359), alt: 'H5-dooring部署' } }), + t._v(' '), + e('p', [t._v('部署流程如下:')]), + t._v(' '), + e('ol', [ + e('li', [t._v('下载3个源码工程, 安装依赖(npm install 或 yarn)')]), + t._v(' '), + e('li', [ + t._v('打包2个前端工程至'), + e('code', [t._v('server')]), + t._v('的static目录下'), + ]), + t._v(' '), + e('li', [ + t._v('在'), + e('code', [t._v('server')]), + t._v('下本地运行 '), + e('code', [t._v('yarn start')]), + t._v(' 或 '), + e('code', [t._v('npm start')]), + t._v(' 启动服务端进行本地测试'), + ]), + t._v(' '), + e('li', [ + t._v('打包服务端代码, '), + e('code', [t._v('yarn build')]), + t._v(' 生成 '), + e('code', [t._v('dist')]), + t._v(' 目录, 建议使用 '), + e('code', [t._v('pm2')]), + t._v(' 做'), + e('code', [t._v('nodejs')]), + t._v('服务的负载均衡, 运行 '), + e('code', [t._v('pm2 start dist/index.js')]), + t._v('启动生产环境代码'), + ]), + ]), + t._v(' '), + e('p', [ + t._v('也可以将以上步骤集成到gitlab等CI, CD服务中, 进行自动化打包发布, 或者采用'), + e('code', [t._v('docker')]), + t._v('进行容器化部署.'), + ]), + t._v(' '), + e('h3', { attrs: { id: '步骤3-4详细流程' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#步骤3-4详细流程' } }, [ + t._v('#'), + ]), + t._v(' 步骤3.4详细流程'), + ]), + t._v(' '), + e('h4', { attrs: { id: '_1-安装项目环境' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#_1-安装项目环境' } }, [ + t._v('#'), + ]), + t._v(' 1. 安装项目环境'), + ]), + t._v(' '), + e('p', [ + t._v( + '服务器需提前安装node和pm2, 将本项目上传至服务器指定的目录(如/www/activity), 进入项目目录, 执行:', + ), + ]), + t._v(' '), + e('div', { staticClass: 'language- extra-class' }, [ + e('pre', { pre: !0, attrs: { class: 'language-text' } }, [ + e('code', [t._v('npm install\n')]), + ]), + ]), + e('h4', { attrs: { id: '_2-修改项目域名' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#_2-修改项目域名' } }, [ + t._v('#'), + ]), + t._v(' 2. 修改项目域名'), + ]), + t._v(' '), + e('p', [ + t._v('进入'), + e('code', [t._v('./src/config/index.js')]), + t._v(', 修改'), + e('code', [t._v('staticPath')]), + t._v('变量为当前服务器域名/ip, 如'), + e('code', [t._v('http://xxx.com')]), + t._v('或'), + e('code', [t._v('http://xxx.com:8080')]), + t._v('(如非80端口)'), + ]), + t._v(' '), + e('h4', { attrs: { id: '_3-编译项目' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#_3-编译项目' } }, [ + t._v('#'), + ]), + t._v(' 3. 编译项目'), + ]), + t._v(' '), + e('p', [ + t._v('执行'), + e('code', [t._v('npm run build')]), + t._v('编译项目, 生成'), + e('code', [t._v('dist')]), + t._v('目录'), + ]), + t._v(' '), + e('h4', { attrs: { id: '_4-运行项目' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#_4-运行项目' } }, [ + t._v('#'), + ]), + t._v(' 4. 运行项目'), + ]), + t._v(' '), + e('p', [ + t._v('在项目根目录执行 '), + e('code', [t._v('pm2 start dist/index.js')]), + t._v('启动项目'), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + v.default = a.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/13.f725ef36.js b/doc-dist/assets/js/13.f725ef36.js new file mode 100644 index 00000000..3a1d5dc6 --- /dev/null +++ b/doc-dist/assets/js/13.f725ef36.js @@ -0,0 +1,96 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [13], + { + 362: function(s, a, t) { + s.exports = t.p + 'assets/img/down.75812dab.png'; + }, + 398: function(s, a, t) { + 'use strict'; + t.r(a); + var n = t(42), + e = Object(n.a)( + {}, + function() { + var s = this, + a = s.$createElement, + n = s._self._c || a; + return n('ContentSlotsDistributor', { attrs: { 'slot-key': s.$parent.slotKey } }, [ + n('h2', { attrs: { id: '下载源码' } }, [ + n('a', { staticClass: 'header-anchor', attrs: { href: '#下载源码' } }, [s._v('#')]), + s._v(' 下载源码'), + ]), + s._v(' '), + n('p', [ + s._v( + '目前Dooring已支持下载源码功能, 我们可以使用编辑器页面头部的下载按钮来实现下载用户搭建的H5源码.\n', + ), + n('img', { attrs: { src: t(362), alt: 'foo' } }), + ]), + s._v(' '), + n('p', [ + s._v( + '源码下载之后是完整的React项目源代码, 开发人员可以直接根据自己的业务需求来二次编写代码来满足不同的业务需求.', + ), + ]), + s._v(' '), + n('p', [ + s._v('在拿到源码之后, 我们需要进入项目, 使用npm或者yarn安装项目依赖, 如下:'), + ]), + s._v(' '), + n('div', { staticClass: 'language-bash extra-class' }, [ + n('pre', { pre: !0, attrs: { class: 'language-bash' } }, [ + n('code', [ + n('span', { pre: !0, attrs: { class: 'token function' } }, [s._v('npm')]), + s._v(' '), + n('span', { pre: !0, attrs: { class: 'token function' } }, [s._v('install')]), + s._v('\n// 或者\n'), + n('span', { pre: !0, attrs: { class: 'token function' } }, [s._v('yarn')]), + s._v('\n'), + ]), + ]), + ]), + n('p', [s._v('之后我们就可以本地运行项目了:')]), + s._v(' '), + n('div', { staticClass: 'language-bash extra-class' }, [ + n('pre', { pre: !0, attrs: { class: 'language-bash' } }, [ + n('code', [ + n('span', { pre: !0, attrs: { class: 'token function' } }, [s._v('npm')]), + s._v(' start\n// 或者\n'), + n('span', { pre: !0, attrs: { class: 'token function' } }, [s._v('yarn')]), + s._v(' start\n'), + ]), + ]), + ]), + n('p', [ + s._v('因为源码工程采用'), + n('code', [s._v('umi3.0')]), + s._v('搭建, 所以代码配置可以参考'), + n('code', [s._v('umi3.0')]), + s._v('规范, 比如路由配置, '), + n('code', [s._v('history')]), + s._v('模式, 打包路径等, 二次开发完成之后, 我们可以执行:'), + ]), + s._v(' '), + n('div', { staticClass: 'language-bash extra-class' }, [ + n('pre', { pre: !0, attrs: { class: 'language-bash' } }, [ + n('code', [ + n('span', { pre: !0, attrs: { class: 'token function' } }, [s._v('npm')]), + s._v(' run build\n// 或者\n'), + n('span', { pre: !0, attrs: { class: 'token function' } }, [s._v('yarn')]), + s._v(' build\n'), + ]), + ]), + ]), + n('p', [s._v('将项目打包成html, 以便部署到任何服务器中.')]), + ]); + }, + [], + !1, + null, + null, + null, + ); + a.default = e.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/14.85e93cce.js b/doc-dist/assets/js/14.85e93cce.js new file mode 100644 index 00000000..20206747 --- /dev/null +++ b/doc-dist/assets/js/14.85e93cce.js @@ -0,0 +1,39 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [14], + { + 363: function(t, e, s) { + t.exports = s.p + 'assets/img/preview-machine.895a0711.png'; + }, + 399: function(t, e, s) { + 'use strict'; + s.r(e); + var a = s(42), + n = Object(a.a)( + {}, + function() { + var t = this, + e = t.$createElement, + a = t._self._c || e; + return a('ContentSlotsDistributor', { attrs: { 'slot-key': t.$parent.slotKey } }, [ + a('h1', { attrs: { id: '真机预览' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#真机预览' } }, [t._v('#')]), + t._v(' 真机预览'), + ]), + t._v(' '), + a('p', [t._v('真机预览和网页预览的流程类似,工作流程如下:')]), + t._v(' '), + a('img', { attrs: { src: s(363), alt: 'foo' } }), + t._v(' '), + a('p', [t._v('由于不同机型预览的效果有些许不同,最终效果以实际看到的为主。')]), + ]); + }, + [], + !1, + null, + null, + null, + ); + e.default = n.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/15.751a6d56.js b/doc-dist/assets/js/15.751a6d56.js new file mode 100644 index 00000000..07b6f91e --- /dev/null +++ b/doc-dist/assets/js/15.751a6d56.js @@ -0,0 +1,42 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [15], + { + 368: function(t, s, e) { + t.exports = e.p + 'assets/img/screenshot.daeecedd.png'; + }, + 405: function(t, s, e) { + 'use strict'; + e.r(s); + var a = e(42), + i = Object(a.a)( + {}, + function() { + var t = this.$createElement, + s = this._self._c || t; + return s('ContentSlotsDistributor', { attrs: { 'slot-key': this.$parent.slotKey } }, [ + s('h1', { attrs: { id: '截图功能' } }, [ + s('a', { staticClass: 'header-anchor', attrs: { href: '#截图功能' } }, [ + this._v('#'), + ]), + this._v(' 截图功能'), + ]), + this._v(' '), + s('p', [ + this._v( + '截图功能这里我们主要使用了dom-to-image这个库,来将html转化为图片,并进行分享。', + ), + ]), + this._v(' '), + s('img', { attrs: { src: e(368), alt: 'foo' } }), + ]); + }, + [], + !1, + null, + null, + null, + ); + s.default = i.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/16.2c84a15b.js b/doc-dist/assets/js/16.2c84a15b.js new file mode 100644 index 00000000..162a2cbc --- /dev/null +++ b/doc-dist/assets/js/16.2c84a15b.js @@ -0,0 +1,31 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [16], + { + 369: function(t, s, e) { + t.exports = e.p + 'assets/img/framework.1c9c696b.png'; + }, + 406: function(t, s, e) { + 'use strict'; + e.r(s); + var n = e(42), + o = Object(n.a)( + {}, + function() { + var t = this.$createElement, + s = this._self._c || t; + return s('ContentSlotsDistributor', { attrs: { 'slot-key': this.$parent.slotKey } }, [ + s('img', { attrs: { src: e(369), alt: 'foo' } }), + this._v(' '), + s('p', [this._v('注:灰色部分还未实现,正在更新中...')]), + ]); + }, + [], + !1, + null, + null, + null, + ); + s.default = o.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/17.fb942f89.js b/doc-dist/assets/js/17.fb942f89.js new file mode 100644 index 00000000..d514da56 --- /dev/null +++ b/doc-dist/assets/js/17.fb942f89.js @@ -0,0 +1,115 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [17], + { + 370: function(t, a, r) { + t.exports = r.p + 'assets/img/home.f76105db.png'; + }, + 407: function(t, a, r) { + 'use strict'; + r.r(a); + var e = r(42), + s = Object(e.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: '#快速上手' } }, [t._v('#')]), + t._v(' 快速上手'), + ]), + t._v(' '), + e('h2', { attrs: { id: '从零搭建一个h5表单页面' } }, [ + e( + 'a', + { staticClass: 'header-anchor', attrs: { href: '#从零搭建一个h5表单页面' } }, + [t._v('#')], + ), + t._v(' 从零搭建一个H5表单页面'), + ]), + t._v(' '), + e('iframe', { + staticStyle: { width: '100%', height: '420px', 'margin-top': '20px' }, + attrs: { + src: + '//player.bilibili.com/player.html?aid=715343955&bvid=BV1QQ4y1Z725&cid=332145157&page=1', + scrolling: 'no', + border: '0', + frameborder: 'no', + framespacing: '0', + allowfullscreen: 'true', + }, + }), + t._v(' '), + e('h2', { attrs: { id: '环境准备' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#环境准备' } }, [t._v('#')]), + t._v(' 环境准备'), + ]), + t._v(' '), + e('p', [ + t._v('首先得有 node,并确保 node 版本是 '), + e('code', [t._v('10.13')]), + t._v(' 或以上,(mac/win 下推荐使用 n 来管理 node 版本)'), + ]), + t._v(' '), + e('div', { staticClass: 'language- extra-class' }, [ + e('pre', { pre: !0, attrs: { class: 'language-text' } }, [ + e('code', [t._v('$ node-v\nv10.13.0\n')]), + ]), + ]), + e('p', [t._v('注:推荐使用 yarn 管理 npm 依赖')]), + t._v(' '), + e('h2', { attrs: { id: '源码工程' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#源码工程' } }, [t._v('#')]), + t._v(' 源码工程'), + ]), + t._v(' '), + e('table', [ + e('thead', [ + e('tr', [ + e('th', [t._v('h5_plus(编辑器项目)')]), + t._v(' '), + e('th', [t._v('admin(管理后台)')]), + t._v(' '), + e('th', [t._v('Server(服务端项目)')]), + ]), + ]), + t._v(' '), + e('tbody'), + ]), + t._v(' '), + e('p', [ + t._v( + '本地拿到源码工程之后先安装对应依赖,在对应工程目录里执行 yarn 命令,等待依赖安装完成。', + ), + ]), + t._v(' '), + e('h2', { attrs: { id: '本地运行' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#本地运行' } }, [t._v('#')]), + t._v(' 本地运行'), + ]), + t._v(' '), + e('p', [ + t._v( + '1.首先本地启动 server,在 src 目录的 index.js 中修改跨域白名单,改为本地的 ip+端口,如http://192.167.0.3:8000', + ), + ]), + t._v(' '), + e('p', [ + t._v('2.其次本地启动 h5_plus,启动完毕在浏览器打开对应的启动地址即可查看,如下:'), + ]), + t._v(' '), + e('img', { attrs: { src: r(370), alt: 'foo' } }), + ]); + }, + [], + !1, + null, + null, + null, + ); + a.default = s.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/18.81ac15ea.js b/doc-dist/assets/js/18.81ac15ea.js new file mode 100644 index 00000000..be52e821 --- /dev/null +++ b/doc-dist/assets/js/18.81ac15ea.js @@ -0,0 +1,161 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [18], + { + 380: function(t, e, a) { + 'use strict'; + a.r(e); + var o = a(376), + n = a(377), + i = a(378), + s = a(308), + r = { + name: 'Layout', + components: { Page: n.a, Sidebar: i.a, Navbar: o.a }, + 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(s.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, + a = t.changedTouches[0].clientY - this.touchStart.y; + Math.abs(e) > Math.abs(a) && + Math.abs(e) > 40 && + (e > 0 && this.touchStart.x <= 80 + ? this.toggleSidebar(!0) + : this.toggleSidebar(!1)); + }, + }, + }, + h = a(42), + u = Object(h.a)( + r, + function() { + var t = this, + e = t.$createElement, + a = t._self._c || e; + return a( + 'div', + { + staticClass: 'theme-container', + class: t.pageClasses, + on: { touchstart: t.onTouchStart, touchend: t.onTouchEnd }, + }, + [ + t.shouldShowNavbar + ? a('Navbar', { on: { 'toggle-sidebar': t.toggleSidebar } }) + : t._e(), + t._v(' '), + a('div', { + staticClass: 'sidebar-mask', + on: { + click: function(e) { + return t.toggleSidebar(!1); + }, + }, + }), + t._v(' '), + a('Sidebar', { + attrs: { items: t.sidebarItems }, + on: { 'toggle-sidebar': t.toggleSidebar }, + scopedSlots: t._u( + [ + { + key: 'top', + fn: function() { + return [t._t('sidebar-top')]; + }, + proxy: !0, + }, + { + key: 'bottom', + fn: function() { + return [t._t('sidebar-bottom')]; + }, + proxy: !0, + }, + ], + null, + !0, + ), + }), + t._v(' '), + t.$page.frontmatter.home + ? a('Home') + : a('Page', { + attrs: { 'sidebar-items': t.sidebarItems }, + scopedSlots: t._u( + [ + { + key: 'top', + fn: function() { + return [t._t('page-top')]; + }, + proxy: !0, + }, + { + key: 'bottom', + fn: function() { + return [t._t('page-bottom')]; + }, + proxy: !0, + }, + ], + null, + !0, + ), + }), + ], + 1, + ); + }, + [], + !1, + null, + null, + null, + ); + e.default = u.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/19.67f92c26.js b/doc-dist/assets/js/19.67f92c26.js new file mode 100644 index 00000000..ffdacd7e --- /dev/null +++ b/doc-dist/assets/js/19.67f92c26.js @@ -0,0 +1,50 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [19], + { + 379: function(t, e, s) { + 'use strict'; + s.r(e); + var n = [ + "There's nothing here.", + 'How did we get here?', + "That's a Four-Oh-Four.", + "Looks like we've got some broken links.", + ], + o = { + methods: { + getMsg: function() { + return n[Math.floor(Math.random() * n.length)]; + }, + }, + }, + i = s(42), + h = Object(i.a)( + o, + 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('RouterLink', { attrs: { to: '/' } }, [this._v('\n Take me home.\n ')]), + ], + 1, + ), + ]); + }, + [], + !1, + null, + null, + null, + ); + e.default = h.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/2.a5de04a4.js b/doc-dist/assets/js/2.a5de04a4.js new file mode 100644 index 00000000..4329cce0 --- /dev/null +++ b/doc-dist/assets/js/2.a5de04a4.js @@ -0,0 +1,2061 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [2], + { + 308: function(t, e, n) { + 'use strict'; + n.d(e, 'd', function() { + return i; + }), + n.d(e, 'a', function() { + return s; + }), + n.d(e, 'i', function() { + return a; + }), + n.d(e, 'f', function() { + return u; + }), + n.d(e, 'g', function() { + return l; + }), + n.d(e, 'h', function() { + return c; + }), + n.d(e, 'b', function() { + return p; + }), + n.d(e, 'e', function() { + return f; + }), + 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 m; + }); + n(23), n(93), n(170), n(96), n(172), n(65), n(43), n(309), n(66), n(310), n(95); + var i = /#.*$/, + r = /\.(md|html)$/, + s = /\/$/, + a = /^[a-z]+:/i; + function o(t) { + return decodeURI(t) + .replace(i, '') + .replace(r, ''); + } + function u(t) { + return a.test(t); + } + function l(t) { + return /^mailto:/.test(t); + } + function c(t) { + return /^tel:/.test(t); + } + function p(t) { + if (u(t)) return t; + var e = t.match(i), + n = e ? e[0] : '', + r = o(t); + return s.test(r) ? t : r + '.html' + n; + } + function f(t, e) { + var n = decodeURIComponent(t.hash), + r = (function(t) { + var e = t.match(i); + if (e) return e[0]; + })(e); + return (!r || n === r) && o(t.path) === o(e); + } + function h(t, e, n) { + if (u(e)) return { type: 'external', path: e }; + n && + (e = (function(t, e, n) { + var i = t.charAt(0); + if ('/' === i) return t; + if ('?' === i || '#' === i) return e + t; + var r = e.split('/'); + (n && r[r.length - 1]) || r.pop(); + for (var s = t.replace(/^\//, '').split('/'), a = 0; a < s.length; a++) { + var o = s[a]; + '..' === o ? r.pop() : '.' !== o && r.push(o); + } + '' !== r[0] && r.unshift(''); + return r.join('/'); + })(e, n)); + for (var i = o(e), r = 0; r < t.length; r++) + if (o(t[r].regularPath) === i) + return Object.assign({}, t[r], { type: 'page', path: p(t[r].path) }); + return ( + console.error('[vuepress] No matching page found for sidebar item "'.concat(e, '"')), {} + ); + } + function d(t, e, n, i) { + var r = n.pages, + s = n.themeConfig, + a = (i && s.locales && s.locales[i]) || s; + if ('auto' === (t.frontmatter.sidebar || a.sidebar || s.sidebar)) return g(t); + var o = a.sidebar || s.sidebar; + if (o) { + var u = (function(t, e) { + if (Array.isArray(e)) return { base: '/', config: e }; + for (var n in e) + if (0 === ((i = t), /(\.html|\/)$/.test(i) ? i : i + '/').indexOf(encodeURI(n))) + return { base: n, config: e[n] }; + var i; + return {}; + })(e, o), + l = u.base, + c = u.config; + return 'auto' === c + ? g(t) + : c + ? c.map(function(t) { + return (function t(e, n, i) { + var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 1; + if ('string' == typeof e) return h(n, e, i); + if (Array.isArray(e)) return Object.assign(h(n, e[0], i), { title: e[1] }); + var s = e.children || []; + return 0 === s.length && e.path + ? Object.assign(h(n, e.path, i), { title: e.title }) + : { + type: 'group', + path: e.path, + title: e.title, + sidebarDepth: e.sidebarDepth, + initialOpenGroupIndex: e.initialOpenGroupIndex, + children: s.map(function(e) { + return t(e, n, i, r + 1); + }), + collapsable: !1 !== e.collapsable, + }; + })(t, r, l); + }) + : []; + } + return []; + } + function g(t) { + var e = v(t.headers || []); + return [ + { + type: 'group', + collapsable: !1, + title: t.title, + path: null, + children: e.map(function(e) { + return { + type: 'auto', + title: e.title, + basePath: t.path, + path: t.path + '#' + e.slug, + children: e.children || [], + }; + }), + }, + ]; + } + function v(t) { + var e; + return ( + (t = t.map(function(t) { + return Object.assign({}, t); + })).forEach(function(t) { + 2 === t.level ? (e = t) : e && (e.children || (e.children = [])).push(t); + }), + t.filter(function(t) { + return 2 === t.level; + }) + ); + } + function m(t) { + return Object.assign(t, { type: t.items && t.items.length ? 'links' : 'link' }); + } + }, + 309: function(t, e, n) { + 'use strict'; + var i = n(167), + r = n(5), + s = n(13), + a = n(22), + o = n(168), + u = n(169); + i('match', 1, function(t, e, n) { + return [ + function(e) { + var n = a(this), + i = null == e ? void 0 : e[t]; + return void 0 !== i ? i.call(e, n) : new RegExp(e)[t](String(n)); + }, + function(t) { + var i = n(e, t, this); + if (i.done) return i.value; + var a = r(t), + l = String(this); + if (!a.global) return u(a, l); + var c = a.unicode; + a.lastIndex = 0; + for (var p, f = [], h = 0; null !== (p = u(a, l)); ) { + var d = String(p[0]); + (f[h] = d), '' === d && (a.lastIndex = o(l, s(a.lastIndex), c)), h++; + } + return 0 === h ? null : f; + }, + ]; + }); + }, + 310: function(t, e, n) { + 'use strict'; + var i = n(167), + r = n(171), + s = n(5), + a = n(22), + o = n(97), + u = n(168), + l = n(13), + c = n(169), + p = n(67), + f = n(1), + h = [].push, + d = Math.min, + g = !f(function() { + return !RegExp(4294967295, 'y'); + }); + i( + 'split', + 2, + function(t, e, n) { + var i; + return ( + (i = + 'c' == 'abbc'.split(/(b)*/)[1] || + 4 != 'test'.split(/(?:)/, -1).length || + 2 != 'ab'.split(/(?:ab)*/).length || + 4 != '.'.split(/(.?)(.?)/).length || + '.'.split(/()()/).length > 1 || + ''.split(/.?/).length + ? function(t, n) { + var i = String(a(this)), + s = void 0 === n ? 4294967295 : n >>> 0; + if (0 === s) return []; + if (void 0 === t) return [i]; + if (!r(t)) return e.call(i, t, s); + for ( + var o, + u, + l, + c = [], + f = + (t.ignoreCase ? 'i' : '') + + (t.multiline ? 'm' : '') + + (t.unicode ? 'u' : '') + + (t.sticky ? 'y' : ''), + d = 0, + g = new RegExp(t.source, f + 'g'); + (o = p.call(g, i)) && + !( + (u = g.lastIndex) > d && + (c.push(i.slice(d, o.index)), + o.length > 1 && o.index < i.length && h.apply(c, o.slice(1)), + (l = o[0].length), + (d = u), + c.length >= s) + ); + + ) + g.lastIndex === o.index && g.lastIndex++; + return ( + d === i.length ? (!l && g.test('')) || c.push('') : c.push(i.slice(d)), + c.length > s ? c.slice(0, s) : c + ); + } + : '0'.split(void 0, 0).length + ? function(t, n) { + return void 0 === t && 0 === n ? [] : e.call(this, t, n); + } + : e), + [ + function(e, n) { + var r = a(this), + s = null == e ? void 0 : e[t]; + return void 0 !== s ? s.call(e, r, n) : i.call(String(r), e, n); + }, + function(t, r) { + var a = n(i, t, this, r, i !== e); + if (a.done) return a.value; + var p = s(t), + f = String(this), + h = o(p, RegExp), + v = p.unicode, + m = + (p.ignoreCase ? 'i' : '') + + (p.multiline ? 'm' : '') + + (p.unicode ? 'u' : '') + + (g ? 'y' : 'g'), + b = new h(g ? p : '^(?:' + p.source + ')', m), + k = void 0 === r ? 4294967295 : r >>> 0; + if (0 === k) return []; + if (0 === f.length) return null === c(b, f) ? [f] : []; + for (var x = 0, _ = 0, C = []; _ < f.length; ) { + b.lastIndex = g ? _ : 0; + var L, + y = c(b, g ? f : f.slice(_)); + if (null === y || (L = d(l(b.lastIndex + (g ? 0 : _)), f.length)) === x) + _ = u(f, _, v); + else { + if ((C.push(f.slice(x, _)), C.length === k)) return C; + for (var $ = 1; $ <= y.length - 1; $++) + if ((C.push(y[$]), C.length === k)) return C; + _ = x = L; + } + } + return C.push(f.slice(x)), C; + }, + ] + ); + }, + !g, + ); + }, + 311: function(t, e, n) { + 'use strict'; + n(166), n(94), n(313); + var i = n(308), + r = { + name: 'NavLink', + props: { item: { required: !0 } }, + computed: { + link: function() { + return Object(i.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; + }, + isNonHttpURI: function() { + return Object(i.g)(this.link) || Object(i.h)(this.link); + }, + isBlankTarget: function() { + return '_blank' === this.target; + }, + isInternal: function() { + return !Object(i.f)(this.link) && !this.isBlankTarget; + }, + target: function() { + return this.isNonHttpURI + ? null + : this.item.target + ? this.item.target + : Object(i.f)(this.link) + ? '_blank' + : ''; + }, + rel: function() { + return this.isNonHttpURI || !1 === this.item.rel + ? null + : this.item.rel + ? this.item.rel + : this.isBlankTarget + ? 'noopener noreferrer' + : null; + }, + }, + methods: { + focusoutAction: function() { + this.$emit('focusout'); + }, + }, + }, + s = n(42), + a = Object(s.a)( + r, + function() { + var t = this, + e = t.$createElement, + n = t._self._c || e; + return t.isInternal + ? n( + 'RouterLink', + { + staticClass: 'nav-link', + attrs: { to: t.link, exact: t.exact }, + nativeOn: { + focusout: function(e) { + return t.focusoutAction(e); + }, + }, + }, + [t._v('\n ' + t._s(t.item.text) + '\n')], + ) + : n( + 'a', + { + staticClass: 'nav-link external', + attrs: { href: t.link, target: t.target, rel: t.rel }, + on: { focusout: t.focusoutAction }, + }, + [ + t._v('\n ' + t._s(t.item.text) + '\n '), + t.isBlankTarget ? n('OutboundLink') : t._e(), + ], + 1, + ); + }, + [], + !1, + null, + null, + null, + ); + e.a = a.exports; + }, + 312: function(t, e) { + t.exports = '\t\n\v\f\r                 \u2028\u2029\ufeff'; + }, + 313: function(t, e, n) { + 'use strict'; + var i = n(0), + r = n(314); + i( + { target: 'String', proto: !0, forced: n(315)('link') }, + { + link: function(t) { + return r(this, 'a', 'href', t); + }, + }, + ); + }, + 314: function(t, e, n) { + var i = n(22), + r = /"/g; + t.exports = function(t, e, n, s) { + var a = String(i(t)), + o = '<' + e; + return ( + '' !== n && (o += ' ' + n + '="' + String(s).replace(r, '"') + '"'), + o + '>' + a + '' + ); + }; + }, + 315: function(t, e, n) { + var i = n(1); + t.exports = function(t) { + return i(function() { + var e = ''[t]('"'); + return e !== e.toLowerCase() || e.split('"').length > 3; + }); + }; + }, + 316: function(t, e, n) { + var i = n(22), + r = '[' + n(312) + ']', + s = RegExp('^' + r + r + '*'), + a = RegExp(r + r + '*$'), + o = function(t) { + return function(e) { + var n = String(i(e)); + return 1 & t && (n = n.replace(s, '')), 2 & t && (n = n.replace(a, '')), n; + }; + }; + t.exports = { start: o(1), end: o(2), trim: o(3) }; + }, + 317: function(t, e, n) { + 'use strict'; + var i = n(0), + r = n(316).trim; + i( + { target: 'String', proto: !0, forced: n(341)('trim') }, + { + trim: function() { + return r(this); + }, + }, + ); + }, + 318: function(t, e, n) { + var i = n(6), + r = n(3), + s = n(100), + a = n(342), + o = n(8).f, + u = n(68).f, + l = n(171), + c = n(104), + p = n(175), + f = n(10), + h = n(1), + d = n(28).set, + g = n(173), + v = n(2)('match'), + m = r.RegExp, + b = m.prototype, + k = /a/g, + x = /a/g, + _ = new m(k) !== k, + C = p.UNSUPPORTED_Y; + if ( + i && + s( + 'RegExp', + !_ || + C || + h(function() { + return (x[v] = !1), m(k) != k || m(x) == x || '/a/i' != m(k, 'i'); + }), + ) + ) { + for ( + var L = function(t, e) { + var n, + i = this instanceof L, + r = l(t), + s = void 0 === e; + if (!i && r && t.constructor === L && s) return t; + _ + ? r && !s && (t = t.source) + : t instanceof L && (s && (e = c.call(t)), (t = t.source)), + C && (n = !!e && e.indexOf('y') > -1) && (e = e.replace(/y/g, '')); + var o = a(_ ? new m(t, e) : m(t, e), i ? this : b, L); + return C && n && d(o, { sticky: n }), o; + }, + y = function(t) { + (t in L) || + o(L, t, { + configurable: !0, + get: function() { + return m[t]; + }, + set: function(e) { + m[t] = e; + }, + }); + }, + $ = u(m), + w = 0; + $.length > w; + + ) + y($[w++]); + (b.constructor = L), (L.prototype = b), f(r, 'RegExp', L); + } + g('RegExp'); + }, + 319: function(t, e, n) {}, + 320: function(t, e, n) {}, + 321: function(t, e, n) {}, + 322: function(t, e, n) {}, + 323: function(t, e, n) {}, + 324: function(t, e, n) {}, + 325: function(t, e) { + t.exports = function(t) { + return null == t; + }; + }, + 326: function(t, e, n) {}, + 327: function(t, e, n) {}, + 328: function(t, e, n) {}, + 329: function(t, e, n) {}, + 330: function(t, e, n) {}, + 331: function(t, e, n) {}, + 336: function(t, e, n) { + 'use strict'; + n.r(e); + n(166); + var i = n(308), + r = { + name: 'SidebarGroup', + components: { DropdownTransition: n(338).a }, + props: ['item', 'open', 'collapsable', 'depth'], + beforeCreate: function() { + this.$options.components.SidebarLinks = n(336).default; + }, + methods: { isActive: i.e }, + }, + s = (n(354), n(42)), + a = Object(s.a)( + r, + 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( + 'RouterLink', + { + 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, + 'sidebar-depth': t.item.sidebarDepth, + 'initial-open-group-index': t.item.initialOpenGroupIndex, + depth: t.depth + 1, + }, + }) + : t._e(), + ], + 1, + ), + ], + 1, + ); + }, + [], + !1, + null, + null, + null, + ).exports; + n(355), n(65); + function o(t, e, n, i, r) { + var s = { + props: { to: e, activeClass: '', exactActiveClass: '' }, + class: { active: i, 'sidebar-link': !0 }, + }; + return r > 2 && (s.style = { 'padding-left': r + 'rem' }), t('RouterLink', s, n); + } + function u(t, e, n, r, s) { + var a = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 1; + return !e || a > s + ? null + : t( + 'ul', + { class: 'sidebar-sub-headers' }, + e.map(function(e) { + var l = Object(i.e)(r, n + '#' + e.slug); + return t('li', { class: 'sidebar-sub-header' }, [ + o(t, n + '#' + e.slug, e.title, l, e.level - 1), + u(t, e.children, n, r, s, a + 1), + ]); + }), + ); + } + var l = { + functional: !0, + props: ['item', 'sidebarDepth'], + render: function(t, e) { + var n = e.parent, + r = n.$page, + s = (n.$site, n.$route), + a = n.$themeConfig, + l = n.$themeLocaleConfig, + c = e.props, + p = c.item, + f = c.sidebarDepth, + h = Object(i.e)(s, p.path), + d = + 'auto' === p.type + ? h || + p.children.some(function(t) { + return Object(i.e)(s, p.basePath + '#' + t.slug); + }) + : h, + g = + 'external' === p.type + ? (function(t, e, n) { + return t( + 'a', + { + attrs: { href: e, target: '_blank', rel: 'noopener noreferrer' }, + class: { 'sidebar-link': !0 }, + }, + [n, t('OutboundLink')], + ); + })(t, p.path, p.title || p.path) + : o(t, p.path, p.title || p.path, d), + v = [r.frontmatter.sidebarDepth, f, l.sidebarDepth, a.sidebarDepth, 1].find(function( + t, + ) { + return void 0 !== t; + }), + m = l.displayAllHeaders || a.displayAllHeaders; + return 'auto' === p.type + ? [g, u(t, p.children, p.basePath, s, v)] + : (d || m) && p.headers && !i.d.test(p.path) + ? [g, u(t, Object(i.c)(p.headers), p.path, s, v)] + : g; + }, + }; + n(356); + function c(t, e) { + return ( + 'group' === e.type && + e.children.some(function(e) { + return 'group' === e.type ? c(t, e) : 'page' === e.type && Object(i.e)(t, e.path); + }) + ); + } + var p = { + name: 'SidebarLinks', + components: { + SidebarGroup: a, + SidebarLink: Object(s.a)(l, void 0, void 0, !1, null, null, null).exports, + }, + props: ['items', 'depth', 'sidebarDepth', 'initialOpenGroupIndex'], + data: function() { + return { openGroupIndex: this.initialOpenGroupIndex || 0 }; + }, + watch: { + $route: function() { + this.refreshIndex(); + }, + }, + created: function() { + this.refreshIndex(); + }, + methods: { + refreshIndex: function() { + var t = (function(t, e) { + for (var n = 0; n < e.length; n++) { + var i = e[n]; + if (c(t, i)) 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(i.e)(this.$route, t.regularPath); + }, + }, + }, + f = Object(s.a)( + p, + 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, i) { + return n( + 'li', + { key: i }, + [ + 'group' === e.type + ? n('SidebarGroup', { + attrs: { + item: e, + open: i === t.openGroupIndex, + collapsable: e.collapsable || e.collapsible, + depth: t.depth, + }, + on: { + toggle: function(e) { + return t.toggleGroup(i); + }, + }, + }) + : n('SidebarLink', { + attrs: { 'sidebar-depth': t.sidebarDepth, item: e }, + }), + ], + 1, + ); + }), + 0, + ) + : t._e(); + }, + [], + !1, + null, + null, + null, + ); + e.default = f.exports; + }, + 337: function(t, e, n) { + 'use strict'; + n(177), n(65), n(166), n(94), n(318), n(43), n(98), n(309), n(66); + var i = n(40), + r = n(311), + s = n(338), + a = n(179), + o = n.n(a), + u = { + name: 'DropdownLink', + components: { NavLink: r.a, DropdownTransition: s.a }, + props: { item: { required: !0 } }, + data: function() { + return { open: !1 }; + }, + computed: { + dropdownAriaLabel: function() { + return this.item.ariaLabel || this.item.text; + }, + }, + watch: { + $route: function() { + this.open = !1; + }, + }, + methods: { + setOpen: function(t) { + this.open = t; + }, + isLastItemOfArray: function(t, e) { + return o()(e) === t; + }, + handleDropdown: function() { + 0 === event.detail && this.setOpen(!this.open); + }, + }, + }, + l = (n(347), n(42)), + c = Object(l.a)( + u, + 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.handleDropdown }, + }, + [ + n('span', { staticClass: 'title' }, [t._v(t._s(t.item.text))]), + t._v(' '), + n('span', { staticClass: 'arrow down' }), + ], + ), + t._v(' '), + n( + 'button', + { + staticClass: 'mobile-dropdown-title', + attrs: { type: 'button', 'aria-label': t.dropdownAriaLabel }, + on: { + click: function(e) { + return t.setOpen(!t.open); + }, + }, + }, + [ + 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, i) { + return n( + 'li', + { key: e.link || i, staticClass: 'dropdown-item' }, + [ + 'links' === e.type + ? n('h4', [t._v('\n ' + t._s(e.text) + '\n ')]) + : t._e(), + t._v(' '), + 'links' === e.type + ? n( + 'ul', + { staticClass: 'dropdown-subitem-wrapper' }, + t._l(e.items, function(i) { + return n( + 'li', + { key: i.link, staticClass: 'dropdown-subitem' }, + [ + n('NavLink', { + attrs: { item: i }, + on: { + focusout: function(n) { + t.isLastItemOfArray(i, e.items) && + t.isLastItemOfArray(e, t.item.items) && + t.setOpen(!1); + }, + }, + }), + ], + 1, + ); + }), + 0, + ) + : n('NavLink', { + attrs: { item: e }, + on: { + focusout: function(n) { + t.isLastItemOfArray(e, t.item.items) && t.setOpen(!1); + }, + }, + }), + ], + 1, + ); + }), + 0, + ), + ]), + ], + 1, + ); + }, + [], + !1, + null, + null, + null, + ).exports, + p = n(308), + f = { + name: 'NavLinks', + components: { NavLink: r.a, DropdownLink: c }, + 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, + s = this.$site.themeConfig.locales || {}, + a = { + text: this.$themeLocaleConfig.selectText || 'Languages', + ariaLabel: this.$themeLocaleConfig.ariaLabel || 'Select language', + items: Object.keys(e).map(function(i) { + var a, + o = e[i], + u = (s[i] && s[i].label) || o.lang; + return ( + o.lang === t.$lang + ? (a = n) + : ((a = n.replace(t.$localeConfig.path, i)), + r.some(function(t) { + return t.path === a; + }) || (a = i)), + { text: u, link: a } + ); + }), + }; + return [].concat(Object(i.a)(this.userNav), [a]); + } + return this.userNav; + }, + userLinks: function() { + return (this.nav || []).map(function(t) { + return Object.assign(Object(p.j)(t), { items: (t.items || []).map(p.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 i = e[n]; + if (new RegExp(i, 'i').test(t)) return i; + } + return 'Source'; + } + }, + }, + }, + h = + (n(348), + Object(l.a)( + f, + 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, + )); + e.a = h.exports; + }, + 338: function(t, e, n) { + 'use strict'; + var i = { + name: 'DropdownTransition', + methods: { + setHeight: function(t) { + t.style.height = t.scrollHeight + 'px'; + }, + unsetHeight: function(t) { + t.style.height = ''; + }, + }, + }, + r = (n(346), n(42)), + s = Object(r.a)( + i, + 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 = s.exports; + }, + 339: function(t, e, n) { + var i = n(0), + r = n(340); + i({ global: !0, forced: parseInt != r }, { parseInt: r }); + }, + 340: function(t, e, n) { + var i = n(3), + r = n(316).trim, + s = n(312), + a = i.parseInt, + o = /^[+-]?0[Xx]/, + u = 8 !== a(s + '08') || 22 !== a(s + '0x16'); + t.exports = u + ? function(t, e) { + var n = r(String(t)); + return a(n, e >>> 0 || (o.test(n) ? 16 : 10)); + } + : a; + }, + 341: function(t, e, n) { + var i = n(1), + r = n(312); + t.exports = function(t) { + return i(function() { + return !!r[t]() || '​…᠎' != '​…᠎'[t]() || r[t].name !== t; + }); + }; + }, + 342: function(t, e, n) { + var i = n(4), + r = n(101); + t.exports = function(t, e, n) { + var s, a; + return ( + r && + 'function' == typeof (s = e.constructor) && + s !== n && + i((a = s.prototype)) && + a !== n.prototype && + r(t, a), + t + ); + }; + }, + 343: function(t, e, n) { + 'use strict'; + var i, + r = n(0), + s = n(24).f, + a = n(13), + o = n(102), + u = n(22), + l = n(103), + c = n(19), + p = ''.endsWith, + f = Math.min, + h = l('endsWith'); + r( + { + target: 'String', + proto: !0, + forced: !!(c || h || ((i = s(String.prototype, 'endsWith')), !i || i.writable)) && !h, + }, + { + endsWith: function(t) { + var e = String(u(this)); + o(t); + var n = arguments.length > 1 ? arguments[1] : void 0, + i = a(e.length), + r = void 0 === n ? i : f(a(n), i), + s = String(t); + return p ? p.call(e, s, r) : e.slice(r - s.length, r) === s; + }, + }, + ); + }, + 344: function(t, e, n) { + 'use strict'; + n(319); + }, + 345: function(t, e, n) { + 'use strict'; + n(320); + }, + 346: function(t, e, n) { + 'use strict'; + n(321); + }, + 347: function(t, e, n) { + 'use strict'; + n(322); + }, + 348: function(t, e, n) { + 'use strict'; + n(323); + }, + 349: function(t, e, n) { + 'use strict'; + n(324); + }, + 350: function(t, e, n) { + 'use strict'; + n(326); + }, + 351: function(t, e, n) { + var i = n(30), + r = n(14), + s = n(25); + t.exports = function(t) { + return 'string' == typeof t || (!r(t) && s(t) && '[object String]' == i(t)); + }; + }, + 352: function(t, e, n) { + 'use strict'; + n(327); + }, + 353: function(t, e, n) { + 'use strict'; + n(328); + }, + 354: function(t, e, n) { + 'use strict'; + n(329); + }, + 355: function(t, e, n) { + 'use strict'; + var i = n(0), + r = n(29).find, + s = n(99), + a = n(17), + o = !0, + u = a('find'); + 'find' in [] && + Array(1).find(function() { + o = !1; + }), + i( + { target: 'Array', proto: !0, forced: o || !u }, + { + find: function(t) { + return r(this, t, arguments.length > 1 ? arguments[1] : void 0); + }, + }, + ), + s('find'); + }, + 356: function(t, e, n) { + 'use strict'; + n(330); + }, + 357: function(t, e, n) { + 'use strict'; + n(331); + }, + 376: function(t, e, n) { + 'use strict'; + n(339), + n(23), + n(174), + n(170), + n(96), + n(43), + n(176), + n(309), + n(317), + n(172), + n(65), + n(166), + n(318), + n(98), + n(343), + n(66), + n(310); + var i = n(178), + r = n.n(i), + s = function(t, e) { + var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, + i = r()(e, 'title', ''); + return ( + r()(e, 'frontmatter.tags') && (i += ' '.concat(e.frontmatter.tags.join(' '))), + n && (i += ' '.concat(n)), + a(t, i) + ); + }, + a = function(t, e) { + var n = function(t) { + return t.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&'); + }, + i = new RegExp('[^\0-]'), + r = t + .split(/\s+/g) + .map(function(t) { + return t.trim(); + }) + .filter(function(t) { + return !!t; + }); + if (i.test(t)) + return r.some(function(t) { + return e.toLowerCase().indexOf(t) > -1; + }); + var s = t.endsWith(' '); + return new RegExp( + r + .map(function(t, e) { + return r.length !== e + 1 || s + ? '(?=.*\\b'.concat(n(t), '\\b)') + : '(?=.*\\b'.concat(n(t), ')'); + }) + .join('') + '.+', + 'gi', + ).test(e); + }, + o = { + name: 'SearchBox', + data: function() { + return { query: '', focused: !1, focusIndex: 0, placeholder: void 0 }; + }, + 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, + i = this.$localePath, + r = [], + a = 0; + a < e.length && !(r.length >= n); + a++ + ) { + var o = e[a]; + if (this.getPageLocalePath(o) === i && this.isSearchable(o)) + if (s(t, o)) r.push(o); + else if (o.headers) + for (var u = 0; u < o.headers.length && !(r.length >= n); u++) { + var l = o.headers[u]; + l.title && + s(t, o, l.title) && + r.push(Object.assign({}, o, { path: o.path + '#' + l.slug, header: l })); + } + } + return r; + } + }, + alignRight: function() { + return (this.$site.themeConfig.nav || []).length + (this.$site.repo ? 1 : 0) <= 2; + }, + }, + mounted: function() { + (this.placeholder = this.$site.themeConfig.searchPlaceholder || ''), + document.addEventListener('keydown', this.onHotkey); + }, + beforeDestroy: function() { + document.removeEventListener('keydown', this.onHotkey); + }, + 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; + }, + }, + }, + u = (n(344), n(42)), + l = Object(u.a)( + o, + 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, i) { + return n( + 'li', + { + key: i, + staticClass: 'suggestion', + class: { focused: i === t.focusIndex }, + on: { + mousedown: function(e) { + return t.go(i); + }, + mouseenter: function(e) { + return t.focus(i); + }, + }, + }, + [ + 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; + n(345); + function c(t, e) { + return t.ownerDocument.defaultView.getComputedStyle(t, null)[e]; + } + var p = { + name: 'Navbar', + components: { + SidebarButton: Object(u.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, + NavLinks: n(337).a, + SearchBox: l, + AlgoliaSearchBox: {}, + }, + data: function() { + return { linksWrapMaxWidth: null }; + }, + computed: { + algolia: function() { + return this.$themeLocaleConfig.algolia || this.$site.themeConfig.algolia || {}; + }, + isAlgoliaSearch: function() { + return this.algolia && this.algolia.apiKey && this.algolia.indexName; + }, + }, + mounted: function() { + var t = this, + e = parseInt(c(this.$el, 'paddingLeft')) + parseInt(c(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); + }, + }, + f = + (n(349), + Object(u.a)( + p, + 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('RouterLink', { 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, + )); + e.a = f.exports; + }, + 377: function(t, e, n) { + 'use strict'; + n(43), n(66); + var i = n(325), + r = n.n(i), + s = n(308), + a = { + 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 = r()(this.$page.frontmatter.editLink) + ? this.$site.themeConfig.editLinks + : this.$page.frontmatter.editLink, + e = this.$site.themeConfig, + n = e.repo, + i = e.docsDir, + s = void 0 === i ? '' : i, + a = e.docsBranch, + o = void 0 === a ? 'master' : a, + u = e.docsRepo, + l = void 0 === u ? n : u; + return t && l && this.$page.relativePath + ? this.createEditLink(n, l, s, o, this.$page.relativePath) + : null; + }, + editLinkText: function() { + return ( + this.$themeLocaleConfig.editLinkText || + this.$site.themeConfig.editLinkText || + 'Edit this page' + ); + }, + }, + methods: { + createEditLink: function(t, e, n, i, r) { + if (/bitbucket.org/.test(e)) + return ( + e.replace(s.a, '') + + '/src' + + '/'.concat(i, '/') + + (n ? n.replace(s.a, '') + '/' : '') + + r + + '?mode=edit&spa=0&at='.concat(i, '&fileviewer=file-view-default') + ); + return /gitlab.com/.test(e) + ? e.replace(s.a, '') + + '/-/edit' + + '/'.concat(i, '/') + + (n ? n.replace(s.a, '') + '/' : '') + + r + : (s.i.test(e) ? e : 'https://github.com/'.concat(e)).replace(s.a, '') + + '/edit' + + '/'.concat(i, '/') + + (n ? n.replace(s.a, '') + '/' : '') + + r; + }, + }, + }, + o = (n(350), n(42)), + u = Object(o.a)( + a, + 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, + l = n(351), + c = n.n(l), + p = { + name: 'PageNav', + props: ['sidebarItems'], + computed: { + prev: function() { + return h(f.PREV, this); + }, + next: function() { + return h(f.NEXT, this); + }, + }, + }; + var f = { + 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 h(t, e) { + var n = e.$themeConfig, + i = e.$page, + a = e.$route, + o = e.$site, + u = e.sidebarItems, + l = t.resolveLink, + p = t.getThemeLinkConfig, + f = t.getPageLinkConfig, + h = p(n), + d = f(i), + g = r()(d) ? h : d; + return !1 === g ? void 0 : c()(g) ? Object(s.k)(o.pages, g, a.path) : l(i, u); + } + function d(t, e, n) { + var i = []; + !(function t(e, n) { + for (var i = 0, r = e.length; i < r; i++) + 'group' === e[i].type ? t(e[i].children || [], n) : n.push(e[i]); + })(e, i); + for (var r = 0; r < i.length; r++) { + var s = i[r]; + if ('page' === s.type && s.path === decodeURIComponent(t.path)) return i[r + n]; + } + } + var g = p, + v = + (n(352), + { + components: { + PageEdit: u, + PageNav: Object(o.a)( + g, + 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 '), + 'external' === t.prev.type + ? n( + 'a', + { + staticClass: 'prev', + attrs: { + href: t.prev.path, + target: '_blank', + rel: 'noopener noreferrer', + }, + }, + [ + t._v( + '\n ' + + t._s(t.prev.title || t.prev.path) + + '\n\n ', + ), + n('OutboundLink'), + ], + 1, + ) + : n( + 'RouterLink', + { staticClass: 'prev', attrs: { to: t.prev.path } }, + [ + t._v( + '\n ' + + t._s(t.prev.title || t.prev.path) + + '\n ', + ), + ], + ), + ], + 1, + ) + : t._e(), + t._v(' '), + t.next + ? n( + 'span', + { staticClass: 'next' }, + [ + 'external' === t.next.type + ? n( + 'a', + { + attrs: { + href: t.next.path, + target: '_blank', + rel: 'noopener noreferrer', + }, + }, + [ + t._v( + '\n ' + + t._s(t.next.title || t.next.path) + + '\n\n ', + ), + n('OutboundLink'), + ], + 1, + ) + : n('RouterLink', { attrs: { to: t.next.path } }, [ + t._v( + '\n ' + + t._s(t.next.title || t.next.path) + + '\n ', + ), + ]), + t._v('\n →\n '), + ], + 1, + ) + : t._e(), + ]), + ]) + : t._e(); + }, + [], + !1, + null, + null, + null, + ).exports, + }, + props: ['sidebarItems'], + }), + m = + (n(353), + Object(o.a)( + v, + 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, + )); + e.a = m.exports; + }, + 378: function(t, e, n) { + 'use strict'; + var i = n(336), + r = n(337), + s = { + name: 'Sidebar', + components: { SidebarLinks: i.default, NavLinks: r.a }, + props: ['items'], + }, + a = (n(357), n(42)), + o = Object(a.a)( + s, + 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, + ); + e.a = o.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/20.1245cec2.js b/doc-dist/assets/js/20.1245cec2.js new file mode 100644 index 00000000..5d4dc649 --- /dev/null +++ b/doc-dist/assets/js/20.1245cec2.js @@ -0,0 +1,25 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [20], + { + 387: function(t, e, n) { + 'use strict'; + n.r(e); + var s = n(42), + l = Object(s.a)( + {}, + function() { + var t = this.$createElement; + return (this._self._c || t)('ContentSlotsDistributor', { + attrs: { 'slot-key': this.$parent.slotKey }, + }); + }, + [], + !1, + null, + null, + null, + ); + e.default = l.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/21.d021ac57.js b/doc-dist/assets/js/21.d021ac57.js new file mode 100644 index 00000000..317e758c --- /dev/null +++ b/doc-dist/assets/js/21.d021ac57.js @@ -0,0 +1,26 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [21], + { + 386: function(t, e, n) { + 'use strict'; + n.r(e); + var s = n(42), + l = Object(s.a)( + {}, + function() { + var t = this.$createElement, + e = this._self._c || t; + return e('ContentSlotsDistributor', { attrs: { 'slot-key': this.$parent.slotKey } }, [ + e('p', [this._v('正在建设中...')]), + ]); + }, + [], + !1, + null, + null, + null, + ); + e.default = l.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/22.eb3fcb45.js b/doc-dist/assets/js/22.eb3fcb45.js new file mode 100644 index 00000000..020aae3a --- /dev/null +++ b/doc-dist/assets/js/22.eb3fcb45.js @@ -0,0 +1,311 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [22], + { + 385: function(t, s, a) { + 'use strict'; + a.r(s); + var n = a(42), + 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: 'dsl设计' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#dsl设计' } }, [t._v('#')]), + t._v(' DSL设计'), + ]), + t._v(' '), + a('p', [ + t._v( + 'DSL层主要约定了Dooring组件的数据协议,包括组件的可编辑属性、编辑类型、初始值等,之所以定义一致的协议层,主要是方便后期的组件扩展,配置后移,有助于不同后端语言开发和数据存储,接下来我们看看header组件的schema。', + ), + ]), + t._v(' '), + a('p', [t._v('1.editData 可编辑的属性类型DSL')]), + t._v(' '), + a('p', [t._v('2.config 可编辑组件的默认属性')]), + t._v(' '), + a('div', { staticClass: 'language-js extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-js' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' Header'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' IHeaderSchema '), + 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 editData'), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n key'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'bgColor'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'背景色'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n type'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'Color'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 key'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'height'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'高度'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n type'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'Number'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 key'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'logo'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'logo'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n type'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'Upload'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n isCrop'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token boolean' } }, [t._v('true')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n cropRate'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('1000')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('/')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('618')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 key'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'logoText'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'logo文字'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n type'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'Text'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 key'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'color'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'文字颜色'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n type'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'Color'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 key'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'fontSize'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'文字大小'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n type'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'Number'")]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n config'), + 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 bgColor'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'rgba(245,245,245,1)'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n logo'), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n uid'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'001'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'image.png'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n status'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'done'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n url'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token template-string' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token template-punctuation string' } }, + [t._v('`')], + ), + a('span', { pre: !0, attrs: { class: 'token interpolation' } }, [ + a( + 'span', + { + pre: !0, + attrs: { class: 'token interpolation-punctuation punctuation' }, + }, + [t._v('${')], + ), + t._v('serverUrl'), + a( + 'span', + { + pre: !0, + attrs: { class: 'token interpolation-punctuation punctuation' }, + }, + [t._v('}')], + ), + ]), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('/uploads/3_1740be8a482.png'), + ]), + a( + 'span', + { pre: !0, attrs: { class: 'token template-punctuation string' } }, + [t._v('`')], + ), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n logoText'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'页头Header'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n fontSize'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('20')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n color'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'rgba(47,84,235,1)'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n height'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('50')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n'), + ]), + ]), + ]), + a('p', [ + t._v( + '由以上代码可知,我们可以在editData属性中给组件添加可编辑的属性,比如背景图,然后再component中接受属性从而设置样式。', + ), + ]), + t._v(' '), + a('p', [ + t._v( + '在config属性中,我们可以设置组件默认属性值,和editData中每一项的key一一对应。', + ), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + s.default = r.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/23.1324e643.js b/doc-dist/assets/js/23.1324e643.js new file mode 100644 index 00000000..80556533 --- /dev/null +++ b/doc-dist/assets/js/23.1324e643.js @@ -0,0 +1,824 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [23], + { + 384: function(t, s, a) { + 'use strict'; + a.r(s); + var n = a(42), + e = 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: '#组件结构' } }, [t._v('#')]), + t._v(' 组件结构'), + ]), + t._v(' '), + a('p', [t._v('dooring的组件设计包含以下3个部分组件:')]), + t._v(' '), + a('p', [t._v('1、component 组件主体')]), + t._v(' '), + a('p', [t._v('2、schema 组件的DSL,结构协议层')]), + t._v(' '), + a('p', [t._v('3、template 定义了组件的类型、外观、从属关系,后期考虑纳入schema')]), + t._v(' '), + a('p', [ + t._v( + '接下来我会介绍一个基本的组件主体设计,以为template设计,在下一章会具体介绍schema部分。', + ), + ]), + t._v(' '), + a('h2', { attrs: { id: '组件设计' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#组件设计' } }, [t._v('#')]), + t._v(' 组件设计'), + ]), + t._v(' '), + a('p', [t._v('我们这里拿基本的header组件来举例,如下是header组件的代码:')]), + t._v(' '), + a('div', { staticClass: 'language-jsx extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-jsx' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('interface')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token class-name' } }, [ + t._v('HeaderPropTypes'), + ]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('extends')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token class-name' } }, [ + t._v('IHeaderConfig'), + ]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n isTpl'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' boolean'), + 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\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' Header '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('memo')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token parameter' } }, [ + t._v('props'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' HeaderPropTypes'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + 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 '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v(' bgColor'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' logo'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' logoText'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' fontSize'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' color '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' props'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('return')]), + t._v(' props'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('isTpl '), + 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 '), + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('<')]), + t._v('div'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('>')]), + ]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [ + t._v('\n < img style='), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('width'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'100%'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [t._v(' src=')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('logos'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [ + t._v(' alt="" />\n '), + ]), + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + 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(' '), + 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 '), + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('<')]), + t._v('header'), + ]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('className'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('styles'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('header'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [t._v('style')]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v(' backgroundColor'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' bgColor '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('>')]), + ]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [ + t._v('\n '), + ]), + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('<')]), + t._v('div'), + ]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('className'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('styles'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('logo'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('>')]), + ]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [ + t._v('\n < img src='), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('logo '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('&&')]), + t._v(' logo'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('[')]), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('0')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('url'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [t._v(' alt=')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('logoText'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [ + t._v(' />\n '), + ]), + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('')]), + ]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [ + t._v('\n '), + ]), + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('<')]), + t._v('div'), + ]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('className'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('styles'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('title'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [t._v('style')]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v(' fontSize'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' color '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('>')]), + ]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [ + t._v('\n '), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('logoText'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [ + t._v('\n '), + ]), + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('')]), + ]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [t._v('\n ')]), + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n'), + ]), + ]), + ]), + a('p', [ + t._v( + '我们只需要按照上面的方式编写组件即可,props是DSL定义的数据层,用来控制组件的shape,也就是组件的表现。我们看看header对应的template。', + ), + ]), + t._v(' '), + a('h2', { attrs: { id: 'template设计' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#template设计' } }, [ + t._v('#'), + ]), + t._v(' template设计'), + ]), + t._v(' '), + a('div', { staticClass: 'language-js extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-js' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' template '), + 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 type'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'Header'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n h'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('28')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n displayName'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'页头组件'")]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('export')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('default')]), + t._v(' template'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n'), + ]), + ]), + ]), + a('p', [ + t._v( + '以上就是我们template的结构,type用来定义组件的类型,方便渲染器动态查找,h代表组件的初始化高度,我们可以自由设置。displayName是组件的中文名,用来在左侧组件面板中展示,方便用户理解,我们可以在template中自定义更多辅助信息,方便使用者更高效的使用我们的编辑器。', + ), + ]), + t._v(' '), + a('h2', { attrs: { id: 'schema设计' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#schema设计' } }, [ + t._v('#'), + ]), + t._v(' schema设计'), + ]), + t._v(' '), + a('p', [ + t._v('开发一个自定义组件需要包含3部分, '), + a('code', [t._v('Component')]), + t._v(', '), + a('code', [t._v('Schema')]), + t._v(' 和 '), + a('code', [t._v('Template')]), + t._v('. 接下来我们看一下 '), + a('code', [t._v('Header')]), + t._v(' 组件的 '), + a('code', [t._v('Schema')]), + t._v('.'), + ]), + t._v(' '), + a('div', { staticClass: 'language-js extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-js' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('import')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n IColorConfigType'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n INumberConfigType'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n ITextConfigType'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n IUploadConfigType'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n TColorDefaultType'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n TNumberDefaultType'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n TTextDefaultType'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n TUploadDefaultType'), + 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(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('from')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'@/components/FormComponents/types'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('import')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v(' baseConfig'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' baseDefault'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' ICommonBaseType '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('from')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'../../common'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('export')]), + t._v(' type THeaderEditData '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' Array'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('<')]), + t._v('\n IColorConfigType '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('|')]), + t._v(' INumberConfigType '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('|')]), + t._v(' IUploadConfigType '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('|')]), + t._v(' ITextConfigType\n'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('>')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('export')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('interface')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token class-name' } }, [ + t._v('IHeaderConfig'), + ]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('extends')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token class-name' } }, [ + t._v('ICommonBaseType'), + ]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n bgColor'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' TColorDefaultType'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n logo'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' TUploadDefaultType'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n logoText'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' TTextDefaultType'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n fontSize'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' TNumberDefaultType'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n color'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' TColorDefaultType'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n height'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' TNumberDefaultType'), + 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\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('export')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('interface')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token class-name' } }, [ + t._v('IHeaderSchema'), + ]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n editData'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' THeaderEditData'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n config'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' IHeaderConfig'), + 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\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' Header'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' IHeaderSchema '), + 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 editData'), + 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 '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]), + t._v('baseConfig'), + 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 key'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'bgColor'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'背景色'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n type'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'Color'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 key'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'height'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'高度'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n type'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'Number'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 key'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'logo'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'logo'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n type'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'Upload'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n isCrop'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token boolean' } }, [t._v('true')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n cropRate'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('1000')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('/')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('618')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 key'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'logoText'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'logo文字'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n type'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'Text'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 key'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'color'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'文字颜色'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n type'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'Color'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 key'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'fontSize'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'文字大小'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n type'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'Number'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n config'), + 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 bgColor'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'rgba(0,0,0,1)'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n logo'), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n uid'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'001'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'image.png'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n status'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'done'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n url'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'http://49.234.61.19/uploads/3_1740be8a482.png'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n logoText'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'页头Header'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n fontSize'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('20')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n color'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'rgba(255,255,255,1)'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n height'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('50')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]), + t._v('baseDefault'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('export')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('default')]), + t._v(' Header'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n'), + ]), + ]), + ]), + a('p', [ + a('code', [t._v('editData')]), + t._v('表示组件的可编辑属性, 我们可以自定义哪些组件可编辑. '), + a('code', [t._v('config')]), + t._v('为组件接收的属性, 和'), + a('code', [t._v('editData')]), + t._v('数组项中的'), + a('code', [t._v('key')]), + t._v('一一对应.'), + ]), + t._v(' '), + a('h3', { attrs: { id: '组件编辑区属性类型' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#组件编辑区属性类型' } }, [ + t._v('#'), + ]), + t._v(' 组件编辑区属性类型'), + ]), + t._v(' '), + a('p', [a('code', [t._v('Dooring')]), t._v('组件编辑面板有如下对应编辑类型:')]), + t._v(' '), + a('ul', [ + a('li', [t._v('Upload 上传组件')]), + t._v(' '), + a('li', [t._v('Text 文本框')]), + t._v(' '), + a('li', [t._v('RichText 富文本')]), + t._v(' '), + a('li', [t._v('TextArea 多行文本')]), + t._v(' '), + a('li', [t._v('Number 数字输入框')]), + t._v(' '), + a('li', [t._v('DataList 列表编辑器')]), + t._v(' '), + a('li', [t._v('FileList 文件列表编辑器')]), + t._v(' '), + a('li', [t._v('InteractionData 交互设置')]), + t._v(' '), + a('li', [t._v('Color 颜色面板')]), + t._v(' '), + a('li', [t._v('MutiText 多文本')]), + t._v(' '), + a('li', [t._v('Select 选择下拉框')]), + t._v(' '), + a('li', [t._v('Radio 单选框')]), + t._v(' '), + a('li', [t._v('Switch 开关切换')]), + t._v(' '), + a('li', [t._v('CardPicker 卡片面板')]), + t._v(' '), + a('li', [t._v('Table 表格编辑器')]), + t._v(' '), + a('li', [t._v('Pos 坐标编辑器')]), + t._v(' '), + a('li', [t._v('FormItems 表单设计器')]), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + s.default = e.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/24.2ab45118.js b/doc-dist/assets/js/24.2ab45118.js new file mode 100644 index 00000000..cca52030 --- /dev/null +++ b/doc-dist/assets/js/24.2ab45118.js @@ -0,0 +1,2270 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [24], + { + 388: function(t, s, a) { + 'use strict'; + a.r(s); + var n = a(42), + 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('p', [ + a('strong', [t._v('H5-Dooring')]), + t._v('后端部分主要使用 '), + a('code', [t._v('Nodejs')]), + t._v( + ' 开发, 为了满足更多定制化需求和服务的可移植性, 特意编写了API接口文档,\n方便大家使用不同的后端语言实现服务接入.', + ), + ]), + t._v(' '), + a('ul', [a('li', [t._v('注意: 接口统一前缀为'), a('code', [t._v('/api/v0')])])]), + t._v(' '), + a('h2', { attrs: { id: '用户相关' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#用户相关' } }, [t._v('#')]), + t._v(' 用户相关'), + ]), + t._v(' '), + a('h3', { attrs: { id: '用户登录' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#用户登录' } }, [t._v('#')]), + t._v(' 用户登录'), + ]), + t._v(' '), + a('p', [t._v('用户登录接口')]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('POST')]), t._v(' /vip/check')])]), + t._v(' '), + a('table', [ + a('thead', [ + a('tr', [ + a('th', [t._v('参数名')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('是否必选')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('类型')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'right' } }, [t._v('说明')]), + ]), + ]), + t._v(' '), + a('tbody', [ + a('tr', [ + a('td', [t._v('n')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('用户名')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('co')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('密码')]), + ]), + ]), + ]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"result"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"n"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"test"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' \n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"od"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('[')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' \n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"h5"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"t"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"23242ED"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"n"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"测试页面"')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' \n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"rp"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"AAAAA"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' \n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"maxage"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('300000')]), + t._v(' \n '), + 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'), + ]), + ]), + ]), + a('h3', { attrs: { id: '注销登录' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#注销登录' } }, [t._v('#')]), + t._v(' 注销登录'), + ]), + t._v(' '), + a('p', [t._v('注销接口')]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('POST')]), t._v(' /vip/checkout')])]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v(' \n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"result"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token null keyword' } }, [t._v('null')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' \n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"msg"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"退出成功"')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n'), + ]), + ]), + ]), + a('h3', { attrs: { id: '权限控制' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#权限控制' } }, [t._v('#')]), + t._v(' 权限控制'), + ]), + t._v(' '), + a('p', [ + t._v( + '不同用户级别所访问的页面权限不同, 这块可结合服务端已有代码设计属于自己的权限字段, 地址为', + ), + a('code', [t._v('server/src/router')]), + ]), + t._v(' '), + a('h3', { attrs: { id: '用户列表' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#用户列表' } }, [t._v('#')]), + t._v(' 用户列表'), + ]), + t._v(' '), + a('p', [t._v('获取用户列表接口')]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('GET')]), t._v(' /vip/all')])]), + t._v(' '), + a('p', [t._v('获取用户列表需要账号满足以下条件:')]), + t._v(' '), + a('ul', [a('li', [t._v('已登录')]), t._v(' '), a('li', [t._v('为超级管理员')])]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"id"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('""')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' \n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"n"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"test"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' \n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"co"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"123456"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' \n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"od"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('[')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' \n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"h5"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"t"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"23242ED"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"n"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"测试页面"')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' \n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"wx"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"Mr_xuxiaoxi"'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' \n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"rp"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"AAAAA"')]), + t._v('\n '), + 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'), + ]), + ]), + ]), + a('h3', { attrs: { id: '添加用户' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#添加用户' } }, [t._v('#')]), + t._v(' 添加用户'), + ]), + t._v(' '), + a('p', [t._v('添加用户接口')]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('POST')]), t._v(' /vip/add')])]), + t._v(' '), + a('p', [t._v('先决条件:')]), + t._v(' '), + a('ul', [a('li', [t._v('用户已登陆')]), t._v(' '), a('li', [t._v('为超级管理员')])]), + t._v(' '), + a('table', [ + a('thead', [ + a('tr', [ + a('th', [t._v('参数名')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('是否必选')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('类型')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'right' } }, [t._v('说明')]), + ]), + ]), + t._v(' '), + a('tbody', [ + a('tr', [ + a('td', [t._v('nickname')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('用户名')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('wx')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('微信号')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('co')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('密码')]), + ]), + ]), + ]), + t._v(' '), + a('p', [ + t._v('注: co是由笔者写的'), + a('code', [t._v('加密算法')]), + t._v('实现, 不需要手动填写, 详情见'), + a('code', [t._v('dooirng')]), + t._v('后台管理/用户管理页面.'), + ]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"id"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"3422EF"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"n"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"test"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"wx"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"Mr_xuxiaoxi"'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"co"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"123456"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"od"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('[')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"h5"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('[')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"tpl"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('[')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"rp"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"AAAAA"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"h5Num"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('10')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"tplNum"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('3')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n'), + ]), + ]), + ]), + a('h3', { attrs: { id: '生成登录码' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#生成登录码' } }, [ + t._v('#'), + ]), + t._v(' 生成登录码'), + ]), + t._v(' '), + a('p', [t._v('生成登录码接口')]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('GET')]), t._v(' /vip/gcode')])]), + t._v(' '), + a('p', [t._v('先决条件:')]), + t._v(' '), + a('ul', [a('li', [t._v('用户已登陆')]), t._v(' '), a('li', [t._v('为超级管理员')])]), + t._v(' '), + a('p', [ + t._v('注: 生成登录码是由笔者写的'), + a('code', [t._v('加密算法')]), + t._v('实现, 不需要手动实现, 如果有自定义需求, 可以自行二次开发实现.'), + ]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"co"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"1x2fgggteee3456_zdd4"'), + ]), + 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'), + ]), + ]), + ]), + a('p', [ + a('code', [t._v('说明:')]), + t._v(' 为了保护用户信息安全, 返回的登录码是加密后的密文, 会调用笔者写的'), + a('code', [t._v('xib.xip')]), + t._v('方法进行加密, 如果想看到原始密码, 需要调用'), + a('code', [t._v('xib.uxip')]), + t._v('进行解密.'), + ]), + t._v(' '), + a('h3', { attrs: { id: '获取用户真实密码' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#获取用户真实密码' } }, [ + t._v('#'), + ]), + t._v(' 获取用户真实密码'), + ]), + t._v(' '), + a('p', [t._v('获取用户真实密码接口')]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('GET')]), t._v(' /vip/gcode/get')])]), + t._v(' '), + a('p', [t._v('先决条件:')]), + t._v(' '), + a('ul', [a('li', [t._v('用户已登陆')]), t._v(' '), a('li', [t._v('为超级管理员')])]), + t._v(' '), + a('table', [ + a('thead', [ + a('tr', [ + a('th', [t._v('参数名')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('是否必选')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('类型')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'right' } }, [t._v('说明')]), + ]), + ]), + t._v(' '), + a('tbody', [ + a('tr', [ + a('td', [t._v('co')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('加密后的密码')]), + ]), + ]), + ]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"co"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"12345678"')]), + 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'), + ]), + ]), + ]), + a('h3', { attrs: { id: '修改用户信息' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#修改用户信息' } }, [ + t._v('#'), + ]), + t._v(' 修改用户信息'), + ]), + t._v(' '), + a('p', [t._v('修改用户接口')]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('POST')]), t._v(' /vip/edit')])]), + t._v(' '), + a('p', [t._v('先决条件:')]), + t._v(' '), + a('ul', [a('li', [t._v('用户已登陆')]), t._v(' '), a('li', [t._v('为超级管理员')])]), + t._v(' '), + a('table', [ + a('thead', [ + a('tr', [ + a('th', [t._v('参数名')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('是否必选')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('类型')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'right' } }, [t._v('说明')]), + ]), + ]), + t._v(' '), + a('tbody', [ + a('tr', [ + a('td', [t._v('id')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('false')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('用户ID')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('nickname')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('false')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('用户名')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('co')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('false')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('登录码')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('wx')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('false')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('微信号')]), + ]), + ]), + ]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"state"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('200')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"result"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token null keyword' } }, [t._v('null')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"msg"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"修改成功"')]), + 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'), + ]), + ]), + ]), + a('h3', { attrs: { id: '删除用户' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#删除用户' } }, [t._v('#')]), + t._v(' 删除用户'), + ]), + t._v(' '), + a('p', [t._v('删除用户接口')]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('DELETE')]), t._v(' /vip/del')])]), + t._v(' '), + a('p', [t._v('先决条件:')]), + t._v(' '), + a('ul', [a('li', [t._v('用户已登陆')]), t._v(' '), a('li', [t._v('为超级管理员')])]), + t._v(' '), + a('table', [ + a('thead', [ + a('tr', [ + a('th', [t._v('参数名')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('是否必选')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('类型')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'right' } }, [t._v('说明')]), + ]), + ]), + t._v(' '), + a('tbody', [ + a('tr', [ + a('td', [t._v('id')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('用户ID')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('wx')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('微信号')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('n')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('用户名')]), + ]), + ]), + ]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"state"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('200')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"result"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token null keyword' } }, [t._v('null')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"msg"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"删除成功"')]), + 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'), + ]), + ]), + ]), + a('h2', { attrs: { id: 'h5页面管理' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#h5页面管理' } }, [ + t._v('#'), + ]), + t._v(' H5页面管理'), + ]), + t._v(' '), + a('h3', { attrs: { id: '获取h5数据' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#获取h5数据' } }, [ + t._v('#'), + ]), + t._v(' 获取H5数据'), + ]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('GET')]), t._v(' /visible/h5/get')])]), + t._v(' '), + a('p', [t._v('先决条件:')]), + t._v(' '), + a('ul', [a('li', [t._v('用户已登陆')])]), + t._v(' '), + a('table', [ + a('thead', [ + a('tr', [ + a('th', [t._v('参数名')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('是否必选')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('类型')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'right' } }, [t._v('说明')]), + ]), + ]), + t._v(' '), + a('tbody', [ + a('tr', [ + a('td', [t._v('tid')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('H5唯一id')]), + ]), + ]), + ]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"pageConfig"'), + ]), + 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 \n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"tpl"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"id"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"879742"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"item"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"type"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"Carousel"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"config"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"direction"'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"left"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"swipeable"'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token boolean' } }, [t._v('false')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"autoPlay"'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token boolean' } }, [t._v('false')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"imgList"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"id"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"1"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"title"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"趣谈小课1"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"desc"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"致力于打造优质小课程"'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"link"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"xxxxx"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"imgUrl"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"uid"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"001"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"name"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"image.png"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"status"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"done"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"url"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"http://io.nainor.com/uploads/1_1740bd7c3dc.png"'), + ]), + t._v('\n '), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"id"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"2"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"title"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"趣谈小课1"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"desc"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"致力于打造优质小课程"'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"link"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"xxxxx"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"imgUrl"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"uid"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"001"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"name"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"image.png"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"status"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"done"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"url"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"http://io.nainor.com/uploads/2_1740bd8d525.png"'), + ]), + t._v('\n '), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"tplImg"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"http://io.nainor.com/uploads/carousal_17442e1420f.png"'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"h"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('82')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"editableEl"'), + ]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"key"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"direction"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"name"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"方向"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"type"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"Radio"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"range"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"key"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"down"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"text"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"从上到下"')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"key"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"left"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"text"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"从左到右"')]), + t._v('\n '), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"key"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"swipeable"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"name"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"是否可拖拽"'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"type"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"Switch"')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"key"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"autoPlay"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"name"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"是否自动播放"'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"type"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"Switch"')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"key"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"imgList"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"name"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"图片列表"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"type"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"DataList"')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"category"'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"base"')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"point"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"i"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"x-0"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"x"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('0')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"y"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('13')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"w"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('24')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"h"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('82')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"isBounded"'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token boolean' } }, [t._v('true')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"status"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"inToCanvas"'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"id"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"481194"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"item"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"type"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"Form"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"config"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"title"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"表单定制组件"'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"fontSize"'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('18')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"titColor"'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"rgba(60,60,60,1)"'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"titWeight"'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"400"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"bgColor"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"rgba(255,255,255,1)"'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"btnColor"'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"rgba(20,54,226,100)"'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"btnTextColor"'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"rgba(255,255,255,1)"'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"api"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('""')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"formControls"'), + ]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"id"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"1"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"type"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"Text"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"label"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"姓名"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"placeholder"'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"请输入姓名"'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"id"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"2"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"type"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"Number"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"label"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"年龄"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"placeholder"'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('" 请输入年龄"'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"id"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"4"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"type"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"MySelect"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"label"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"爱好"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"options"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"label"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"选项一"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"value"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"1"')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"label"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"选项二"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"value"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"2"')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"label"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"选项三"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"value"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"3"')]), + t._v('\n '), + 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 '), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"h"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('172')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"category"'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"base"')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"point"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"i"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"x-1"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"x"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('0')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"y"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('98')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"w"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('24')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"h"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('172')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"isBounded"'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token boolean' } }, [t._v('true')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"status"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"inToCanvas"'), + ]), + t._v('\n '), + 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'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n'), + ]), + ]), + ]), + a('h3', { attrs: { id: '保存h5数据' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#保存h5数据' } }, [ + t._v('#'), + ]), + t._v(' 保存H5数据'), + ]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('POST')]), t._v(' /visible/h5/save')])]), + t._v(' '), + a('p', [t._v('先决条件:')]), + t._v(' '), + a('ul', [a('li', [t._v('用户已登陆')])]), + t._v(' '), + a('table', [ + a('thead', [ + a('tr', [ + a('th', [t._v('参数名')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('是否必选')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('类型')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'right' } }, [t._v('说明')]), + ]), + ]), + t._v(' '), + a('tbody', [ + a('tr', [ + a('td', [t._v('pageConfig')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('false')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('object')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('H5页面配置数据')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('tpl')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('object')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [ + t._v('H5页面组件配置数据'), + ]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('tid')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('H5页面唯一id')]), + ]), + ]), + ]), + t._v(' '), + a('p', [t._v('参数示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [ + t._v('"pageConfig"'), + ]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"bgColor"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"rgba(151,25,25,1)"'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"title"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"医院宣传页"'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"tpl"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('[')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"tid"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"EF123D3"')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n'), + ]), + ]), + ]), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"state"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('200')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"result"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"tid"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"EF123D3"')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"msg"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"保存成功"')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n'), + ]), + ]), + ]), + a('h3', { attrs: { id: '删除h5数据' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#删除h5数据' } }, [ + t._v('#'), + ]), + t._v(' 删除H5数据'), + ]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('DELETE')]), t._v(' /visible/h5/del')])]), + t._v(' '), + a('p', [t._v('先决条件:')]), + t._v(' '), + a('ul', [a('li', [t._v('用户已登陆')])]), + t._v(' '), + a('table', [ + a('thead', [ + a('tr', [ + a('th', [t._v('参数名')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('是否必选')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('类型')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'right' } }, [t._v('说明')]), + ]), + ]), + t._v(' '), + a('tbody', [ + a('tr', [ + a('td', [t._v('tid')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('H5页面唯一id')]), + ]), + ]), + ]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"state"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('200')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"result"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"tid"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"EF123D3"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"name"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"test页面"')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"tid"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"EF123D6"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"name"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"test2页面"')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"msg"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"删除成功"')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n'), + ]), + ]), + ]), + a('h2', { attrs: { id: 'h5表单数据管理' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#h5表单数据管理' } }, [ + t._v('#'), + ]), + t._v(' H5表单数据管理'), + ]), + t._v(' '), + a('h3', { attrs: { id: '保存表单数据' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#保存表单数据' } }, [ + t._v('#'), + ]), + t._v(' 保存表单数据'), + ]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('POST')]), t._v(' /vip/h5/form/post')])]), + t._v(' '), + a('table', [ + a('thead', [ + a('tr', [ + a('th', [t._v('参数名')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('是否必选')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('类型')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'right' } }, [t._v('说明')]), + ]), + ]), + t._v(' '), + a('tbody', [ + a('tr', [ + a('td', [t._v('tid(query)')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('H5页面唯一id')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('formData(body)')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('array')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('H5页面表单数据')]), + ]), + ]), + ]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"state"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('200')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"result"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token null keyword' } }, [t._v('null')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"msg"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"表单提交成功"'), + ]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n'), + ]), + ]), + ]), + a('h3', { attrs: { id: '批量导入表单数据' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#批量导入表单数据' } }, [ + t._v('#'), + ]), + t._v(' 批量导入表单数据'), + ]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('POST')]), t._v(' /vip/h5/form/import')])]), + t._v(' '), + a('table', [ + a('thead', [ + a('tr', [ + a('th', [t._v('参数名')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('是否必选')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('类型')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'right' } }, [t._v('说明')]), + ]), + ]), + t._v(' '), + a('tbody', [ + a('tr', [ + a('td', [t._v('tid(query)')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('H5页面唯一id')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('formData(body)')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('array')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [ + t._v('H5页面表单数据集合'), + ]), + ]), + ]), + ]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"state"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('200')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"result"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token null keyword' } }, [t._v('null')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"msg"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"批量导入成功"'), + ]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n'), + ]), + ]), + ]), + a('h3', { attrs: { id: '删除表单数据' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#删除表单数据' } }, [ + t._v('#'), + ]), + t._v(' 删除表单数据'), + ]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('DELETE')]), t._v(' /vip/h5/form/del')])]), + t._v(' '), + a('table', [ + a('thead', [ + a('tr', [ + a('th', [t._v('参数名')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('是否必选')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('类型')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'right' } }, [t._v('说明')]), + ]), + ]), + t._v(' '), + a('tbody', [ + a('tr', [ + a('td', [t._v('tid')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('H5页面唯一id')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('ID')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('表单专属id')]), + ]), + ]), + ]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"state"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('200')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"result"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token null keyword' } }, [t._v('null')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"msg"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"删除成功"')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n'), + ]), + ]), + ]), + a('h2', { attrs: { id: '模版管理' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#模版管理' } }, [t._v('#')]), + t._v(' 模版管理'), + ]), + t._v(' '), + a('h3', { attrs: { id: '获取模版库' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#获取模版库' } }, [ + t._v('#'), + ]), + t._v(' 获取模版库'), + ]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('GET')]), t._v(' /visible/tpls/free')])]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"state"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('200')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"result"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"img"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('"http://xxx/uploads/tpl_175adabd8dd.jpg"'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"name"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"合作模版"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"tid"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"B73349B6"')]), + t._v('\n '), + 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'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n'), + ]), + ]), + ]), + a('h3', { attrs: { id: '保存模版' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#保存模版' } }, [t._v('#')]), + t._v(' 保存模版'), + ]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('POST')]), t._v(' /visible/tpl/save')])]), + t._v(' '), + a('p', [t._v('先决条件:')]), + t._v(' '), + a('ul', [a('li', [t._v('用户已登陆')])]), + t._v(' '), + a('table', [ + a('thead', [ + a('tr', [ + a('th', [t._v('参数名')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('是否必选')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('类型')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'right' } }, [t._v('说明')]), + ]), + ]), + t._v(' '), + a('tbody', [ + a('tr', [ + a('td', [t._v('name')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('H5模版名称')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('cate')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('H5模版分类')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('img')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('false')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('H5模版封面图')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('tpl')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('array')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('H5模版数据')]), + ]), + t._v(' '), + a('tr', [ + a('td', [t._v('pageConfig')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('false')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('object')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('H5模版全局配置')]), + ]), + ]), + ]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"state"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('200')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"result"')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"tid"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"B73349B6"')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"msg"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"保存成功"')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n'), + ]), + ]), + ]), + a('h3', { attrs: { id: '删除模版' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#删除模版' } }, [t._v('#')]), + t._v(' 删除模版'), + ]), + t._v(' '), + a('ul', [a('li', [a('code', [t._v('DELETE')]), t._v(' /visible/tpl/del')])]), + t._v(' '), + a('p', [t._v('先决条件:')]), + t._v(' '), + a('ul', [a('li', [t._v('用户已登陆')])]), + t._v(' '), + a('table', [ + a('thead', [ + a('tr', [ + a('th', [t._v('参数名')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('是否必选')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('类型')]), + t._v(' '), + a('th', { staticStyle: { 'text-align': 'right' } }, [t._v('说明')]), + ]), + ]), + t._v(' '), + a('tbody', [ + a('tr', [ + a('td', [t._v('tid')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]), + t._v(' '), + a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('H5模版id')]), + ]), + ]), + ]), + t._v(' '), + a('p', [t._v('返回示例')]), + t._v(' '), + a('div', { staticClass: 'language-json extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-json' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"state"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('200')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"result"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token null keyword' } }, [t._v('null')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"msg"')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"删除成功"')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n'), + ]), + ]), + ]), + a('h2', { attrs: { id: '文件上传' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#文件上传' } }, [t._v('#')]), + t._v(' 文件上传'), + ]), + t._v(' '), + a('h2', { attrs: { id: '数据统计' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#数据统计' } }, [t._v('#')]), + t._v(' 数据统计'), + ]), + t._v(' '), + a('h3', { attrs: { id: '数据大盘接口' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#数据大盘接口' } }, [ + t._v('#'), + ]), + t._v(' 数据大盘接口'), + ]), + t._v(' '), + a('h3', { attrs: { id: '页面埋点' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#页面埋点' } }, [t._v('#')]), + t._v(' 页面埋点'), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + s.default = r.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/25.883f97db.js b/doc-dist/assets/js/25.883f97db.js new file mode 100644 index 00000000..b41394ca --- /dev/null +++ b/doc-dist/assets/js/25.883f97db.js @@ -0,0 +1,69 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [25], + { + 393: function(v, _, l) { + 'use strict'; + l.r(_); + var i = l(42), + n = Object(i.a)( + {}, + function() { + var v = this, + _ = v.$createElement, + l = v._self._c || _; + return l('ContentSlotsDistributor', { attrs: { 'slot-key': v.$parent.slotKey } }, [ + l('p', [ + v._v('服务端主要是我们的'), + l('code', [v._v('server')]), + v._v('工程, 数据主要存放在'), + l('code', [v._v('server/public')]), + v._v('下, 具体数据指代含义我们接下来会详细介绍.'), + ]), + v._v(' '), + l('ul', [ + l('li', [ + v._v( + 'bed 存放图片库中的分类图片, 私有化部署的用户可以直接在此处扩充图片(更好的建议是直接存到第三方图床)', + ), + ]), + v._v(' '), + l('li', [v._v('h5 用户保存的h5数据文件, 一个页面对应一个json文件')]), + v._v(' '), + l('li', [ + v._v('h5_tpl 平台保存的模版数据文件夹\n'), + l('ul', [ + l('li', [v._v('xxx.json 模版页面文件')]), + v._v(' '), + l('li', [v._v('tpls.json 模版库中的模版列表数据, 可以手动清空')]), + ]), + ]), + v._v(' '), + l('li', [ + v._v('h5_vip 会员数据目录\n'), + l('ul', [ + l('li', [v._v('form 会员制作的含表单页面的表单收集数据')]), + v._v(' '), + l('li', [v._v('view.json 用户浏览量数据')]), + v._v(' '), + l('li', [v._v('vip.json 会员列表数据')]), + v._v(' '), + l('li', [v._v('vipCard.json 会员订单数据(暂时无用, 可删除)')]), + ]), + ]), + v._v(' '), + l('li', [v._v('image.json 图片库, 主要用来渲染页面的图片库数据')]), + v._v(' '), + l('li', [v._v('city.json 省市3级联动数据, 为表单组件提供数据支持')]), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + _.default = n.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/26.be8cffe5.js b/doc-dist/assets/js/26.be8cffe5.js new file mode 100644 index 00000000..0acc7fd9 --- /dev/null +++ b/doc-dist/assets/js/26.be8cffe5.js @@ -0,0 +1,364 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [26], + { + 392: function(t, s, a) { + 'use strict'; + a.r(s); + var n = a(42), + p = 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('h3', { attrs: { id: '获取form组件的值数据' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#获取form组件的值数据' } }, [ + t._v('#'), + ]), + t._v(' 获取Form组件的值数据'), + ]), + t._v(' '), + a('p', [ + t._v('Form表单组件在'), + a('code', [t._v('editor')]), + t._v('目录下'), + a('code', [t._v('src/components/BasicShop/BasicComponents')]), + t._v('位置.'), + ]), + t._v(' '), + a('p', [ + t._v('Form组件是'), + a('code', [t._v('Dooring')]), + t._v( + '的核心组件之一, 内部的值通过Form组件内部收集, 当然我们也可以暴露出来让其他交互或者组件消费(需要一定的二次开发), 关键代码如下:', + ), + ]), + t._v(' '), + a('div', { staticClass: 'language-js extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-js' } }, [ + a('code', [ + t._v('req'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('post')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token template-string' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token template-punctuation string' } }, + [t._v('`')], + ), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('/vip/h5/form/post'), + ]), + a('span', { pre: !0, attrs: { class: 'token interpolation' } }, [ + a( + 'span', + { + pre: !0, + attrs: { class: 'token interpolation-punctuation punctuation' }, + }, + [t._v('${')], + ), + t._v('location'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('search'), + a( + 'span', + { + pre: !0, + attrs: { class: 'token interpolation-punctuation punctuation' }, + }, + [t._v('}')], + ), + ]), + a( + 'span', + { pre: !0, attrs: { class: 'token template-punctuation string' } }, + [t._v('`')], + ), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]), + t._v('fields'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]), + t._v('formData'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('then')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token parameter' } }, [t._v('res')]), + t._v(' '), + 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 '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('if')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('type '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('===')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'link'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// 解析参数'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('let')]), + t._v(' isPre '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' content'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('indexOf')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'?'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('<')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('0')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('let')]), + t._v(' query '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('dr'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' Date'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('now')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('from')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' urlParmas'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('tid'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('try')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n query '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' params '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('?')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]), + a('span', { pre: !0, attrs: { class: 'token constant' } }, [t._v('JSON')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('parse')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('params'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]), + t._v('query'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' query'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('catch')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('err'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n console'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('log')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('err'), + 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\n '), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [t._v('// 跳转')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('if')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('content'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('indexOf')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'http'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('>')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [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(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n window'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('location'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('href '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' content '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('+')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('urlencode')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('query'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' isPre'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('return')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v('\n\n history'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('push')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token template-string' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token template-punctuation string' } }, + [t._v('`')], + ), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('/m?tid=')]), + a('span', { pre: !0, attrs: { class: 'token interpolation' } }, [ + a( + 'span', + { + pre: !0, + attrs: { class: 'token interpolation-punctuation punctuation' }, + }, + [t._v('${')], + ), + t._v('content'), + a( + 'span', + { + pre: !0, + attrs: { class: 'token interpolation-punctuation punctuation' }, + }, + [t._v('}')], + ), + ]), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('&')]), + a('span', { pre: !0, attrs: { class: 'token interpolation' } }, [ + a( + 'span', + { + pre: !0, + attrs: { class: 'token interpolation-punctuation punctuation' }, + }, + [t._v('${')], + ), + a('span', { pre: !0, attrs: { class: 'token function' } }, [ + t._v('urlencode'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('query'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a( + 'span', + { + pre: !0, + attrs: { class: 'token interpolation-punctuation punctuation' }, + }, + [t._v('}')], + ), + ]), + a( + 'span', + { pre: !0, attrs: { class: 'token template-punctuation string' } }, + [t._v('`')], + ), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('else')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('if')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('type '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('===')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'modal'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token function' } }, [ + t._v('setVisible'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token boolean' } }, [t._v('true')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('else')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('if')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('type '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('===')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'code'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('eval')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('content'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + 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'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v('\n'), + ]), + ]), + ]), + a('p', [ + t._v('数据收集提交的核心代码在Form组件的第56-149行, 也就是'), + a('code', [t._v('submit')]), + t._v('方法. 表单组件收集到的数据统一存放在代码中的'), + a('code', [t._v('formData')]), + t._v('字段, 所以要想在其他地方获取用户表单填写的值, 我们只需要手动将'), + a('code', [t._v('formData')]), + t._v('传递出去, 或者挂载到全局(如window对象, localStorage, indexedDB等).'), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + s.default = p.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/27.df90f08c.js b/doc-dist/assets/js/27.df90f08c.js new file mode 100644 index 00000000..107fb57f --- /dev/null +++ b/doc-dist/assets/js/27.df90f08c.js @@ -0,0 +1,354 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [27], + { + 396: function(t, s, a) { + 'use strict'; + a.r(s); + var n = a(42), + e = 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('p', [ + t._v('目前'), + a('strong', [t._v('H5-Dooring')]), + t._v('全面支持https部署, 具体方式方案如下.'), + ]), + t._v(' '), + a('h3', { attrs: { id: '前端工程' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#前端工程' } }, [t._v('#')]), + t._v(' 前端工程'), + ]), + t._v(' '), + a('p', [ + t._v('我们需要在前端工程中的'), + a('code', [t._v('src/pages/document.ejs')]), + t._v('中的'), + a('code', [t._v('head')]), + t._v('中添加如下代码:'), + ]), + t._v(' '), + a('div', { staticClass: 'language-html extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-html' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('<')]), + t._v('meta'), + ]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('http-equiv'), + ]), + a('span', { pre: !0, attrs: { class: 'token attr-value' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation attr-equals' } }, [ + t._v('='), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]), + t._v('Content-Security-Policy'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]), + ]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('content'), + ]), + a('span', { pre: !0, attrs: { class: 'token attr-value' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation attr-equals' } }, [ + t._v('='), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]), + t._v('upgrade-insecure-requests'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('>')]), + ]), + t._v('\n'), + ]), + ]), + ]), + a('p', [t._v('目的是强制将页面中HTTP请求转换为HTTPS.')]), + t._v(' '), + a('h3', { attrs: { id: '服务器工程' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#服务器工程' } }, [ + t._v('#'), + ]), + t._v(' 服务器工程'), + ]), + t._v(' '), + a('h4', { attrs: { id: '_1-申请ssl证书' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#_1-申请ssl证书' } }, [ + t._v('#'), + ]), + t._v(' 1. 申请SSL证书'), + ]), + t._v(' '), + a('h4', { attrs: { id: '_2-生成-server-csr-server-key' } }, [ + a( + 'a', + { + staticClass: 'header-anchor', + attrs: { href: '#_2-生成-server-csr-server-key' }, + }, + [t._v('#')], + ), + t._v(' 2. 生成 server.csr+server.key'), + ]), + t._v(' '), + a('h4', { attrs: { id: '_3-通过证书链生成-pem文件' } }, [ + a( + 'a', + { staticClass: 'header-anchor', attrs: { href: '#_3-通过证书链生成-pem文件' } }, + [t._v('#')], + ), + t._v(' 3. 通过证书链生成.pem文件'), + ]), + t._v(' '), + a('h4', { attrs: { id: '在server中的src-index-js按如下方式修改' } }, [ + a( + 'a', + { + staticClass: 'header-anchor', + attrs: { href: '#在server中的src-index-js按如下方式修改' }, + }, + [t._v('#')], + ), + t._v(' 在'), + a('code', [t._v('server')]), + t._v('中的'), + a('code', [t._v('src/index.js')]), + t._v('按如下方式修改'), + ]), + t._v(' '), + a('div', { staticClass: 'language-js extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-js' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// 忽略部分无影响代码'), + ]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('import')]), + t._v(' https '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('from')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'https'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n\n'), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// 你的ssl存放路径, 建议直接放在server目录下'), + ]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' filePath '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' path'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('join')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('__dirname'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'../ssl'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v('\n\n'), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// 启动逻辑'), + ]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('async')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('function')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('start')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// https配置'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' httpsOptions '), + 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 key'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' fs'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [ + t._v('readFileSync'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('path'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('join')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('filePath'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'3536084__doctopia.com.cn.key'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('//ssl文件路径'), + ]), + t._v('\n cert'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' fs'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [ + t._v('readFileSync'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('path'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('join')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('filePath'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'3536084__doctopia.com.cn.pem'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('//ssl文件路径'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n\t\n\t'), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// https服务'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' server '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' https'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [ + t._v('createServer'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('httpsOptions'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' app'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('callback')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' io '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('require')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'socket.io'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('server'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n\t\n\t'), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// 忽略其他无影响代码'), + ]), + t._v('\n\t\n\t'), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// https默认443, 这里我们可以走公共配置'), + ]), + t._v('\n\tserver'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('listen')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('443')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + 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 console'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('log')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token template-string' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token template-punctuation string' } }, + [t._v('`')], + ), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v('服务器地址:'), + ]), + a('span', { pre: !0, attrs: { class: 'token interpolation' } }, [ + a( + 'span', + { + pre: !0, + attrs: { class: 'token interpolation-punctuation punctuation' }, + }, + [t._v('${')], + ), + t._v('config'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('staticPath'), + a( + 'span', + { + pre: !0, + attrs: { class: 'token interpolation-punctuation punctuation' }, + }, + [t._v('}')], + ), + ]), + a( + 'span', + { pre: !0, attrs: { class: 'token template-punctuation string' } }, + [t._v('`')], + ), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v('\n\t'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + 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\n'), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('start')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v('\n'), + ]), + ]), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + s.default = e.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/28.188348ab.js b/doc-dist/assets/js/28.188348ab.js new file mode 100644 index 00000000..abeff42f --- /dev/null +++ b/doc-dist/assets/js/28.188348ab.js @@ -0,0 +1,167 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [28], + { + 397: function(_, v, i) { + 'use strict'; + i.r(v); + var l = i(42), + t = Object(l.a)( + {}, + function() { + var _ = this, + v = _.$createElement, + i = _._self._c || v; + return i('ContentSlotsDistributor', { attrs: { 'slot-key': _.$parent.slotKey } }, [ + i('h3', { attrs: { id: '更新日志' } }, [ + i('a', { staticClass: 'header-anchor', attrs: { href: '#更新日志' } }, [_._v('#')]), + _._v(' 更新日志'), + ]), + _._v(' '), + i('h4', { attrs: { id: '_1-99' } }, [ + i('a', { staticClass: 'header-anchor', attrs: { href: '#_1-99' } }, [_._v('#')]), + _._v(' 1.99'), + ]), + _._v(' '), + i('ol', [ + i('li', [_._v('添加数据源功能')]), + _._v(' '), + i('li', [_._v('视频组件支持封面图')]), + _._v(' '), + i('li', [_._v('优化页面DSL结构, 降低了jsonSchema体积30%-50%')]), + _._v(' '), + i('li', [_._v('官网优化')]), + _._v(' '), + i('li', [_._v('管理后台替换logo, 部分文案信息')]), + _._v(' '), + i('li', [_._v('添加图片列表组件')]), + _._v(' '), + i('li', [_._v('轮播图支持一键绑定数据源')]), + ]), + _._v(' '), + i('h4', { attrs: { id: '_1-98' } }, [ + i('a', { staticClass: 'header-anchor', attrs: { href: '#_1-98' } }, [_._v('#')]), + _._v(' 1.98'), + ]), + _._v(' '), + i('ol', [ + i('li', [_._v('编辑器功能区添加更多折叠下拉框, 优化头部界面')]), + _._v(' '), + i('li', [_._v('添加数据源入口和界面')]), + _._v(' '), + i('li', [_._v('模版库优化, 剔除无用模版, 累计60+模版')]), + _._v(' '), + i('li', [_._v('入口页添加赞助墙')]), + _._v(' '), + i('li', [_._v('升级视频组件, 支持弹幕, 截屏, 模式设置等功能')]), + _._v(' '), + i('li', [_._v('文件上传路径兼容window服务器本地化部署')]), + ]), + _._v(' '), + i('h4', { attrs: { id: '_1-96' } }, [ + i('a', { staticClass: 'header-anchor', attrs: { href: '#_1-96' } }, [_._v('#')]), + _._v(' 1.96'), + ]), + _._v(' '), + i('ol', [ + i('li', [_._v('修复首页推荐项目外链地址和站内文案')]), + _._v(' '), + i('li', [_._v('替换Dooring网站logo')]), + _._v(' '), + i('li', [_._v('优化ios8以下访问H5时可能出现的页面卡顿问题')]), + _._v(' '), + i('li', [_._v('图片上传组件添加svg, gif图片格式支持')]), + _._v(' '), + i('li', [_._v('后台管理系统添加一键跳编辑器按钮')]), + _._v(' '), + i('li', [_._v('服务端编辑侧路由加固')]), + _._v(' '), + i('li', [ + _._v( + '文件上传组件添加自定义上传文档,支持七牛云,腾讯云,阿里oss等第三方图床方式', + ), + ]), + ]), + _._v(' '), + i('h4', { attrs: { id: '_1-95' } }, [ + i('a', { staticClass: 'header-anchor', attrs: { href: '#_1-95' } }, [_._v('#')]), + _._v(' 1.95'), + ]), + _._v(' '), + i('ol', [ + i('li', [_._v('dooring文档添加更新日志模块')]), + _._v(' '), + i('li', [_._v('dooring增报错监控函数, 提供一键清空缓存按钮和自动重载功能')]), + _._v(' '), + i('li', [_._v('新增电商商品H5模版')]), + _._v(' '), + i('li', [_._v('页面配置增加背景模式和背景重复')]), + _._v(' '), + i('li', [_._v('表单添加字段名配置项')]), + ]), + _._v(' '), + i('h4', { attrs: { id: '_1-94' } }, [ + i('a', { staticClass: 'header-anchor', attrs: { href: '#_1-94' } }, [_._v('#')]), + _._v(' 1.94'), + ]), + _._v(' '), + i('ol', [ + i('li', [_._v('转盘组件支持转盘交互功能(跳转链接/打开弹窗/自定义代码)')]), + _._v(' '), + i('li', [_._v('添加网站拦截, 防止页面误关导致页面无法保存')]), + _._v(' '), + i('li', [_._v('优化页面控制条组件样式')]), + _._v(' '), + i('li', [_._v('按钮组件添加组件动画')]), + _._v(' '), + i('li', [_._v('图片组件添加组件动画')]), + _._v(' '), + i('li', [_._v('媒体组件icon优化')]), + _._v(' '), + i('li', [_._v('全局错误监控组件添加一键清除缓存功能')]), + ]), + _._v(' '), + i('h4', { attrs: { id: '_1-93' } }, [ + i('a', { staticClass: 'header-anchor', attrs: { href: '#_1-93' } }, [_._v('#')]), + _._v(' 1.93'), + ]), + _._v(' '), + i('ol', [ + i('li', [_._v('上线源码下载功能')]), + _._v(' '), + i('li', [_._v('服务端支持下载源码服务和下载次数限制')]), + _._v(' '), + i('li', [_._v('界面部分文案优化')]), + _._v(' '), + i('li', [_._v('出码基座优化')]), + _._v(' '), + i('li', [_._v('抽奖组件支持抽奖后自定义交互(弹窗/链接/自定义代码)')]), + ]), + _._v(' '), + i('h4', { attrs: { id: '_1-92' } }, [ + i('a', { staticClass: 'header-anchor', attrs: { href: '#_1-92' } }, [_._v('#')]), + _._v(' 1.92'), + ]), + _._v(' '), + i('ol', [ + i('li', [_._v('修复背景图预览适配问题')]), + _._v(' '), + i('li', [_._v('转盘组件支持中奖后自定义交互/弹窗/自定义代码')]), + _._v(' '), + i('li', [_._v('界面局部调整')]), + _._v(' '), + i('li', [_._v('后台管理表单数据支持多键查询')]), + _._v(' '), + i('li', [_._v('可视化大屏柱状图组件支持实时数据请求')]), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + v.default = t.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/29.c25040d7.js b/doc-dist/assets/js/29.c25040d7.js new file mode 100644 index 00000000..c0d0ee7e --- /dev/null +++ b/doc-dist/assets/js/29.c25040d7.js @@ -0,0 +1,996 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [29], + { + 394: function(t, s, a) { + 'use strict'; + a.r(s); + var n = a(42), + p = 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('p', [ + a('strong', [t._v('H5-Dooring')]), + t._v('全面支持第三方对象存储服务, 我们以七牛云对象存储为例.'), + ]), + t._v(' '), + a('h3', { attrs: { id: '前端上传文件到oss' } }, [ + a('a', { staticClass: 'header-anchor', attrs: { href: '#前端上传文件到oss' } }, [ + t._v('#'), + ]), + t._v(' 前端上传文件到oss'), + ]), + t._v(' '), + a('p', [ + t._v( + '首先我们需要在第三方对象储存服务中配置对应的服务和域名. 其次安装对应的sdk, 如七牛云sdk:', + ), + ]), + t._v(' '), + a('div', { staticClass: 'language-js extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-js' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('import')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('*')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('as')]), + t._v(' qiniu '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('from')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'qiniu-js'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n'), + ]), + ]), + ]), + a('p', [ + t._v('其次我们修改'), + a('code', [t._v('h5_plus')]), + t._v('工程的'), + a('code', [t._v('Upload')]), + t._v('组件, 详细地址为'), + a('code', [t._v('src/core/FormComponents/Upload')]), + t._v('.'), + ]), + t._v(' '), + a('p', [t._v('修改内容如下:')]), + t._v(' '), + a('div', { staticClass: 'language-js extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-js' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' fileName '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' file'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('name\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' suffix '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'自定义文件后缀'"), + ]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' putExtra '), + 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 fname'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' fileName'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n params'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + 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'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' uid '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('+')]), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('new')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token class-name' } }, [t._v('Date')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('+')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('uuid')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('16')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('8')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('+')]), + t._v(' suffix\n'), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v( + '// 使用七牛云上传api, 前提是提前在前端拿到对应的ticket, 可以通过请求的方式获取', + ), + ]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' observe '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' qiniu'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('upload')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('file'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' uid'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('state'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('qnToken'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('ticket'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' putExtra'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v('\nobserve'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('subscribe')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=>')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('null')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token parameter' } }, [t._v('res')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + 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 '), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// 拼接路径'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' url '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token template-string' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token template-punctuation string' } }, + [t._v('`')], + ), + a('span', { pre: !0, attrs: { class: 'token interpolation' } }, [ + a( + 'span', + { + pre: !0, + attrs: { class: 'token interpolation-punctuation punctuation' }, + }, + [t._v('${')], + ), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('state'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('qnToken'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('domain'), + a( + 'span', + { + pre: !0, + attrs: { class: 'token interpolation-punctuation punctuation' }, + }, + [t._v('}')], + ), + ]), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('/')]), + a('span', { pre: !0, attrs: { class: 'token interpolation' } }, [ + a( + 'span', + { + pre: !0, + attrs: { class: 'token interpolation-punctuation punctuation' }, + }, + [t._v('${')], + ), + t._v('res'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('key'), + a( + 'span', + { + pre: !0, + attrs: { class: 'token interpolation-punctuation punctuation' }, + }, + [t._v('}')], + ), + ]), + a( + 'span', + { pre: !0, attrs: { class: 'token template-punctuation string' } }, + [t._v('`')], + ), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [t._v('// 存库')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' fileList '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('[')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v(' uid'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' fileName'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' status'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'done'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' url '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('setState')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n curImgUrl'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' url'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n fileList\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('props'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('onChange '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('&&')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('props'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('onChange')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('fileList'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v('\n'), + ]), + ]), + ]), + a('p', [ + t._v('其他oss服务类似, 如果不清楚如何配置, 可以在'), + a( + 'a', + { + attrs: { + href: 'http://h5.dooring.cn/', + target: '_blank', + rel: 'noopener noreferrer', + }, + }, + [t._v('H5-Dooring官网'), a('OutboundLink')], + 1, + ), + t._v('中找到我们.'), + ]), + t._v(' '), + a('h3', { attrs: { id: '如何接入任何第三方上传服务' } }, [ + a( + 'a', + { staticClass: 'header-anchor', attrs: { href: '#如何接入任何第三方上传服务' } }, + [t._v('#')], + ), + t._v(' 如何接入任何第三方上传服务'), + ]), + t._v(' '), + a('p', [ + t._v('首先我们的上传组件'), + a('code', [t._v('Upload')]), + t._v('使用内部的服务接口来实现上传功能, 所以需要给组件的'), + a('code', [t._v('action')]), + t._v('赋值, 如下:'), + ]), + t._v(' '), + a('div', { staticClass: 'language-jsx extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-jsx' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('<')]), + a('span', { pre: !0, attrs: { class: 'token class-name' } }, [ + t._v('Upload'), + ]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('fileList'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('fileList'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('onPreview'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('handlePreview'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('onChange'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('handleChange'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('onRemove'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('handleRemove'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [t._v('name')]), + a('span', { pre: !0, attrs: { class: 'token attr-value' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation attr-equals' } }, [ + t._v('='), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]), + t._v('file'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('listType'), + ]), + a('span', { pre: !0, attrs: { class: 'token attr-value' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation attr-equals' } }, [ + t._v('='), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]), + t._v('picture-card'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('className'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('styles'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('avatarUploader'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [t._v('action')]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('sdk_upload_api '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('||')]), + t._v(' action'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('withCredentials'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('withCredentials'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('headers'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'x-requested-with'"), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' localStorage'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [ + t._v('getItem'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'user'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('||')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("''")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'authorization'"), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' localStorage'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [ + t._v('getItem'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'token'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('||')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("''")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]), + t._v('headers\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('beforeUpload'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('handleBeforeUpload'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('>')]), + ]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [t._v('\n ')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('fileList'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('length '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('>=')]), + t._v(' maxLen '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('?')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('null')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' uploadButton'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [t._v('\n')]), + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('')]), + ]), + t._v('\n'), + ]), + ]), + ]), + a('p', [ + t._v('如果需要集成第三方oss, 如七牛云, 阿里oss等, 我们需要将'), + a('code', [t._v('Upload')]), + t._v('组件的'), + a('code', [t._v('action')]), + t._v('属性设置为空字符串, 其次删除'), + a('code', [t._v('onChange')]), + t._v('属性, 上传操作统一在'), + a('code', [t._v('beforeUpload')]), + t._v('中进行. 案例如下:'), + ]), + t._v(' '), + a('div', { staticClass: 'language-jsx extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-jsx' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('<')]), + a('span', { pre: !0, attrs: { class: 'token class-name' } }, [ + t._v('Upload'), + ]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('fileList'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('fileList'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [t._v('action')]), + a('span', { pre: !0, attrs: { class: 'token attr-value' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation attr-equals' } }, [ + t._v('='), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('onPreview'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('handlePreview'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('onRemove'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('onRemove'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [t._v('name')]), + a('span', { pre: !0, attrs: { class: 'token attr-value' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation attr-equals' } }, [ + t._v('='), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]), + t._v('file'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('listType'), + ]), + a('span', { pre: !0, attrs: { class: 'token attr-value' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation attr-equals' } }, [ + t._v('='), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]), + t._v('picture-card'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('className'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('styles'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('avatarUploader'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('headers'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]), + t._v('headers'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [ + t._v('beforeUpload'), + ]), + a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [ + a( + 'span', + { pre: !0, attrs: { class: 'token script-punctuation punctuation' } }, + [t._v('=')], + ), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('handleBeforeUpload'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + ]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('>')]), + ]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [t._v('\n ')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('fileList'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('length '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('>=')]), + t._v(' maxLen '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('?')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('null')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' uploadButton'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [t._v('\n')]), + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token tag' } }, [ + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('')]), + ]), + t._v('\n'), + ]), + ]), + ]), + a('p', [ + t._v('自定义上传的核心逻辑放在了'), + a('code', [t._v('beforeUpload')]), + t._v('上. 我们具体看看'), + a('code', [t._v('beforeUpload')]), + t._v('这个方法如何实现.'), + ]), + t._v(' '), + a('div', { staticClass: 'language-js extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-js' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token function-variable function' } }, [ + t._v('handleBeforeUpload'), + ]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token parameter' } }, [ + t._v('file'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v('RcFile'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + 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 '), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// 1. 限制图片类型'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' isJpgOrPng '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' file'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('type '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('===')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'image/jpeg'"), + ]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('||')]), + t._v(' file'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('type '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('===')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'image/png'")]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('||')]), + t._v(' file'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('type '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('===')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'image/jpg'")]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('||')]), + t._v(' file'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('type '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('===')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'image/gif'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('if')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('!')]), + t._v('isJpgOrPng'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n message'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('error')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'只能上传格式为jpeg/png/gif的图片'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// 限制上传文件大小'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' isLt3M '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' file'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('size '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('/')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('1024')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('/')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('1024')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('<')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('3')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('if')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('!')]), + t._v('isLt3M'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n message'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('error')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'图片必须小于3MB!'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + 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 '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('if')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('isJpgOrPng '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('&&')]), + t._v(' isLt3M'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// 3. 正常上传逻辑'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' fileName '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' file'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('name\n '), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// 3.1 调用oss接口, 将图片上传oss'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// 3.2 将接口返回的url信息, 组装成fileList数据结构, 并更新state'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' fileList '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('[')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v(' uid'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' name'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' fileName'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' status'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'done'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' url '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('setState')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n curImgUrl'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' url'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n fileList'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token comment' } }, [ + t._v('// 3.3 将数据传给上层保存'), + ]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('props'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('onChange '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('&&')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('props'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('onChange')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('fileList'), + 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 '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('return')]), + t._v(' isJpgOrPng '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('&&')]), + t._v(' isLt3M'), + 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'), + ]), + ]), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + s.default = p.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/3.ececc857.js b/doc-dist/assets/js/3.ececc857.js new file mode 100644 index 00000000..85f82b68 --- /dev/null +++ b/doc-dist/assets/js/3.ececc857.js @@ -0,0 +1,557 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [3], + { + 308: function(t, n, e) { + 'use strict'; + e.d(n, 'd', function() { + return r; + }), + e.d(n, 'a', function() { + return a; + }), + e.d(n, 'i', function() { + return u; + }), + e.d(n, 'f', function() { + return l; + }), + e.d(n, 'g', function() { + return o; + }), + e.d(n, 'h', function() { + return c; + }), + e.d(n, 'b', function() { + return f; + }), + e.d(n, 'e', function() { + return h; + }), + e.d(n, 'k', function() { + return d; + }), + e.d(n, 'l', function() { + return p; + }), + e.d(n, 'c', function() { + return g; + }), + e.d(n, 'j', function() { + return m; + }); + e(23), e(93), e(170), e(96), e(172), e(65), e(43), e(309), e(66), e(310), e(95); + var r = /#.*$/, + i = /\.(md|html)$/, + a = /\/$/, + u = /^[a-z]+:/i; + function s(t) { + return decodeURI(t) + .replace(r, '') + .replace(i, ''); + } + function l(t) { + return u.test(t); + } + function o(t) { + return /^mailto:/.test(t); + } + function c(t) { + return /^tel:/.test(t); + } + function f(t) { + if (l(t)) return t; + var n = t.match(r), + e = n ? n[0] : '', + i = s(t); + return a.test(i) ? t : i + '.html' + e; + } + function h(t, n) { + var e = decodeURIComponent(t.hash), + i = (function(t) { + var n = t.match(r); + if (n) return n[0]; + })(n); + return (!i || e === i) && s(t.path) === s(n); + } + function d(t, n, e) { + if (l(n)) return { type: 'external', path: n }; + e && + (n = (function(t, n, e) { + var r = t.charAt(0); + if ('/' === r) return t; + if ('?' === r || '#' === r) return n + t; + var i = n.split('/'); + (e && i[i.length - 1]) || i.pop(); + for (var a = t.replace(/^\//, '').split('/'), u = 0; u < a.length; u++) { + var s = a[u]; + '..' === s ? i.pop() : '.' !== s && i.push(s); + } + '' !== i[0] && i.unshift(''); + return i.join('/'); + })(n, e)); + for (var r = s(n), i = 0; i < t.length; i++) + if (s(t[i].regularPath) === r) + return Object.assign({}, t[i], { type: 'page', path: f(t[i].path) }); + return ( + console.error('[vuepress] No matching page found for sidebar item "'.concat(n, '"')), {} + ); + } + function p(t, n, e, r) { + var i = e.pages, + a = e.themeConfig, + u = (r && a.locales && a.locales[r]) || a; + if ('auto' === (t.frontmatter.sidebar || u.sidebar || a.sidebar)) return v(t); + var s = u.sidebar || a.sidebar; + if (s) { + var l = (function(t, n) { + if (Array.isArray(n)) return { base: '/', config: n }; + for (var e in n) + if (0 === ((r = t), /(\.html|\/)$/.test(r) ? r : r + '/').indexOf(encodeURI(e))) + return { base: e, config: n[e] }; + var r; + return {}; + })(n, s), + o = l.base, + c = l.config; + return 'auto' === c + ? v(t) + : c + ? c.map(function(t) { + return (function t(n, e, r) { + var i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 1; + if ('string' == typeof n) return d(e, n, r); + if (Array.isArray(n)) return Object.assign(d(e, n[0], r), { title: n[1] }); + var a = n.children || []; + return 0 === a.length && n.path + ? Object.assign(d(e, n.path, r), { title: n.title }) + : { + type: 'group', + path: n.path, + title: n.title, + sidebarDepth: n.sidebarDepth, + initialOpenGroupIndex: n.initialOpenGroupIndex, + children: a.map(function(n) { + return t(n, e, r, i + 1); + }), + collapsable: !1 !== n.collapsable, + }; + })(t, i, o); + }) + : []; + } + return []; + } + function v(t) { + var n = g(t.headers || []); + return [ + { + type: 'group', + collapsable: !1, + title: t.title, + path: null, + children: n.map(function(n) { + return { + type: 'auto', + title: n.title, + basePath: t.path, + path: t.path + '#' + n.slug, + children: n.children || [], + }; + }), + }, + ]; + } + function g(t) { + var n; + return ( + (t = t.map(function(t) { + return Object.assign({}, t); + })).forEach(function(t) { + 2 === t.level ? (n = t) : n && (n.children || (n.children = [])).push(t); + }), + t.filter(function(t) { + return 2 === t.level; + }) + ); + } + function m(t) { + return Object.assign(t, { type: t.items && t.items.length ? 'links' : 'link' }); + } + }, + 309: function(t, n, e) { + 'use strict'; + var r = e(167), + i = e(5), + a = e(13), + u = e(22), + s = e(168), + l = e(169); + r('match', 1, function(t, n, e) { + return [ + function(n) { + var e = u(this), + r = null == n ? void 0 : n[t]; + return void 0 !== r ? r.call(n, e) : new RegExp(n)[t](String(e)); + }, + function(t) { + var r = e(n, t, this); + if (r.done) return r.value; + var u = i(t), + o = String(this); + if (!u.global) return l(u, o); + var c = u.unicode; + u.lastIndex = 0; + for (var f, h = [], d = 0; null !== (f = l(u, o)); ) { + var p = String(f[0]); + (h[d] = p), '' === p && (u.lastIndex = s(o, a(u.lastIndex), c)), d++; + } + return 0 === d ? null : h; + }, + ]; + }); + }, + 310: function(t, n, e) { + 'use strict'; + var r = e(167), + i = e(171), + a = e(5), + u = e(22), + s = e(97), + l = e(168), + o = e(13), + c = e(169), + f = e(67), + h = e(1), + d = [].push, + p = Math.min, + v = !h(function() { + return !RegExp(4294967295, 'y'); + }); + r( + 'split', + 2, + function(t, n, e) { + var r; + return ( + (r = + 'c' == 'abbc'.split(/(b)*/)[1] || + 4 != 'test'.split(/(?:)/, -1).length || + 2 != 'ab'.split(/(?:ab)*/).length || + 4 != '.'.split(/(.?)(.?)/).length || + '.'.split(/()()/).length > 1 || + ''.split(/.?/).length + ? function(t, e) { + var r = String(u(this)), + a = void 0 === e ? 4294967295 : e >>> 0; + if (0 === a) return []; + if (void 0 === t) return [r]; + if (!i(t)) return n.call(r, t, a); + for ( + var s, + l, + o, + c = [], + h = + (t.ignoreCase ? 'i' : '') + + (t.multiline ? 'm' : '') + + (t.unicode ? 'u' : '') + + (t.sticky ? 'y' : ''), + p = 0, + v = new RegExp(t.source, h + 'g'); + (s = f.call(v, r)) && + !( + (l = v.lastIndex) > p && + (c.push(r.slice(p, s.index)), + s.length > 1 && s.index < r.length && d.apply(c, s.slice(1)), + (o = s[0].length), + (p = l), + c.length >= a) + ); + + ) + v.lastIndex === s.index && v.lastIndex++; + return ( + p === r.length ? (!o && v.test('')) || c.push('') : c.push(r.slice(p)), + c.length > a ? c.slice(0, a) : c + ); + } + : '0'.split(void 0, 0).length + ? function(t, e) { + return void 0 === t && 0 === e ? [] : n.call(this, t, e); + } + : n), + [ + function(n, e) { + var i = u(this), + a = null == n ? void 0 : n[t]; + return void 0 !== a ? a.call(n, i, e) : r.call(String(i), n, e); + }, + function(t, i) { + var u = e(r, t, this, i, r !== n); + if (u.done) return u.value; + var f = a(t), + h = String(this), + d = s(f, RegExp), + g = f.unicode, + m = + (f.ignoreCase ? 'i' : '') + + (f.multiline ? 'm' : '') + + (f.unicode ? 'u' : '') + + (v ? 'y' : 'g'), + b = new d(v ? f : '^(?:' + f.source + ')', m), + k = void 0 === i ? 4294967295 : i >>> 0; + if (0 === k) return []; + if (0 === h.length) return null === c(b, h) ? [h] : []; + for (var x = 0, _ = 0, y = []; _ < h.length; ) { + b.lastIndex = v ? _ : 0; + var C, + I = c(b, v ? h : h.slice(_)); + if (null === I || (C = p(o(b.lastIndex + (v ? 0 : _)), h.length)) === x) + _ = l(h, _, g); + else { + if ((y.push(h.slice(x, _)), y.length === k)) return y; + for (var O = 1; O <= I.length - 1; O++) + if ((y.push(I[O]), y.length === k)) return y; + _ = x = C; + } + } + return y.push(h.slice(x)), y; + }, + ] + ); + }, + !v, + ); + }, + 311: function(t, n, e) { + 'use strict'; + e(166), e(94), e(313); + var r = e(308), + i = { + name: 'NavLink', + 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(n) { + return n === t.link; + }) + : '/' === this.link; + }, + isNonHttpURI: function() { + return Object(r.g)(this.link) || Object(r.h)(this.link); + }, + isBlankTarget: function() { + return '_blank' === this.target; + }, + isInternal: function() { + return !Object(r.f)(this.link) && !this.isBlankTarget; + }, + target: function() { + return this.isNonHttpURI + ? null + : this.item.target + ? this.item.target + : Object(r.f)(this.link) + ? '_blank' + : ''; + }, + rel: function() { + return this.isNonHttpURI || !1 === this.item.rel + ? null + : this.item.rel + ? this.item.rel + : this.isBlankTarget + ? 'noopener noreferrer' + : null; + }, + }, + methods: { + focusoutAction: function() { + this.$emit('focusout'); + }, + }, + }, + a = e(42), + u = Object(a.a)( + i, + function() { + var t = this, + n = t.$createElement, + e = t._self._c || n; + return t.isInternal + ? e( + 'RouterLink', + { + staticClass: 'nav-link', + attrs: { to: t.link, exact: t.exact }, + nativeOn: { + focusout: function(n) { + return t.focusoutAction(n); + }, + }, + }, + [t._v('\n ' + t._s(t.item.text) + '\n')], + ) + : e( + 'a', + { + staticClass: 'nav-link external', + attrs: { href: t.link, target: t.target, rel: t.rel }, + on: { focusout: t.focusoutAction }, + }, + [ + t._v('\n ' + t._s(t.item.text) + '\n '), + t.isBlankTarget ? e('OutboundLink') : t._e(), + ], + 1, + ); + }, + [], + !1, + null, + null, + null, + ); + n.a = u.exports; + }, + 313: function(t, n, e) { + 'use strict'; + var r = e(0), + i = e(314); + r( + { target: 'String', proto: !0, forced: e(315)('link') }, + { + link: function(t) { + return i(this, 'a', 'href', t); + }, + }, + ); + }, + 314: function(t, n, e) { + var r = e(22), + i = /"/g; + t.exports = function(t, n, e, a) { + var u = String(r(t)), + s = '<' + n; + return ( + '' !== e && (s += ' ' + e + '="' + String(a).replace(i, '"') + '"'), + s + '>' + u + '' + ); + }; + }, + 315: function(t, n, e) { + var r = e(1); + t.exports = function(t) { + return r(function() { + var n = ''[t]('"'); + return n !== n.toLowerCase() || n.split('"').length > 3; + }); + }; + }, + 332: function(t, n, e) {}, + 371: function(t, n, e) { + t.exports = e.p + 'assets/img/logo.001d04e6.svg'; + }, + 372: function(t, n, e) { + 'use strict'; + e(332); + }, + 381: function(t, n, e) { + 'use strict'; + e.r(n); + var r = { + name: 'Home', + components: { NavLink: e(311).a }, + computed: { + data: function() { + return this.$page.frontmatter; + }, + actionLink: function() { + return { link: this.data.actionLink, text: this.data.actionText }; + }, + }, + }, + i = (e(372), e(42)), + a = Object(i.a)( + r, + function() { + var t = this, + n = t.$createElement, + r = t._self._c || n; + return r( + 'main', + { + staticClass: 'home', + attrs: { 'aria-labelledby': null !== t.data.heroText ? 'main-title' : null }, + }, + [ + r('header', { staticClass: 'hero' }, [ + null !== t.data.heroText + ? r('h1', { attrs: { id: 'main-title' } }, [ + r('img', { attrs: { src: e(371), alt: t.data.heroAlt || 'hero' } }), + r('span', [t._v(t._s(t.data.heroText || t.$title || 'Hello'))]), + ]) + : t._e(), + ]), + t._v(' '), + t.data.features && t.data.features.length + ? r('div', { staticClass: 'features' }, [ + r( + 'div', + { staticClass: 'container' }, + t._l(t.data.features, function(n, e) { + return r('div', { key: e, staticClass: 'feature' }, [ + r('div', { staticClass: 'feature-index' }, [t._v(t._s(e + 1))]), + t._v(' '), + r('h2', [t._v(t._s(n.title))]), + t._v(' '), + r('p', [t._v(t._s(n.details))]), + ]); + }), + 0, + ), + ]) + : t._e(), + t._v(' '), + r('Content', { staticClass: 'theme-default-content custom' }), + t._v(' '), + r('div', { staticClass: 'hero' }, [ + t.data.actionText && t.data.actionLink + ? r( + 'p', + { staticClass: 'action' }, + [ + r('NavLink', { + staticClass: 'action-button', + attrs: { item: t.actionLink }, + }), + ], + 1, + ) + : t._e(), + ]), + t._v(' '), + t.data.footer + ? r('div', { staticClass: 'footer' }, [ + t._v('\n ' + t._s(t.data.footer) + '\n '), + ]) + : t._e(), + ], + 1, + ); + }, + [], + !1, + null, + null, + null, + ); + n.default = a.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/30.16824e40.js b/doc-dist/assets/js/30.16824e40.js new file mode 100644 index 00000000..eb95f5fd --- /dev/null +++ b/doc-dist/assets/js/30.16824e40.js @@ -0,0 +1,34 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [30], + { + 402: function(n, e, s) { + 'use strict'; + s.r(e); + var t = s(42), + x = Object(t.a)( + {}, + function() { + var n = this.$createElement, + e = this._self._c || n; + return e('ContentSlotsDistributor', { attrs: { 'slot-key': this.$parent.slotKey } }, [ + e('div', { staticClass: 'language- extra-class' }, [ + e('pre', { pre: !0, attrs: { class: 'language-text' } }, [ + e('code', [ + this._v( + 'src\n├─ assets\n│ ├─ header.png\n│ ├─ form.png\n│ ├─ footer.png\n│ ├─ icon.png\n│ ├─ picture.png\n├─ components\n│ ├─ BackTop\n│ │ └─ index.js\n│ ├─ BasicShop\n│ │ ├─ BasicComponents\n│ │ │ ├─ Card\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Carousel\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Footer\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Form\n│ │ │ │ ├─ BaseForm.tsx\n│ │ │ │ ├─ BasePopoverForm.tsx\n│ │ │ │ ├─ baseForm.less\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Header\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Icon\n│ │ │ │ ├─ icon.ts\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Image\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ LongText\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Nav\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Notice\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Qrcode\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ RichText\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Text\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ WhiteTpl\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ XButton\n│ │ │ │ ├─ Modal.tsx\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ schema.ts\n│ │ │ └─ template.ts\n│ │ ├─ MediaComponents\n│ │ │ ├─ Audio\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Calendar\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Map\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Video\n│ │ │ │ ├─ index.css\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ schema.ts\n│ │ │ └─ template.ts\n│ │ ├─ ShopComponents\n│ │ │ ├─ CardLabel\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Coupons\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ List\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Tab\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ ZhuanLan\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ schema.ts\n│ │ │ └─ template.ts\n│ │ ├─ VisualComponents\n│ │ │ ├─ Area\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Chart\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Funnel\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Line\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Pie\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ Radar\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ WordCloud\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ XProgress\n│ │ │ │ ├─ index.less\n│ │ │ │ ├─ index.tsx\n│ │ │ │ ├─ schema.ts\n│ │ │ │ └─ template.ts\n│ │ │ ├─ schema.ts\n│ │ │ └─ template.ts\n│ │ ├─ common.ts\n│ │ └─ schema.ts\n│ ├─ Calibration\n│ │ ├─ index.less\n│ │ └─ index.tsx\n│ ├─ ErrorBundaries\n│ │ └─ index.tsx\n│ ├─ LoadingCp\n│ │ └─ index.tsx\n│ ├─ ModalTpl\n│ │ ├─ cate.js\n│ │ ├─ index.js\n│ │ └─ index.less\n│ └─ Zan\n│ ├─ index.less\n│ └─ index.tsx\n├─ core\n│ ├─ FormComponents\n│ │ ├─ CardPicker\n│ │ │ ├─ index.less\n│ │ │ └─ index.tsx\n│ │ ├─ Color\n│ │ │ ├─ index.less\n│ │ │ └─ index.tsx\n│ │ ├─ DataList\n│ │ │ ├─ editorModal.tsx\n│ │ │ ├─ index.less\n│ │ │ └─ index.tsx\n│ │ ├─ FormItems\n│ │ │ ├─ EditorModal.tsx\n│ │ │ ├─ FormItems.tsx\n│ │ │ ├─ formItems.less\n│ │ │ └─ index.tsx\n│ │ ├─ InteractionData\n│ │ │ ├─ index.less\n│ │ │ └─ index.tsx\n│ │ ├─ MutiText\n│ │ │ ├─ index.less\n│ │ │ └─ index.tsx\n│ │ ├─ Pos\n│ │ │ ├─ index.less\n│ │ │ └─ index.tsx\n│ │ ├─ Table\n│ │ │ ├─ index.less\n│ │ │ └─ index.tsx\n│ │ ├─ Upload\n│ │ │ ├─ index.less\n│ │ │ └─ index.tsx\n│ │ ├─ XEditor\n│ │ │ ├─ index.less\n│ │ │ └─ index.tsx\n│ │ └─ types.ts\n│ ├─ DynamicEngine.tsx\n│ ├─ FormRender.tsx\n│ ├─ ViewRender.tsx\n│ └─ viewRender.less\n├─ layouts\n│ ├─ __tests__\n│ │ └─ index.test.js\n│ ├─ index.less\n│ └─ index.tsx\n├─ pages\n│ ├─ __tests__\n│ │ └─ index.test.js\n│ ├─ editor\n│ │ ├─ components\n│ │ │ ├─ AvatorGroup\n│ │ │ │ └─ index.tsx\n│ │ │ ├─ CanvasControl\n│ │ │ │ ├─ index.less\n│ │ │ │ └─ index.tsx\n│ │ │ └─ Header\n│ │ │ ├─ index.js\n│ │ │ └─ index.less\n│ │ ├─ models\n│ │ │ └─ editorModal.js\n│ │ ├─ services\n│ │ │ └─ editorService.js\n│ │ ├─ Container.js\n│ │ ├─ SourceBox.tsx\n│ │ ├─ TargetBox.js\n│ │ ├─ index.js\n│ │ ├─ index.less\n│ │ └─ preview.tsx\n│ ├─ help\n│ │ ├─ index.less\n│ │ └─ index.tsx\n│ ├─ home\n│ │ ├─ index.less\n│ │ └─ index.tsx\n│ ├─ ide\n│ │ ├─ _draft.tsx\n│ │ ├─ index.less\n│ │ └─ index.tsx\n│ ├─ login\n│ │ ├─ index.less\n│ │ └─ index.tsx\n│ ├─ document.ejs\n│ └─ mobileTip.js\n├─ utils\n│ ├─ req.ts\n│ └─ tool.ts\n├─ app.tsx\n└─ global.css\n\n', + ), + ]), + ]), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + e.default = x.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/31.61920c6c.js b/doc-dist/assets/js/31.61920c6c.js new file mode 100644 index 00000000..7fc7938b --- /dev/null +++ b/doc-dist/assets/js/31.61920c6c.js @@ -0,0 +1,262 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [31], + { + 400: function(t, s, a) { + 'use strict'; + a.r(s); + var n = a(42), + 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: '#撤销-重做' } }, [ + t._v('#'), + ]), + t._v(' 撤销/重做'), + ]), + t._v(' '), + a('p', [ + t._v( + '撤销重做我们主要使用了redux-undo这个库,配合Dva使用,具体使用方法参考如下操作:', + ), + ]), + t._v(' '), + a('div', { staticClass: 'language-js extra-class' }, [ + a('pre', { pre: !0, attrs: { class: 'language-js' } }, [ + a('code', [ + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('import')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v(' createLogger '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('from')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'redux-logger'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('import')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v(' message '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('from')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'antd'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('import')]), + t._v(' undoable'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v(' StateWithHistory '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('from')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [ + t._v("'redux-undo'"), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('import')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v(' Reducer'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' AnyAction '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('from')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'redux'")]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n\n'), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('export')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]), + t._v(' dva '), + 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 config'), + 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 onAction'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token function' } }, [ + t._v('createLogger'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('onError')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token parameter' } }, [ + t._v('e'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' Error'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n message'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('error')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('e'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('message'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('3')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token function-variable function' } }, [ + t._v('onReducer'), + ]), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token parameter' } }, [ + t._v('reducer'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' Reducer'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('<')]), + t._v('any'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' AnyAction'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('>')]), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + 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 '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('let')]), + t._v(' undoReducer '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('undoable')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('reducer'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('return')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('function')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + a('span', { pre: !0, attrs: { class: 'token parameter' } }, [ + t._v('state'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' StateWithHistory'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('<')]), + t._v('any'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('>')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' action'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' AnyAction'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('let')]), + t._v(' newState '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token function' } }, [ + t._v('undoReducer'), + ]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]), + t._v('state'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' action'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('let')]), + t._v(' router '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]), + t._v(' newState'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('present'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('router '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('?')]), + t._v(' newState'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('present'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('router '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' newState'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('present'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]), + t._v('routing'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('return')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]), + t._v(' '), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]), + t._v('newState'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v(' router'), + a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]), + t._v(' router '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n '), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]), + t._v('\n'), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]), + a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]), + t._v('\n'), + ]), + ]), + ]), + a('p', [ + t._v( + '以上我们就实现了全局配置redux-undo,在撤销重做按钮中我们就可以触发对应的方法来实现撤销重做的功能,其次我们还使用了redux-logger来实现redux的日志输出。', + ), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + s.default = r.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/32.e620cf6b.js b/doc-dist/assets/js/32.e620cf6b.js new file mode 100644 index 00000000..e2473530 --- /dev/null +++ b/doc-dist/assets/js/32.e620cf6b.js @@ -0,0 +1,55 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [32], + { + 401: function(t, n, e) { + 'use strict'; + e.r(n); + var o = e(42), + r = Object(o.a)( + {}, + function() { + var t = this, + n = t.$createElement, + e = t._self._c || n; + return e('ContentSlotsDistributor', { attrs: { 'slot-key': t.$parent.slotKey } }, [ + e('h1', { attrs: { id: '保存json' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#保存json' } }, [t._v('#')]), + t._v(' 保存json'), + ]), + t._v(' '), + e('p', [ + t._v( + '我们配置好H5页面之后,如果希望其他人观看,我们可以保存页面并发送链接。但是如果有多人协作的需求,比如一个H5页面可能由多个人完成,这个时候该怎么实现呢?基于已有的方案,我们可以采用socket实现多人协同编辑,但是成本比较大,所有这里我们提供了保存json的功能。', + ), + ]), + t._v(' '), + e('p', [ + t._v( + '我们可以将配置好的页面导出为json,发送给另一个人,这样另一个人通过导入该json文件可以实时看到当前的页面,这里还是依靠我们的页面渲染引擎viewEngine。实现思路也很简单,可以在github[', + ), + e( + 'a', + { + attrs: { + href: 'https://github.com/MrXujiang/h5-Dooring', + target: '_blank', + rel: 'noopener noreferrer', + }, + }, + [t._v('https://github.com/MrXujiang/h5-Dooring'), e('OutboundLink')], + 1, + ), + t._v(']上参考体验。'), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + n.default = r.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/4.cde629ec.js b/doc-dist/assets/js/4.cde629ec.js new file mode 100644 index 00000000..495ef891 --- /dev/null +++ b/doc-dist/assets/js/4.cde629ec.js @@ -0,0 +1,34 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [4], + { + 333: function(t, e, n) {}, + 373: function(t, e, n) { + 'use strict'; + n(333); + }, + 408: 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(373), n(42)), + p = Object(r.a)(i, void 0, void 0, !1, null, '15b7b770', null); + e.default = p.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/5.315fb3a4.js b/doc-dist/assets/js/5.315fb3a4.js new file mode 100644 index 00000000..b9ad3ebe --- /dev/null +++ b/doc-dist/assets/js/5.315fb3a4.js @@ -0,0 +1,40 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [5], + { + 334: function(e, t, c) {}, + 374: function(e, t, c) { + 'use strict'; + c(334); + }, + 382: function(e, t, c) { + 'use strict'; + c.r(t); + var i = { + name: 'CodeBlock', + props: { title: { type: String, required: !0 }, active: { type: Boolean, default: !1 } }, + }, + n = (c(374), c(42)), + s = Object(n.a)( + i, + function() { + var e = this.$createElement; + return (this._self._c || e)( + 'div', + { + staticClass: 'theme-code-block', + class: { 'theme-code-block__active': this.active }, + }, + [this._t('default')], + 2, + ); + }, + [], + !1, + null, + '6d04095e', + null, + ); + t.default = s.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/6.f057afa6.js b/doc-dist/assets/js/6.f057afa6.js new file mode 100644 index 00000000..6b244fbe --- /dev/null +++ b/doc-dist/assets/js/6.f057afa6.js @@ -0,0 +1,106 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [6], + { + 335: function(e, t, o) {}, + 375: function(e, t, o) { + 'use strict'; + o(335); + }, + 383: function(e, t, o) { + 'use strict'; + o.r(t); + o(23), o(93), o(65), o(95); + var a = { + name: 'CodeGroup', + data: function() { + return { codeTabs: [], activeCodeTabIndex: -1 }; + }, + watch: { + activeCodeTabIndex: function(e) { + this.codeTabs.forEach(function(e) { + e.elm.classList.remove('theme-code-block__active'); + }), + this.codeTabs[e].elm.classList.add('theme-code-block__active'); + }, + }, + mounted: function() { + var e = this; + (this.codeTabs = (this.$slots.default || []) + .filter(function(e) { + return Boolean(e.componentOptions); + }) + .map(function(t, o) { + return ( + '' === t.componentOptions.propsData.active && (e.activeCodeTabIndex = o), + { title: t.componentOptions.propsData.title, elm: t.elm } + ); + })), + -1 === this.activeCodeTabIndex && + this.codeTabs.length > 0 && + (this.activeCodeTabIndex = 0); + }, + methods: { + changeCodeTab: function(e) { + this.activeCodeTabIndex = e; + }, + }, + }, + c = (o(375), o(42)), + n = Object(c.a)( + a, + function() { + var e = this, + t = e.$createElement, + o = e._self._c || t; + return o( + 'div', + { staticClass: 'theme-code-group' }, + [ + o('div', { staticClass: 'theme-code-group__nav' }, [ + o( + 'ul', + { staticClass: 'theme-code-group__ul' }, + e._l(e.codeTabs, function(t, a) { + return o('li', { key: t.title, staticClass: 'theme-code-group__li' }, [ + o( + 'button', + { + staticClass: 'theme-code-group__nav-tab', + class: { + 'theme-code-group__nav-tab-active': a === e.activeCodeTabIndex, + }, + on: { + click: function(t) { + return e.changeCodeTab(a); + }, + }, + }, + [e._v('\n ' + e._s(t.title) + '\n ')], + ), + ]); + }), + 0, + ), + ]), + e._v(' '), + e._t('default'), + e._v(' '), + e.codeTabs.length < 1 + ? o('pre', { staticClass: 'pre-blank' }, [ + e._v('// Make sure to add code blocks to your code group'), + ]) + : e._e(), + ], + 2, + ); + }, + [], + !1, + null, + '32c2d7ed', + null, + ); + t.default = n.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/7.1eebf944.js b/doc-dist/assets/js/7.1eebf944.js new file mode 100644 index 00000000..05d6fb65 --- /dev/null +++ b/doc-dist/assets/js/7.1eebf944.js @@ -0,0 +1,44 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [7], + { + 364: function(t, s, e) { + t.exports = e.p + 'assets/img/preview-flow.b37c7798.png'; + }, + 365: function(t, s, e) { + t.exports = e.p + 'assets/img/preview-page.3ec86df5.png'; + }, + 403: function(t, s, e) { + 'use strict'; + e.r(s); + var r = e(42), + a = Object(r.a)( + {}, + function() { + var t = this, + s = t.$createElement, + r = t._self._c || s; + return r('ContentSlotsDistributor', { attrs: { 'slot-key': t.$parent.slotKey } }, [ + r('h1', { attrs: { id: '网页预览' } }, [ + r('a', { staticClass: 'header-anchor', attrs: { href: '#网页预览' } }, [t._v('#')]), + t._v(' 网页预览'), + ]), + t._v(' '), + r('p', [t._v('我们看看网页预览的工作流程:')]), + t._v(' '), + r('img', { attrs: { src: e(364), alt: 'foo' } }), + t._v(' '), + r('p', [t._v('前端预览界面:')]), + t._v(' '), + r('img', { attrs: { src: e(365), alt: 'foo' } }), + ]); + }, + [], + !1, + null, + null, + null, + ); + s.default = a.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/8.26287c92.js b/doc-dist/assets/js/8.26287c92.js new file mode 100644 index 00000000..759fefce --- /dev/null +++ b/doc-dist/assets/js/8.26287c92.js @@ -0,0 +1,62 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [8], + { + 366: function(t, s, a) { + t.exports = a.p + 'assets/img/template-ft.4f6e0d14.png'; + }, + 367: function(t, s, a) { + t.exports = a.p + 'assets/img/template-bg.244b9ac7.png'; + }, + 404: function(t, s, a) { + 'use strict'; + a.r(s); + var e = a(42), + r = Object(e.a)( + {}, + function() { + var t = this, + s = t.$createElement, + e = t._self._c || s; + return e('ContentSlotsDistributor', { attrs: { 'slot-key': t.$parent.slotKey } }, [ + e('h2', { attrs: { id: '模板库实现思路' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#模板库实现思路' } }, [ + t._v('#'), + ]), + t._v(' 模板库实现思路'), + ]), + t._v(' '), + e('p', [ + t._v( + '我们目前开放了模板库功能,一方面我们会定期配置行业模板,另一个方面Dooring还支持用户自己配置模板,可以一键保存到云端供用户使用。我们也可以将模板变成自己的页面共享给其他人。实现方式本质上是保存用户的配置信息,上传到服务器中做存储,在后台提供了管理模板的模块,可以修改,删除模板。如下图所示:', + ), + ]), + t._v(' '), + e('h3', { attrs: { id: '模板前台展示' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#模板前台展示' } }, [ + t._v('#'), + ]), + t._v(' 模板前台展示:'), + ]), + t._v(' '), + e('img', { attrs: { src: a(366), alt: 'foo' } }), + t._v(' '), + e('h3', { attrs: { id: '模板后台展示' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#模板后台展示' } }, [ + t._v('#'), + ]), + t._v(' 模板后台展示:'), + ]), + t._v(' '), + e('img', { attrs: { src: a(367), alt: 'foo' } }), + ]); + }, + [], + !1, + null, + null, + null, + ); + s.default = r.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/9.50c25808.js b/doc-dist/assets/js/9.50c25808.js new file mode 100644 index 00000000..49d959ba --- /dev/null +++ b/doc-dist/assets/js/9.50c25808.js @@ -0,0 +1,92 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [9], + { + 361: function(t, o, r) { + t.exports = r.p + 'assets/img/logo.001d04e6.svg'; + }, + 395: function(t, o, r) { + 'use strict'; + r.r(o); + var s = r(42), + v = Object(s.a)( + {}, + function() { + var t = this, + o = t.$createElement, + s = t._self._c || o; + return s('ContentSlotsDistributor', { attrs: { 'slot-key': t.$parent.slotKey } }, [ + s('img', { attrs: { src: r(361), alt: 'foo' } }), + t._v(' '), + s('p', [ + t._v( + 'H5-Dooring 是一款功能强大,高可扩展的 H5 可视化页面配置解决方案,致力于提供一套简单方便、专业可靠、无限可能的 H5 落地页最佳实践。', + ), + ]), + t._v(' '), + s('h2', { attrs: { id: '功能特点' } }, [ + s('a', { staticClass: 'header-anchor', attrs: { href: '#功能特点' } }, [t._v('#')]), + t._v(' 功能特点'), + ]), + t._v(' '), + s('p', [ + t._v('🎉 '), + s('strong', [t._v('可扩展,')]), + t._v( + ' Dooring 实现了较为完整的业务闭环,并使其模块化,编辑器内部功能接口也全部可以对接不同服务端语言,实现了标准化接口。此外还支持自定义组件,二次开发,设计模板等能力,以满足功能和跨领域的分层需求。', + ), + ]), + t._v(' '), + s('p', [ + t._v('📦 '), + s('strong', [t._v('开箱即用,')]), + t._v(' Dooring 内置了'), + s('strong', [t._v('表单渲染器、页面渲染器、动态加载内核')]), + t._v( + '等,仅需一套源码即可上手开发。并且还提供针对 React 的定制插件,内涵丰富的功能,可满足日常 80%的页面制作需求。', + ), + ]), + t._v(' '), + s('p', [ + t._v('🚀 '), + s('strong', [t._v('大量自研,')]), + t._v( + ' 包含整个编辑器架构、组件设计、文档、请求库封装,后台管理系统等,满足日常项目的周边需求。', + ), + ]), + t._v(' '), + s('p', [ + t._v('🚄 '), + s('strong', [t._v('与时俱进,')]), + t._v(' 在满足需求的同时,我们也不会停止对新技术的探索。比如更多'), + s('strong', [ + t._v('营销组件、业务功能,后台管理可视化,PC 页面编辑器,数据大屏定制'), + ]), + t._v('等等。'), + ]), + t._v(' '), + s('h2', { attrs: { id: '为什么选择-dooring' } }, [ + s('a', { staticClass: 'header-anchor', attrs: { href: '#为什么选择-dooring' } }, [ + t._v('#'), + ]), + t._v(' 为什么选择 Dooring'), + ]), + t._v(' '), + s('p', [ + t._v('目前'), + s('strong', [t._v('github')]), + t._v( + '已超过 3000+star,上线 2 个月累计 500+用户使用,解决完善了 100+问题,后续会持续迭代,更新,自研优秀,先进的 lowcode/nocode 解决方案。', + ), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + o.default = v.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/app.90eae5ac.js b/doc-dist/assets/js/app.90eae5ac.js new file mode 100644 index 00000000..f05a2a19 --- /dev/null +++ b/doc-dist/assets/js/app.90eae5ac.js @@ -0,0 +1,12654 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([[0], []]); +!(function(t) { + function e(e) { + for (var r, a, u = e[0], c = e[1], s = e[2], l = 0, p = []; l < u.length; l++) + (a = u[l]), Object.prototype.hasOwnProperty.call(o, a) && o[a] && p.push(o[a][0]), (o[a] = 0); + for (r in c) Object.prototype.hasOwnProperty.call(c, r) && (t[r] = c[r]); + for (f && f(e); p.length; ) p.shift()(); + return i.push.apply(i, s || []), n(); + } + function n() { + for (var t, e = 0; e < i.length; e++) { + for (var n = i[e], r = !0, u = 1; u < n.length; u++) { + var c = n[u]; + 0 !== o[c] && (r = !1); + } + r && (i.splice(e--, 1), (t = a((a.s = n[0])))); + } + return t; + } + var r = {}, + o = { 1: 0 }, + i = []; + function a(e) { + if (r[e]) return r[e].exports; + var n = (r[e] = { i: e, l: !1, exports: {} }); + return t[e].call(n.exports, n, n.exports, a), (n.l = !0), n.exports; + } + (a.e = function(t) { + var e = [], + n = o[t]; + if (0 !== n) + if (n) e.push(n[2]); + else { + var r = new Promise(function(e, r) { + n = o[t] = [e, r]; + }); + e.push((n[2] = r)); + var i, + u = document.createElement('script'); + (u.charset = 'utf-8'), + (u.timeout = 120), + a.nc && u.setAttribute('nonce', a.nc), + (u.src = (function(t) { + return ( + a.p + + 'assets/js/' + + ({}[t] || t) + + '.' + + { + 2: 'a5de04a4', + 3: 'ececc857', + 4: 'cde629ec', + 5: '315fb3a4', + 6: 'f057afa6', + 7: '1eebf944', + 8: '26287c92', + 9: '50c25808', + 10: '54d9780e', + 11: 'a67c4713', + 12: 'f7aa9a93', + 13: 'f725ef36', + 14: '85e93cce', + 15: '751a6d56', + 16: '2c84a15b', + 17: 'fb942f89', + 18: '81ac15ea', + 19: '67f92c26', + 20: '1245cec2', + 21: 'd021ac57', + 22: 'eb3fcb45', + 23: '1324e643', + 24: '2ab45118', + 25: '883f97db', + 26: 'be8cffe5', + 27: 'df90f08c', + 28: '188348ab', + 29: 'c25040d7', + 30: '16824e40', + 31: '61920c6c', + 32: 'e620cf6b', + }[t] + + '.js' + ); + })(t)); + var c = new Error(); + i = function(e) { + (u.onerror = u.onload = null), clearTimeout(s); + var n = o[t]; + if (0 !== n) { + if (n) { + var r = e && ('load' === e.type ? 'missing' : e.type), + i = e && e.target && e.target.src; + (c.message = 'Loading chunk ' + t + ' failed.\n(' + r + ': ' + i + ')'), + (c.name = 'ChunkLoadError'), + (c.type = r), + (c.request = i), + n[1](c); + } + o[t] = void 0; + } + }; + var s = setTimeout(function() { + i({ type: 'timeout', target: u }); + }, 12e4); + (u.onerror = u.onload = i), document.head.appendChild(u); + } + return Promise.all(e); + }), + (a.m = t), + (a.c = r), + (a.d = function(t, e, n) { + a.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: n }); + }), + (a.r = function(t) { + 'undefined' != typeof Symbol && + Symbol.toStringTag && + Object.defineProperty(t, Symbol.toStringTag, { value: 'Module' }), + Object.defineProperty(t, '__esModule', { value: !0 }); + }), + (a.t = function(t, e) { + if ((1 & e && (t = a(t)), 8 & e)) return t; + if (4 & e && 'object' == typeof t && t && t.__esModule) return t; + var n = Object.create(null); + if ( + (a.r(n), + Object.defineProperty(n, 'default', { enumerable: !0, value: t }), + 2 & e && 'string' != typeof t) + ) + for (var r in t) + a.d( + n, + r, + function(e) { + return t[e]; + }.bind(null, r), + ); + return n; + }), + (a.n = function(t) { + var e = + t && t.__esModule + ? function() { + return t.default; + } + : function() { + return t; + }; + return a.d(e, 'a', e), e; + }), + (a.o = function(t, e) { + return Object.prototype.hasOwnProperty.call(t, e); + }), + (a.p = '/doc/'), + (a.oe = function(t) { + throw (console.error(t), t); + }); + var u = (window.webpackJsonp = window.webpackJsonp || []), + c = u.push.bind(u); + (u.push = e), (u = u.slice()); + for (var s = 0; s < u.length; s++) e(u[s]); + var f = c; + i.push([180, 0]), n(); +})([ + function(t, e, n) { + var r = n(3), + o = n(24).f, + i = n(11), + a = n(10), + u = n(71), + c = n(113), + s = n(100); + t.exports = function(t, e) { + var n, + f, + l, + p, + h, + d = t.target, + v = t.global, + y = t.stat; + if ((n = v ? r : y ? r[d] || u(d, {}) : (r[d] || {}).prototype)) + for (f in e) { + if ( + ((p = e[f]), + (l = t.noTargetGet ? (h = o(n, f)) && h.value : n[f]), + !s(v ? f : d + (y ? '.' : '#') + f, t.forced) && void 0 !== l) + ) { + if (typeof p == typeof l) continue; + c(p, l); + } + (t.sham || (l && l.sham)) && i(p, 'sham', !0), a(n, f, p, t); + } + }; + }, + function(t, e) { + t.exports = function(t) { + try { + return !!t(); + } catch (t) { + return !0; + } + }; + }, + function(t, e, n) { + var r = n(3), + o = n(69), + i = n(7), + a = n(45), + u = n(73), + c = n(107), + s = o('wks'), + f = r.Symbol, + l = c ? f : (f && f.withoutSetter) || a; + t.exports = function(t) { + return i(s, t) || (u && i(f, t) ? (s[t] = f[t]) : (s[t] = l('Symbol.' + t))), s[t]; + }; + }, + function(t, e) { + var n = function(t) { + return t && t.Math == Math && t; + }; + t.exports = + n('object' == typeof globalThis && globalThis) || + n('object' == typeof window && window) || + n('object' == typeof self && self) || + n('object' == typeof global && global) || + (function() { + return this; + })() || + Function('return this')(); + }, + function(t, e) { + t.exports = function(t) { + return 'object' == typeof t ? null !== t : 'function' == typeof t; + }; + }, + function(t, e, n) { + var r = n(4); + t.exports = function(t) { + if (!r(t)) throw TypeError(String(t) + ' is not an object'); + return t; + }; + }, + function(t, e, n) { + var r = n(1); + t.exports = !r(function() { + return ( + 7 != + Object.defineProperty({}, 1, { + get: function() { + return 7; + }, + })[1] + ); + }); + }, + function(t, e) { + var n = {}.hasOwnProperty; + t.exports = function(t, e) { + return n.call(t, e); + }; + }, + function(t, e, n) { + var r = n(6), + o = n(106), + i = n(5), + a = n(44), + u = Object.defineProperty; + e.f = r + ? u + : function(t, e, n) { + if ((i(t), (e = a(e, !0)), i(n), o)) + try { + return u(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(80), + o = n(10), + i = n(196); + r || o(Object.prototype, 'toString', i, { unsafe: !0 }); + }, + function(t, e, n) { + var r = n(3), + o = n(11), + i = n(7), + a = n(71), + u = n(76), + c = n(28), + s = c.get, + f = c.enforce, + l = String(String).split('String'); + (t.exports = function(t, e, n, u) { + var c, + s = !!u && !!u.unsafe, + p = !!u && !!u.enumerable, + h = !!u && !!u.noTargetGet; + 'function' == typeof n && + ('string' != typeof e || i(n, 'name') || o(n, 'name', e), + (c = f(n)).source || (c.source = l.join('string' == typeof e ? e : ''))), + t !== r + ? (s ? !h && t[e] && (p = !0) : delete t[e], p ? (t[e] = n) : o(t, e, n)) + : p + ? (t[e] = n) + : a(e, n); + })(Function.prototype, 'toString', function() { + return ('function' == typeof this && s(this).source) || u(this); + }); + }, + function(t, e, n) { + var r = n(6), + o = n(8), + i = n(32); + t.exports = r + ? function(t, e, n) { + return o.f(t, e, i(1, n)); + } + : function(t, e, n) { + return (t[e] = n), t; + }; + }, + function(t, e, n) { + var r = n(22); + t.exports = function(t) { + return Object(r(t)); + }; + }, + function(t, e, n) { + var r = n(47), + o = Math.min; + t.exports = function(t) { + return t > 0 ? o(r(t), 9007199254740991) : 0; + }; + }, + function(t, e) { + var n = Array.isArray; + t.exports = n; + }, + function(t, e, n) { + var r = n(31), + o = n(22); + t.exports = function(t) { + return r(o(t)); + }; + }, + function(t, e, n) { + var r = n(140), + o = 'object' == typeof self && self && self.Object === Object && self, + i = r || o || Function('return this')(); + t.exports = i; + }, + function(t, e, n) { + var r = n(6), + o = n(1), + i = n(7), + a = Object.defineProperty, + u = {}, + c = function(t) { + throw t; + }; + t.exports = function(t, e) { + if (i(u, t)) return u[t]; + e || (e = {}); + var n = [][t], + s = !!i(e, 'ACCESSORS') && e.ACCESSORS, + f = i(e, 0) ? e[0] : c, + l = i(e, 1) ? e[1] : void 0; + return (u[t] = + !!n && + !o(function() { + if (s && !r) return !0; + var t = { length: -1 }; + s ? a(t, 1, { enumerable: !0, get: c }) : (t[1] = 1), n.call(t, f, l); + })); + }; + }, + function(t, e, n) { + var r = n(111), + o = n(3), + i = function(t) { + return 'function' == typeof t ? t : void 0; + }; + t.exports = function(t, e) { + return arguments.length < 2 ? i(r[t]) || i(o[t]) : (r[t] && r[t][e]) || (o[t] && o[t][e]); + }; + }, + function(t, e) { + t.exports = !1; + }, + function(t, e) { + t.exports = function(t) { + if ('function' != typeof t) throw TypeError(String(t) + ' is not a function'); + return t; + }; + }, + function(t, e, n) { + var r = n(225), + o = n(228); + t.exports = function(t, e) { + var n = o(t, e); + return r(n) ? n : void 0; + }; + }, + function(t, e) { + t.exports = function(t) { + if (null == t) throw TypeError("Can't call method on " + t); + return t; + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(29).filter, + i = n(53), + a = n(17), + u = i('filter'), + c = a('filter'); + r( + { target: 'Array', proto: !0, forced: !u || !c }, + { + filter: function(t) { + return o(this, t, arguments.length > 1 ? arguments[1] : void 0); + }, + }, + ); + }, + function(t, e, n) { + var r = n(6), + o = n(77), + i = n(32), + a = n(15), + u = n(44), + c = n(7), + s = n(106), + f = Object.getOwnPropertyDescriptor; + e.f = r + ? f + : function(t, e) { + if (((t = a(t)), (e = u(e, !0)), s)) + try { + return f(t, e); + } catch (t) {} + if (c(t, e)) return i(!o.f.call(t, e), t[e]); + }; + }, + function(t, e) { + t.exports = function(t) { + return null != t && 'object' == typeof t; + }; + }, + function(t, e) { + var n = {}.toString; + t.exports = function(t) { + return n.call(t).slice(8, -1); + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(128).charAt, + o = n(28), + i = n(112), + a = o.set, + u = o.getterFor('String Iterator'); + i( + String, + 'String', + function(t) { + a(this, { type: 'String Iterator', string: String(t), index: 0 }); + }, + function() { + var t, + e = u(this), + n = e.string, + o = e.index; + return o >= n.length + ? { value: void 0, done: !0 } + : ((t = r(n, o)), (e.index += t.length), { value: t, done: !1 }); + }, + ); + }, + function(t, e, n) { + var r, + o, + i, + a = n(182), + u = n(3), + c = n(4), + s = n(11), + f = n(7), + l = n(70), + p = n(48), + h = n(34), + d = u.WeakMap; + if (a) { + var v = l.state || (l.state = new d()), + y = v.get, + m = v.has, + g = v.set; + (r = function(t, e) { + return (e.facade = t), g.call(v, t, e), e; + }), + (o = function(t) { + return y.call(v, t) || {}; + }), + (i = function(t) { + return m.call(v, t); + }); + } else { + var b = p('state'); + (h[b] = !0), + (r = function(t, e) { + return (e.facade = t), s(t, b, e), e; + }), + (o = function(t) { + return f(t, b) ? t[b] : {}; + }), + (i = function(t) { + return f(t, b); + }); + } + t.exports = { + set: r, + get: o, + has: i, + enforce: function(t) { + return i(t) ? o(t) : r(t, {}); + }, + getterFor: function(t) { + return function(e) { + var n; + if (!c(e) || (n = o(e)).type !== t) + throw TypeError('Incompatible receiver, ' + t + ' required'); + return n; + }; + }, + }; + }, + function(t, e, n) { + var r = n(50), + o = n(31), + i = n(12), + a = n(13), + u = n(127), + c = [].push, + s = function(t) { + var e = 1 == t, + n = 2 == t, + s = 3 == t, + f = 4 == t, + l = 6 == t, + p = 7 == t, + h = 5 == t || l; + return function(d, v, y, m) { + for ( + var g, + b, + _ = i(d), + x = o(_), + w = r(v, y, 3), + O = a(x.length), + S = 0, + j = m || u, + E = e ? j(d, O) : n || p ? j(d, 0) : void 0; + O > S; + S++ + ) + if ((h || S in x) && ((b = w((g = x[S]), S, _)), t)) + if (e) E[S] = b; + else if (b) + switch (t) { + case 3: + return !0; + case 5: + return g; + case 6: + return S; + case 2: + c.call(E, g); + } + else + switch (t) { + case 4: + return !1; + case 7: + c.call(E, g); + } + return l ? -1 : s || f ? f : E; + }; + }; + t.exports = { + forEach: s(0), + map: s(1), + filter: s(2), + some: s(3), + every: s(4), + find: s(5), + findIndex: s(6), + filterOut: s(7), + }; + }, + function(t, e, n) { + var r = n(39), + o = n(210), + i = n(211), + a = r ? r.toStringTag : void 0; + t.exports = function(t) { + return null == t + ? void 0 === t + ? '[object Undefined]' + : '[object Null]' + : a && a in Object(t) + ? o(t) + : i(t); + }; + }, + function(t, e, n) { + var r = n(1), + o = n(26), + i = ''.split; + t.exports = r(function() { + return !Object('z').propertyIsEnumerable(0); + }) + ? function(t) { + return 'String' == o(t) ? i.call(t, '') : Object(t); + } + : Object; + }, + function(t, e) { + t.exports = function(t, e) { + return { enumerable: !(1 & t), configurable: !(2 & t), writable: !(4 & t), value: e }; + }; + }, + function(t, e, n) { + var r, + o = n(5), + i = n(181), + a = n(75), + u = n(34), + c = n(110), + s = n(72), + f = n(48), + l = f('IE_PROTO'), + p = function() {}, + h = function(t) { + return ''; + }, + d = function() { + try { + r = document.domain && new ActiveXObject('htmlfile'); + } catch (t) {} + var t, e; + d = r + ? (function(t) { + t.write(h('')), t.close(); + var e = t.parentWindow.Object; + return (t = null), e; + })(r) + : (((e = s('iframe')).style.display = 'none'), + c.appendChild(e), + (e.src = String('javascript:')), + (t = e.contentWindow.document).open(), + t.write(h('document.F=Object')), + t.close(), + t.F); + for (var n = a.length; n--; ) delete d.prototype[a[n]]; + return d(); + }; + (u[l] = !0), + (t.exports = + Object.create || + function(t, e) { + var n; + return ( + null !== t + ? ((p.prototype = o(t)), (n = new p()), (p.prototype = null), (n[l] = t)) + : (n = d()), + void 0 === e ? n : i(n, e) + ); + }); + }, + function(t, e) { + t.exports = {}; + }, + function(t, e) { + t.exports = {}; + }, + function(t, e, n) { + var r = n(26); + t.exports = + Array.isArray || + function(t) { + return 'Array' == r(t); + }; + }, + function(t, e, n) { + var r = n(3), + o = n(129), + i = n(105), + a = n(11), + u = n(2), + c = u('iterator'), + s = u('toStringTag'), + f = i.values; + for (var l in o) { + var p = r[l], + h = p && p.prototype; + if (h) { + if (h[c] !== f) + try { + a(h, c, f); + } catch (t) { + h[c] = f; + } + if ((h[s] || a(h, s, l), o[l])) + for (var d in i) + if (h[d] !== i[d]) + try { + a(h, d, i[d]); + } catch (t) { + h[d] = i[d]; + } + } + } + }, + function(t, e, n) { + 'use strict'; + var r = n(1); + t.exports = function(t, e) { + var n = [][t]; + return ( + !!n && + r(function() { + n.call( + null, + e || + function() { + throw 1; + }, + 1, + ); + }) + ); + }; + }, + function(t, e, n) { + var r = n(16).Symbol; + t.exports = r; + }, + function(t, e, n) { + 'use strict'; + n.d(e, 'a', function() { + return i; + }); + n(96); + var r = n(41); + n(56), n(57), n(82), n(137), n(9), n(27), n(37); + var o = n(63); + function i(t) { + return ( + (function(t) { + if (Array.isArray(t)) return Object(r.a)(t); + })(t) || + (function(t) { + if ('undefined' != typeof Symbol && Symbol.iterator in Object(t)) return Array.from(t); + })(t) || + Object(o.a)(t) || + (function() { + throw new TypeError( + 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.', + ); + })() + ); + } + }, + function(t, e, n) { + 'use strict'; + function r(t, e) { + (null == e || e > t.length) && (e = t.length); + for (var n = 0, r = new Array(e); n < e; n++) r[n] = t[n]; + return r; + } + n.d(e, 'a', function() { + return r; + }); + }, + function(t, e, n) { + 'use strict'; + function r(t, e, n, r, o, i, a, u) { + var c, + s = 'function' == typeof t ? t.options : t; + if ( + (e && ((s.render = e), (s.staticRenderFns = n), (s._compiled = !0)), + r && (s.functional = !0), + i && (s._scopeId = 'data-v-' + i), + a + ? ((c = function(t) { + (t = + t || + (this.$vnode && this.$vnode.ssrContext) || + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext)) || + 'undefined' == typeof __VUE_SSR_CONTEXT__ || + (t = __VUE_SSR_CONTEXT__), + o && o.call(this, t), + t && t._registeredComponents && t._registeredComponents.add(a); + }), + (s._ssrRegister = c)) + : o && + (c = u + ? function() { + o.call(this, (s.functional ? this.parent : this).$root.$options.shadowRoot); + } + : o), + c) + ) + if (s.functional) { + s._injectStyles = c; + var f = s.render; + s.render = function(t, e) { + return c.call(e), f(t, e); + }; + } else { + var l = s.beforeCreate; + s.beforeCreate = l ? [].concat(l, c) : [c]; + } + return { exports: t, options: s }; + } + n.d(e, 'a', function() { + return r; + }); + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(67); + r({ target: 'RegExp', proto: !0, forced: /./.exec !== o }, { exec: o }); + }, + function(t, e, n) { + var r = n(4); + t.exports = function(t, e) { + if (!r(t)) return t; + var n, o; + if (e && 'function' == typeof (n = t.toString) && !r((o = n.call(t)))) return o; + if ('function' == typeof (n = t.valueOf) && !r((o = n.call(t)))) return o; + if (!e && 'function' == typeof (n = t.toString) && !r((o = n.call(t)))) return o; + throw TypeError("Can't convert object to primitive value"); + }; + }, + function(t, e) { + var n = 0, + r = Math.random(); + t.exports = function(t) { + return 'Symbol(' + String(void 0 === t ? '' : t) + ')_' + (++n + r).toString(36); + }; + }, + function(t, e, n) { + var r = n(108), + o = n(75); + t.exports = + Object.keys || + function(t) { + return r(t, o); + }; + }, + 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, n) { + var r = n(69), + o = n(45), + i = r('keys'); + t.exports = function(t) { + return i[t] || (i[t] = o(t)); + }; + }, + function(t, e, n) { + var r = n(8).f, + o = n(7), + i = n(2)('toStringTag'); + t.exports = function(t, e, n) { + t && !o((t = n ? t : t.prototype), i) && r(t, i, { configurable: !0, value: e }); + }; + }, + function(t, e, n) { + var r = n(20); + t.exports = function(t, e, n) { + if ((r(t), void 0 === e)) return t; + switch (n) { + case 0: + return function() { + return t.call(e); + }; + 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, o) { + return t.call(e, n, r, o); + }; + } + return function() { + return t.apply(e, arguments); + }; + }; + }, + function(t, e, n) { + var r = n(26), + o = n(3); + t.exports = 'process' == r(o.process); + }, + function(t, e, n) { + var r, + o, + i = n(3), + a = n(81), + u = i.process, + c = u && u.versions, + s = c && c.v8; + s + ? (o = (r = s.split('.'))[0] + r[1]) + : a && + (!(r = a.match(/Edge\/(\d+)/)) || r[1] >= 74) && + (r = a.match(/Chrome\/(\d+)/)) && + (o = r[1]), + (t.exports = o && +o); + }, + function(t, e, n) { + var r = n(1), + o = n(2), + i = n(52), + a = o('species'); + t.exports = function(t) { + return ( + i >= 51 || + !r(function() { + var e = []; + return ( + ((e.constructor = {})[a] = function() { + return { foo: 1 }; + }), + 1 !== e[t](Boolean).foo + ); + }) + ); + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(4), + i = n(36), + a = n(109), + u = n(13), + c = n(15), + s = n(55), + f = n(2), + l = n(53), + p = n(17), + h = l('slice'), + d = p('slice', { ACCESSORS: !0, 0: 0, 1: 2 }), + v = f('species'), + y = [].slice, + m = Math.max; + r( + { target: 'Array', proto: !0, forced: !h || !d }, + { + slice: function(t, e) { + var n, + r, + f, + l = c(this), + p = u(l.length), + h = a(t, p), + d = a(void 0 === e ? p : e, p); + if ( + i(l) && + ('function' != typeof (n = l.constructor) || (n !== Array && !i(n.prototype)) + ? o(n) && null === (n = n[v]) && (n = void 0) + : (n = void 0), + n === Array || void 0 === n) + ) + return y.call(l, h, d); + for (r = new (void 0 === n ? Array : n)(m(d - h, 0)), f = 0; h < d; h++, f++) + h in l && s(r, f, l[h]); + return (r.length = f), r; + }, + }, + ); + }, + function(t, e, n) { + 'use strict'; + var r = n(44), + o = n(8), + i = n(32); + t.exports = function(t, e, n) { + var a = r(e); + a in t ? o.f(t, a, i(0, n)) : (t[a] = n); + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(3), + i = n(18), + a = n(19), + u = n(6), + c = n(73), + s = n(107), + f = n(1), + l = n(7), + p = n(36), + h = n(4), + d = n(5), + v = n(12), + y = n(15), + m = n(44), + g = n(32), + b = n(33), + _ = n(46), + x = n(68), + w = n(204), + O = n(78), + S = n(24), + j = n(8), + E = n(77), + A = n(11), + k = n(10), + C = n(69), + $ = n(48), + P = n(34), + T = n(45), + L = n(2), + R = n(135), + z = n(136), + D = n(49), + M = n(28), + I = n(29).forEach, + N = $('hidden'), + U = L('toPrimitive'), + F = M.set, + B = M.getterFor('Symbol'), + V = Object.prototype, + H = o.Symbol, + q = i('JSON', 'stringify'), + W = S.f, + G = j.f, + K = w.f, + J = E.f, + X = C('symbols'), + Q = C('op-symbols'), + Y = C('string-to-symbol-registry'), + Z = C('symbol-to-string-registry'), + tt = C('wks'), + et = o.QObject, + nt = !et || !et.prototype || !et.prototype.findChild, + rt = + u && + f(function() { + return ( + 7 != + b( + G({}, 'a', { + get: function() { + return G(this, 'a', { value: 7 }).a; + }, + }), + ).a + ); + }) + ? function(t, e, n) { + var r = W(V, e); + r && delete V[e], G(t, e, n), r && t !== V && G(V, e, r); + } + : G, + ot = function(t, e) { + var n = (X[t] = b(H.prototype)); + return F(n, { type: 'Symbol', tag: t, description: e }), u || (n.description = e), n; + }, + it = s + ? function(t) { + return 'symbol' == typeof t; + } + : function(t) { + return Object(t) instanceof H; + }, + at = function(t, e, n) { + t === V && at(Q, e, n), d(t); + var r = m(e, !0); + return ( + d(n), + l(X, r) + ? (n.enumerable + ? (l(t, N) && t[N][r] && (t[N][r] = !1), (n = b(n, { enumerable: g(0, !1) }))) + : (l(t, N) || G(t, N, g(1, {})), (t[N][r] = !0)), + rt(t, r, n)) + : G(t, r, n) + ); + }, + ut = function(t, e) { + d(t); + var n = y(e), + r = _(n).concat(lt(n)); + return ( + I(r, function(e) { + (u && !ct.call(n, e)) || at(t, e, n[e]); + }), + t + ); + }, + ct = function(t) { + var e = m(t, !0), + n = J.call(this, e); + return ( + !(this === V && l(X, e) && !l(Q, e)) && + (!(n || !l(this, e) || !l(X, e) || (l(this, N) && this[N][e])) || n) + ); + }, + st = function(t, e) { + var n = y(t), + r = m(e, !0); + if (n !== V || !l(X, r) || l(Q, r)) { + var o = W(n, r); + return !o || !l(X, r) || (l(n, N) && n[N][r]) || (o.enumerable = !0), o; + } + }, + ft = function(t) { + var e = K(y(t)), + n = []; + return ( + I(e, function(t) { + l(X, t) || l(P, t) || n.push(t); + }), + n + ); + }, + lt = function(t) { + var e = t === V, + n = K(e ? Q : y(t)), + r = []; + return ( + I(n, function(t) { + !l(X, t) || (e && !l(V, t)) || r.push(X[t]); + }), + r + ); + }; + (c || + (k( + (H = function() { + if (this instanceof H) throw TypeError('Symbol is not a constructor'); + var t = arguments.length && void 0 !== arguments[0] ? String(arguments[0]) : void 0, + e = T(t), + n = function(t) { + this === V && n.call(Q, t), + l(this, N) && l(this[N], e) && (this[N][e] = !1), + rt(this, e, g(1, t)); + }; + return u && nt && rt(V, e, { configurable: !0, set: n }), ot(e, t); + }).prototype, + 'toString', + function() { + return B(this).tag; + }, + ), + k(H, 'withoutSetter', function(t) { + return ot(T(t), t); + }), + (E.f = ct), + (j.f = at), + (S.f = st), + (x.f = w.f = ft), + (O.f = lt), + (R.f = function(t) { + return ot(L(t), t); + }), + u && + (G(H.prototype, 'description', { + configurable: !0, + get: function() { + return B(this).description; + }, + }), + a || k(V, 'propertyIsEnumerable', ct, { unsafe: !0 }))), + r({ global: !0, wrap: !0, forced: !c, sham: !c }, { Symbol: H }), + I(_(tt), function(t) { + z(t); + }), + r( + { target: 'Symbol', stat: !0, forced: !c }, + { + for: function(t) { + var e = String(t); + if (l(Y, e)) return Y[e]; + var n = H(e); + return (Y[e] = n), (Z[n] = e), n; + }, + keyFor: function(t) { + if (!it(t)) throw TypeError(t + ' is not a symbol'); + if (l(Z, t)) return Z[t]; + }, + useSetter: function() { + nt = !0; + }, + useSimple: function() { + nt = !1; + }, + }, + ), + r( + { target: 'Object', stat: !0, forced: !c, sham: !u }, + { + create: function(t, e) { + return void 0 === e ? b(t) : ut(b(t), e); + }, + defineProperty: at, + defineProperties: ut, + getOwnPropertyDescriptor: st, + }, + ), + r( + { target: 'Object', stat: !0, forced: !c }, + { getOwnPropertyNames: ft, getOwnPropertySymbols: lt }, + ), + r( + { + target: 'Object', + stat: !0, + forced: f(function() { + O.f(1); + }), + }, + { + getOwnPropertySymbols: function(t) { + return O.f(v(t)); + }, + }, + ), + q) && + r( + { + target: 'JSON', + stat: !0, + forced: + !c || + f(function() { + var t = H(); + return '[null]' != q([t]) || '{}' != q({ a: t }) || '{}' != q(Object(t)); + }), + }, + { + stringify: function(t, e, n) { + for (var r, o = [t], i = 1; arguments.length > i; ) o.push(arguments[i++]); + if (((r = e), (h(e) || void 0 !== t) && !it(t))) + return ( + p(e) || + (e = function(t, e) { + if (('function' == typeof r && (e = r.call(this, t, e)), !it(e))) return e; + }), + (o[1] = e), + q.apply(null, o) + ); + }, + }, + ); + H.prototype[U] || A(H.prototype, U, H.prototype.valueOf), D(H, 'Symbol'), (P[N] = !0); + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(6), + i = n(3), + a = n(7), + u = n(4), + c = n(8).f, + s = n(113), + f = i.Symbol; + if ( + o && + 'function' == typeof f && + (!('description' in f.prototype) || void 0 !== f().description) + ) { + var l = {}, + p = function() { + var t = arguments.length < 1 || void 0 === arguments[0] ? void 0 : String(arguments[0]), + e = this instanceof p ? new f(t) : void 0 === t ? f() : f(t); + return '' === t && (l[e] = !0), e; + }; + s(p, f); + var h = (p.prototype = f.prototype); + h.constructor = p; + var d = h.toString, + v = 'Symbol(test)' == String(f('test')), + y = /^Symbol\((.*)\)[^)]+$/; + c(h, 'description', { + configurable: !0, + get: function() { + var t = u(this) ? this.valueOf() : this, + e = d.call(t); + if (a(l, t)) return ''; + var n = v ? e.slice(7, -1) : e.replace(y, '$1'); + return '' === n ? void 0 : n; + }, + }), + r({ global: !0, forced: !0 }, { Symbol: p }); + } + }, + function(t, e, n) { + var r = n(215), + o = n(216), + i = n(217), + a = n(218), + u = n(219); + function c(t) { + var e = -1, + n = null == t ? 0 : t.length; + for (this.clear(); ++e < n; ) { + var r = t[e]; + this.set(r[0], r[1]); + } + } + (c.prototype.clear = r), + (c.prototype.delete = o), + (c.prototype.get = i), + (c.prototype.has = a), + (c.prototype.set = u), + (t.exports = c); + }, + function(t, e, n) { + var r = n(142); + t.exports = function(t, e) { + for (var n = t.length; n--; ) if (r(t[n][0], e)) return n; + return -1; + }; + }, + function(t, e, n) { + var r = n(21)(Object, 'create'); + t.exports = r; + }, + function(t, e, n) { + var r = n(237); + t.exports = function(t, e) { + var n = t.__data__; + return r(e) ? n['string' == typeof e ? 'string' : 'hash'] : n.map; + }; + }, + function(t, e, n) { + var r = n(91); + t.exports = function(t) { + if ('string' == typeof t || r(t)) return t; + var e = t + ''; + return '0' == e && 1 / t == -1 / 0 ? '-0' : e; + }; + }, + function(t, e, n) { + 'use strict'; + n.d(e, 'a', function() { + return o; + }); + n(137), n(54), n(138), n(83), n(9), n(98), n(27); + var r = n(41); + function o(t, e) { + if (t) { + if ('string' == typeof t) return Object(r.a)(t, e); + var n = Object.prototype.toString.call(t).slice(8, -1); + return ( + 'Object' === n && t.constructor && (n = t.constructor.name), + 'Map' === n || 'Set' === n + ? Array.from(t) + : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) + ? Object(r.a)(t, e) + : void 0 + ); + } + } + }, + function(t, e, n) { + var r, o; + /* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */ void 0 === + (o = + 'function' == + typeof (r = function() { + var t, + e, + n = { version: '0.2.0' }, + r = (n.settings = { + minimum: 0.08, + easing: 'ease', + positionUsing: '', + speed: 200, + trickle: !0, + trickleRate: 0.02, + trickleSpeed: 800, + showSpinner: !0, + barSelector: '[role="bar"]', + spinnerSelector: '[role="spinner"]', + parent: 'body', + template: + '
', + }); + function o(t, e, n) { + return t < e ? e : t > n ? n : t; + } + function i(t) { + return 100 * (-1 + t); + } + (n.configure = function(t) { + var e, n; + for (e in t) void 0 !== (n = t[e]) && t.hasOwnProperty(e) && (r[e] = n); + return this; + }), + (n.status = null), + (n.set = function(t) { + var e = n.isStarted(); + (t = o(t, r.minimum, 1)), (n.status = 1 === t ? null : t); + var c = n.render(!e), + s = c.querySelector(r.barSelector), + f = r.speed, + l = r.easing; + return ( + c.offsetWidth, + a(function(e) { + '' === r.positionUsing && (r.positionUsing = n.getPositioningCSS()), + u( + s, + (function(t, e, n) { + var o; + return ( + ((o = + 'translate3d' === r.positionUsing + ? { transform: 'translate3d(' + i(t) + '%,0,0)' } + : 'translate' === r.positionUsing + ? { transform: 'translate(' + i(t) + '%,0)' } + : { 'margin-left': i(t) + '%' }).transition = 'all ' + e + 'ms ' + n), + o + ); + })(t, f, l), + ), + 1 === t + ? (u(c, { transition: 'none', opacity: 1 }), + c.offsetWidth, + setTimeout(function() { + u(c, { transition: 'all ' + f + 'ms linear', opacity: 0 }), + setTimeout(function() { + n.remove(), e(); + }, f); + }, f)) + : setTimeout(e, f); + }), + this + ); + }), + (n.isStarted = function() { + return 'number' == typeof n.status; + }), + (n.start = function() { + n.status || n.set(0); + var t = function() { + setTimeout(function() { + n.status && (n.trickle(), t()); + }, r.trickleSpeed); + }; + return r.trickle && t(), this; + }), + (n.done = function(t) { + return t || n.status ? n.inc(0.3 + 0.5 * Math.random()).set(1) : this; + }), + (n.inc = function(t) { + var e = n.status; + return e + ? ('number' != typeof t && (t = (1 - e) * o(Math.random() * e, 0.1, 0.95)), + (e = o(e + t, 0, 0.994)), + n.set(e)) + : n.start(); + }), + (n.trickle = function() { + return n.inc(Math.random() * r.trickleRate); + }), + (t = 0), + (e = 0), + (n.promise = function(r) { + return r && 'resolved' !== r.state() + ? (0 === e && n.start(), + t++, + e++, + r.always(function() { + 0 == --e ? ((t = 0), n.done()) : n.set((t - e) / t); + }), + this) + : this; + }), + (n.render = function(t) { + if (n.isRendered()) return document.getElementById('nprogress'); + s(document.documentElement, 'nprogress-busy'); + var e = document.createElement('div'); + (e.id = 'nprogress'), (e.innerHTML = r.template); + var o, + a = e.querySelector(r.barSelector), + c = t ? '-100' : i(n.status || 0), + f = document.querySelector(r.parent); + return ( + u(a, { transition: 'all 0 linear', transform: 'translate3d(' + c + '%,0,0)' }), + r.showSpinner || ((o = e.querySelector(r.spinnerSelector)) && p(o)), + f != document.body && s(f, 'nprogress-custom-parent'), + f.appendChild(e), + e + ); + }), + (n.remove = function() { + f(document.documentElement, 'nprogress-busy'), + f(document.querySelector(r.parent), 'nprogress-custom-parent'); + var t = document.getElementById('nprogress'); + t && p(t); + }), + (n.isRendered = function() { + return !!document.getElementById('nprogress'); + }), + (n.getPositioningCSS = function() { + var t = document.body.style, + e = + 'WebkitTransform' in t + ? 'Webkit' + : 'MozTransform' in t + ? 'Moz' + : 'msTransform' in t + ? 'ms' + : 'OTransform' in t + ? 'O' + : ''; + return e + 'Perspective' in t + ? 'translate3d' + : e + 'Transform' in t + ? 'translate' + : 'margin'; + }); + var a = (function() { + var t = []; + function e() { + var n = t.shift(); + n && n(e); + } + return function(n) { + t.push(n), 1 == t.length && e(); + }; + })(), + u = (function() { + var t = ['Webkit', 'O', 'Moz', 'ms'], + e = {}; + function n(n) { + return ( + (n = n.replace(/^-ms-/, 'ms-').replace(/-([\da-z])/gi, function(t, e) { + return e.toUpperCase(); + })), + e[n] || + (e[n] = (function(e) { + var n = document.body.style; + if (e in n) return e; + for (var r, o = t.length, i = e.charAt(0).toUpperCase() + e.slice(1); o--; ) + if ((r = t[o] + i) in n) return r; + return e; + })(n)) + ); + } + function r(t, e, r) { + (e = n(e)), (t.style[e] = r); + } + return function(t, e) { + var n, + o, + i = arguments; + if (2 == i.length) + for (n in e) void 0 !== (o = e[n]) && e.hasOwnProperty(n) && r(t, n, o); + else r(t, i[1], i[2]); + }; + })(); + function c(t, e) { + return ('string' == typeof t ? t : l(t)).indexOf(' ' + e + ' ') >= 0; + } + function s(t, e) { + var n = l(t), + r = n + e; + c(n, e) || (t.className = r.substring(1)); + } + function f(t, e) { + var n, + r = l(t); + c(t, e) && + ((n = r.replace(' ' + e + ' ', ' ')), (t.className = n.substring(1, n.length - 1))); + } + function l(t) { + return (' ' + (t.className || '') + ' ').replace(/\s+/gi, ' '); + } + function p(t) { + t && t.parentNode && t.parentNode.removeChild(t); + } + return n; + }) + ? r.call(e, n, e, t) + : r) || (t.exports = o); + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(29).map, + i = n(53), + a = n(17), + u = i('map'), + c = a('map'); + r( + { target: 'Array', proto: !0, forced: !u || !c }, + { + map: function(t) { + return o(this, t, arguments.length > 1 ? arguments[1] : void 0); + }, + }, + ); + }, + function(t, e, n) { + 'use strict'; + var r = n(167), + o = n(5), + i = n(13), + a = n(47), + u = n(22), + c = n(168), + s = n(203), + f = n(169), + l = Math.max, + p = Math.min; + r('replace', 2, function(t, e, n, r) { + var h = r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE, + d = r.REPLACE_KEEPS_$0, + v = h ? '$' : '$0'; + return [ + function(n, r) { + var o = u(this), + i = null == n ? void 0 : n[t]; + return void 0 !== i ? i.call(n, o, r) : e.call(String(o), n, r); + }, + function(t, r) { + if ((!h && d) || ('string' == typeof r && -1 === r.indexOf(v))) { + var u = n(e, t, this, r); + if (u.done) return u.value; + } + var y = o(t), + m = String(this), + g = 'function' == typeof r; + g || (r = String(r)); + var b = y.global; + if (b) { + var _ = y.unicode; + y.lastIndex = 0; + } + for (var x = []; ; ) { + var w = f(y, m); + if (null === w) break; + if ((x.push(w), !b)) break; + '' === String(w[0]) && (y.lastIndex = c(m, i(y.lastIndex), _)); + } + for (var O, S = '', j = 0, E = 0; E < x.length; E++) { + w = x[E]; + for ( + var A = String(w[0]), k = l(p(a(w.index), m.length), 0), C = [], $ = 1; + $ < w.length; + $++ + ) + C.push(void 0 === (O = w[$]) ? O : String(O)); + var P = w.groups; + if (g) { + var T = [A].concat(C, k, m); + void 0 !== P && T.push(P); + var L = String(r.apply(void 0, T)); + } else L = s(A, m, k, C, P, r); + k >= j && ((S += m.slice(j, k) + L), (j = k + A.length)); + } + return S + m.slice(j); + }, + ]; + }); + }, + function(t, e, n) { + 'use strict'; + var r, + o, + i = n(104), + a = n(175), + u = RegExp.prototype.exec, + c = String.prototype.replace, + s = u, + f = + ((r = /a/), + (o = /b*/g), + u.call(r, 'a'), + u.call(o, 'a'), + 0 !== r.lastIndex || 0 !== o.lastIndex), + l = a.UNSUPPORTED_Y || a.BROKEN_CARET, + p = void 0 !== /()??/.exec('')[1]; + (f || p || l) && + (s = function(t) { + var e, + n, + r, + o, + a = this, + s = l && a.sticky, + h = i.call(a), + d = a.source, + v = 0, + y = t; + return ( + s && + (-1 === (h = h.replace('y', '')).indexOf('g') && (h += 'g'), + (y = String(t).slice(a.lastIndex)), + a.lastIndex > 0 && + (!a.multiline || (a.multiline && '\n' !== t[a.lastIndex - 1])) && + ((d = '(?: ' + d + ')'), (y = ' ' + y), v++), + (n = new RegExp('^(?:' + d + ')', h))), + p && (n = new RegExp('^' + d + '$(?!\\s)', h)), + f && (e = a.lastIndex), + (r = u.call(s ? n : a, y)), + s + ? r + ? ((r.input = r.input.slice(v)), + (r[0] = r[0].slice(v)), + (r.index = a.lastIndex), + (a.lastIndex += r[0].length)) + : (a.lastIndex = 0) + : f && r && (a.lastIndex = a.global ? r.index + r[0].length : e), + p && + r && + r.length > 1 && + c.call(r[0], n, function() { + for (o = 1; o < arguments.length - 2; o++) void 0 === arguments[o] && (r[o] = void 0); + }), + r + ); + }), + (t.exports = s); + }, + function(t, e, n) { + var r = n(108), + o = n(75).concat('length', 'prototype'); + e.f = + Object.getOwnPropertyNames || + function(t) { + return r(t, o); + }; + }, + function(t, e, n) { + var r = n(19), + o = n(70); + (t.exports = function(t, e) { + return o[t] || (o[t] = void 0 !== e ? e : {}); + })('versions', []).push({ + version: '3.8.2', + mode: r ? 'pure' : 'global', + copyright: '© 2021 Denis Pushkarev (zloirock.ru)', + }); + }, + function(t, e, n) { + var r = n(3), + o = n(71), + i = r['__core-js_shared__'] || o('__core-js_shared__', {}); + t.exports = i; + }, + function(t, e, n) { + var r = n(3), + o = n(11); + t.exports = function(t, e) { + try { + o(r, t, e); + } catch (n) { + r[t] = e; + } + return e; + }; + }, + function(t, e, n) { + var r = n(3), + o = n(4), + i = r.document, + a = o(i) && o(i.createElement); + t.exports = function(t) { + return a ? i.createElement(t) : {}; + }; + }, + function(t, e, n) { + var r = n(1); + t.exports = + !!Object.getOwnPropertySymbols && + !r(function() { + return !String(Symbol()); + }); + }, + function(t, e, n) { + var r = n(15), + o = n(13), + i = n(109), + a = function(t) { + return function(e, n, a) { + var u, + c = r(e), + s = o(c.length), + f = i(a, s); + if (t && n != n) { + for (; s > f; ) if ((u = c[f++]) != u) return !0; + } else for (; s > f; f++) if ((t || f in c) && c[f] === n) return t || f || 0; + return !t && -1; + }; + }; + t.exports = { includes: a(!0), indexOf: a(!1) }; + }, + function(t, e) { + t.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf', + ]; + }, + function(t, e, n) { + var r = n(70), + o = Function.toString; + 'function' != typeof r.inspectSource && + (r.inspectSource = function(t) { + return o.call(t); + }), + (t.exports = r.inspectSource); + }, + function(t, e, n) { + 'use strict'; + var r = {}.propertyIsEnumerable, + o = Object.getOwnPropertyDescriptor, + i = o && !r.call({ 1: 2 }, 1); + e.f = i + ? function(t) { + var e = o(this, t); + return !!e && e.enumerable; + } + : r; + }, + function(t, e) { + e.f = Object.getOwnPropertySymbols; + }, + function(t, e, n) { + var r = n(7), + o = n(12), + i = n(48), + a = n(116), + u = i('IE_PROTO'), + c = Object.prototype; + t.exports = a + ? Object.getPrototypeOf + : function(t) { + return ( + (t = o(t)), + r(t, u) + ? t[u] + : 'function' == typeof t.constructor && t instanceof t.constructor + ? t.constructor.prototype + : t instanceof Object + ? c + : null + ); + }; + }, + function(t, e, n) { + var r = {}; + (r[n(2)('toStringTag')] = 'z'), (t.exports = '[object z]' === String(r)); + }, + function(t, e, n) { + var r = n(18); + t.exports = r('navigator', 'userAgent') || ''; + }, + function(t, e, n) { + n(136)('iterator'); + }, + function(t, e, n) { + var r = n(6), + o = n(8).f, + i = Function.prototype, + a = i.toString, + u = /^\s*function ([^ (]*)/; + r && + !('name' in i) && + o(i, 'name', { + configurable: !0, + get: function() { + try { + return a.call(this).match(u)[1]; + } catch (t) { + return ''; + } + }, + }); + }, + function(t, e, n) { + var r = n(209), + o = n(25), + i = Object.prototype, + a = i.hasOwnProperty, + u = i.propertyIsEnumerable, + c = r( + (function() { + return arguments; + })(), + ) + ? r + : function(t) { + return o(t) && a.call(t, 'callee') && !u.call(t, 'callee'); + }; + t.exports = c; + }, + function(t, e, n) { + var r = n(21)(n(16), 'Map'); + t.exports = r; + }, + function(t, e) { + t.exports = function(t) { + var e = typeof t; + return null != t && ('object' == e || 'function' == e); + }; + }, + function(t, e, n) { + var r = n(229), + o = n(236), + i = n(238), + a = n(239), + u = n(240); + function c(t) { + var e = -1, + n = null == t ? 0 : t.length; + for (this.clear(); ++e < n; ) { + var r = t[e]; + this.set(r[0], r[1]); + } + } + (c.prototype.clear = r), + (c.prototype.delete = o), + (c.prototype.get = i), + (c.prototype.has = a), + (c.prototype.set = u), + (t.exports = c); + }, + function(t, e) { + t.exports = function(t) { + var e = -1, + n = Array(t.size); + return ( + t.forEach(function(t) { + n[++e] = t; + }), + n + ); + }; + }, + function(t, e) { + t.exports = function(t) { + return 'number' == typeof t && t > -1 && t % 1 == 0 && t <= 9007199254740991; + }; + }, + function(t, e, n) { + var r = n(14), + o = n(91), + i = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + a = /^\w*$/; + t.exports = function(t, e) { + if (r(t)) return !1; + var n = typeof t; + return ( + !('number' != n && 'symbol' != n && 'boolean' != n && null != t && !o(t)) || + a.test(t) || !i.test(t) || (null != e && t in Object(e)) + ); + }; + }, + function(t, e, n) { + var r = n(30), + o = n(25); + t.exports = function(t) { + return 'symbol' == typeof t || (o(t) && '[object Symbol]' == r(t)); + }; + }, + function(t, e) { + t.exports = function(t) { + return t; + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(131); + r({ target: 'Array', proto: !0, forced: [].forEach != o }, { forEach: o }); + }, + function(t, e, n) { + var r = n(0), + o = n(12), + i = n(46); + r( + { + target: 'Object', + stat: !0, + forced: n(1)(function() { + i(1); + }), + }, + { + keys: function(t) { + return i(o(t)); + }, + }, + ); + }, + function(t, e, n) { + var r = n(3), + o = n(129), + i = n(131), + a = n(11); + for (var u in o) { + var c = r[u], + s = c && c.prototype; + if (s && s.forEach !== i) + try { + a(s, 'forEach', i); + } catch (t) { + s.forEach = i; + } + } + }, + function(t, e, n) { + n(0)({ target: 'Array', stat: !0 }, { isArray: n(36) }); + }, + function(t, e, n) { + var r = n(5), + o = n(20), + i = n(2)('species'); + t.exports = function(t, e) { + var n, + a = r(t).constructor; + return void 0 === a || null == (n = r(a)[i]) ? e : o(n); + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(10), + o = n(5), + i = n(1), + a = n(104), + u = RegExp.prototype, + c = u.toString, + s = i(function() { + return '/a/b' != c.call({ source: 'a', flags: 'b' }); + }), + f = 'toString' != c.name; + (s || f) && + r( + RegExp.prototype, + 'toString', + function() { + var t = o(this), + e = String(t.source), + n = t.flags; + return ( + '/' + + e + + '/' + + String(void 0 === n && t instanceof RegExp && !('flags' in u) ? a.call(t) : n) + ); + }, + { unsafe: !0 }, + ); + }, + function(t, e, n) { + var r = n(2), + o = n(33), + i = n(8), + a = r('unscopables'), + u = Array.prototype; + null == u[a] && i.f(u, a, { configurable: !0, value: o(null) }), + (t.exports = function(t) { + u[a][t] = !0; + }); + }, + function(t, e, n) { + var r = n(1), + o = /#|\.prototype\./, + i = function(t, e) { + var n = u[a(t)]; + return n == s || (n != c && ('function' == typeof e ? r(e) : !!e)); + }, + a = (i.normalize = function(t) { + return String(t) + .replace(o, '.') + .toLowerCase(); + }), + u = (i.data = {}), + c = (i.NATIVE = 'N'), + s = (i.POLYFILL = 'P'); + t.exports = i; + }, + function(t, e, n) { + var r = n(5), + o = n(184); + t.exports = + Object.setPrototypeOf || + ('__proto__' in {} + ? (function() { + var t, + e = !1, + n = {}; + try { + (t = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set).call(n, []), + (e = n instanceof Array); + } catch (t) {} + return function(n, i) { + return r(n), o(i), e ? t.call(n, i) : (n.__proto__ = i), n; + }; + })() + : void 0); + }, + function(t, e, n) { + var r = n(171); + t.exports = function(t) { + if (r(t)) throw TypeError("The method doesn't accept regular expressions"); + return t; + }; + }, + function(t, e, n) { + var r = n(2)('match'); + t.exports = function(t) { + var e = /./; + try { + '/./'[t](e); + } catch (n) { + try { + return (e[r] = !1), '/./'[t](e); + } catch (t) {} + } + return !1; + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(5); + t.exports = function() { + var t = r(this), + e = ''; + return ( + t.global && (e += 'g'), + t.ignoreCase && (e += 'i'), + t.multiline && (e += 'm'), + t.dotAll && (e += 's'), + t.unicode && (e += 'u'), + t.sticky && (e += 'y'), + e + ); + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(15), + o = n(99), + i = n(35), + a = n(28), + u = n(112), + c = a.set, + s = a.getterFor('Array Iterator'); + (t.exports = u( + Array, + 'Array', + function(t, e) { + c(this, { type: 'Array Iterator', target: r(t), index: 0, kind: e }); + }, + function() { + var t = s(this), + e = t.target, + n = t.kind, + r = t.index++; + return !e || r >= e.length + ? ((t.target = void 0), { value: void 0, done: !0 }) + : 'keys' == n + ? { value: r, done: !1 } + : 'values' == n + ? { value: e[r], done: !1 } + : { value: [r, e[r]], done: !1 }; + }, + 'values', + )), + (i.Arguments = i.Array), + o('keys'), + o('values'), + o('entries'); + }, + function(t, e, n) { + var r = n(6), + o = n(1), + i = n(72); + t.exports = + !r && + !o(function() { + return ( + 7 != + Object.defineProperty(i('div'), 'a', { + get: function() { + return 7; + }, + }).a + ); + }); + }, + function(t, e, n) { + var r = n(73); + t.exports = r && !Symbol.sham && 'symbol' == typeof Symbol.iterator; + }, + function(t, e, n) { + var r = n(7), + o = n(15), + i = n(74).indexOf, + a = n(34); + t.exports = function(t, e) { + var n, + u = o(t), + c = 0, + s = []; + for (n in u) !r(a, n) && r(u, n) && s.push(n); + for (; e.length > c; ) r(u, (n = e[c++])) && (~i(s, n) || s.push(n)); + return s; + }; + }, + function(t, e, n) { + var r = n(47), + o = Math.max, + i = Math.min; + t.exports = function(t, e) { + var n = r(t); + return n < 0 ? o(n + e, 0) : i(n, e); + }; + }, + function(t, e, n) { + var r = n(18); + t.exports = r('document', 'documentElement'); + }, + function(t, e, n) { + var r = n(3); + t.exports = r; + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(183), + i = n(79), + a = n(101), + u = n(49), + c = n(11), + s = n(10), + f = n(2), + l = n(19), + p = n(35), + h = n(115), + d = h.IteratorPrototype, + v = h.BUGGY_SAFARI_ITERATORS, + y = f('iterator'), + m = function() { + return this; + }; + t.exports = function(t, e, n, f, h, g, b) { + o(n, e, f); + var _, + x, + w, + O = function(t) { + if (t === h && k) return k; + if (!v && t in E) return E[t]; + switch (t) { + case 'keys': + case 'values': + case 'entries': + return function() { + return new n(this, t); + }; + } + return function() { + return new n(this); + }; + }, + S = e + ' Iterator', + j = !1, + E = t.prototype, + A = E[y] || E['@@iterator'] || (h && E[h]), + k = (!v && A) || O(h), + C = ('Array' == e && E.entries) || A; + if ( + (C && + ((_ = i(C.call(new t()))), + d !== Object.prototype && + _.next && + (l || i(_) === d || (a ? a(_, d) : 'function' != typeof _[y] && c(_, y, m)), + u(_, S, !0, !0), + l && (p[S] = m))), + 'values' == h && + A && + 'values' !== A.name && + ((j = !0), + (k = function() { + return A.call(this); + })), + (l && !b) || E[y] === k || c(E, y, k), + (p[e] = k), + h) + ) + if (((x = { values: O('values'), keys: g ? k : O('keys'), entries: O('entries') }), b)) + for (w in x) (v || j || !(w in E)) && s(E, w, x[w]); + else r({ target: e, proto: !0, forced: v || j }, x); + return x; + }; + }, + function(t, e, n) { + var r = n(7), + o = n(114), + i = n(24), + a = n(8); + t.exports = function(t, e) { + for (var n = o(e), u = a.f, c = i.f, s = 0; s < n.length; s++) { + var f = n[s]; + r(t, f) || u(t, f, c(e, f)); + } + }; + }, + function(t, e, n) { + var r = n(18), + o = n(68), + i = n(78), + a = n(5); + t.exports = + r('Reflect', 'ownKeys') || + function(t) { + var e = o.f(a(t)), + n = i.f; + return n ? e.concat(n(t)) : e; + }; + }, + function(t, e, n) { + 'use strict'; + var r, + o, + i, + a = n(79), + u = n(11), + c = n(7), + s = n(2), + f = n(19), + l = s('iterator'), + p = !1; + [].keys && + ('next' in (i = [].keys()) ? (o = a(a(i))) !== Object.prototype && (r = o) : (p = !0)), + null == r && (r = {}), + f || + c(r, l) || + u(r, l, function() { + return this; + }), + (t.exports = { IteratorPrototype: r, BUGGY_SAFARI_ITERATORS: p }); + }, + function(t, e, n) { + var r = n(1); + t.exports = !r(function() { + function t() {} + return (t.prototype.constructor = null), Object.getPrototypeOf(new t()) !== t.prototype; + }); + }, + function(t, e, n) { + var r = n(3); + t.exports = r.Promise; + }, + function(t, e, n) { + var r = n(2), + o = n(35), + i = r('iterator'), + a = Array.prototype; + t.exports = function(t) { + return void 0 !== t && (o.Array === t || a[i] === t); + }; + }, + function(t, e, n) { + var r = n(120), + o = n(35), + i = n(2)('iterator'); + t.exports = function(t) { + if (null != t) return t[i] || t['@@iterator'] || o[r(t)]; + }; + }, + function(t, e, n) { + var r = n(80), + o = n(26), + i = n(2)('toStringTag'), + a = + 'Arguments' == + o( + (function() { + return arguments; + })(), + ); + t.exports = r + ? o + : function(t) { + var e, n, r; + 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 + : a + ? o(e) + : 'Object' == (r = o(e)) && 'function' == typeof e.callee + ? 'Arguments' + : r; + }; + }, + function(t, e, n) { + var r = n(5); + t.exports = function(t) { + var e = t.return; + if (void 0 !== e) return r(e.call(t)).value; + }; + }, + function(t, e, n) { + var r = n(2)('iterator'), + o = !1; + try { + var i = 0, + a = { + next: function() { + return { done: !!i++ }; + }, + return: function() { + o = !0; + }, + }; + (a[r] = function() { + return this; + }), + Array.from(a, function() { + throw 2; + }); + } catch (t) {} + t.exports = function(t, e) { + if (!e && !o) return !1; + var n = !1; + try { + var i = {}; + (i[r] = function() { + return { + next: function() { + return { done: (n = !0) }; + }, + }; + }), + t(i); + } catch (t) {} + return n; + }; + }, + function(t, e, n) { + var r, + o, + i, + a = n(3), + u = n(1), + c = n(50), + s = n(110), + f = n(72), + l = n(124), + p = n(51), + h = a.location, + d = a.setImmediate, + v = a.clearImmediate, + y = a.process, + m = a.MessageChannel, + g = a.Dispatch, + b = 0, + _ = {}, + x = function(t) { + if (_.hasOwnProperty(t)) { + var e = _[t]; + delete _[t], e(); + } + }, + w = function(t) { + return function() { + x(t); + }; + }, + O = function(t) { + x(t.data); + }, + S = function(t) { + a.postMessage(t + '', h.protocol + '//' + h.host); + }; + (d && v) || + ((d = function(t) { + for (var e = [], n = 1; arguments.length > n; ) e.push(arguments[n++]); + return ( + (_[++b] = function() { + ('function' == typeof t ? t : Function(t)).apply(void 0, e); + }), + r(b), + b + ); + }), + (v = function(t) { + delete _[t]; + }), + p + ? (r = function(t) { + y.nextTick(w(t)); + }) + : g && g.now + ? (r = function(t) { + g.now(w(t)); + }) + : m && !l + ? ((i = (o = new m()).port2), (o.port1.onmessage = O), (r = c(i.postMessage, i, 1))) + : a.addEventListener && + 'function' == typeof postMessage && + !a.importScripts && + h && + 'file:' !== h.protocol && + !u(S) + ? ((r = S), a.addEventListener('message', O, !1)) + : (r = + 'onreadystatechange' in f('script') + ? function(t) { + s.appendChild(f('script')).onreadystatechange = function() { + s.removeChild(this), x(t); + }; + } + : function(t) { + setTimeout(w(t), 0); + })), + (t.exports = { set: d, clear: v }); + }, + function(t, e, n) { + var r = n(81); + t.exports = /(iphone|ipod|ipad).*applewebkit/i.test(r); + }, + function(t, e, n) { + var r = n(5), + o = n(4), + i = n(126); + t.exports = function(t, e) { + if ((r(t), o(e) && e.constructor === t)) return e; + var n = i.f(t); + return (0, n.resolve)(e), n.promise; + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(20), + o = function(t) { + var e, n; + (this.promise = new t(function(t, r) { + if (void 0 !== e || void 0 !== n) throw TypeError('Bad Promise constructor'); + (e = t), (n = r); + })), + (this.resolve = r(e)), + (this.reject = r(n)); + }; + t.exports.f = function(t) { + return new o(t); + }; + }, + function(t, e, n) { + var r = n(4), + o = n(36), + i = n(2)('species'); + t.exports = function(t, e) { + var n; + return ( + o(t) && + ('function' != typeof (n = t.constructor) || (n !== Array && !o(n.prototype)) + ? r(n) && null === (n = n[i]) && (n = void 0) + : (n = void 0)), + new (void 0 === n ? Array : n)(0 === e ? 0 : e) + ); + }; + }, + function(t, e, n) { + var r = n(47), + o = n(22), + i = function(t) { + return function(e, n) { + var i, + a, + u = String(o(e)), + c = r(n), + s = u.length; + return c < 0 || c >= s + ? t + ? '' + : void 0 + : (i = u.charCodeAt(c)) < 55296 || + i > 56319 || + c + 1 === s || + (a = u.charCodeAt(c + 1)) < 56320 || + a > 57343 + ? t + ? u.charAt(c) + : i + : t + ? u.slice(c, c + 2) + : a - 56320 + ((i - 55296) << 10) + 65536; + }; + }; + t.exports = { codeAt: i(!1), charAt: i(!0) }; + }, + function(t, e) { + t.exports = { + CSSRuleList: 0, + CSSStyleDeclaration: 0, + CSSValueList: 0, + ClientRectList: 0, + DOMRectList: 0, + DOMStringList: 0, + DOMTokenList: 1, + DataTransferItemList: 0, + FileList: 0, + HTMLAllCollection: 0, + HTMLCollection: 0, + HTMLFormElement: 0, + HTMLSelectElement: 0, + MediaList: 0, + MimeTypeArray: 0, + NamedNodeMap: 0, + NodeList: 1, + PaintRequestList: 0, + Plugin: 0, + PluginArray: 0, + SVGLengthList: 0, + SVGNumberList: 0, + SVGPathSegList: 0, + SVGPointList: 0, + SVGStringList: 0, + SVGTransformList: 0, + SourceBufferList: 0, + StyleSheetList: 0, + TextTrackCueList: 0, + TextTrackList: 0, + TouchList: 0, + }; + }, + function(t, e, n) { + var r = (function(t) { + 'use strict'; + var e = Object.prototype, + n = e.hasOwnProperty, + r = 'function' == typeof Symbol ? Symbol : {}, + o = r.iterator || '@@iterator', + i = r.asyncIterator || '@@asyncIterator', + a = r.toStringTag || '@@toStringTag'; + function u(t, e, n) { + return ( + Object.defineProperty(t, e, { value: n, enumerable: !0, configurable: !0, writable: !0 }), + t[e] + ); + } + try { + u({}, ''); + } catch (t) { + u = function(t, e, n) { + return (t[e] = n); + }; + } + function c(t, e, n, r) { + var o = e && e.prototype instanceof l ? e : l, + i = Object.create(o.prototype), + a = new O(r || []); + return ( + (i._invoke = (function(t, e, n) { + var r = 'suspendedStart'; + return function(o, i) { + if ('executing' === r) throw new Error('Generator is already running'); + if ('completed' === r) { + if ('throw' === o) throw i; + return j(); + } + for (n.method = o, n.arg = i; ; ) { + var a = n.delegate; + if (a) { + var u = _(a, n); + if (u) { + if (u === f) continue; + return u; + } + } + if ('next' === n.method) n.sent = n._sent = n.arg; + else if ('throw' === n.method) { + if ('suspendedStart' === r) throw ((r = 'completed'), n.arg); + n.dispatchException(n.arg); + } else 'return' === n.method && n.abrupt('return', n.arg); + r = 'executing'; + var c = s(t, e, n); + if ('normal' === c.type) { + if (((r = n.done ? 'completed' : 'suspendedYield'), c.arg === f)) continue; + return { value: c.arg, done: n.done }; + } + 'throw' === c.type && ((r = 'completed'), (n.method = 'throw'), (n.arg = c.arg)); + } + }; + })(t, n, a)), + i + ); + } + function s(t, e, n) { + try { + return { type: 'normal', arg: t.call(e, n) }; + } catch (t) { + return { type: 'throw', arg: t }; + } + } + t.wrap = c; + var f = {}; + function l() {} + function p() {} + function h() {} + var d = {}; + d[o] = function() { + return this; + }; + var v = Object.getPrototypeOf, + y = v && v(v(S([]))); + y && y !== e && n.call(y, o) && (d = y); + var m = (h.prototype = l.prototype = Object.create(d)); + function g(t) { + ['next', 'throw', 'return'].forEach(function(e) { + u(t, e, function(t) { + return this._invoke(e, t); + }); + }); + } + function b(t, e) { + var r; + this._invoke = function(o, i) { + function a() { + return new e(function(r, a) { + !(function r(o, i, a, u) { + var c = s(t[o], t, i); + if ('throw' !== c.type) { + var f = c.arg, + l = f.value; + return l && 'object' == typeof l && n.call(l, '__await') + ? e.resolve(l.__await).then( + function(t) { + r('next', t, a, u); + }, + function(t) { + r('throw', t, a, u); + }, + ) + : e.resolve(l).then( + function(t) { + (f.value = t), a(f); + }, + function(t) { + return r('throw', t, a, u); + }, + ); + } + u(c.arg); + })(o, i, r, a); + }); + } + return (r = r ? r.then(a, a) : a()); + }; + } + function _(t, e) { + var n = t.iterator[e.method]; + if (void 0 === n) { + if (((e.delegate = null), 'throw' === e.method)) { + if ( + t.iterator.return && + ((e.method = 'return'), (e.arg = void 0), _(t, e), 'throw' === e.method) + ) + return f; + (e.method = 'throw'), + (e.arg = new TypeError("The iterator does not provide a 'throw' method")); + } + return f; + } + var r = s(n, t.iterator, e.arg); + if ('throw' === r.type) + return (e.method = 'throw'), (e.arg = r.arg), (e.delegate = null), f; + var o = r.arg; + return o + ? o.done + ? ((e[t.resultName] = o.value), + (e.next = t.nextLoc), + 'return' !== e.method && ((e.method = 'next'), (e.arg = void 0)), + (e.delegate = null), + f) + : o + : ((e.method = 'throw'), + (e.arg = new TypeError('iterator result is not an object')), + (e.delegate = null), + f); + } + function x(t) { + var e = { tryLoc: t[0] }; + 1 in t && (e.catchLoc = t[1]), + 2 in t && ((e.finallyLoc = t[2]), (e.afterLoc = t[3])), + this.tryEntries.push(e); + } + function w(t) { + var e = t.completion || {}; + (e.type = 'normal'), delete e.arg, (t.completion = e); + } + function O(t) { + (this.tryEntries = [{ tryLoc: 'root' }]), t.forEach(x, this), this.reset(!0); + } + function S(t) { + if (t) { + var e = t[o]; + if (e) return e.call(t); + if ('function' == typeof t.next) return t; + if (!isNaN(t.length)) { + var r = -1, + i = function e() { + for (; ++r < t.length; ) + if (n.call(t, r)) return (e.value = t[r]), (e.done = !1), e; + return (e.value = void 0), (e.done = !0), e; + }; + return (i.next = i); + } + } + return { next: j }; + } + function j() { + return { value: void 0, done: !0 }; + } + return ( + (p.prototype = m.constructor = h), + (h.constructor = p), + (p.displayName = u(h, a, 'GeneratorFunction')), + (t.isGeneratorFunction = function(t) { + var e = 'function' == typeof t && t.constructor; + return !!e && (e === p || 'GeneratorFunction' === (e.displayName || e.name)); + }), + (t.mark = function(t) { + return ( + Object.setPrototypeOf + ? Object.setPrototypeOf(t, h) + : ((t.__proto__ = h), u(t, a, 'GeneratorFunction')), + (t.prototype = Object.create(m)), + t + ); + }), + (t.awrap = function(t) { + return { __await: t }; + }), + g(b.prototype), + (b.prototype[i] = function() { + return this; + }), + (t.AsyncIterator = b), + (t.async = function(e, n, r, o, i) { + void 0 === i && (i = Promise); + var a = new b(c(e, n, r, o), i); + return t.isGeneratorFunction(n) + ? a + : a.next().then(function(t) { + return t.done ? t.value : a.next(); + }); + }), + g(m), + u(m, a, 'Generator'), + (m[o] = function() { + return this; + }), + (m.toString = function() { + return '[object Generator]'; + }), + (t.keys = function(t) { + var e = []; + for (var n in t) e.push(n); + return ( + e.reverse(), + function n() { + for (; e.length; ) { + var r = e.pop(); + if (r in t) return (n.value = r), (n.done = !1), n; + } + return (n.done = !0), n; + } + ); + }), + (t.values = S), + (O.prototype = { + constructor: O, + reset: function(t) { + if ( + ((this.prev = 0), + (this.next = 0), + (this.sent = this._sent = void 0), + (this.done = !1), + (this.delegate = null), + (this.method = 'next'), + (this.arg = void 0), + this.tryEntries.forEach(w), + !t) + ) + for (var e in this) + 't' === e.charAt(0) && n.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = void 0); + }, + stop: function() { + this.done = !0; + var t = this.tryEntries[0].completion; + if ('throw' === t.type) throw t.arg; + return this.rval; + }, + dispatchException: function(t) { + if (this.done) throw t; + var e = this; + function r(n, r) { + return ( + (a.type = 'throw'), + (a.arg = t), + (e.next = n), + r && ((e.method = 'next'), (e.arg = void 0)), + !!r + ); + } + for (var o = this.tryEntries.length - 1; o >= 0; --o) { + var i = this.tryEntries[o], + a = i.completion; + if ('root' === i.tryLoc) return r('end'); + if (i.tryLoc <= this.prev) { + var u = n.call(i, 'catchLoc'), + c = n.call(i, 'finallyLoc'); + if (u && c) { + if (this.prev < i.catchLoc) return r(i.catchLoc, !0); + if (this.prev < i.finallyLoc) return r(i.finallyLoc); + } else if (u) { + if (this.prev < i.catchLoc) return r(i.catchLoc, !0); + } else { + if (!c) throw new Error('try statement without catch or finally'); + if (this.prev < i.finallyLoc) return r(i.finallyLoc); + } + } + } + }, + abrupt: function(t, e) { + for (var r = this.tryEntries.length - 1; r >= 0; --r) { + var o = this.tryEntries[r]; + if (o.tryLoc <= this.prev && n.call(o, 'finallyLoc') && this.prev < o.finallyLoc) { + var i = o; + break; + } + } + i && + ('break' === t || 'continue' === t) && + i.tryLoc <= e && + e <= i.finallyLoc && + (i = null); + var a = i ? i.completion : {}; + return ( + (a.type = t), + (a.arg = e), + i ? ((this.method = 'next'), (this.next = i.finallyLoc), f) : this.complete(a) + ); + }, + complete: function(t, e) { + if ('throw' === t.type) throw t.arg; + return ( + 'break' === t.type || 'continue' === t.type + ? (this.next = t.arg) + : 'return' === t.type + ? ((this.rval = this.arg = t.arg), (this.method = 'return'), (this.next = 'end')) + : 'normal' === t.type && e && (this.next = e), + f + ); + }, + finish: function(t) { + for (var e = this.tryEntries.length - 1; e >= 0; --e) { + var n = this.tryEntries[e]; + if (n.finallyLoc === t) return this.complete(n.completion, n.afterLoc), w(n), f; + } + }, + catch: function(t) { + for (var e = this.tryEntries.length - 1; e >= 0; --e) { + var n = this.tryEntries[e]; + if (n.tryLoc === t) { + var r = n.completion; + if ('throw' === r.type) { + var o = r.arg; + w(n); + } + return o; + } + } + throw new Error('illegal catch attempt'); + }, + delegateYield: function(t, e, n) { + return ( + (this.delegate = { iterator: S(t), resultName: e, nextLoc: n }), + 'next' === this.method && (this.arg = void 0), + f + ); + }, + }), + t + ); + })(t.exports); + try { + regeneratorRuntime = r; + } catch (t) { + Function('r', 'regeneratorRuntime = r')(r); + } + }, + function(t, e, n) { + 'use strict'; + var r = n(29).forEach, + o = n(38), + i = n(17), + a = o('forEach'), + u = i('forEach'); + t.exports = + a && u + ? [].forEach + : function(t) { + return r(this, t, arguments.length > 1 ? arguments[1] : void 0); + }; + }, + function(t, e, n) { + var r = n(1); + t.exports = !r(function() { + return Object.isExtensible(Object.preventExtensions({})); + }); + }, + function(t, e, n) { + var r = n(0), + o = n(1), + i = n(12), + a = n(79), + u = n(116); + r( + { + target: 'Object', + stat: !0, + forced: o(function() { + a(1); + }), + sham: !u, + }, + { + getPrototypeOf: function(t) { + return a(i(t)); + }, + }, + ); + }, + function(t, e, n) { + n(0)({ target: 'Object', stat: !0, sham: !n(6) }, { create: n(33) }); + }, + function(t, e, n) { + var r = n(2); + e.f = r; + }, + function(t, e, n) { + var r = n(111), + o = n(7), + i = n(135), + a = n(8).f; + t.exports = function(t) { + var e = r.Symbol || (r.Symbol = {}); + o(e, t) || a(e, t, { value: i.f(t) }); + }; + }, + function(t, e, n) { + var r = n(0), + o = n(205); + r( + { + target: 'Array', + stat: !0, + forced: !n(122)(function(t) { + Array.from(t); + }), + }, + { from: o }, + ); + }, + function(t, e, n) { + var r = n(10), + o = Date.prototype, + i = o.toString, + a = o.getTime; + new Date(NaN) + '' != 'Invalid Date' && + r(o, 'toString', function() { + var t = a.call(this); + return t == t ? i.call(this) : 'Invalid Date'; + }); + }, + function(t, e) { + t.exports = function(t, e) { + for (var n = -1, r = e.length, o = t.length; ++n < r; ) t[o + n] = e[n]; + return t; + }; + }, + function(t, e) { + var n = 'object' == typeof global && global && global.Object === Object && global; + t.exports = n; + }, + function(t, e, n) { + var r = n(58), + o = n(220), + i = n(221), + a = n(222), + u = n(223), + c = n(224); + function s(t) { + var e = (this.__data__ = new r(t)); + this.size = e.size; + } + (s.prototype.clear = o), + (s.prototype.delete = i), + (s.prototype.get = a), + (s.prototype.has = u), + (s.prototype.set = c), + (t.exports = s); + }, + function(t, e) { + t.exports = function(t, e) { + return t === e || (t != t && e != e); + }; + }, + function(t, e, n) { + var r = n(30), + o = n(86); + t.exports = function(t) { + if (!o(t)) return !1; + var e = r(t); + return ( + '[object Function]' == e || + '[object GeneratorFunction]' == e || + '[object AsyncFunction]' == e || + '[object Proxy]' == e + ); + }; + }, + function(t, e) { + var n = Function.prototype.toString; + t.exports = function(t) { + if (null != t) { + try { + return n.call(t); + } catch (t) {} + try { + return t + ''; + } catch (t) {} + } + return ''; + }; + }, + function(t, e, n) { + var r = n(241), + o = n(25); + t.exports = function t(e, n, i, a, u) { + return ( + e === n || + (null == e || null == n || (!o(e) && !o(n)) ? e != e && n != n : r(e, n, i, a, t, u)) + ); + }; + }, + function(t, e, n) { + var r = n(147), + o = n(244), + i = n(148); + t.exports = function(t, e, n, a, u, c) { + var s = 1 & n, + f = t.length, + l = e.length; + if (f != l && !(s && l > f)) return !1; + var p = c.get(t), + h = c.get(e); + if (p && h) return p == e && h == t; + var d = -1, + v = !0, + y = 2 & n ? new r() : void 0; + for (c.set(t, e), c.set(e, t); ++d < f; ) { + var m = t[d], + g = e[d]; + if (a) var b = s ? a(g, m, d, e, t, c) : a(m, g, d, t, e, c); + if (void 0 !== b) { + if (b) continue; + v = !1; + break; + } + if (y) { + if ( + !o(e, function(t, e) { + if (!i(y, e) && (m === t || u(m, t, n, a, c))) return y.push(e); + }) + ) { + v = !1; + break; + } + } else if (m !== g && !u(m, g, n, a, c)) { + v = !1; + break; + } + } + return c.delete(t), c.delete(e), v; + }; + }, + function(t, e, n) { + var r = n(87), + o = n(242), + i = n(243); + function a(t) { + var e = -1, + n = null == t ? 0 : t.length; + for (this.__data__ = new r(); ++e < n; ) this.add(t[e]); + } + (a.prototype.add = a.prototype.push = o), (a.prototype.has = i), (t.exports = a); + }, + function(t, e) { + t.exports = function(t, e) { + return t.has(e); + }; + }, + function(t, e, n) { + var r = n(254), + o = n(260), + i = n(154); + t.exports = function(t) { + return i(t) ? r(t) : o(t); + }; + }, + function(t, e, n) { + (function(t) { + var r = n(16), + o = n(256), + i = e && !e.nodeType && e, + a = i && 'object' == typeof t && t && !t.nodeType && t, + u = a && a.exports === i ? r.Buffer : void 0, + c = (u ? u.isBuffer : void 0) || o; + t.exports = c; + }.call(this, n(151)(t))); + }, + function(t, e) { + t.exports = function(t) { + return ( + t.webpackPolyfill || + ((t.deprecate = function() {}), + (t.paths = []), + t.children || (t.children = []), + Object.defineProperty(t, 'loaded', { + enumerable: !0, + get: function() { + return t.l; + }, + }), + Object.defineProperty(t, 'id', { + enumerable: !0, + get: function() { + return t.i; + }, + }), + (t.webpackPolyfill = 1)), + t + ); + }; + }, + function(t, e) { + var n = /^(?:0|[1-9]\d*)$/; + t.exports = function(t, e) { + var r = typeof t; + return ( + !!(e = null == e ? 9007199254740991 : e) && + ('number' == r || ('symbol' != r && n.test(t))) && + t > -1 && + t % 1 == 0 && + t < e + ); + }; + }, + function(t, e, n) { + var r = n(257), + o = n(258), + i = n(259), + a = i && i.isTypedArray, + u = a ? o(a) : r; + t.exports = u; + }, + function(t, e, n) { + var r = n(143), + o = n(89); + t.exports = function(t) { + return null != t && o(t.length) && !r(t); + }; + }, + function(t, e, n) { + var r = n(21)(n(16), 'Set'); + t.exports = r; + }, + function(t, e, n) { + var r = n(86); + t.exports = function(t) { + return t == t && !r(t); + }; + }, + function(t, e) { + t.exports = function(t, e) { + return function(n) { + return null != n && n[t] === e && (void 0 !== e || t in Object(n)); + }; + }; + }, + function(t, e, n) { + var r = n(159), + o = n(62); + t.exports = function(t, e) { + for (var n = 0, i = (e = r(e, t)).length; null != t && n < i; ) t = t[o(e[n++])]; + return n && n == i ? t : void 0; + }; + }, + function(t, e, n) { + var r = n(14), + o = n(90), + i = n(270), + a = n(273); + t.exports = function(t, e) { + return r(t) ? t : o(t, e) ? [t] : i(a(t)); + }; + }, + function(t, e, n) { + n(0)({ target: 'Object', stat: !0 }, { setPrototypeOf: n(101) }); + }, + function(t, e, n) { + var r = n(0), + o = n(18), + i = n(20), + a = n(5), + u = n(4), + c = n(33), + s = n(304), + f = n(1), + l = o('Reflect', 'construct'), + p = f(function() { + function t() {} + return !(l(function() {}, [], t) instanceof t); + }), + h = !f(function() { + l(function() {}); + }), + d = p || h; + r( + { target: 'Reflect', stat: !0, forced: d, sham: d }, + { + construct: function(t, e) { + i(t), a(e); + var n = arguments.length < 3 ? t : i(arguments[2]); + if (h && !p) return l(t, e, n); + if (t == n) { + switch (e.length) { + case 0: + return new t(); + case 1: + return new t(e[0]); + case 2: + return new t(e[0], e[1]); + case 3: + return new t(e[0], e[1], e[2]); + case 4: + return new t(e[0], e[1], e[2], e[3]); + } + var r = [null]; + return r.push.apply(r, e), new (s.apply(t, r))(); + } + var o = n.prototype, + f = c(u(o) ? o : Object.prototype), + d = Function.apply.call(t, f, e); + return u(d) ? d : f; + }, + }, + ); + }, + function(t, e, n) {}, + function(t, e, n) {}, + function(t, e, n) { + var r = n(207), + o = n(212), + i = n(282), + a = n(290), + u = n(299), + c = n(179), + s = i(function(t) { + var e = c(t); + return u(e) && (e = void 0), a(r(t, 1, u, !0), o(e, 2)); + }); + t.exports = s; + }, + function(t, e) { + var n = /^\s+|\s+$/g, + r = /^[-+]0x[0-9a-f]+$/i, + o = /^0b[01]+$/i, + i = /^0o[0-7]+$/i, + a = parseInt, + u = 'object' == typeof global && global && global.Object === Object && global, + c = 'object' == typeof self && self && self.Object === Object && self, + s = u || c || Function('return this')(), + f = Object.prototype.toString, + l = Math.max, + p = Math.min, + h = function() { + return s.Date.now(); + }; + function d(t) { + var e = typeof t; + return !!t && ('object' == e || 'function' == e); + } + function v(t) { + if ('number' == typeof t) return t; + if ( + (function(t) { + return ( + 'symbol' == typeof t || + ((function(t) { + return !!t && 'object' == typeof t; + })(t) && + '[object Symbol]' == f.call(t)) + ); + })(t) + ) + return NaN; + if (d(t)) { + var e = 'function' == typeof t.valueOf ? t.valueOf() : t; + t = d(e) ? e + '' : e; + } + if ('string' != typeof t) return 0 === t ? t : +t; + t = t.replace(n, ''); + var u = o.test(t); + return u || i.test(t) ? a(t.slice(2), u ? 2 : 8) : r.test(t) ? NaN : +t; + } + t.exports = function(t, e, n) { + var r, + o, + i, + a, + u, + c, + s = 0, + f = !1, + y = !1, + m = !0; + if ('function' != typeof t) throw new TypeError('Expected a function'); + function g(e) { + var n = r, + i = o; + return (r = o = void 0), (s = e), (a = t.apply(i, n)); + } + function b(t) { + return (s = t), (u = setTimeout(x, e)), f ? g(t) : a; + } + function _(t) { + var n = t - c; + return void 0 === c || n >= e || n < 0 || (y && t - s >= i); + } + function x() { + var t = h(); + if (_(t)) return w(t); + u = setTimeout( + x, + (function(t) { + var n = e - (t - c); + return y ? p(n, i - (t - s)) : n; + })(t), + ); + } + function w(t) { + return (u = void 0), m && r ? g(t) : ((r = o = void 0), a); + } + function O() { + var t = h(), + n = _(t); + if (((r = arguments), (o = this), (c = t), n)) { + if (void 0 === u) return b(c); + if (y) return (u = setTimeout(x, e)), g(c); + } + return void 0 === u && (u = setTimeout(x, e)), a; + } + return ( + (e = v(e) || 0), + d(n) && + ((f = !!n.leading), + (i = (y = 'maxWait' in n) ? l(v(n.maxWait) || 0, e) : i), + (m = 'trailing' in n ? !!n.trailing : m)), + (O.cancel = function() { + void 0 !== u && clearTimeout(u), (s = 0), (r = c = o = u = void 0); + }), + (O.flush = function() { + return void 0 === u ? a : w(h()); + }), + O + ); + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(29).some, + i = n(38), + a = n(17), + u = i('some'), + c = a('some'); + r( + { target: 'Array', proto: !0, forced: !u || !c }, + { + some: function(t) { + return o(this, t, arguments.length > 1 ? arguments[1] : void 0); + }, + }, + ); + }, + function(t, e, n) { + 'use strict'; + n(43); + var r = n(10), + o = n(1), + i = n(2), + a = n(67), + u = n(11), + c = i('species'), + s = !o(function() { + var t = /./; + return ( + (t.exec = function() { + var t = []; + return (t.groups = { a: '7' }), t; + }), + '7' !== ''.replace(t, '$') + ); + }), + f = '$0' === 'a'.replace(/./, '$0'), + l = i('replace'), + p = !!/./[l] && '' === /./[l]('a', '$0'), + h = !o(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, l) { + var d = i(t), + v = !o(function() { + var e = {}; + return ( + (e[d] = function() { + return 7; + }), + 7 != ''[t](e) + ); + }), + y = + v && + !o(function() { + var e = !1, + n = /a/; + return ( + 'split' === t && + (((n = {}).constructor = {}), + (n.constructor[c] = function() { + return n; + }), + (n.flags = ''), + (n[d] = /./[d])), + (n.exec = function() { + return (e = !0), null; + }), + n[d](''), + !e + ); + }); + if (!v || !y || ('replace' === t && (!s || !f || p)) || ('split' === t && !h)) { + var m = /./[d], + g = n( + d, + ''[t], + function(t, e, n, r, o) { + return e.exec === a + ? v && !o + ? { done: !0, value: m.call(e, n, r) } + : { done: !0, value: t.call(n, e, r) } + : { done: !1 }; + }, + { REPLACE_KEEPS_$0: f, REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: p }, + ), + b = g[0], + _ = g[1]; + r(String.prototype, t, b), + r( + RegExp.prototype, + d, + 2 == e + ? function(t, e) { + return _.call(t, this, e); + } + : function(t) { + return _.call(t, this); + }, + ); + } + l && u(RegExp.prototype[d], 'sham', !0); + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(128).charAt; + t.exports = function(t, e, n) { + return e + (n ? r(t, e).length : 1); + }; + }, + function(t, e, n) { + var r = n(26), + o = n(67); + t.exports = function(t, e) { + var n = t.exec; + if ('function' == typeof n) { + var i = n.call(t, e); + if ('object' != typeof i) + throw TypeError('RegExp exec method returned something other than an Object or null'); + return i; + } + if ('RegExp' !== r(t)) throw TypeError('RegExp#exec called on incompatible receiver'); + return o.call(t, e); + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(74).indexOf, + i = n(38), + a = n(17), + u = [].indexOf, + c = !!u && 1 / [1].indexOf(1, -0) < 0, + s = i('indexOf'), + f = a('indexOf', { ACCESSORS: !0, 1: 0 }); + r( + { target: 'Array', proto: !0, forced: c || !s || !f }, + { + indexOf: function(t) { + return c + ? u.apply(this, arguments) || 0 + : o(this, t, arguments.length > 1 ? arguments[1] : void 0); + }, + }, + ); + }, + function(t, e, n) { + var r = n(4), + o = n(26), + i = n(2)('match'); + t.exports = function(t) { + var e; + return r(t) && (void 0 !== (e = t[i]) ? !!e : 'RegExp' == o(t)); + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(31), + i = n(15), + a = n(38), + u = [].join, + c = o != Object, + s = a('join', ','); + r( + { target: 'Array', proto: !0, forced: c || !s }, + { + join: function(t) { + return u.call(i(this), void 0 === t ? ',' : t); + }, + }, + ); + }, + function(t, e, n) { + 'use strict'; + var r = n(18), + o = n(8), + i = n(2), + a = n(6), + u = i('species'); + t.exports = function(t) { + var e = r(t), + n = o.f; + a && + e && + !e[u] && + n(e, u, { + configurable: !0, + get: function() { + return this; + }, + }); + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(74).includes, + i = n(99); + r( + { target: 'Array', proto: !0, forced: !n(17)('indexOf', { ACCESSORS: !0, 1: 0 }) }, + { + includes: function(t) { + return o(this, t, arguments.length > 1 ? arguments[1] : void 0); + }, + }, + ), + i('includes'); + }, + function(t, e, n) { + 'use strict'; + var r = n(1); + function o(t, e) { + return RegExp(t, e); + } + (e.UNSUPPORTED_Y = r(function() { + var t = o('a', 'y'); + return (t.lastIndex = 2), null != t.exec('abcd'); + })), + (e.BROKEN_CARET = r(function() { + var t = o('^r', 'gy'); + return (t.lastIndex = 2), null != t.exec('str'); + })); + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(102), + i = n(22); + r( + { target: 'String', proto: !0, forced: !n(103)('includes') }, + { + includes: function(t) { + return !!~String(i(this)).indexOf(o(t), arguments.length > 1 ? arguments[1] : void 0); + }, + }, + ); + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(1), + i = n(36), + a = n(4), + u = n(12), + c = n(13), + s = n(55), + f = n(127), + l = n(53), + p = n(2), + h = n(52), + d = p('isConcatSpreadable'), + v = + h >= 51 || + !o(function() { + var t = []; + return (t[d] = !1), t.concat()[0] !== t; + }), + y = l('concat'), + m = function(t) { + if (!a(t)) return !1; + var e = t[d]; + return void 0 !== e ? !!e : i(t); + }; + r( + { target: 'Array', proto: !0, forced: !v || !y }, + { + concat: function(t) { + var e, + n, + r, + o, + i, + a = u(this), + l = f(a, 0), + p = 0; + for (e = -1, r = arguments.length; e < r; e++) + if (m((i = -1 === e ? a : arguments[e]))) { + if (p + (o = c(i.length)) > 9007199254740991) + throw TypeError('Maximum allowed index exceeded'); + for (n = 0; n < o; n++, p++) n in i && s(l, p, i[n]); + } else { + if (p >= 9007199254740991) throw TypeError('Maximum allowed index exceeded'); + s(l, p++, i); + } + return (l.length = p), l; + }, + }, + ); + }, + function(t, e, n) { + var r = n(158); + t.exports = function(t, e, n) { + var o = null == t ? void 0 : r(t, e); + return void 0 === o ? n : o; + }; + }, + 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) { + t.exports = n(307); + }, + function(t, e, n) { + var r = n(6), + o = n(8), + i = n(5), + a = n(46); + t.exports = r + ? Object.defineProperties + : function(t, e) { + i(t); + for (var n, r = a(e), u = r.length, c = 0; u > c; ) o.f(t, (n = r[c++]), e[n]); + return t; + }; + }, + function(t, e, n) { + var r = n(3), + o = n(76), + i = r.WeakMap; + t.exports = 'function' == typeof i && /native code/.test(o(i)); + }, + function(t, e, n) { + 'use strict'; + var r = n(115).IteratorPrototype, + o = n(33), + i = n(32), + a = n(49), + u = n(35), + c = function() { + return this; + }; + t.exports = function(t, e, n) { + var s = e + ' Iterator'; + return (t.prototype = o(r, { next: i(1, n) })), a(t, s, !1, !0), (u[s] = c), t; + }; + }, + function(t, e, n) { + var r = n(4); + t.exports = function(t) { + if (!r(t) && null !== t) throw TypeError("Can't set " + String(t) + ' as a prototype'); + return t; + }; + }, + function(t, e, n) { + 'use strict'; + var r, + o, + i, + a, + u = n(0), + c = n(19), + s = n(3), + f = n(18), + l = n(117), + p = n(10), + h = n(186), + d = n(49), + v = n(173), + y = n(4), + m = n(20), + g = n(187), + b = n(76), + _ = n(188), + x = n(122), + w = n(97), + O = n(123).set, + S = n(189), + j = n(125), + E = n(191), + A = n(126), + k = n(192), + C = n(28), + $ = n(100), + P = n(2), + T = n(51), + L = n(52), + R = P('species'), + z = 'Promise', + D = C.get, + M = C.set, + I = C.getterFor(z), + N = l, + U = s.TypeError, + F = s.document, + B = s.process, + V = f('fetch'), + H = A.f, + q = H, + W = !!(F && F.createEvent && s.dispatchEvent), + G = 'function' == typeof PromiseRejectionEvent, + K = $(z, function() { + if (!(b(N) !== String(N))) { + if (66 === L) return !0; + if (!T && !G) return !0; + } + if (c && !N.prototype.finally) return !0; + if (L >= 51 && /native code/.test(N)) return !1; + var t = N.resolve(1), + e = function(t) { + t( + function() {}, + function() {}, + ); + }; + return ((t.constructor = {})[R] = e), !(t.then(function() {}) instanceof e); + }), + J = + K || + !x(function(t) { + N.all(t).catch(function() {}); + }), + X = function(t) { + var e; + return !(!y(t) || 'function' != typeof (e = t.then)) && e; + }, + Q = function(t, e) { + if (!t.notified) { + t.notified = !0; + var n = t.reactions; + S(function() { + for (var r = t.value, o = 1 == t.state, i = 0; n.length > i; ) { + var a, + u, + c, + s = n[i++], + f = o ? s.ok : s.fail, + l = s.resolve, + p = s.reject, + h = s.domain; + try { + f + ? (o || (2 === t.rejection && et(t), (t.rejection = 1)), + !0 === f ? (a = r) : (h && h.enter(), (a = f(r)), h && (h.exit(), (c = !0))), + a === s.promise + ? p(U('Promise-chain cycle')) + : (u = X(a)) + ? u.call(a, l, p) + : l(a)) + : p(r); + } catch (t) { + h && !c && h.exit(), p(t); + } + } + (t.reactions = []), (t.notified = !1), e && !t.rejection && Z(t); + }); + } + }, + Y = function(t, e, n) { + var r, o; + W + ? (((r = F.createEvent('Event')).promise = e), + (r.reason = n), + r.initEvent(t, !1, !0), + s.dispatchEvent(r)) + : (r = { promise: e, reason: n }), + !G && (o = s['on' + t]) + ? o(r) + : 'unhandledrejection' === t && E('Unhandled promise rejection', n); + }, + Z = function(t) { + O.call(s, function() { + var e, + n = t.facade, + r = t.value; + if ( + tt(t) && + ((e = k(function() { + T ? B.emit('unhandledRejection', r, n) : Y('unhandledrejection', n, r); + })), + (t.rejection = T || tt(t) ? 2 : 1), + e.error) + ) + throw e.value; + }); + }, + tt = function(t) { + return 1 !== t.rejection && !t.parent; + }, + et = function(t) { + O.call(s, function() { + var e = t.facade; + T ? B.emit('rejectionHandled', e) : Y('rejectionhandled', e, t.value); + }); + }, + nt = function(t, e, n) { + return function(r) { + t(e, r, n); + }; + }, + rt = function(t, e, n) { + t.done || ((t.done = !0), n && (t = n), (t.value = e), (t.state = 2), Q(t, !0)); + }, + ot = function(t, e, n) { + if (!t.done) { + (t.done = !0), n && (t = n); + try { + if (t.facade === e) throw U("Promise can't be resolved itself"); + var r = X(e); + r + ? S(function() { + var n = { done: !1 }; + try { + r.call(e, nt(ot, n, t), nt(rt, n, t)); + } catch (e) { + rt(n, e, t); + } + }) + : ((t.value = e), (t.state = 1), Q(t, !1)); + } catch (e) { + rt({ done: !1 }, e, t); + } + } + }; + K && + ((N = function(t) { + g(this, N, z), m(t), r.call(this); + var e = D(this); + try { + t(nt(ot, e), nt(rt, e)); + } catch (t) { + rt(e, t); + } + }), + ((r = function(t) { + M(this, { + type: z, + done: !1, + notified: !1, + parent: !1, + reactions: [], + rejection: !1, + state: 0, + value: void 0, + }); + }).prototype = h(N.prototype, { + then: function(t, e) { + var n = I(this), + r = H(w(this, N)); + return ( + (r.ok = 'function' != typeof t || t), + (r.fail = 'function' == typeof e && e), + (r.domain = T ? B.domain : void 0), + (n.parent = !0), + n.reactions.push(r), + 0 != n.state && Q(n, !1), + r.promise + ); + }, + catch: function(t) { + return this.then(void 0, t); + }, + })), + (o = function() { + var t = new r(), + e = D(t); + (this.promise = t), (this.resolve = nt(ot, e)), (this.reject = nt(rt, e)); + }), + (A.f = H = function(t) { + return t === N || t === i ? new o(t) : q(t); + }), + c || + 'function' != typeof l || + ((a = l.prototype.then), + p( + l.prototype, + 'then', + function(t, e) { + var n = this; + return new N(function(t, e) { + a.call(n, t, e); + }).then(t, e); + }, + { unsafe: !0 }, + ), + 'function' == typeof V && + u( + { global: !0, enumerable: !0, forced: !0 }, + { + fetch: function(t) { + return j(N, V.apply(s, arguments)); + }, + }, + ))), + u({ global: !0, wrap: !0, forced: K }, { Promise: N }), + d(N, z, !1, !0), + v(z), + (i = f(z)), + u( + { target: z, stat: !0, forced: K }, + { + reject: function(t) { + var e = H(this); + return e.reject.call(void 0, t), e.promise; + }, + }, + ), + u( + { target: z, stat: !0, forced: c || K }, + { + resolve: function(t) { + return j(c && this === i ? N : this, t); + }, + }, + ), + u( + { target: z, stat: !0, forced: J }, + { + all: function(t) { + var e = this, + n = H(e), + r = n.resolve, + o = n.reject, + i = k(function() { + var n = m(e.resolve), + i = [], + a = 0, + u = 1; + _(t, function(t) { + var c = a++, + s = !1; + i.push(void 0), + u++, + n.call(e, t).then(function(t) { + s || ((s = !0), (i[c] = t), --u || r(i)); + }, o); + }), + --u || r(i); + }); + return i.error && o(i.value), n.promise; + }, + race: function(t) { + var e = this, + n = H(e), + r = n.reject, + o = k(function() { + var o = m(e.resolve); + _(t, function(t) { + o.call(e, t).then(n.resolve, r); + }); + }); + return o.error && r(o.value), n.promise; + }, + }, + ); + }, + function(t, e, n) { + var r = n(10); + t.exports = function(t, e, n) { + for (var o in e) r(t, o, e[o], n); + return t; + }; + }, + function(t, e) { + t.exports = function(t, e, n) { + if (!(t instanceof e)) throw TypeError('Incorrect ' + (n ? n + ' ' : '') + 'invocation'); + return t; + }; + }, + function(t, e, n) { + var r = n(5), + o = n(118), + i = n(13), + a = n(50), + u = n(119), + c = n(121), + s = function(t, e) { + (this.stopped = t), (this.result = e); + }; + t.exports = function(t, e, n) { + var f, + l, + p, + h, + d, + v, + y, + m = n && n.that, + g = !(!n || !n.AS_ENTRIES), + b = !(!n || !n.IS_ITERATOR), + _ = !(!n || !n.INTERRUPTED), + x = a(e, m, 1 + g + _), + w = function(t) { + return f && c(f), new s(!0, t); + }, + O = function(t) { + return g ? (r(t), _ ? x(t[0], t[1], w) : x(t[0], t[1])) : _ ? x(t, w) : x(t); + }; + if (b) f = t; + else { + if ('function' != typeof (l = u(t))) throw TypeError('Target is not iterable'); + if (o(l)) { + for (p = 0, h = i(t.length); h > p; p++) if ((d = O(t[p])) && d instanceof s) return d; + return new s(!1); + } + f = l.call(t); + } + for (v = f.next; !(y = v.call(f)).done; ) { + try { + d = O(y.value); + } catch (t) { + throw (c(f), t); + } + if ('object' == typeof d && d && d instanceof s) return d; + } + return new s(!1); + }; + }, + function(t, e, n) { + var r, + o, + i, + a, + u, + c, + s, + f, + l = n(3), + p = n(24).f, + h = n(123).set, + d = n(124), + v = n(190), + y = n(51), + m = l.MutationObserver || l.WebKitMutationObserver, + g = l.document, + b = l.process, + _ = l.Promise, + x = p(l, 'queueMicrotask'), + w = x && x.value; + w || + ((r = function() { + var t, e; + for (y && (t = b.domain) && t.exit(); o; ) { + (e = o.fn), (o = o.next); + try { + e(); + } catch (t) { + throw (o ? a() : (i = void 0), t); + } + } + (i = void 0), t && t.enter(); + }), + d || y || v || !m || !g + ? _ && _.resolve + ? ((s = _.resolve(void 0)), + (f = s.then), + (a = function() { + f.call(s, r); + })) + : (a = y + ? function() { + b.nextTick(r); + } + : function() { + h.call(l, r); + }) + : ((u = !0), + (c = g.createTextNode('')), + new m(r).observe(c, { characterData: !0 }), + (a = function() { + c.data = u = !u; + }))), + (t.exports = + w || + function(t) { + var e = { fn: t, next: void 0 }; + i && (i.next = e), o || ((o = e), a()), (i = e); + }); + }, + function(t, e, n) { + var r = n(81); + t.exports = /web0s(?!.*chrome)/i.test(r); + }, + function(t, e, n) { + var r = n(3); + t.exports = function(t, e) { + var n = r.console; + n && n.error && (1 === arguments.length ? n.error(t) : n.error(t, e)); + }; + }, + function(t, e) { + t.exports = function(t) { + try { + return { error: !1, value: t() }; + } catch (t) { + return { error: !0, value: t }; + } + }; + }, + function(t, e, n) { + var r = n(0), + o = n(194); + r({ target: 'Object', stat: !0, forced: Object.assign !== o }, { assign: o }); + }, + function(t, e, n) { + 'use strict'; + var r = n(6), + o = n(1), + i = n(46), + a = n(78), + u = n(77), + c = n(12), + s = n(31), + f = Object.assign, + l = Object.defineProperty; + t.exports = + !f || + o(function() { + if ( + r && + 1 !== + f( + { b: 1 }, + f( + l({}, 'a', { + enumerable: !0, + get: function() { + l(this, 'b', { value: 3, enumerable: !1 }); + }, + }), + { b: 2 }, + ), + ).b + ) + return !0; + var t = {}, + e = {}, + n = Symbol(); + return ( + (t[n] = 7), + 'abcdefghijklmnopqrst'.split('').forEach(function(t) { + e[t] = t; + }), + 7 != f({}, t)[n] || 'abcdefghijklmnopqrst' != i(f({}, e)).join('') + ); + }) + ? function(t, e) { + for (var n = c(t), o = arguments.length, f = 1, l = a.f, p = u.f; o > f; ) + for ( + var h, d = s(arguments[f++]), v = l ? i(d).concat(l(d)) : i(d), y = v.length, m = 0; + y > m; + + ) + (h = v[m++]), (r && !p.call(d, h)) || (n[h] = d[h]); + return n; + } + : f; + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(19), + i = n(117), + a = n(1), + u = n(18), + c = n(97), + s = n(125), + f = n(10); + r( + { + target: 'Promise', + proto: !0, + real: !0, + forced: + !!i && + a(function() { + i.prototype.finally.call({ then: function() {} }, function() {}); + }), + }, + { + finally: function(t) { + var e = c(this, u('Promise')), + n = 'function' == typeof t; + return this.then( + n + ? function(n) { + return s(e, t()).then(function() { + return n; + }); + } + : t, + n + ? function(n) { + return s(e, t()).then(function() { + throw n; + }); + } + : t, + ); + }, + }, + ), + o || + 'function' != typeof i || + i.prototype.finally || + f(i.prototype, 'finally', u('Promise').prototype.finally); + }, + function(t, e, n) { + 'use strict'; + var r = n(80), + o = n(120); + t.exports = r + ? {}.toString + : function() { + return '[object ' + o(this) + ']'; + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(0), + o = n(198).left, + i = n(38), + a = n(17), + u = n(52), + c = n(51), + s = i('reduce'), + f = a('reduce', { 1: 0 }); + r( + { target: 'Array', proto: !0, forced: !s || !f || (!c && u > 79 && u < 83) }, + { + reduce: function(t) { + return o(this, t, arguments.length, arguments.length > 1 ? arguments[1] : void 0); + }, + }, + ); + }, + function(t, e, n) { + var r = n(20), + o = n(12), + i = n(31), + a = n(13), + u = function(t) { + return function(e, n, u, c) { + r(n); + var s = o(e), + f = i(s), + l = a(s.length), + p = t ? l - 1 : 0, + h = t ? -1 : 1; + if (u < 2) + for (;;) { + if (p in f) { + (c = f[p]), (p += h); + break; + } + if (((p += h), t ? p < 0 : l <= p)) + throw TypeError('Reduce of empty array with no initial value'); + } + for (; t ? p >= 0 : l > p; p += h) p in f && (c = n(c, f[p], p, s)); + return c; + }; + }; + t.exports = { left: u(!1), right: u(!0) }; + }, + function(t, e, n) { + var r = n(0), + o = n(132), + i = n(1), + a = n(4), + u = n(200).onFreeze, + c = Object.freeze; + r( + { + target: 'Object', + stat: !0, + forced: i(function() { + c(1); + }), + sham: !o, + }, + { + freeze: function(t) { + return c && a(t) ? c(u(t)) : t; + }, + }, + ); + }, + function(t, e, n) { + var r = n(34), + o = n(4), + i = n(7), + a = n(8).f, + u = n(45), + c = n(132), + s = u('meta'), + f = 0, + l = + Object.isExtensible || + function() { + return !0; + }, + p = function(t) { + a(t, s, { value: { objectID: 'O' + ++f, weakData: {} } }); + }, + h = (t.exports = { + REQUIRED: !1, + fastKey: function(t, e) { + if (!o(t)) return 'symbol' == typeof t ? t : ('string' == typeof t ? 'S' : 'P') + t; + if (!i(t, s)) { + if (!l(t)) return 'F'; + if (!e) return 'E'; + p(t); + } + return t[s].objectID; + }, + getWeakData: function(t, e) { + if (!i(t, s)) { + if (!l(t)) return !0; + if (!e) return !1; + p(t); + } + return t[s].weakData; + }, + onFreeze: function(t) { + return c && h.REQUIRED && l(t) && !i(t, s) && p(t), t; + }, + }); + r[s] = !0; + }, + function(t, e, n) { + var r = n(0), + o = n(6), + i = n(114), + a = n(15), + u = n(24), + c = n(55); + r( + { target: 'Object', stat: !0, sham: !o }, + { + getOwnPropertyDescriptors: function(t) { + for (var e, n, r = a(t), o = u.f, s = i(r), f = {}, l = 0; s.length > l; ) + void 0 !== (n = o(r, (e = s[l++]))) && c(f, e, n); + return f; + }, + }, + ); + }, + function(t, e, n) { + 'use strict'; + var r, + o = n(0), + i = n(24).f, + a = n(13), + u = n(102), + c = n(22), + s = n(103), + f = n(19), + l = ''.startsWith, + p = Math.min, + h = s('startsWith'); + o( + { + target: 'String', + proto: !0, + forced: !!(f || h || ((r = i(String.prototype, 'startsWith')), !r || r.writable)) && !h, + }, + { + startsWith: function(t) { + var e = String(c(this)); + u(t); + var n = a(p(arguments.length > 1 ? arguments[1] : void 0, e.length)), + r = String(t); + return l ? l.call(e, r, n) : e.slice(n, n + r.length) === r; + }, + }, + ); + }, + function(t, e, n) { + var r = n(12), + o = Math.floor, + i = ''.replace, + a = /\$([$&'`]|\d\d?|<[^>]*>)/g, + u = /\$([$&'`]|\d\d?)/g; + t.exports = function(t, e, n, c, s, f) { + var l = n + t.length, + p = c.length, + h = u; + return ( + void 0 !== s && ((s = r(s)), (h = a)), + i.call(f, h, function(r, i) { + var a; + switch (i.charAt(0)) { + case '$': + return '$'; + case '&': + return t; + case '`': + return e.slice(0, n); + case "'": + return e.slice(l); + case '<': + a = s[i.slice(1, -1)]; + break; + default: + var u = +i; + if (0 === u) return r; + if (u > p) { + var f = o(u / 10); + return 0 === f + ? r + : f <= p + ? void 0 === c[f - 1] + ? i.charAt(1) + : c[f - 1] + i.charAt(1) + : r; + } + a = c[u - 1]; + } + return void 0 === a ? '' : a; + }) + ); + }; + }, + function(t, e, n) { + var r = n(15), + o = n(68).f, + i = {}.toString, + a = + 'object' == typeof window && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) + : []; + t.exports.f = function(t) { + return a && '[object Window]' == i.call(t) + ? (function(t) { + try { + return o(t); + } catch (t) { + return a.slice(); + } + })(t) + : o(r(t)); + }; + }, + function(t, e, n) { + 'use strict'; + var r = n(50), + o = n(12), + i = n(206), + a = n(118), + u = n(13), + c = n(55), + s = n(119); + t.exports = function(t) { + var e, + n, + f, + l, + p, + h, + d = o(t), + v = 'function' == typeof this ? this : Array, + y = arguments.length, + m = y > 1 ? arguments[1] : void 0, + g = void 0 !== m, + b = s(d), + _ = 0; + if ((g && (m = r(m, y > 2 ? arguments[2] : void 0, 2)), null == b || (v == Array && a(b)))) + for (n = new v((e = u(d.length))); e > _; _++) (h = g ? m(d[_], _) : d[_]), c(n, _, h); + else + for (p = (l = b.call(d)).next, n = new v(); !(f = p.call(l)).done; _++) + (h = g ? i(l, m, [f.value, _], !0) : f.value), c(n, _, h); + return (n.length = _), n; + }; + }, + function(t, e, n) { + var r = n(5), + o = n(121); + t.exports = function(t, e, n, i) { + try { + return i ? e(r(n)[0], n[1]) : e(n); + } catch (e) { + throw (o(t), e); + } + }; + }, + function(t, e, n) { + var r = n(139), + o = n(208); + t.exports = function t(e, n, i, a, u) { + var c = -1, + s = e.length; + for (i || (i = o), u || (u = []); ++c < s; ) { + var f = e[c]; + n > 0 && i(f) ? (n > 1 ? t(f, n - 1, i, a, u) : r(u, f)) : a || (u[u.length] = f); + } + return u; + }; + }, + function(t, e, n) { + var r = n(39), + o = n(84), + i = n(14), + a = r ? r.isConcatSpreadable : void 0; + t.exports = function(t) { + return i(t) || o(t) || !!(a && t && t[a]); + }; + }, + function(t, e, n) { + var r = n(30), + o = n(25); + t.exports = function(t) { + return o(t) && '[object Arguments]' == r(t); + }; + }, + function(t, e, n) { + var r = n(39), + o = Object.prototype, + i = o.hasOwnProperty, + a = o.toString, + u = r ? r.toStringTag : void 0; + t.exports = function(t) { + var e = i.call(t, u), + n = t[u]; + try { + t[u] = void 0; + var r = !0; + } catch (t) {} + var o = a.call(t); + return r && (e ? (t[u] = n) : delete t[u]), o; + }; + }, + function(t, e) { + var n = Object.prototype.toString; + t.exports = function(t) { + return n.call(t); + }; + }, + function(t, e, n) { + var r = n(213), + o = n(269), + i = n(92), + a = n(14), + u = n(279); + t.exports = function(t) { + return 'function' == typeof t + ? t + : null == t + ? i + : 'object' == typeof t + ? a(t) + ? o(t[0], t[1]) + : r(t) + : u(t); + }; + }, + function(t, e, n) { + var r = n(214), + o = n(268), + i = n(157); + t.exports = function(t) { + var e = o(t); + return 1 == e.length && e[0][2] + ? i(e[0][0], e[0][1]) + : function(n) { + return n === t || r(n, t, e); + }; + }; + }, + function(t, e, n) { + var r = n(141), + o = n(145); + t.exports = function(t, e, n, i) { + var a = n.length, + u = a, + c = !i; + if (null == t) return !u; + for (t = Object(t); a--; ) { + var s = n[a]; + if (c && s[2] ? s[1] !== t[s[0]] : !(s[0] in t)) return !1; + } + for (; ++a < u; ) { + var f = (s = n[a])[0], + l = t[f], + p = s[1]; + if (c && s[2]) { + if (void 0 === l && !(f in t)) return !1; + } else { + var h = new r(); + if (i) var d = i(l, p, f, t, e, h); + if (!(void 0 === d ? o(p, l, 3, i, h) : d)) return !1; + } + } + return !0; + }; + }, + function(t, e) { + t.exports = function() { + (this.__data__ = []), (this.size = 0); + }; + }, + function(t, e, n) { + var r = n(59), + o = Array.prototype.splice; + t.exports = function(t) { + var e = this.__data__, + n = r(e, t); + return !(n < 0) && (n == e.length - 1 ? e.pop() : o.call(e, n, 1), --this.size, !0); + }; + }, + function(t, e, n) { + var r = n(59); + t.exports = function(t) { + var e = this.__data__, + n = r(e, t); + return n < 0 ? void 0 : e[n][1]; + }; + }, + function(t, e, n) { + var r = n(59); + t.exports = function(t) { + return r(this.__data__, t) > -1; + }; + }, + function(t, e, n) { + var r = n(59); + t.exports = function(t, e) { + var n = this.__data__, + o = r(n, t); + return o < 0 ? (++this.size, n.push([t, e])) : (n[o][1] = e), this; + }; + }, + function(t, e, n) { + var r = n(58); + t.exports = function() { + (this.__data__ = new r()), (this.size = 0); + }; + }, + function(t, e) { + t.exports = function(t) { + var e = this.__data__, + n = e.delete(t); + return (this.size = e.size), n; + }; + }, + function(t, e) { + t.exports = function(t) { + return this.__data__.get(t); + }; + }, + function(t, e) { + t.exports = function(t) { + return this.__data__.has(t); + }; + }, + function(t, e, n) { + var r = n(58), + o = n(85), + i = n(87); + t.exports = function(t, e) { + var n = this.__data__; + if (n instanceof r) { + var a = n.__data__; + if (!o || a.length < 199) return a.push([t, e]), (this.size = ++n.size), this; + n = this.__data__ = new i(a); + } + return n.set(t, e), (this.size = n.size), this; + }; + }, + function(t, e, n) { + var r = n(143), + o = n(226), + i = n(86), + a = n(144), + u = /^\[object .+?Constructor\]$/, + c = Function.prototype, + s = Object.prototype, + f = c.toString, + l = s.hasOwnProperty, + p = RegExp( + '^' + + f + .call(l) + .replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + + '$', + ); + t.exports = function(t) { + return !(!i(t) || o(t)) && (r(t) ? p : u).test(a(t)); + }; + }, + function(t, e, n) { + var r, + o = n(227), + i = (r = /[^.]+$/.exec((o && o.keys && o.keys.IE_PROTO) || '')) ? 'Symbol(src)_1.' + r : ''; + t.exports = function(t) { + return !!i && i in t; + }; + }, + function(t, e, n) { + var r = n(16)['__core-js_shared__']; + t.exports = r; + }, + function(t, e) { + t.exports = function(t, e) { + return null == t ? void 0 : t[e]; + }; + }, + function(t, e, n) { + var r = n(230), + o = n(58), + i = n(85); + t.exports = function() { + (this.size = 0), (this.__data__ = { hash: new r(), map: new (i || o)(), string: new r() }); + }; + }, + function(t, e, n) { + var r = n(231), + o = n(232), + i = n(233), + a = n(234), + u = n(235); + function c(t) { + var e = -1, + n = null == t ? 0 : t.length; + for (this.clear(); ++e < n; ) { + var r = t[e]; + this.set(r[0], r[1]); + } + } + (c.prototype.clear = r), + (c.prototype.delete = o), + (c.prototype.get = i), + (c.prototype.has = a), + (c.prototype.set = u), + (t.exports = c); + }, + function(t, e, n) { + var r = n(60); + t.exports = function() { + (this.__data__ = r ? r(null) : {}), (this.size = 0); + }; + }, + function(t, e) { + t.exports = function(t) { + var e = this.has(t) && delete this.__data__[t]; + return (this.size -= e ? 1 : 0), e; + }; + }, + function(t, e, n) { + var r = n(60), + o = Object.prototype.hasOwnProperty; + t.exports = function(t) { + var e = this.__data__; + if (r) { + var n = e[t]; + return '__lodash_hash_undefined__' === n ? void 0 : n; + } + return o.call(e, t) ? e[t] : void 0; + }; + }, + function(t, e, n) { + var r = n(60), + o = Object.prototype.hasOwnProperty; + t.exports = function(t) { + var e = this.__data__; + return r ? void 0 !== e[t] : o.call(e, t); + }; + }, + function(t, e, n) { + var r = n(60); + t.exports = function(t, e) { + var n = this.__data__; + return ( + (this.size += this.has(t) ? 0 : 1), + (n[t] = r && void 0 === e ? '__lodash_hash_undefined__' : e), + this + ); + }; + }, + function(t, e, n) { + var r = n(61); + t.exports = function(t) { + var e = r(this, t).delete(t); + return (this.size -= e ? 1 : 0), e; + }; + }, + function(t, e) { + t.exports = function(t) { + var e = typeof t; + return 'string' == e || 'number' == e || 'symbol' == e || 'boolean' == e + ? '__proto__' !== t + : null === t; + }; + }, + function(t, e, n) { + var r = n(61); + t.exports = function(t) { + return r(this, t).get(t); + }; + }, + function(t, e, n) { + var r = n(61); + t.exports = function(t) { + return r(this, t).has(t); + }; + }, + function(t, e, n) { + var r = n(61); + t.exports = function(t, e) { + var n = r(this, t), + o = n.size; + return n.set(t, e), (this.size += n.size == o ? 0 : 1), this; + }; + }, + function(t, e, n) { + var r = n(141), + o = n(146), + i = n(245), + a = n(248), + u = n(264), + c = n(14), + s = n(150), + f = n(153), + l = '[object Object]', + p = Object.prototype.hasOwnProperty; + t.exports = function(t, e, n, h, d, v) { + var y = c(t), + m = c(e), + g = y ? '[object Array]' : u(t), + b = m ? '[object Array]' : u(e), + _ = (g = '[object Arguments]' == g ? l : g) == l, + x = (b = '[object Arguments]' == b ? l : b) == l, + w = g == b; + if (w && s(t)) { + if (!s(e)) return !1; + (y = !0), (_ = !1); + } + if (w && !_) + return v || (v = new r()), y || f(t) ? o(t, e, n, h, d, v) : i(t, e, g, n, h, d, v); + if (!(1 & n)) { + var O = _ && p.call(t, '__wrapped__'), + S = x && p.call(e, '__wrapped__'); + if (O || S) { + var j = O ? t.value() : t, + E = S ? e.value() : e; + return v || (v = new r()), d(j, E, n, h, v); + } + } + return !!w && (v || (v = new r()), a(t, e, n, h, d, v)); + }; + }, + function(t, e) { + t.exports = function(t) { + return this.__data__.set(t, '__lodash_hash_undefined__'), this; + }; + }, + function(t, e) { + t.exports = function(t) { + return this.__data__.has(t); + }; + }, + function(t, e) { + t.exports = function(t, e) { + for (var n = -1, r = null == t ? 0 : t.length; ++n < r; ) if (e(t[n], n, t)) return !0; + return !1; + }; + }, + function(t, e, n) { + var r = n(39), + o = n(246), + i = n(142), + a = n(146), + u = n(247), + c = n(88), + s = r ? r.prototype : void 0, + f = s ? s.valueOf : void 0; + t.exports = function(t, e, n, r, s, l, p) { + switch (n) { + case '[object DataView]': + if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset) return !1; + (t = t.buffer), (e = e.buffer); + case '[object ArrayBuffer]': + return !(t.byteLength != e.byteLength || !l(new o(t), new o(e))); + case '[object Boolean]': + case '[object Date]': + case '[object Number]': + return i(+t, +e); + case '[object Error]': + return t.name == e.name && t.message == e.message; + case '[object RegExp]': + case '[object String]': + return t == e + ''; + case '[object Map]': + var h = u; + case '[object Set]': + var d = 1 & r; + if ((h || (h = c), t.size != e.size && !d)) return !1; + var v = p.get(t); + if (v) return v == e; + (r |= 2), p.set(t, e); + var y = a(h(t), h(e), r, s, l, p); + return p.delete(t), y; + case '[object Symbol]': + if (f) return f.call(t) == f.call(e); + } + return !1; + }; + }, + function(t, e, n) { + var r = n(16).Uint8Array; + t.exports = r; + }, + function(t, e) { + t.exports = function(t) { + var e = -1, + n = Array(t.size); + return ( + t.forEach(function(t, r) { + n[++e] = [r, t]; + }), + n + ); + }; + }, + function(t, e, n) { + var r = n(249), + o = Object.prototype.hasOwnProperty; + t.exports = function(t, e, n, i, a, u) { + var c = 1 & n, + s = r(t), + f = s.length; + if (f != r(e).length && !c) return !1; + for (var l = f; l--; ) { + var p = s[l]; + if (!(c ? p in e : o.call(e, p))) return !1; + } + var h = u.get(t), + d = u.get(e); + if (h && d) return h == e && d == t; + var v = !0; + u.set(t, e), u.set(e, t); + for (var y = c; ++l < f; ) { + var m = t[(p = s[l])], + g = e[p]; + if (i) var b = c ? i(g, m, p, e, t, u) : i(m, g, p, t, e, u); + if (!(void 0 === b ? m === g || a(m, g, n, i, u) : b)) { + v = !1; + break; + } + y || (y = 'constructor' == p); + } + if (v && !y) { + var _ = t.constructor, + x = e.constructor; + _ == x || + !('constructor' in t) || + !('constructor' in e) || + ('function' == typeof _ && _ instanceof _ && 'function' == typeof x && x instanceof x) || + (v = !1); + } + return u.delete(t), u.delete(e), v; + }; + }, + function(t, e, n) { + var r = n(250), + o = n(251), + i = n(149); + t.exports = function(t) { + return r(t, i, o); + }; + }, + function(t, e, n) { + var r = n(139), + o = n(14); + t.exports = function(t, e, n) { + var i = e(t); + return o(t) ? i : r(i, n(t)); + }; + }, + function(t, e, n) { + var r = n(252), + o = n(253), + i = Object.prototype.propertyIsEnumerable, + a = Object.getOwnPropertySymbols, + u = a + ? function(t) { + return null == t + ? [] + : ((t = Object(t)), + r(a(t), function(e) { + return i.call(t, e); + })); + } + : o; + t.exports = u; + }, + function(t, e) { + t.exports = function(t, e) { + for (var n = -1, r = null == t ? 0 : t.length, o = 0, i = []; ++n < r; ) { + var a = t[n]; + e(a, n, t) && (i[o++] = a); + } + return i; + }; + }, + function(t, e) { + t.exports = function() { + return []; + }; + }, + function(t, e, n) { + var r = n(255), + o = n(84), + i = n(14), + a = n(150), + u = n(152), + c = n(153), + s = Object.prototype.hasOwnProperty; + t.exports = function(t, e) { + var n = i(t), + f = !n && o(t), + l = !n && !f && a(t), + p = !n && !f && !l && c(t), + h = n || f || l || p, + d = h ? r(t.length, String) : [], + v = d.length; + for (var y in t) + (!e && !s.call(t, y)) || + (h && + ('length' == y || + (l && ('offset' == y || 'parent' == y)) || + (p && ('buffer' == y || 'byteLength' == y || 'byteOffset' == y)) || + u(y, v))) || + d.push(y); + return d; + }; + }, + function(t, e) { + t.exports = function(t, e) { + for (var n = -1, r = Array(t); ++n < t; ) r[n] = e(n); + return r; + }; + }, + function(t, e) { + t.exports = function() { + return !1; + }; + }, + function(t, e, n) { + var r = n(30), + o = n(89), + i = n(25), + a = {}; + (a['[object Float32Array]'] = a['[object Float64Array]'] = a['[object Int8Array]'] = a[ + '[object Int16Array]' + ] = a['[object Int32Array]'] = a['[object Uint8Array]'] = a['[object Uint8ClampedArray]'] = a[ + '[object Uint16Array]' + ] = a['[object Uint32Array]'] = !0), + (a['[object Arguments]'] = a['[object Array]'] = a['[object ArrayBuffer]'] = a[ + '[object Boolean]' + ] = a['[object DataView]'] = a['[object Date]'] = a['[object Error]'] = a[ + '[object Function]' + ] = a['[object Map]'] = a['[object Number]'] = a['[object Object]'] = a[ + '[object RegExp]' + ] = a['[object Set]'] = a['[object String]'] = a['[object WeakMap]'] = !1), + (t.exports = function(t) { + return i(t) && o(t.length) && !!a[r(t)]; + }); + }, + function(t, e) { + t.exports = function(t) { + return function(e) { + return t(e); + }; + }; + }, + function(t, e, n) { + (function(t) { + var r = n(140), + o = e && !e.nodeType && e, + i = o && 'object' == typeof t && t && !t.nodeType && t, + a = i && i.exports === o && r.process, + u = (function() { + try { + var t = i && i.require && i.require('util').types; + return t || (a && a.binding && a.binding('util')); + } catch (t) {} + })(); + t.exports = u; + }.call(this, n(151)(t))); + }, + function(t, e, n) { + var r = n(261), + o = n(262), + i = Object.prototype.hasOwnProperty; + t.exports = function(t) { + if (!r(t)) return o(t); + var e = []; + for (var n in Object(t)) i.call(t, n) && 'constructor' != n && e.push(n); + return e; + }; + }, + function(t, e) { + var n = Object.prototype; + t.exports = function(t) { + var e = t && t.constructor; + return t === (('function' == typeof e && e.prototype) || n); + }; + }, + function(t, e, n) { + var r = n(263)(Object.keys, Object); + t.exports = r; + }, + function(t, e) { + t.exports = function(t, e) { + return function(n) { + return t(e(n)); + }; + }; + }, + function(t, e, n) { + var r = n(265), + o = n(85), + i = n(266), + a = n(155), + u = n(267), + c = n(30), + s = n(144), + f = s(r), + l = s(o), + p = s(i), + h = s(a), + d = s(u), + v = c; + ((r && '[object DataView]' != v(new r(new ArrayBuffer(1)))) || + (o && '[object Map]' != v(new o())) || + (i && '[object Promise]' != v(i.resolve())) || + (a && '[object Set]' != v(new a())) || + (u && '[object WeakMap]' != v(new u()))) && + (v = function(t) { + var e = c(t), + n = '[object Object]' == e ? t.constructor : void 0, + r = n ? s(n) : ''; + if (r) + switch (r) { + case f: + return '[object DataView]'; + case l: + return '[object Map]'; + case p: + return '[object Promise]'; + case h: + return '[object Set]'; + case d: + return '[object WeakMap]'; + } + return e; + }), + (t.exports = v); + }, + function(t, e, n) { + var r = n(21)(n(16), 'DataView'); + t.exports = r; + }, + function(t, e, n) { + var r = n(21)(n(16), 'Promise'); + t.exports = r; + }, + function(t, e, n) { + var r = n(21)(n(16), 'WeakMap'); + t.exports = r; + }, + function(t, e, n) { + var r = n(156), + o = n(149); + t.exports = function(t) { + for (var e = o(t), n = e.length; n--; ) { + var i = e[n], + a = t[i]; + e[n] = [i, a, r(a)]; + } + return e; + }; + }, + function(t, e, n) { + var r = n(145), + o = n(178), + i = n(276), + a = n(90), + u = n(156), + c = n(157), + s = n(62); + t.exports = function(t, e) { + return a(t) && u(e) + ? c(s(t), e) + : function(n) { + var a = o(n, t); + return void 0 === a && a === e ? i(n, t) : r(e, a, 3); + }; + }; + }, + function(t, e, n) { + var r = n(271), + o = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, + i = /\\(\\)?/g, + a = r(function(t) { + var e = []; + return ( + 46 === t.charCodeAt(0) && e.push(''), + t.replace(o, function(t, n, r, o) { + e.push(r ? o.replace(i, '$1') : n || t); + }), + e + ); + }); + t.exports = a; + }, + function(t, e, n) { + var r = n(272); + t.exports = function(t) { + var e = r(t, function(t) { + return 500 === n.size && n.clear(), t; + }), + n = e.cache; + return e; + }; + }, + function(t, e, n) { + var r = n(87); + function o(t, e) { + if ('function' != typeof t || (null != e && 'function' != typeof e)) + throw new TypeError('Expected a function'); + var n = function() { + var r = arguments, + o = e ? e.apply(this, r) : r[0], + i = n.cache; + if (i.has(o)) return i.get(o); + var a = t.apply(this, r); + return (n.cache = i.set(o, a) || i), a; + }; + return (n.cache = new (o.Cache || r)()), n; + } + (o.Cache = r), (t.exports = o); + }, + function(t, e, n) { + var r = n(274); + t.exports = function(t) { + return null == t ? '' : r(t); + }; + }, + function(t, e, n) { + var r = n(39), + o = n(275), + i = n(14), + a = n(91), + u = r ? r.prototype : void 0, + c = u ? u.toString : void 0; + t.exports = function t(e) { + if ('string' == typeof e) return e; + if (i(e)) return o(e, t) + ''; + if (a(e)) return c ? c.call(e) : ''; + var n = e + ''; + return '0' == n && 1 / e == -1 / 0 ? '-0' : n; + }; + }, + function(t, e) { + t.exports = function(t, e) { + for (var n = -1, r = null == t ? 0 : t.length, o = Array(r); ++n < r; ) o[n] = e(t[n], n, t); + return o; + }; + }, + function(t, e, n) { + var r = n(277), + o = n(278); + t.exports = function(t, e) { + return null != t && o(t, e, r); + }; + }, + function(t, e) { + t.exports = function(t, e) { + return null != t && e in Object(t); + }; + }, + function(t, e, n) { + var r = n(159), + o = n(84), + i = n(14), + a = n(152), + u = n(89), + c = n(62); + t.exports = function(t, e, n) { + for (var s = -1, f = (e = r(e, t)).length, l = !1; ++s < f; ) { + var p = c(e[s]); + if (!(l = null != t && n(t, p))) break; + t = t[p]; + } + return l || ++s != f + ? l + : !!(f = null == t ? 0 : t.length) && u(f) && a(p, f) && (i(t) || o(t)); + }; + }, + function(t, e, n) { + var r = n(280), + o = n(281), + i = n(90), + a = n(62); + t.exports = function(t) { + return i(t) ? r(a(t)) : o(t); + }; + }, + function(t, e) { + t.exports = function(t) { + return function(e) { + return null == e ? void 0 : e[t]; + }; + }; + }, + function(t, e, n) { + var r = n(158); + t.exports = function(t) { + return function(e) { + return r(e, t); + }; + }; + }, + function(t, e, n) { + var r = n(92), + o = n(283), + i = n(285); + t.exports = function(t, e) { + return i(o(t, e, r), t + ''); + }; + }, + function(t, e, n) { + var r = n(284), + o = Math.max; + t.exports = function(t, e, n) { + return ( + (e = o(void 0 === e ? t.length - 1 : e, 0)), + function() { + for (var i = arguments, a = -1, u = o(i.length - e, 0), c = Array(u); ++a < u; ) + c[a] = i[e + a]; + a = -1; + for (var s = Array(e + 1); ++a < e; ) s[a] = i[a]; + return (s[e] = n(c)), r(t, this, s); + } + ); + }; + }, + function(t, e) { + t.exports = function(t, e, n) { + switch (n.length) { + case 0: + return t.call(e); + case 1: + return t.call(e, n[0]); + case 2: + return t.call(e, n[0], n[1]); + case 3: + return t.call(e, n[0], n[1], n[2]); + } + return t.apply(e, n); + }; + }, + function(t, e, n) { + var r = n(286), + o = n(289)(r); + t.exports = o; + }, + function(t, e, n) { + var r = n(287), + o = n(288), + i = n(92), + a = o + ? function(t, e) { + return o(t, 'toString', { + configurable: !0, + enumerable: !1, + value: r(e), + writable: !0, + }); + } + : i; + t.exports = a; + }, + function(t, e) { + t.exports = function(t) { + return function() { + return t; + }; + }; + }, + function(t, e, n) { + var r = n(21), + o = (function() { + try { + var t = r(Object, 'defineProperty'); + return t({}, '', {}), t; + } catch (t) {} + })(); + t.exports = o; + }, + function(t, e) { + var n = Date.now; + t.exports = function(t) { + var e = 0, + r = 0; + return function() { + var o = n(), + i = 16 - (o - r); + if (((r = o), i > 0)) { + if (++e >= 800) return arguments[0]; + } else e = 0; + return t.apply(void 0, arguments); + }; + }; + }, + function(t, e, n) { + var r = n(147), + o = n(291), + i = n(296), + a = n(148), + u = n(297), + c = n(88); + t.exports = function(t, e, n) { + var s = -1, + f = o, + l = t.length, + p = !0, + h = [], + d = h; + if (n) (p = !1), (f = i); + else if (l >= 200) { + var v = e ? null : u(t); + if (v) return c(v); + (p = !1), (f = a), (d = new r()); + } else d = e ? [] : h; + t: for (; ++s < l; ) { + var y = t[s], + m = e ? e(y) : y; + if (((y = n || 0 !== y ? y : 0), p && m == m)) { + for (var g = d.length; g--; ) if (d[g] === m) continue t; + e && d.push(m), h.push(y); + } else f(d, m, n) || (d !== h && d.push(m), h.push(y)); + } + return h; + }; + }, + function(t, e, n) { + var r = n(292); + t.exports = function(t, e) { + return !!(null == t ? 0 : t.length) && r(t, e, 0) > -1; + }; + }, + function(t, e, n) { + var r = n(293), + o = n(294), + i = n(295); + t.exports = function(t, e, n) { + return e == e ? i(t, e, n) : r(t, o, n); + }; + }, + function(t, e) { + t.exports = function(t, e, n, r) { + for (var o = t.length, i = n + (r ? 1 : -1); r ? i-- : ++i < o; ) if (e(t[i], i, t)) return i; + return -1; + }; + }, + function(t, e) { + t.exports = function(t) { + return t != t; + }; + }, + function(t, e) { + t.exports = function(t, e, n) { + for (var r = n - 1, o = t.length; ++r < o; ) if (t[r] === e) return r; + return -1; + }; + }, + function(t, e) { + t.exports = function(t, e, n) { + for (var r = -1, o = null == t ? 0 : t.length; ++r < o; ) if (n(e, t[r])) return !0; + return !1; + }; + }, + function(t, e, n) { + var r = n(155), + o = n(298), + i = n(88), + a = + r && 1 / i(new r([, -0]))[1] == 1 / 0 + ? function(t) { + return new r(t); + } + : o; + t.exports = a; + }, + function(t, e) { + t.exports = function() {}; + }, + function(t, e, n) { + var r = n(154), + o = n(25); + t.exports = function(t) { + return o(t) && r(t); + }; + }, + function(t, e, n) {}, + function(t, e, n) {}, + function(t, e, n) {}, + function(t, e, n) { + var r = n(0), + o = n(6); + r({ target: 'Object', stat: !0, forced: !o, sham: !o }, { defineProperty: n(8).f }); + }, + function(t, e, n) { + 'use strict'; + var r = n(20), + o = n(4), + i = [].slice, + a = {}, + u = function(t, e, n) { + if (!(e in a)) { + for (var r = [], o = 0; o < e; o++) r[o] = 'a[' + o + ']'; + a[e] = Function('C,a', 'return new C(' + r.join(',') + ')'); + } + return a[e](t, n); + }; + t.exports = + Function.bind || + function(t) { + var e = r(this), + n = i.call(arguments, 1), + a = function() { + var r = n.concat(i.call(arguments)); + return this instanceof a ? u(e, r.length, r) : e.apply(t, r); + }; + return o(e.prototype) && (a.prototype = e.prototype), a; + }; + }, + function(t, e, n) { + 'use strict'; + n(162); + }, + function(t, e, n) { + 'use strict'; + n(163); + }, + function(t, e, n) { + 'use strict'; + n.r(e); + n(105), n(185), n(193), n(195), n(23), n(65), n(54), n(9), n(27), n(37), n(130); + function r(t, e, n, r, o, i, a) { + try { + var u = t[i](a), + c = u.value; + } catch (t) { + return void n(t); + } + u.done ? e(c) : Promise.resolve(c).then(r, o); + } + function o(t) { + return function() { + var e = this, + n = arguments; + return new Promise(function(o, i) { + var a = t.apply(e, n); + function u(t) { + r(a, o, i, u, c, 'next', t); + } + function c(t) { + r(a, o, i, u, c, 'throw', t); + } + u(void 0); + }); + }; + } + /*! + * Vue.js v2.6.12 + * (c) 2014-2020 Evan You + * Released under the MIT License. + */ var i = Object.freeze({}); + function a(t) { + return null == t; + } + function u(t) { + return null != t; + } + function c(t) { + return !0 === t; + } + function s(t) { + return ( + 'string' == typeof t || + 'number' == typeof t || + 'symbol' == typeof t || + 'boolean' == typeof t + ); + } + function f(t) { + return null !== t && 'object' == typeof t; + } + var l = Object.prototype.toString; + function p(t) { + return '[object Object]' === l.call(t); + } + function h(t) { + return '[object RegExp]' === l.call(t); + } + function d(t) { + var e = parseFloat(String(t)); + return e >= 0 && Math.floor(e) === e && isFinite(t); + } + function v(t) { + return u(t) && 'function' == typeof t.then && 'function' == typeof t.catch; + } + function y(t) { + return null == t + ? '' + : Array.isArray(t) || (p(t) && t.toString === l) + ? JSON.stringify(t, null, 2) + : String(t); + } + function m(t) { + var e = parseFloat(t); + return isNaN(e) ? t : e; + } + function g(t, e) { + for (var n = Object.create(null), r = t.split(','), o = 0; o < r.length; o++) n[r[o]] = !0; + return e + ? function(t) { + return n[t.toLowerCase()]; + } + : function(t) { + return n[t]; + }; + } + g('slot,component', !0); + var b = g('key,ref,slot,slot-scope,is'); + function _(t, e) { + if (t.length) { + var n = t.indexOf(e); + if (n > -1) return t.splice(n, 1); + } + } + var x = Object.prototype.hasOwnProperty; + function w(t, e) { + return x.call(t, e); + } + function O(t) { + var e = Object.create(null); + return function(n) { + return e[n] || (e[n] = t(n)); + }; + } + var S = /-(\w)/g, + j = O(function(t) { + return t.replace(S, function(t, e) { + return e ? e.toUpperCase() : ''; + }); + }), + E = O(function(t) { + return t.charAt(0).toUpperCase() + t.slice(1); + }), + A = /\B([A-Z])/g, + k = O(function(t) { + return t.replace(A, '-$1').toLowerCase(); + }); + var C = Function.prototype.bind + ? function(t, e) { + return t.bind(e); + } + : function(t, e) { + function n(n) { + var r = arguments.length; + return r ? (r > 1 ? t.apply(e, arguments) : t.call(e, n)) : t.call(e); + } + return (n._length = t.length), n; + }; + function $(t, e) { + e = e || 0; + for (var n = t.length - e, r = new Array(n); n--; ) r[n] = t[n + e]; + return r; + } + function P(t, e) { + for (var n in e) t[n] = e[n]; + return t; + } + function T(t) { + for (var e = {}, n = 0; n < t.length; n++) t[n] && P(e, t[n]); + return e; + } + function L(t, e, n) {} + var R = function(t, e, n) { + return !1; + }, + z = function(t) { + return t; + }; + function D(t, e) { + if (t === e) return !0; + var n = f(t), + r = f(e); + if (!n || !r) return !n && !r && String(t) === String(e); + try { + var o = Array.isArray(t), + i = Array.isArray(e); + if (o && i) + return ( + t.length === e.length && + t.every(function(t, n) { + return D(t, e[n]); + }) + ); + if (t instanceof Date && e instanceof Date) return t.getTime() === e.getTime(); + if (o || i) return !1; + var a = Object.keys(t), + u = Object.keys(e); + return ( + a.length === u.length && + a.every(function(n) { + return D(t[n], e[n]); + }) + ); + } catch (t) { + return !1; + } + } + function M(t, e) { + for (var n = 0; n < t.length; n++) if (D(t[n], e)) return n; + return -1; + } + function I(t) { + var e = !1; + return function() { + e || ((e = !0), t.apply(this, arguments)); + }; + } + var N = ['component', 'directive', 'filter'], + U = [ + 'beforeCreate', + 'created', + 'beforeMount', + 'mounted', + 'beforeUpdate', + 'updated', + 'beforeDestroy', + 'destroyed', + 'activated', + 'deactivated', + 'errorCaptured', + 'serverPrefetch', + ], + F = { + optionMergeStrategies: Object.create(null), + silent: !1, + productionTip: !1, + devtools: !1, + performance: !1, + errorHandler: null, + warnHandler: null, + ignoredElements: [], + keyCodes: Object.create(null), + isReservedTag: R, + isReservedAttr: R, + isUnknownElement: R, + getTagNamespace: L, + parsePlatformTagName: z, + mustUseProp: R, + async: !0, + _lifecycleHooks: U, + }, + B = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; + function V(t, e, n, r) { + Object.defineProperty(t, e, { value: n, enumerable: !!r, writable: !0, configurable: !0 }); + } + var H = new RegExp('[^' + B.source + '.$_\\d]'); + var q, + W = '__proto__' in {}, + G = 'undefined' != typeof window, + K = 'undefined' != typeof WXEnvironment && !!WXEnvironment.platform, + J = K && WXEnvironment.platform.toLowerCase(), + X = G && window.navigator.userAgent.toLowerCase(), + Q = X && /msie|trident/.test(X), + Y = X && X.indexOf('msie 9.0') > 0, + Z = X && X.indexOf('edge/') > 0, + tt = (X && X.indexOf('android'), (X && /iphone|ipad|ipod|ios/.test(X)) || 'ios' === J), + et = (X && /chrome\/\d+/.test(X), X && /phantomjs/.test(X), X && X.match(/firefox\/(\d+)/)), + nt = {}.watch, + rt = !1; + if (G) + try { + var ot = {}; + Object.defineProperty(ot, 'passive', { + get: function() { + rt = !0; + }, + }), + window.addEventListener('test-passive', null, ot); + } catch (t) {} + var it = function() { + return ( + void 0 === q && + (q = + !G && + !K && + 'undefined' != typeof global && + global.process && 'server' === global.process.env.VUE_ENV), + q + ); + }, + at = G && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; + function ut(t) { + return 'function' == typeof t && /native code/.test(t.toString()); + } + var ct, + st = + 'undefined' != typeof Symbol && + ut(Symbol) && + 'undefined' != typeof Reflect && + ut(Reflect.ownKeys); + ct = + 'undefined' != typeof Set && ut(Set) + ? Set + : (function() { + function t() { + this.set = Object.create(null); + } + return ( + (t.prototype.has = function(t) { + return !0 === this.set[t]; + }), + (t.prototype.add = function(t) { + this.set[t] = !0; + }), + (t.prototype.clear = function() { + this.set = Object.create(null); + }), + t + ); + })(); + var ft = L, + lt = 0, + pt = function() { + (this.id = lt++), (this.subs = []); + }; + (pt.prototype.addSub = function(t) { + this.subs.push(t); + }), + (pt.prototype.removeSub = function(t) { + _(this.subs, t); + }), + (pt.prototype.depend = function() { + pt.target && pt.target.addDep(this); + }), + (pt.prototype.notify = function() { + var t = this.subs.slice(); + for (var e = 0, n = t.length; e < n; e++) t[e].update(); + }), + (pt.target = null); + var ht = []; + function dt(t) { + ht.push(t), (pt.target = t); + } + function vt() { + ht.pop(), (pt.target = ht[ht.length - 1]); + } + var yt = function(t, e, n, r, o, i, a, u) { + (this.tag = t), + (this.data = e), + (this.children = n), + (this.text = r), + (this.elm = o), + (this.ns = void 0), + (this.context = i), + (this.fnContext = void 0), + (this.fnOptions = void 0), + (this.fnScopeId = void 0), + (this.key = e && e.key), + (this.componentOptions = a), + (this.componentInstance = void 0), + (this.parent = void 0), + (this.raw = !1), + (this.isStatic = !1), + (this.isRootInsert = !0), + (this.isComment = !1), + (this.isCloned = !1), + (this.isOnce = !1), + (this.asyncFactory = u), + (this.asyncMeta = void 0), + (this.isAsyncPlaceholder = !1); + }, + mt = { child: { configurable: !0 } }; + (mt.child.get = function() { + return this.componentInstance; + }), + Object.defineProperties(yt.prototype, mt); + var gt = function(t) { + void 0 === t && (t = ''); + var e = new yt(); + return (e.text = t), (e.isComment = !0), e; + }; + function bt(t) { + return new yt(void 0, void 0, void 0, String(t)); + } + function _t(t) { + var e = new yt( + t.tag, + t.data, + t.children && t.children.slice(), + t.text, + t.elm, + t.context, + t.componentOptions, + t.asyncFactory, + ); + return ( + (e.ns = t.ns), + (e.isStatic = t.isStatic), + (e.key = t.key), + (e.isComment = t.isComment), + (e.fnContext = t.fnContext), + (e.fnOptions = t.fnOptions), + (e.fnScopeId = t.fnScopeId), + (e.asyncMeta = t.asyncMeta), + (e.isCloned = !0), + e + ); + } + var xt = Array.prototype, + wt = Object.create(xt); + ['push', 'pop', 'shift', 'unshift', 'splice', 'sort', 'reverse'].forEach(function(t) { + var e = xt[t]; + V(wt, t, function() { + for (var n = [], r = arguments.length; r--; ) n[r] = arguments[r]; + var o, + i = e.apply(this, n), + a = this.__ob__; + switch (t) { + case 'push': + case 'unshift': + o = n; + break; + case 'splice': + o = n.slice(2); + } + return o && a.observeArray(o), a.dep.notify(), i; + }); + }); + var Ot = Object.getOwnPropertyNames(wt), + St = !0; + function jt(t) { + St = t; + } + var Et = function(t) { + (this.value = t), + (this.dep = new pt()), + (this.vmCount = 0), + V(t, '__ob__', this), + Array.isArray(t) + ? (W + ? (function(t, e) { + t.__proto__ = e; + })(t, wt) + : (function(t, e, n) { + for (var r = 0, o = n.length; r < o; r++) { + var i = n[r]; + V(t, i, e[i]); + } + })(t, wt, Ot), + this.observeArray(t)) + : this.walk(t); + }; + function At(t, e) { + var n; + if (f(t) && !(t instanceof yt)) + return ( + w(t, '__ob__') && t.__ob__ instanceof Et + ? (n = t.__ob__) + : St && + !it() && + (Array.isArray(t) || p(t)) && + Object.isExtensible(t) && + !t._isVue && + (n = new Et(t)), + e && n && n.vmCount++, + n + ); + } + function kt(t, e, n, r, o) { + var i = new pt(), + a = Object.getOwnPropertyDescriptor(t, e); + if (!a || !1 !== a.configurable) { + var u = a && a.get, + c = a && a.set; + (u && !c) || 2 !== arguments.length || (n = t[e]); + var s = !o && At(n); + Object.defineProperty(t, e, { + enumerable: !0, + configurable: !0, + get: function() { + var e = u ? u.call(t) : n; + return pt.target && (i.depend(), s && (s.dep.depend(), Array.isArray(e) && Pt(e))), e; + }, + set: function(e) { + var r = u ? u.call(t) : n; + e === r || + (e != e && r != r) || + (u && !c) || + (c ? c.call(t, e) : (n = e), (s = !o && At(e)), i.notify()); + }, + }); + } + } + function Ct(t, e, n) { + if (Array.isArray(t) && d(e)) return (t.length = Math.max(t.length, e)), t.splice(e, 1, n), n; + if (e in t && !(e in Object.prototype)) return (t[e] = n), n; + var r = t.__ob__; + return t._isVue || (r && r.vmCount) + ? n + : r + ? (kt(r.value, e, n), r.dep.notify(), n) + : ((t[e] = n), n); + } + function $t(t, e) { + if (Array.isArray(t) && d(e)) t.splice(e, 1); + else { + var n = t.__ob__; + t._isVue || (n && n.vmCount) || (w(t, e) && (delete t[e], n && n.dep.notify())); + } + } + function Pt(t) { + for (var e = void 0, n = 0, r = t.length; n < r; n++) + (e = t[n]) && e.__ob__ && e.__ob__.dep.depend(), Array.isArray(e) && Pt(e); + } + (Et.prototype.walk = function(t) { + for (var e = Object.keys(t), n = 0; n < e.length; n++) kt(t, e[n]); + }), + (Et.prototype.observeArray = function(t) { + for (var e = 0, n = t.length; e < n; e++) At(t[e]); + }); + var Tt = F.optionMergeStrategies; + function Lt(t, e) { + if (!e) return t; + for (var n, r, o, i = st ? Reflect.ownKeys(e) : Object.keys(e), a = 0; a < i.length; a++) + '__ob__' !== (n = i[a]) && + ((r = t[n]), (o = e[n]), w(t, n) ? r !== o && p(r) && p(o) && Lt(r, o) : Ct(t, n, o)); + return t; + } + function Rt(t, e, n) { + return n + ? function() { + var r = 'function' == typeof e ? e.call(n, n) : e, + o = 'function' == typeof t ? t.call(n, n) : t; + return r ? Lt(r, o) : o; + } + : e + ? t + ? function() { + return Lt( + 'function' == typeof e ? e.call(this, this) : e, + 'function' == typeof t ? t.call(this, this) : t, + ); + } + : e + : t; + } + function zt(t, e) { + var n = e ? (t ? t.concat(e) : Array.isArray(e) ? e : [e]) : t; + return n + ? (function(t) { + for (var e = [], n = 0; n < t.length; n++) -1 === e.indexOf(t[n]) && e.push(t[n]); + return e; + })(n) + : n; + } + function Dt(t, e, n, r) { + var o = Object.create(t || null); + return e ? P(o, e) : o; + } + (Tt.data = function(t, e, n) { + return n ? Rt(t, e, n) : e && 'function' != typeof e ? t : Rt(t, e); + }), + U.forEach(function(t) { + Tt[t] = zt; + }), + N.forEach(function(t) { + Tt[t + 's'] = Dt; + }), + (Tt.watch = function(t, e, n, r) { + if ((t === nt && (t = void 0), e === nt && (e = void 0), !e)) + return Object.create(t || null); + if (!t) return e; + var o = {}; + for (var i in (P(o, t), e)) { + var a = o[i], + u = e[i]; + a && !Array.isArray(a) && (a = [a]), + (o[i] = a ? a.concat(u) : Array.isArray(u) ? u : [u]); + } + return o; + }), + (Tt.props = Tt.methods = Tt.inject = Tt.computed = function(t, e, n, r) { + if (!t) return e; + var o = Object.create(null); + return P(o, t), e && P(o, e), o; + }), + (Tt.provide = Rt); + var Mt = function(t, e) { + return void 0 === e ? t : e; + }; + function It(t, e, n) { + if ( + ('function' == typeof e && (e = e.options), + (function(t, e) { + var n = t.props; + if (n) { + var r, + o, + i = {}; + if (Array.isArray(n)) + for (r = n.length; r--; ) 'string' == typeof (o = n[r]) && (i[j(o)] = { type: null }); + else if (p(n)) for (var a in n) (o = n[a]), (i[j(a)] = p(o) ? o : { type: o }); + else 0; + t.props = i; + } + })(e), + (function(t, e) { + var n = t.inject; + if (n) { + var r = (t.inject = {}); + if (Array.isArray(n)) for (var o = 0; o < n.length; o++) r[n[o]] = { from: n[o] }; + else if (p(n)) + for (var i in n) { + var a = n[i]; + r[i] = p(a) ? P({ from: i }, a) : { from: a }; + } + else 0; + } + })(e), + (function(t) { + var e = t.directives; + if (e) + for (var n in e) { + var r = e[n]; + 'function' == typeof r && (e[n] = { bind: r, update: r }); + } + })(e), + !e._base && (e.extends && (t = It(t, e.extends, n)), e.mixins)) + ) + for (var r = 0, o = e.mixins.length; r < o; r++) t = It(t, e.mixins[r], n); + var i, + a = {}; + for (i in t) u(i); + for (i in e) w(t, i) || u(i); + function u(r) { + var o = Tt[r] || Mt; + a[r] = o(t[r], e[r], n, r); + } + return a; + } + function Nt(t, e, n, r) { + if ('string' == typeof n) { + var o = t[e]; + if (w(o, n)) return o[n]; + var i = j(n); + if (w(o, i)) return o[i]; + var a = E(i); + return w(o, a) ? o[a] : o[n] || o[i] || o[a]; + } + } + function Ut(t, e, n, r) { + var o = e[t], + i = !w(n, t), + a = n[t], + u = Vt(Boolean, o.type); + if (u > -1) + if (i && !w(o, 'default')) a = !1; + else if ('' === a || a === k(t)) { + var c = Vt(String, o.type); + (c < 0 || u < c) && (a = !0); + } + if (void 0 === a) { + a = (function(t, e, n) { + if (!w(e, 'default')) return; + var r = e.default; + 0; + if ( + t && + t.$options.propsData && + void 0 === t.$options.propsData[n] && + void 0 !== t._props[n] + ) + return t._props[n]; + return 'function' == typeof r && 'Function' !== Ft(e.type) ? r.call(t) : r; + })(r, o, t); + var s = St; + jt(!0), At(a), jt(s); + } + return a; + } + function Ft(t) { + var e = t && t.toString().match(/^\s*function (\w+)/); + return e ? e[1] : ''; + } + function Bt(t, e) { + return Ft(t) === Ft(e); + } + function Vt(t, e) { + if (!Array.isArray(e)) return Bt(e, t) ? 0 : -1; + for (var n = 0, r = e.length; n < r; n++) if (Bt(e[n], t)) return n; + return -1; + } + function Ht(t, e, n) { + dt(); + try { + if (e) + for (var r = e; (r = r.$parent); ) { + var o = r.$options.errorCaptured; + if (o) + for (var i = 0; i < o.length; i++) + try { + if (!1 === o[i].call(r, t, e, n)) return; + } catch (t) { + Wt(t, r, 'errorCaptured hook'); + } + } + Wt(t, e, n); + } finally { + vt(); + } + } + function qt(t, e, n, r, o) { + var i; + try { + (i = n ? t.apply(e, n) : t.call(e)) && + !i._isVue && + v(i) && + !i._handled && + (i.catch(function(t) { + return Ht(t, r, o + ' (Promise/async)'); + }), + (i._handled = !0)); + } catch (t) { + Ht(t, r, o); + } + return i; + } + function Wt(t, e, n) { + if (F.errorHandler) + try { + return F.errorHandler.call(null, t, e, n); + } catch (e) { + e !== t && Gt(e, null, 'config.errorHandler'); + } + Gt(t, e, n); + } + function Gt(t, e, n) { + if ((!G && !K) || 'undefined' == typeof console) throw t; + console.error(t); + } + var Kt, + Jt = !1, + Xt = [], + Qt = !1; + function Yt() { + Qt = !1; + var t = Xt.slice(0); + Xt.length = 0; + for (var e = 0; e < t.length; e++) t[e](); + } + if ('undefined' != typeof Promise && ut(Promise)) { + var Zt = Promise.resolve(); + (Kt = function() { + Zt.then(Yt), tt && setTimeout(L); + }), + (Jt = !0); + } else if ( + Q || + 'undefined' == typeof MutationObserver || + (!ut(MutationObserver) && + '[object MutationObserverConstructor]' !== MutationObserver.toString()) + ) + Kt = + 'undefined' != typeof setImmediate && ut(setImmediate) + ? function() { + setImmediate(Yt); + } + : function() { + setTimeout(Yt, 0); + }; + else { + var te = 1, + ee = new MutationObserver(Yt), + ne = document.createTextNode(String(te)); + ee.observe(ne, { characterData: !0 }), + (Kt = function() { + (te = (te + 1) % 2), (ne.data = String(te)); + }), + (Jt = !0); + } + function re(t, e) { + var n; + if ( + (Xt.push(function() { + if (t) + try { + t.call(e); + } catch (t) { + Ht(t, e, 'nextTick'); + } + else n && n(e); + }), + Qt || ((Qt = !0), Kt()), + !t && 'undefined' != typeof Promise) + ) + return new Promise(function(t) { + n = t; + }); + } + var oe = new ct(); + function ie(t) { + !(function t(e, n) { + var r, + o, + i = Array.isArray(e); + if ((!i && !f(e)) || Object.isFrozen(e) || e instanceof yt) return; + if (e.__ob__) { + var a = e.__ob__.dep.id; + if (n.has(a)) return; + n.add(a); + } + if (i) for (r = e.length; r--; ) t(e[r], n); + else for (o = Object.keys(e), r = o.length; r--; ) t(e[o[r]], n); + })(t, oe), + oe.clear(); + } + var ae = O(function(t) { + var e = '&' === t.charAt(0), + n = '~' === (t = e ? t.slice(1) : t).charAt(0), + r = '!' === (t = n ? t.slice(1) : t).charAt(0); + return { name: (t = r ? t.slice(1) : t), once: n, capture: r, passive: e }; + }); + function ue(t, e) { + function n() { + var t = arguments, + r = n.fns; + if (!Array.isArray(r)) return qt(r, null, arguments, e, 'v-on handler'); + for (var o = r.slice(), i = 0; i < o.length; i++) qt(o[i], null, t, e, 'v-on handler'); + } + return (n.fns = t), n; + } + function ce(t, e, n, r, o, i) { + var u, s, f, l; + for (u in t) + (s = t[u]), + (f = e[u]), + (l = ae(u)), + a(s) || + (a(f) + ? (a(s.fns) && (s = t[u] = ue(s, i)), + c(l.once) && (s = t[u] = o(l.name, s, l.capture)), + n(l.name, s, l.capture, l.passive, l.params)) + : s !== f && ((f.fns = s), (t[u] = f))); + for (u in e) a(t[u]) && r((l = ae(u)).name, e[u], l.capture); + } + function se(t, e, n) { + var r; + t instanceof yt && (t = t.data.hook || (t.data.hook = {})); + var o = t[e]; + function i() { + n.apply(this, arguments), _(r.fns, i); + } + a(o) ? (r = ue([i])) : u(o.fns) && c(o.merged) ? (r = o).fns.push(i) : (r = ue([o, i])), + (r.merged = !0), + (t[e] = r); + } + function fe(t, e, n, r, o) { + if (u(e)) { + if (w(e, n)) return (t[n] = e[n]), o || delete e[n], !0; + if (w(e, r)) return (t[n] = e[r]), o || delete e[r], !0; + } + return !1; + } + function le(t) { + return s(t) + ? [bt(t)] + : Array.isArray(t) + ? (function t(e, n) { + var r, + o, + i, + f, + l = []; + for (r = 0; r < e.length; r++) + a((o = e[r])) || + 'boolean' == typeof o || + ((i = l.length - 1), + (f = l[i]), + Array.isArray(o) + ? o.length > 0 && + (pe((o = t(o, (n || '') + '_' + r))[0]) && + pe(f) && + ((l[i] = bt(f.text + o[0].text)), o.shift()), + l.push.apply(l, o)) + : s(o) + ? pe(f) + ? (l[i] = bt(f.text + o)) + : '' !== o && l.push(bt(o)) + : pe(o) && pe(f) + ? (l[i] = bt(f.text + o.text)) + : (c(e._isVList) && + u(o.tag) && + a(o.key) && + u(n) && + (o.key = '__vlist' + n + '_' + r + '__'), + l.push(o))); + return l; + })(t) + : void 0; + } + function pe(t) { + return u(t) && u(t.text) && !1 === t.isComment; + } + function he(t, e) { + if (t) { + for ( + var n = Object.create(null), r = st ? Reflect.ownKeys(t) : Object.keys(t), o = 0; + o < r.length; + o++ + ) { + var i = r[o]; + if ('__ob__' !== i) { + for (var a = t[i].from, u = e; u; ) { + if (u._provided && w(u._provided, a)) { + n[i] = u._provided[a]; + break; + } + u = u.$parent; + } + if (!u) + if ('default' in t[i]) { + var c = t[i].default; + n[i] = 'function' == typeof c ? c.call(e) : c; + } else 0; + } + } + return n; + } + } + function de(t, e) { + if (!t || !t.length) return {}; + for (var n = {}, r = 0, o = t.length; r < o; r++) { + var i = t[r], + a = i.data; + if ( + (a && a.attrs && a.attrs.slot && delete a.attrs.slot, + (i.context !== e && i.fnContext !== e) || !a || null == a.slot) + ) + (n.default || (n.default = [])).push(i); + else { + var u = a.slot, + c = n[u] || (n[u] = []); + 'template' === i.tag ? c.push.apply(c, i.children || []) : c.push(i); + } + } + for (var s in n) n[s].every(ve) && delete n[s]; + return n; + } + function ve(t) { + return (t.isComment && !t.asyncFactory) || ' ' === t.text; + } + function ye(t, e, n) { + var r, + o = Object.keys(e).length > 0, + a = t ? !!t.$stable : !o, + u = t && t.$key; + if (t) { + if (t._normalized) return t._normalized; + if (a && n && n !== i && u === n.$key && !o && !n.$hasNormal) return n; + for (var c in ((r = {}), t)) t[c] && '$' !== c[0] && (r[c] = me(e, c, t[c])); + } else r = {}; + for (var s in e) s in r || (r[s] = ge(e, s)); + return ( + t && Object.isExtensible(t) && (t._normalized = r), + V(r, '$stable', a), + V(r, '$key', u), + V(r, '$hasNormal', o), + r + ); + } + function me(t, e, n) { + var r = function() { + var t = arguments.length ? n.apply(null, arguments) : n({}); + return (t = t && 'object' == typeof t && !Array.isArray(t) ? [t] : le(t)) && + (0 === t.length || (1 === t.length && t[0].isComment)) + ? void 0 + : t; + }; + return ( + n.proxy && Object.defineProperty(t, e, { get: r, enumerable: !0, configurable: !0 }), r + ); + } + function ge(t, e) { + return function() { + return t[e]; + }; + } + function be(t, e) { + var n, r, o, i, a; + if (Array.isArray(t) || 'string' == typeof t) + for (n = new Array(t.length), r = 0, o = t.length; r < o; r++) n[r] = e(t[r], r); + else if ('number' == typeof t) for (n = new Array(t), r = 0; r < t; r++) n[r] = e(r + 1, r); + else if (f(t)) + if (st && t[Symbol.iterator]) { + n = []; + for (var c = t[Symbol.iterator](), s = c.next(); !s.done; ) + n.push(e(s.value, n.length)), (s = c.next()); + } else + for (i = Object.keys(t), n = new Array(i.length), r = 0, o = i.length; r < o; r++) + (a = i[r]), (n[r] = e(t[a], a, r)); + return u(n) || (n = []), (n._isVList = !0), n; + } + function _e(t, e, n, r) { + var o, + i = this.$scopedSlots[t]; + i ? ((n = n || {}), r && (n = P(P({}, r), n)), (o = i(n) || e)) : (o = this.$slots[t] || e); + var a = n && n.slot; + return a ? this.$createElement('template', { slot: a }, o) : o; + } + function xe(t) { + return Nt(this.$options, 'filters', t) || z; + } + function we(t, e) { + return Array.isArray(t) ? -1 === t.indexOf(e) : t !== e; + } + function Oe(t, e, n, r, o) { + var i = F.keyCodes[e] || n; + return o && r && !F.keyCodes[e] ? we(o, r) : i ? we(i, t) : r ? k(r) !== e : void 0; + } + function Se(t, e, n, r, o) { + if (n) + if (f(n)) { + var i; + Array.isArray(n) && (n = T(n)); + var a = function(a) { + if ('class' === a || 'style' === a || b(a)) i = t; + else { + var u = t.attrs && t.attrs.type; + i = + r || F.mustUseProp(e, u, a) + ? t.domProps || (t.domProps = {}) + : t.attrs || (t.attrs = {}); + } + var c = j(a), + s = k(a); + c in i || + s in i || + ((i[a] = n[a]), + o && + ((t.on || (t.on = {}))['update:' + a] = function(t) { + n[a] = t; + })); + }; + for (var u in n) a(u); + } else; + return t; + } + function je(t, e) { + var n = this._staticTrees || (this._staticTrees = []), + r = n[t]; + return ( + (r && !e) || + Ae( + (r = n[t] = this.$options.staticRenderFns[t].call(this._renderProxy, null, this)), + '__static__' + t, + !1, + ), + r + ); + } + function Ee(t, e, n) { + return Ae(t, '__once__' + e + (n ? '_' + n : ''), !0), t; + } + function Ae(t, e, n) { + if (Array.isArray(t)) + for (var r = 0; r < t.length; r++) + t[r] && 'string' != typeof t[r] && ke(t[r], e + '_' + r, n); + else ke(t, e, n); + } + function ke(t, e, n) { + (t.isStatic = !0), (t.key = e), (t.isOnce = n); + } + function Ce(t, e) { + if (e) + if (p(e)) { + var n = (t.on = t.on ? P({}, t.on) : {}); + for (var r in e) { + var o = n[r], + i = e[r]; + n[r] = o ? [].concat(o, i) : i; + } + } else; + return t; + } + function $e(t, e, n, r) { + e = e || { $stable: !n }; + for (var o = 0; o < t.length; o++) { + var i = t[o]; + Array.isArray(i) ? $e(i, e, n) : i && (i.proxy && (i.fn.proxy = !0), (e[i.key] = i.fn)); + } + return r && (e.$key = r), e; + } + function Pe(t, e) { + for (var n = 0; n < e.length; n += 2) { + var r = e[n]; + 'string' == typeof r && r && (t[e[n]] = e[n + 1]); + } + return t; + } + function Te(t, e) { + return 'string' == typeof t ? e + t : t; + } + function Le(t) { + (t._o = Ee), + (t._n = m), + (t._s = y), + (t._l = be), + (t._t = _e), + (t._q = D), + (t._i = M), + (t._m = je), + (t._f = xe), + (t._k = Oe), + (t._b = Se), + (t._v = bt), + (t._e = gt), + (t._u = $e), + (t._g = Ce), + (t._d = Pe), + (t._p = Te); + } + function Re(t, e, n, r, o) { + var a, + u = this, + s = o.options; + w(r, '_uid') ? ((a = Object.create(r))._original = r) : ((a = r), (r = r._original)); + var f = c(s._compiled), + l = !f; + (this.data = t), + (this.props = e), + (this.children = n), + (this.parent = r), + (this.listeners = t.on || i), + (this.injections = he(s.inject, r)), + (this.slots = function() { + return u.$slots || ye(t.scopedSlots, (u.$slots = de(n, r))), u.$slots; + }), + Object.defineProperty(this, 'scopedSlots', { + enumerable: !0, + get: function() { + return ye(t.scopedSlots, this.slots()); + }, + }), + f && + ((this.$options = s), + (this.$slots = this.slots()), + (this.$scopedSlots = ye(t.scopedSlots, this.$slots))), + s._scopeId + ? (this._c = function(t, e, n, o) { + var i = Fe(a, t, e, n, o, l); + return i && !Array.isArray(i) && ((i.fnScopeId = s._scopeId), (i.fnContext = r)), i; + }) + : (this._c = function(t, e, n, r) { + return Fe(a, t, e, n, r, l); + }); + } + function ze(t, e, n, r, o) { + var i = _t(t); + return ( + (i.fnContext = n), (i.fnOptions = r), e.slot && ((i.data || (i.data = {})).slot = e.slot), i + ); + } + function De(t, e) { + for (var n in e) t[j(n)] = e[n]; + } + Le(Re.prototype); + var Me = { + init: function(t, e) { + if (t.componentInstance && !t.componentInstance._isDestroyed && t.data.keepAlive) { + var n = t; + Me.prepatch(n, n); + } else { + (t.componentInstance = (function(t, e) { + var n = { _isComponent: !0, _parentVnode: t, parent: e }, + r = t.data.inlineTemplate; + u(r) && ((n.render = r.render), (n.staticRenderFns = r.staticRenderFns)); + return new t.componentOptions.Ctor(n); + })(t, Qe)).$mount(e ? t.elm : void 0, e); + } + }, + prepatch: function(t, e) { + var n = e.componentOptions; + !(function(t, e, n, r, o) { + 0; + var a = r.data.scopedSlots, + u = t.$scopedSlots, + c = !!( + (a && !a.$stable) || + (u !== i && !u.$stable) || + (a && t.$scopedSlots.$key !== a.$key) + ), + s = !!(o || t.$options._renderChildren || c); + (t.$options._parentVnode = r), (t.$vnode = r), t._vnode && (t._vnode.parent = r); + if ( + ((t.$options._renderChildren = o), + (t.$attrs = r.data.attrs || i), + (t.$listeners = n || i), + e && t.$options.props) + ) { + jt(!1); + for (var f = t._props, l = t.$options._propKeys || [], p = 0; p < l.length; p++) { + var h = l[p], + d = t.$options.props; + f[h] = Ut(h, d, e, t); + } + jt(!0), (t.$options.propsData = e); + } + n = n || i; + var v = t.$options._parentListeners; + (t.$options._parentListeners = n), + Xe(t, n, v), + s && ((t.$slots = de(o, r.context)), t.$forceUpdate()); + 0; + })((e.componentInstance = t.componentInstance), n.propsData, n.listeners, e, n.children); + }, + insert: function(t) { + var e, + n = t.context, + r = t.componentInstance; + r._isMounted || ((r._isMounted = !0), en(r, 'mounted')), + t.data.keepAlive && (n._isMounted ? (((e = r)._inactive = !1), rn.push(e)) : tn(r, !0)); + }, + destroy: function(t) { + var e = t.componentInstance; + e._isDestroyed || + (t.data.keepAlive + ? (function t(e, n) { + if (n && ((e._directInactive = !0), Ze(e))) return; + if (!e._inactive) { + e._inactive = !0; + for (var r = 0; r < e.$children.length; r++) t(e.$children[r]); + en(e, 'deactivated'); + } + })(e, !0) + : e.$destroy()); + }, + }, + Ie = Object.keys(Me); + function Ne(t, e, n, r, o) { + if (!a(t)) { + var s = n.$options._base; + if ((f(t) && (t = s.extend(t)), 'function' == typeof t)) { + var l; + if ( + a(t.cid) && + void 0 === + (t = (function(t, e) { + if (c(t.error) && u(t.errorComp)) return t.errorComp; + if (u(t.resolved)) return t.resolved; + var n = Ve; + n && u(t.owners) && -1 === t.owners.indexOf(n) && t.owners.push(n); + if (c(t.loading) && u(t.loadingComp)) return t.loadingComp; + if (n && !u(t.owners)) { + var r = (t.owners = [n]), + o = !0, + i = null, + s = null; + n.$on('hook:destroyed', function() { + return _(r, n); + }); + var l = function(t) { + for (var e = 0, n = r.length; e < n; e++) r[e].$forceUpdate(); + t && + ((r.length = 0), + null !== i && (clearTimeout(i), (i = null)), + null !== s && (clearTimeout(s), (s = null))); + }, + p = I(function(n) { + (t.resolved = He(n, e)), o ? (r.length = 0) : l(!0); + }), + h = I(function(e) { + u(t.errorComp) && ((t.error = !0), l(!0)); + }), + d = t(p, h); + return ( + f(d) && + (v(d) + ? a(t.resolved) && d.then(p, h) + : v(d.component) && + (d.component.then(p, h), + u(d.error) && (t.errorComp = He(d.error, e)), + u(d.loading) && + ((t.loadingComp = He(d.loading, e)), + 0 === d.delay + ? (t.loading = !0) + : (i = setTimeout(function() { + (i = null), + a(t.resolved) && a(t.error) && ((t.loading = !0), l(!1)); + }, d.delay || 200))), + u(d.timeout) && + (s = setTimeout(function() { + (s = null), a(t.resolved) && h(null); + }, d.timeout)))), + (o = !1), + t.loading ? t.loadingComp : t.resolved + ); + } + })((l = t), s)) + ) + return (function(t, e, n, r, o) { + var i = gt(); + return ( + (i.asyncFactory = t), + (i.asyncMeta = { data: e, context: n, children: r, tag: o }), + i + ); + })(l, e, n, r, o); + (e = e || {}), + Sn(t), + u(e.model) && + (function(t, e) { + var n = (t.model && t.model.prop) || 'value', + r = (t.model && t.model.event) || 'input'; + (e.attrs || (e.attrs = {}))[n] = e.model.value; + var o = e.on || (e.on = {}), + i = o[r], + a = e.model.callback; + u(i) + ? (Array.isArray(i) ? -1 === i.indexOf(a) : i !== a) && (o[r] = [a].concat(i)) + : (o[r] = a); + })(t.options, e); + var p = (function(t, e, n) { + var r = e.options.props; + if (!a(r)) { + var o = {}, + i = t.attrs, + c = t.props; + if (u(i) || u(c)) + for (var s in r) { + var f = k(s); + fe(o, c, s, f, !0) || fe(o, i, s, f, !1); + } + return o; + } + })(e, t); + if (c(t.options.functional)) + return (function(t, e, n, r, o) { + var a = t.options, + c = {}, + s = a.props; + if (u(s)) for (var f in s) c[f] = Ut(f, s, e || i); + else u(n.attrs) && De(c, n.attrs), u(n.props) && De(c, n.props); + var l = new Re(n, c, o, r, t), + p = a.render.call(null, l._c, l); + if (p instanceof yt) return ze(p, n, l.parent, a, l); + if (Array.isArray(p)) { + for (var h = le(p) || [], d = new Array(h.length), v = 0; v < h.length; v++) + d[v] = ze(h[v], n, l.parent, a, l); + return d; + } + })(t, p, e, n, r); + var h = e.on; + if (((e.on = e.nativeOn), c(t.options.abstract))) { + var d = e.slot; + (e = {}), d && (e.slot = d); + } + !(function(t) { + for (var e = t.hook || (t.hook = {}), n = 0; n < Ie.length; n++) { + var r = Ie[n], + o = e[r], + i = Me[r]; + o === i || (o && o._merged) || (e[r] = o ? Ue(i, o) : i); + } + })(e); + var y = t.options.name || o; + return new yt( + 'vue-component-' + t.cid + (y ? '-' + y : ''), + e, + void 0, + void 0, + void 0, + n, + { Ctor: t, propsData: p, listeners: h, tag: o, children: r }, + l, + ); + } + } + } + function Ue(t, e) { + var n = function(n, r) { + t(n, r), e(n, r); + }; + return (n._merged = !0), n; + } + function Fe(t, e, n, r, o, i) { + return ( + (Array.isArray(n) || s(n)) && ((o = r), (r = n), (n = void 0)), + c(i) && (o = 2), + (function(t, e, n, r, o) { + if (u(n) && u(n.__ob__)) return gt(); + u(n) && u(n.is) && (e = n.is); + if (!e) return gt(); + 0; + Array.isArray(r) && + 'function' == typeof r[0] && + (((n = n || {}).scopedSlots = { default: r[0] }), (r.length = 0)); + 2 === o + ? (r = le(r)) + : 1 === o && + (r = (function(t) { + for (var e = 0; e < t.length; e++) + if (Array.isArray(t[e])) return Array.prototype.concat.apply([], t); + return t; + })(r)); + var i, s; + if ('string' == typeof e) { + var l; + (s = (t.$vnode && t.$vnode.ns) || F.getTagNamespace(e)), + (i = F.isReservedTag(e) + ? new yt(F.parsePlatformTagName(e), n, r, void 0, void 0, t) + : (n && n.pre) || !u((l = Nt(t.$options, 'components', e))) + ? new yt(e, n, r, void 0, void 0, t) + : Ne(l, n, t, r, e)); + } else i = Ne(e, n, t, r); + return Array.isArray(i) + ? i + : u(i) + ? (u(s) && + (function t(e, n, r) { + (e.ns = n), 'foreignObject' === e.tag && ((n = void 0), (r = !0)); + if (u(e.children)) + for (var o = 0, i = e.children.length; o < i; o++) { + var s = e.children[o]; + u(s.tag) && (a(s.ns) || (c(r) && 'svg' !== s.tag)) && t(s, n, r); + } + })(i, s), + u(n) && + (function(t) { + f(t.style) && ie(t.style); + f(t.class) && ie(t.class); + })(n), + i) + : gt(); + })(t, e, n, r, o) + ); + } + var Be, + Ve = null; + function He(t, e) { + return ( + (t.__esModule || (st && 'Module' === t[Symbol.toStringTag])) && (t = t.default), + f(t) ? e.extend(t) : t + ); + } + function qe(t) { + return t.isComment && t.asyncFactory; + } + function We(t) { + if (Array.isArray(t)) + for (var e = 0; e < t.length; e++) { + var n = t[e]; + if (u(n) && (u(n.componentOptions) || qe(n))) return n; + } + } + function Ge(t, e) { + Be.$on(t, e); + } + function Ke(t, e) { + Be.$off(t, e); + } + function Je(t, e) { + var n = Be; + return function r() { + var o = e.apply(null, arguments); + null !== o && n.$off(t, r); + }; + } + function Xe(t, e, n) { + (Be = t), ce(e, n || {}, Ge, Ke, Je, t), (Be = void 0); + } + var Qe = null; + function Ye(t) { + var e = Qe; + return ( + (Qe = t), + function() { + Qe = e; + } + ); + } + function Ze(t) { + for (; t && (t = t.$parent); ) if (t._inactive) return !0; + return !1; + } + function tn(t, e) { + if (e) { + if (((t._directInactive = !1), Ze(t))) return; + } else if (t._directInactive) return; + if (t._inactive || null === t._inactive) { + t._inactive = !1; + for (var n = 0; n < t.$children.length; n++) tn(t.$children[n]); + en(t, 'activated'); + } + } + function en(t, e) { + dt(); + var n = t.$options[e], + r = e + ' hook'; + if (n) for (var o = 0, i = n.length; o < i; o++) qt(n[o], t, null, t, r); + t._hasHookEvent && t.$emit('hook:' + e), vt(); + } + var nn = [], + rn = [], + on = {}, + an = !1, + un = !1, + cn = 0; + var sn = 0, + fn = Date.now; + if (G && !Q) { + var ln = window.performance; + ln && + 'function' == typeof ln.now && + fn() > document.createEvent('Event').timeStamp && + (fn = function() { + return ln.now(); + }); + } + function pn() { + var t, e; + for ( + sn = fn(), + un = !0, + nn.sort(function(t, e) { + return t.id - e.id; + }), + cn = 0; + cn < nn.length; + cn++ + ) + (t = nn[cn]).before && t.before(), (e = t.id), (on[e] = null), t.run(); + var n = rn.slice(), + r = nn.slice(); + (cn = nn.length = rn.length = 0), + (on = {}), + (an = un = !1), + (function(t) { + for (var e = 0; e < t.length; e++) (t[e]._inactive = !0), tn(t[e], !0); + })(n), + (function(t) { + var e = t.length; + for (; e--; ) { + var n = t[e], + r = n.vm; + r._watcher === n && r._isMounted && !r._isDestroyed && en(r, 'updated'); + } + })(r), + at && F.devtools && at.emit('flush'); + } + var hn = 0, + dn = function(t, e, n, r, o) { + (this.vm = t), + o && (t._watcher = this), + t._watchers.push(this), + r + ? ((this.deep = !!r.deep), + (this.user = !!r.user), + (this.lazy = !!r.lazy), + (this.sync = !!r.sync), + (this.before = r.before)) + : (this.deep = this.user = this.lazy = this.sync = !1), + (this.cb = n), + (this.id = ++hn), + (this.active = !0), + (this.dirty = this.lazy), + (this.deps = []), + (this.newDeps = []), + (this.depIds = new ct()), + (this.newDepIds = new ct()), + (this.expression = ''), + 'function' == typeof e + ? (this.getter = e) + : ((this.getter = (function(t) { + if (!H.test(t)) { + var e = t.split('.'); + return function(t) { + for (var n = 0; n < e.length; n++) { + if (!t) return; + t = t[e[n]]; + } + return t; + }; + } + })(e)), + this.getter || (this.getter = L)), + (this.value = this.lazy ? void 0 : this.get()); + }; + (dn.prototype.get = function() { + var t; + dt(this); + var e = this.vm; + try { + t = this.getter.call(e, e); + } catch (t) { + if (!this.user) throw t; + Ht(t, e, 'getter for watcher "' + this.expression + '"'); + } finally { + this.deep && ie(t), vt(), this.cleanupDeps(); + } + return t; + }), + (dn.prototype.addDep = function(t) { + var e = t.id; + this.newDepIds.has(e) || + (this.newDepIds.add(e), this.newDeps.push(t), this.depIds.has(e) || t.addSub(this)); + }), + (dn.prototype.cleanupDeps = function() { + for (var t = this.deps.length; t--; ) { + var e = this.deps[t]; + this.newDepIds.has(e.id) || e.removeSub(this); + } + var n = this.depIds; + (this.depIds = this.newDepIds), + (this.newDepIds = n), + this.newDepIds.clear(), + (n = this.deps), + (this.deps = this.newDeps), + (this.newDeps = n), + (this.newDeps.length = 0); + }), + (dn.prototype.update = function() { + this.lazy + ? (this.dirty = !0) + : this.sync + ? this.run() + : (function(t) { + var e = t.id; + if (null == on[e]) { + if (((on[e] = !0), un)) { + for (var n = nn.length - 1; n > cn && nn[n].id > t.id; ) n--; + nn.splice(n + 1, 0, t); + } else nn.push(t); + an || ((an = !0), re(pn)); + } + })(this); + }), + (dn.prototype.run = function() { + if (this.active) { + var t = this.get(); + if (t !== this.value || f(t) || this.deep) { + var e = this.value; + if (((this.value = t), this.user)) + try { + this.cb.call(this.vm, t, e); + } catch (t) { + Ht(t, this.vm, 'callback for watcher "' + this.expression + '"'); + } + else this.cb.call(this.vm, t, e); + } + } + }), + (dn.prototype.evaluate = function() { + (this.value = this.get()), (this.dirty = !1); + }), + (dn.prototype.depend = function() { + for (var t = this.deps.length; t--; ) this.deps[t].depend(); + }), + (dn.prototype.teardown = function() { + if (this.active) { + this.vm._isBeingDestroyed || _(this.vm._watchers, this); + for (var t = this.deps.length; t--; ) this.deps[t].removeSub(this); + this.active = !1; + } + }); + var vn = { enumerable: !0, configurable: !0, get: L, set: L }; + function yn(t, e, n) { + (vn.get = function() { + return this[e][n]; + }), + (vn.set = function(t) { + this[e][n] = t; + }), + Object.defineProperty(t, n, vn); + } + function mn(t) { + t._watchers = []; + var e = t.$options; + e.props && + (function(t, e) { + var n = t.$options.propsData || {}, + r = (t._props = {}), + o = (t.$options._propKeys = []); + t.$parent && jt(!1); + var i = function(i) { + o.push(i); + var a = Ut(i, e, n, t); + kt(r, i, a), i in t || yn(t, '_props', i); + }; + for (var a in e) i(a); + jt(!0); + })(t, e.props), + e.methods && + (function(t, e) { + t.$options.props; + for (var n in e) t[n] = 'function' != typeof e[n] ? L : C(e[n], t); + })(t, e.methods), + e.data + ? (function(t) { + var e = t.$options.data; + p( + (e = t._data = + 'function' == typeof e + ? (function(t, e) { + dt(); + try { + return t.call(e, e); + } catch (t) { + return Ht(t, e, 'data()'), {}; + } finally { + vt(); + } + })(e, t) + : e || {}), + ) || (e = {}); + var n = Object.keys(e), + r = t.$options.props, + o = (t.$options.methods, n.length); + for (; o--; ) { + var i = n[o]; + 0, + (r && w(r, i)) || + ((a = void 0), + 36 !== (a = (i + '').charCodeAt(0)) && 95 !== a && yn(t, '_data', i)); + } + var a; + At(e, !0); + })(t) + : At((t._data = {}), !0), + e.computed && + (function(t, e) { + var n = (t._computedWatchers = Object.create(null)), + r = it(); + for (var o in e) { + var i = e[o], + a = 'function' == typeof i ? i : i.get; + 0, r || (n[o] = new dn(t, a || L, L, gn)), o in t || bn(t, o, i); + } + })(t, e.computed), + e.watch && + e.watch !== nt && + (function(t, e) { + for (var n in e) { + var r = e[n]; + if (Array.isArray(r)) for (var o = 0; o < r.length; o++) wn(t, n, r[o]); + else wn(t, n, r); + } + })(t, e.watch); + } + var gn = { lazy: !0 }; + function bn(t, e, n) { + var r = !it(); + 'function' == typeof n + ? ((vn.get = r ? _n(e) : xn(n)), (vn.set = L)) + : ((vn.get = n.get ? (r && !1 !== n.cache ? _n(e) : xn(n.get)) : L), (vn.set = n.set || L)), + Object.defineProperty(t, e, vn); + } + function _n(t) { + return function() { + var e = this._computedWatchers && this._computedWatchers[t]; + if (e) return e.dirty && e.evaluate(), pt.target && e.depend(), e.value; + }; + } + function xn(t) { + return function() { + return t.call(this, this); + }; + } + function wn(t, e, n, r) { + return ( + p(n) && ((r = n), (n = n.handler)), 'string' == typeof n && (n = t[n]), t.$watch(e, n, r) + ); + } + var On = 0; + function Sn(t) { + var e = t.options; + if (t.super) { + var n = Sn(t.super); + if (n !== t.superOptions) { + t.superOptions = n; + var r = (function(t) { + var e, + n = t.options, + r = t.sealedOptions; + for (var o in n) n[o] !== r[o] && (e || (e = {}), (e[o] = n[o])); + return e; + })(t); + r && P(t.extendOptions, r), + (e = t.options = It(n, t.extendOptions)).name && (e.components[e.name] = t); + } + } + return e; + } + function jn(t) { + this._init(t); + } + function En(t) { + t.cid = 0; + var e = 1; + t.extend = function(t) { + t = t || {}; + var n = this, + r = n.cid, + o = t._Ctor || (t._Ctor = {}); + if (o[r]) return o[r]; + var i = t.name || n.options.name; + var a = function(t) { + this._init(t); + }; + return ( + ((a.prototype = Object.create(n.prototype)).constructor = a), + (a.cid = e++), + (a.options = It(n.options, t)), + (a.super = n), + a.options.props && + (function(t) { + var e = t.options.props; + for (var n in e) yn(t.prototype, '_props', n); + })(a), + a.options.computed && + (function(t) { + var e = t.options.computed; + for (var n in e) bn(t.prototype, n, e[n]); + })(a), + (a.extend = n.extend), + (a.mixin = n.mixin), + (a.use = n.use), + N.forEach(function(t) { + a[t] = n[t]; + }), + i && (a.options.components[i] = a), + (a.superOptions = n.options), + (a.extendOptions = t), + (a.sealedOptions = P({}, a.options)), + (o[r] = a), + a + ); + }; + } + function An(t) { + return t && (t.Ctor.options.name || t.tag); + } + function kn(t, e) { + return Array.isArray(t) + ? t.indexOf(e) > -1 + : 'string' == typeof t + ? t.split(',').indexOf(e) > -1 + : !!h(t) && t.test(e); + } + function Cn(t, e) { + var n = t.cache, + r = t.keys, + o = t._vnode; + for (var i in n) { + var a = n[i]; + if (a) { + var u = An(a.componentOptions); + u && !e(u) && $n(n, i, r, o); + } + } + } + function $n(t, e, n, r) { + var o = t[e]; + !o || (r && o.tag === r.tag) || o.componentInstance.$destroy(), (t[e] = null), _(n, e); + } + (jn.prototype._init = function(t) { + var e = this; + (e._uid = On++), + (e._isVue = !0), + t && t._isComponent + ? (function(t, e) { + var n = (t.$options = Object.create(t.constructor.options)), + r = e._parentVnode; + (n.parent = e.parent), (n._parentVnode = r); + var o = r.componentOptions; + (n.propsData = o.propsData), + (n._parentListeners = o.listeners), + (n._renderChildren = o.children), + (n._componentTag = o.tag), + e.render && ((n.render = e.render), (n.staticRenderFns = e.staticRenderFns)); + })(e, t) + : (e.$options = It(Sn(e.constructor), t || {}, e)), + (e._renderProxy = e), + (e._self = e), + (function(t) { + var e = t.$options, + n = e.parent; + if (n && !e.abstract) { + for (; n.$options.abstract && n.$parent; ) n = n.$parent; + n.$children.push(t); + } + (t.$parent = n), + (t.$root = n ? n.$root : t), + (t.$children = []), + (t.$refs = {}), + (t._watcher = null), + (t._inactive = null), + (t._directInactive = !1), + (t._isMounted = !1), + (t._isDestroyed = !1), + (t._isBeingDestroyed = !1); + })(e), + (function(t) { + (t._events = Object.create(null)), (t._hasHookEvent = !1); + var e = t.$options._parentListeners; + e && Xe(t, e); + })(e), + (function(t) { + (t._vnode = null), (t._staticTrees = null); + var e = t.$options, + n = (t.$vnode = e._parentVnode), + r = n && n.context; + (t.$slots = de(e._renderChildren, r)), + (t.$scopedSlots = i), + (t._c = function(e, n, r, o) { + return Fe(t, e, n, r, o, !1); + }), + (t.$createElement = function(e, n, r, o) { + return Fe(t, e, n, r, o, !0); + }); + var o = n && n.data; + kt(t, '$attrs', (o && o.attrs) || i, null, !0), + kt(t, '$listeners', e._parentListeners || i, null, !0); + })(e), + en(e, 'beforeCreate'), + (function(t) { + var e = he(t.$options.inject, t); + e && + (jt(!1), + Object.keys(e).forEach(function(n) { + kt(t, n, e[n]); + }), + jt(!0)); + })(e), + mn(e), + (function(t) { + var e = t.$options.provide; + e && (t._provided = 'function' == typeof e ? e.call(t) : e); + })(e), + en(e, 'created'), + e.$options.el && e.$mount(e.$options.el); + }), + (function(t) { + var e = { + get: function() { + return this._data; + }, + }, + n = { + get: function() { + return this._props; + }, + }; + Object.defineProperty(t.prototype, '$data', e), + Object.defineProperty(t.prototype, '$props', n), + (t.prototype.$set = Ct), + (t.prototype.$delete = $t), + (t.prototype.$watch = function(t, e, n) { + if (p(e)) return wn(this, t, e, n); + (n = n || {}).user = !0; + var r = new dn(this, t, e, n); + if (n.immediate) + try { + e.call(this, r.value); + } catch (t) { + Ht(t, this, 'callback for immediate watcher "' + r.expression + '"'); + } + return function() { + r.teardown(); + }; + }); + })(jn), + (function(t) { + var e = /^hook:/; + (t.prototype.$on = function(t, n) { + var r = this; + if (Array.isArray(t)) for (var o = 0, i = t.length; o < i; o++) r.$on(t[o], n); + else (r._events[t] || (r._events[t] = [])).push(n), e.test(t) && (r._hasHookEvent = !0); + return r; + }), + (t.prototype.$once = function(t, e) { + var n = this; + function r() { + n.$off(t, r), e.apply(n, arguments); + } + return (r.fn = e), n.$on(t, r), n; + }), + (t.prototype.$off = function(t, e) { + var n = this; + if (!arguments.length) return (n._events = Object.create(null)), n; + if (Array.isArray(t)) { + for (var r = 0, o = t.length; r < o; r++) n.$off(t[r], e); + return n; + } + var i, + a = n._events[t]; + if (!a) return n; + if (!e) return (n._events[t] = null), n; + for (var u = a.length; u--; ) + if ((i = a[u]) === e || i.fn === e) { + a.splice(u, 1); + break; + } + return n; + }), + (t.prototype.$emit = function(t) { + var e = this, + n = e._events[t]; + if (n) { + n = n.length > 1 ? $(n) : n; + for ( + var r = $(arguments, 1), o = 'event handler for "' + t + '"', i = 0, a = n.length; + i < a; + i++ + ) + qt(n[i], e, r, e, o); + } + return e; + }); + })(jn), + (function(t) { + (t.prototype._update = function(t, e) { + var n = this, + r = n.$el, + o = n._vnode, + i = Ye(n); + (n._vnode = t), + (n.$el = o ? n.__patch__(o, t) : n.__patch__(n.$el, t, e, !1)), + i(), + r && (r.__vue__ = null), + n.$el && (n.$el.__vue__ = n), + n.$vnode && n.$parent && n.$vnode === n.$parent._vnode && (n.$parent.$el = n.$el); + }), + (t.prototype.$forceUpdate = function() { + this._watcher && this._watcher.update(); + }), + (t.prototype.$destroy = function() { + var t = this; + if (!t._isBeingDestroyed) { + en(t, 'beforeDestroy'), (t._isBeingDestroyed = !0); + var e = t.$parent; + !e || e._isBeingDestroyed || t.$options.abstract || _(e.$children, t), + t._watcher && t._watcher.teardown(); + for (var n = t._watchers.length; n--; ) t._watchers[n].teardown(); + t._data.__ob__ && t._data.__ob__.vmCount--, + (t._isDestroyed = !0), + t.__patch__(t._vnode, null), + en(t, 'destroyed'), + t.$off(), + t.$el && (t.$el.__vue__ = null), + t.$vnode && (t.$vnode.parent = null); + } + }); + })(jn), + (function(t) { + Le(t.prototype), + (t.prototype.$nextTick = function(t) { + return re(t, this); + }), + (t.prototype._render = function() { + var t, + e = this, + n = e.$options, + r = n.render, + o = n._parentVnode; + o && (e.$scopedSlots = ye(o.data.scopedSlots, e.$slots, e.$scopedSlots)), + (e.$vnode = o); + try { + (Ve = e), (t = r.call(e._renderProxy, e.$createElement)); + } catch (n) { + Ht(n, e, 'render'), (t = e._vnode); + } finally { + Ve = null; + } + return ( + Array.isArray(t) && 1 === t.length && (t = t[0]), + t instanceof yt || (t = gt()), + (t.parent = o), + t + ); + }); + })(jn); + var Pn = [String, RegExp, Array], + Tn = { + KeepAlive: { + name: 'keep-alive', + abstract: !0, + props: { include: Pn, exclude: Pn, max: [String, Number] }, + created: function() { + (this.cache = Object.create(null)), (this.keys = []); + }, + destroyed: function() { + for (var t in this.cache) $n(this.cache, t, this.keys); + }, + mounted: function() { + var t = this; + this.$watch('include', function(e) { + Cn(t, function(t) { + return kn(e, t); + }); + }), + this.$watch('exclude', function(e) { + Cn(t, function(t) { + return !kn(e, t); + }); + }); + }, + render: function() { + var t = this.$slots.default, + e = We(t), + n = e && e.componentOptions; + if (n) { + var r = An(n), + o = this.include, + i = this.exclude; + if ((o && (!r || !kn(o, r))) || (i && r && kn(i, r))) return e; + var a = this.cache, + u = this.keys, + c = null == e.key ? n.Ctor.cid + (n.tag ? '::' + n.tag : '') : e.key; + a[c] + ? ((e.componentInstance = a[c].componentInstance), _(u, c), u.push(c)) + : ((a[c] = e), + u.push(c), + this.max && u.length > parseInt(this.max) && $n(a, u[0], u, this._vnode)), + (e.data.keepAlive = !0); + } + return e || (t && t[0]); + }, + }, + }; + !(function(t) { + var e = { + get: function() { + return F; + }, + }; + Object.defineProperty(t, 'config', e), + (t.util = { warn: ft, extend: P, mergeOptions: It, defineReactive: kt }), + (t.set = Ct), + (t.delete = $t), + (t.nextTick = re), + (t.observable = function(t) { + return At(t), t; + }), + (t.options = Object.create(null)), + N.forEach(function(e) { + t.options[e + 's'] = Object.create(null); + }), + (t.options._base = t), + P(t.options.components, Tn), + (function(t) { + t.use = function(t) { + var e = this._installedPlugins || (this._installedPlugins = []); + if (e.indexOf(t) > -1) return this; + var n = $(arguments, 1); + return ( + n.unshift(this), + 'function' == typeof t.install + ? t.install.apply(t, n) + : 'function' == typeof t && t.apply(null, n), + e.push(t), + this + ); + }; + })(t), + (function(t) { + t.mixin = function(t) { + return (this.options = It(this.options, t)), this; + }; + })(t), + En(t), + (function(t) { + N.forEach(function(e) { + t[e] = function(t, n) { + return n + ? ('component' === e && + p(n) && + ((n.name = n.name || t), (n = this.options._base.extend(n))), + 'directive' === e && 'function' == typeof n && (n = { bind: n, update: n }), + (this.options[e + 's'][t] = n), + n) + : this.options[e + 's'][t]; + }; + }); + })(t); + })(jn), + Object.defineProperty(jn.prototype, '$isServer', { get: it }), + Object.defineProperty(jn.prototype, '$ssrContext', { + get: function() { + return this.$vnode && this.$vnode.ssrContext; + }, + }), + Object.defineProperty(jn, 'FunctionalRenderContext', { value: Re }), + (jn.version = '2.6.12'); + var Ln = g('style,class'), + Rn = g('input,textarea,option,select,progress'), + zn = g('contenteditable,draggable,spellcheck'), + Dn = g('events,caret,typing,plaintext-only'), + Mn = g( + 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible', + ), + In = 'http://www.w3.org/1999/xlink', + Nn = function(t) { + return ':' === t.charAt(5) && 'xlink' === t.slice(0, 5); + }, + Un = function(t) { + return Nn(t) ? t.slice(6, t.length) : ''; + }, + Fn = function(t) { + return null == t || !1 === t; + }; + function Bn(t) { + for (var e = t.data, n = t, r = t; u(r.componentInstance); ) + (r = r.componentInstance._vnode) && r.data && (e = Vn(r.data, e)); + for (; u((n = n.parent)); ) n && n.data && (e = Vn(e, n.data)); + return (function(t, e) { + if (u(t) || u(e)) return Hn(t, qn(e)); + return ''; + })(e.staticClass, e.class); + } + function Vn(t, e) { + return { + staticClass: Hn(t.staticClass, e.staticClass), + class: u(t.class) ? [t.class, e.class] : e.class, + }; + } + function Hn(t, e) { + return t ? (e ? t + ' ' + e : t) : e || ''; + } + function qn(t) { + return Array.isArray(t) + ? (function(t) { + for (var e, n = '', r = 0, o = t.length; r < o; r++) + u((e = qn(t[r]))) && '' !== e && (n && (n += ' '), (n += e)); + return n; + })(t) + : f(t) + ? (function(t) { + var e = ''; + for (var n in t) t[n] && (e && (e += ' '), (e += n)); + return e; + })(t) + : 'string' == typeof t + ? t + : ''; + } + var Wn = { svg: 'http://www.w3.org/2000/svg', math: 'http://www.w3.org/1998/Math/MathML' }, + Gn = g( + 'html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot', + ), + Kn = g( + 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view', + !0, + ), + Jn = function(t) { + return Gn(t) || Kn(t); + }; + var Xn = Object.create(null); + var Qn = g('text,number,password,search,email,tel,url'); + var Yn = Object.freeze({ + createElement: function(t, e) { + var n = document.createElement(t); + return ( + 'select' !== t || + (e.data && + e.data.attrs && + void 0 !== e.data.attrs.multiple && + n.setAttribute('multiple', 'multiple')), + n + ); + }, + createElementNS: function(t, e) { + return document.createElementNS(Wn[t], e); + }, + createTextNode: function(t) { + return document.createTextNode(t); + }, + createComment: function(t) { + return document.createComment(t); + }, + insertBefore: function(t, e, n) { + t.insertBefore(e, n); + }, + removeChild: function(t, e) { + t.removeChild(e); + }, + appendChild: function(t, e) { + t.appendChild(e); + }, + parentNode: function(t) { + return t.parentNode; + }, + nextSibling: function(t) { + return t.nextSibling; + }, + tagName: function(t) { + return t.tagName; + }, + setTextContent: function(t, e) { + t.textContent = e; + }, + setStyleScope: function(t, e) { + t.setAttribute(e, ''); + }, + }), + Zn = { + create: function(t, e) { + tr(e); + }, + update: function(t, e) { + t.data.ref !== e.data.ref && (tr(t, !0), tr(e)); + }, + destroy: function(t) { + tr(t, !0); + }, + }; + function tr(t, e) { + var n = t.data.ref; + if (u(n)) { + var r = t.context, + o = t.componentInstance || t.elm, + i = r.$refs; + e + ? Array.isArray(i[n]) + ? _(i[n], o) + : i[n] === o && (i[n] = void 0) + : t.data.refInFor + ? Array.isArray(i[n]) + ? i[n].indexOf(o) < 0 && i[n].push(o) + : (i[n] = [o]) + : (i[n] = o); + } + } + var er = new yt('', {}, []), + nr = ['create', 'activate', 'update', 'remove', 'destroy']; + function rr(t, e) { + return ( + t.key === e.key && + ((t.tag === e.tag && + t.isComment === e.isComment && + u(t.data) === u(e.data) && + (function(t, e) { + if ('input' !== t.tag) return !0; + var n, + r = u((n = t.data)) && u((n = n.attrs)) && n.type, + o = u((n = e.data)) && u((n = n.attrs)) && n.type; + return r === o || (Qn(r) && Qn(o)); + })(t, e)) || + (c(t.isAsyncPlaceholder) && t.asyncFactory === e.asyncFactory && a(e.asyncFactory.error))) + ); + } + function or(t, e, n) { + var r, + o, + i = {}; + for (r = e; r <= n; ++r) u((o = t[r].key)) && (i[o] = r); + return i; + } + var ir = { + create: ar, + update: ar, + destroy: function(t) { + ar(t, er); + }, + }; + function ar(t, e) { + (t.data.directives || e.data.directives) && + (function(t, e) { + var n, + r, + o, + i = t === er, + a = e === er, + u = cr(t.data.directives, t.context), + c = cr(e.data.directives, e.context), + s = [], + f = []; + for (n in c) + (r = u[n]), + (o = c[n]), + r + ? ((o.oldValue = r.value), + (o.oldArg = r.arg), + fr(o, 'update', e, t), + o.def && o.def.componentUpdated && f.push(o)) + : (fr(o, 'bind', e, t), o.def && o.def.inserted && s.push(o)); + if (s.length) { + var l = function() { + for (var n = 0; n < s.length; n++) fr(s[n], 'inserted', e, t); + }; + i ? se(e, 'insert', l) : l(); + } + f.length && + se(e, 'postpatch', function() { + for (var n = 0; n < f.length; n++) fr(f[n], 'componentUpdated', e, t); + }); + if (!i) for (n in u) c[n] || fr(u[n], 'unbind', t, t, a); + })(t, e); + } + var ur = Object.create(null); + function cr(t, e) { + var n, + r, + o = Object.create(null); + if (!t) return o; + for (n = 0; n < t.length; n++) + (r = t[n]).modifiers || (r.modifiers = ur), + (o[sr(r)] = r), + (r.def = Nt(e.$options, 'directives', r.name)); + return o; + } + function sr(t) { + return t.rawName || t.name + '.' + Object.keys(t.modifiers || {}).join('.'); + } + function fr(t, e, n, r, o) { + var i = t.def && t.def[e]; + if (i) + try { + i(n.elm, t, n, r, o); + } catch (r) { + Ht(r, n.context, 'directive ' + t.name + ' ' + e + ' hook'); + } + } + var lr = [Zn, ir]; + function pr(t, e) { + var n = e.componentOptions; + if (!((u(n) && !1 === n.Ctor.options.inheritAttrs) || (a(t.data.attrs) && a(e.data.attrs)))) { + var r, + o, + i = e.elm, + c = t.data.attrs || {}, + s = e.data.attrs || {}; + for (r in (u(s.__ob__) && (s = e.data.attrs = P({}, s)), s)) + (o = s[r]), c[r] !== o && hr(i, r, o); + for (r in ((Q || Z) && s.value !== c.value && hr(i, 'value', s.value), c)) + a(s[r]) && (Nn(r) ? i.removeAttributeNS(In, Un(r)) : zn(r) || i.removeAttribute(r)); + } + } + function hr(t, e, n) { + t.tagName.indexOf('-') > -1 + ? dr(t, e, n) + : Mn(e) + ? Fn(n) + ? t.removeAttribute(e) + : ((n = 'allowfullscreen' === e && 'EMBED' === t.tagName ? 'true' : e), + t.setAttribute(e, n)) + : zn(e) + ? t.setAttribute( + e, + (function(t, e) { + return Fn(e) || 'false' === e + ? 'false' + : 'contenteditable' === t && Dn(e) + ? e + : 'true'; + })(e, n), + ) + : Nn(e) + ? Fn(n) + ? t.removeAttributeNS(In, Un(e)) + : t.setAttributeNS(In, e, n) + : dr(t, e, n); + } + function dr(t, e, n) { + if (Fn(n)) t.removeAttribute(e); + else { + if (Q && !Y && 'TEXTAREA' === t.tagName && 'placeholder' === e && '' !== n && !t.__ieph) { + var r = function(e) { + e.stopImmediatePropagation(), t.removeEventListener('input', r); + }; + t.addEventListener('input', r), (t.__ieph = !0); + } + t.setAttribute(e, n); + } + } + var vr = { create: pr, update: pr }; + function yr(t, e) { + var n = e.elm, + r = e.data, + o = t.data; + if (!(a(r.staticClass) && a(r.class) && (a(o) || (a(o.staticClass) && a(o.class))))) { + var i = Bn(e), + c = n._transitionClasses; + u(c) && (i = Hn(i, qn(c))), + i !== n._prevClass && (n.setAttribute('class', i), (n._prevClass = i)); + } + } + var mr, + gr = { create: yr, update: yr }; + function br(t, e, n) { + var r = mr; + return function o() { + var i = e.apply(null, arguments); + null !== i && wr(t, o, n, r); + }; + } + var _r = Jt && !(et && Number(et[1]) <= 53); + function xr(t, e, n, r) { + if (_r) { + var o = sn, + i = e; + e = i._wrapper = function(t) { + if ( + t.target === t.currentTarget || + t.timeStamp >= o || + t.timeStamp <= 0 || + t.target.ownerDocument !== document + ) + return i.apply(this, arguments); + }; + } + mr.addEventListener(t, e, rt ? { capture: n, passive: r } : n); + } + function wr(t, e, n, r) { + (r || mr).removeEventListener(t, e._wrapper || e, n); + } + function Or(t, e) { + if (!a(t.data.on) || !a(e.data.on)) { + var n = e.data.on || {}, + r = t.data.on || {}; + (mr = e.elm), + (function(t) { + if (u(t.__r)) { + var e = Q ? 'change' : 'input'; + (t[e] = [].concat(t.__r, t[e] || [])), delete t.__r; + } + u(t.__c) && ((t.change = [].concat(t.__c, t.change || [])), delete t.__c); + })(n), + ce(n, r, xr, wr, br, e.context), + (mr = void 0); + } + } + var Sr, + jr = { create: Or, update: Or }; + function Er(t, e) { + if (!a(t.data.domProps) || !a(e.data.domProps)) { + var n, + r, + o = e.elm, + i = t.data.domProps || {}, + c = e.data.domProps || {}; + for (n in (u(c.__ob__) && (c = e.data.domProps = P({}, c)), i)) n in c || (o[n] = ''); + for (n in c) { + if (((r = c[n]), 'textContent' === n || 'innerHTML' === n)) { + if ((e.children && (e.children.length = 0), r === i[n])) continue; + 1 === o.childNodes.length && o.removeChild(o.childNodes[0]); + } + if ('value' === n && 'PROGRESS' !== o.tagName) { + o._value = r; + var s = a(r) ? '' : String(r); + Ar(o, s) && (o.value = s); + } else if ('innerHTML' === n && Kn(o.tagName) && a(o.innerHTML)) { + (Sr = Sr || document.createElement('div')).innerHTML = '' + r + ''; + for (var f = Sr.firstChild; o.firstChild; ) o.removeChild(o.firstChild); + for (; f.firstChild; ) o.appendChild(f.firstChild); + } else if (r !== i[n]) + try { + o[n] = r; + } catch (t) {} + } + } + } + function Ar(t, e) { + return ( + !t.composing && + ('OPTION' === t.tagName || + (function(t, e) { + var n = !0; + try { + n = document.activeElement !== t; + } catch (t) {} + return n && t.value !== e; + })(t, e) || + (function(t, e) { + var n = t.value, + r = t._vModifiers; + if (u(r)) { + if (r.number) return m(n) !== m(e); + if (r.trim) return n.trim() !== e.trim(); + } + return n !== e; + })(t, e)) + ); + } + var kr = { create: Er, update: Er }, + Cr = O(function(t) { + var e = {}, + n = /:(.+)/; + return ( + t.split(/;(?![^(]*\))/g).forEach(function(t) { + if (t) { + var r = t.split(n); + r.length > 1 && (e[r[0].trim()] = r[1].trim()); + } + }), + e + ); + }); + function $r(t) { + var e = Pr(t.style); + return t.staticStyle ? P(t.staticStyle, e) : e; + } + function Pr(t) { + return Array.isArray(t) ? T(t) : 'string' == typeof t ? Cr(t) : t; + } + var Tr, + Lr = /^--/, + Rr = /\s*!important$/, + zr = function(t, e, n) { + if (Lr.test(e)) t.style.setProperty(e, n); + else if (Rr.test(n)) t.style.setProperty(k(e), n.replace(Rr, ''), 'important'); + else { + var r = Mr(e); + if (Array.isArray(n)) for (var o = 0, i = n.length; o < i; o++) t.style[r] = n[o]; + else t.style[r] = n; + } + }, + Dr = ['Webkit', 'Moz', 'ms'], + Mr = O(function(t) { + if (((Tr = Tr || document.createElement('div').style), 'filter' !== (t = j(t)) && t in Tr)) + return t; + for (var e = t.charAt(0).toUpperCase() + t.slice(1), n = 0; n < Dr.length; n++) { + var r = Dr[n] + e; + if (r in Tr) return r; + } + }); + function Ir(t, e) { + var n = e.data, + r = t.data; + if (!(a(n.staticStyle) && a(n.style) && a(r.staticStyle) && a(r.style))) { + var o, + i, + c = e.elm, + s = r.staticStyle, + f = r.normalizedStyle || r.style || {}, + l = s || f, + p = Pr(e.data.style) || {}; + e.data.normalizedStyle = u(p.__ob__) ? P({}, p) : p; + var h = (function(t, e) { + var n, + r = {}; + if (e) + for (var o = t; o.componentInstance; ) + (o = o.componentInstance._vnode) && o.data && (n = $r(o.data)) && P(r, n); + (n = $r(t.data)) && P(r, n); + for (var i = t; (i = i.parent); ) i.data && (n = $r(i.data)) && P(r, n); + return r; + })(e, !0); + for (i in l) a(h[i]) && zr(c, i, ''); + for (i in h) (o = h[i]) !== l[i] && zr(c, i, null == o ? '' : o); + } + } + var Nr = { create: Ir, update: Ir }, + Ur = /\s+/; + function Fr(t, e) { + if (e && (e = e.trim())) + if (t.classList) + e.indexOf(' ') > -1 + ? e.split(Ur).forEach(function(e) { + return t.classList.add(e); + }) + : t.classList.add(e); + else { + var n = ' ' + (t.getAttribute('class') || '') + ' '; + n.indexOf(' ' + e + ' ') < 0 && t.setAttribute('class', (n + e).trim()); + } + } + function Br(t, e) { + if (e && (e = e.trim())) + if (t.classList) + e.indexOf(' ') > -1 + ? e.split(Ur).forEach(function(e) { + return t.classList.remove(e); + }) + : t.classList.remove(e), + t.classList.length || t.removeAttribute('class'); + else { + for ( + var n = ' ' + (t.getAttribute('class') || '') + ' ', r = ' ' + e + ' '; + n.indexOf(r) >= 0; + + ) + n = n.replace(r, ' '); + (n = n.trim()) ? t.setAttribute('class', n) : t.removeAttribute('class'); + } + } + function Vr(t) { + if (t) { + if ('object' == typeof t) { + var e = {}; + return !1 !== t.css && P(e, Hr(t.name || 'v')), P(e, t), e; + } + return 'string' == typeof t ? Hr(t) : void 0; + } + } + var Hr = O(function(t) { + return { + enterClass: t + '-enter', + enterToClass: t + '-enter-to', + enterActiveClass: t + '-enter-active', + leaveClass: t + '-leave', + leaveToClass: t + '-leave-to', + leaveActiveClass: t + '-leave-active', + }; + }), + qr = G && !Y, + Wr = 'transition', + Gr = 'transitionend', + Kr = 'animation', + Jr = 'animationend'; + qr && + (void 0 === window.ontransitionend && + void 0 !== window.onwebkittransitionend && + ((Wr = 'WebkitTransition'), (Gr = 'webkitTransitionEnd')), + void 0 === window.onanimationend && + void 0 !== window.onwebkitanimationend && + ((Kr = 'WebkitAnimation'), (Jr = 'webkitAnimationEnd'))); + var Xr = G + ? window.requestAnimationFrame + ? window.requestAnimationFrame.bind(window) + : setTimeout + : function(t) { + return t(); + }; + function Qr(t) { + Xr(function() { + Xr(t); + }); + } + function Yr(t, e) { + var n = t._transitionClasses || (t._transitionClasses = []); + n.indexOf(e) < 0 && (n.push(e), Fr(t, e)); + } + function Zr(t, e) { + t._transitionClasses && _(t._transitionClasses, e), Br(t, e); + } + function to(t, e, n) { + var r = no(t, e), + o = r.type, + i = r.timeout, + a = r.propCount; + if (!o) return n(); + var u = 'transition' === o ? Gr : Jr, + c = 0, + s = function() { + t.removeEventListener(u, f), n(); + }, + f = function(e) { + e.target === t && ++c >= a && s(); + }; + setTimeout(function() { + c < a && s(); + }, i + 1), + t.addEventListener(u, f); + } + var eo = /\b(transform|all)(,|$)/; + function no(t, e) { + var n, + r = window.getComputedStyle(t), + o = (r[Wr + 'Delay'] || '').split(', '), + i = (r[Wr + 'Duration'] || '').split(', '), + a = ro(o, i), + u = (r[Kr + 'Delay'] || '').split(', '), + c = (r[Kr + 'Duration'] || '').split(', '), + s = ro(u, c), + f = 0, + l = 0; + return ( + 'transition' === e + ? a > 0 && ((n = 'transition'), (f = a), (l = i.length)) + : 'animation' === e + ? s > 0 && ((n = 'animation'), (f = s), (l = c.length)) + : (l = (n = (f = Math.max(a, s)) > 0 ? (a > s ? 'transition' : 'animation') : null) + ? 'transition' === n + ? i.length + : c.length + : 0), + { + type: n, + timeout: f, + propCount: l, + hasTransform: 'transition' === n && eo.test(r[Wr + 'Property']), + } + ); + } + function ro(t, e) { + for (; t.length < e.length; ) t = t.concat(t); + return Math.max.apply( + null, + e.map(function(e, n) { + return oo(e) + oo(t[n]); + }), + ); + } + function oo(t) { + return 1e3 * Number(t.slice(0, -1).replace(',', '.')); + } + function io(t, e) { + var n = t.elm; + u(n._leaveCb) && ((n._leaveCb.cancelled = !0), n._leaveCb()); + var r = Vr(t.data.transition); + if (!a(r) && !u(n._enterCb) && 1 === n.nodeType) { + for ( + var o = r.css, + i = r.type, + c = r.enterClass, + s = r.enterToClass, + l = r.enterActiveClass, + p = r.appearClass, + h = r.appearToClass, + d = r.appearActiveClass, + v = r.beforeEnter, + y = r.enter, + g = r.afterEnter, + b = r.enterCancelled, + _ = r.beforeAppear, + x = r.appear, + w = r.afterAppear, + O = r.appearCancelled, + S = r.duration, + j = Qe, + E = Qe.$vnode; + E && E.parent; + + ) + (j = E.context), (E = E.parent); + var A = !j._isMounted || !t.isRootInsert; + if (!A || x || '' === x) { + var k = A && p ? p : c, + C = A && d ? d : l, + $ = A && h ? h : s, + P = (A && _) || v, + T = A && 'function' == typeof x ? x : y, + L = (A && w) || g, + R = (A && O) || b, + z = m(f(S) ? S.enter : S); + 0; + var D = !1 !== o && !Y, + M = co(T), + N = (n._enterCb = I(function() { + D && (Zr(n, $), Zr(n, C)), + N.cancelled ? (D && Zr(n, k), R && R(n)) : L && L(n), + (n._enterCb = null); + })); + t.data.show || + se(t, 'insert', function() { + var e = n.parentNode, + r = e && e._pending && e._pending[t.key]; + r && r.tag === t.tag && r.elm._leaveCb && r.elm._leaveCb(), T && T(n, N); + }), + P && P(n), + D && + (Yr(n, k), + Yr(n, C), + Qr(function() { + Zr(n, k), N.cancelled || (Yr(n, $), M || (uo(z) ? setTimeout(N, z) : to(n, i, N))); + })), + t.data.show && (e && e(), T && T(n, N)), + D || M || N(); + } + } + } + function ao(t, e) { + var n = t.elm; + u(n._enterCb) && ((n._enterCb.cancelled = !0), n._enterCb()); + var r = Vr(t.data.transition); + if (a(r) || 1 !== n.nodeType) return e(); + if (!u(n._leaveCb)) { + var o = r.css, + i = r.type, + c = r.leaveClass, + s = r.leaveToClass, + l = r.leaveActiveClass, + p = r.beforeLeave, + h = r.leave, + d = r.afterLeave, + v = r.leaveCancelled, + y = r.delayLeave, + g = r.duration, + b = !1 !== o && !Y, + _ = co(h), + x = m(f(g) ? g.leave : g); + 0; + var w = (n._leaveCb = I(function() { + n.parentNode && n.parentNode._pending && (n.parentNode._pending[t.key] = null), + b && (Zr(n, s), Zr(n, l)), + w.cancelled ? (b && Zr(n, c), v && v(n)) : (e(), d && d(n)), + (n._leaveCb = null); + })); + y ? y(O) : O(); + } + function O() { + w.cancelled || + (!t.data.show && + n.parentNode && + ((n.parentNode._pending || (n.parentNode._pending = {}))[t.key] = t), + p && p(n), + b && + (Yr(n, c), + Yr(n, l), + Qr(function() { + Zr(n, c), w.cancelled || (Yr(n, s), _ || (uo(x) ? setTimeout(w, x) : to(n, i, w))); + })), + h && h(n, w), + b || _ || w()); + } + } + function uo(t) { + return 'number' == typeof t && !isNaN(t); + } + function co(t) { + if (a(t)) return !1; + var e = t.fns; + return u(e) ? co(Array.isArray(e) ? e[0] : e) : (t._length || t.length) > 1; + } + function so(t, e) { + !0 !== e.data.show && io(e); + } + var fo = (function(t) { + var e, + n, + r = {}, + o = t.modules, + i = t.nodeOps; + for (e = 0; e < nr.length; ++e) + for (r[nr[e]] = [], n = 0; n < o.length; ++n) u(o[n][nr[e]]) && r[nr[e]].push(o[n][nr[e]]); + function f(t) { + var e = i.parentNode(t); + u(e) && i.removeChild(e, t); + } + function l(t, e, n, o, a, s, f) { + if ( + (u(t.elm) && u(s) && (t = s[f] = _t(t)), + (t.isRootInsert = !a), + !(function(t, e, n, o) { + var i = t.data; + if (u(i)) { + var a = u(t.componentInstance) && i.keepAlive; + if ((u((i = i.hook)) && u((i = i.init)) && i(t, !1), u(t.componentInstance))) + return ( + p(t, e), + h(n, t.elm, o), + c(a) && + (function(t, e, n, o) { + var i, + a = t; + for (; a.componentInstance; ) + if ( + ((a = a.componentInstance._vnode), + u((i = a.data)) && u((i = i.transition))) + ) { + for (i = 0; i < r.activate.length; ++i) r.activate[i](er, a); + e.push(a); + break; + } + h(n, t.elm, o); + })(t, e, n, o), + !0 + ); + } + })(t, e, n, o)) + ) { + var l = t.data, + v = t.children, + g = t.tag; + u(g) + ? ((t.elm = t.ns ? i.createElementNS(t.ns, g) : i.createElement(g, t)), + m(t), + d(t, v, e), + u(l) && y(t, e), + h(n, t.elm, o)) + : c(t.isComment) + ? ((t.elm = i.createComment(t.text)), h(n, t.elm, o)) + : ((t.elm = i.createTextNode(t.text)), h(n, t.elm, o)); + } + } + function p(t, e) { + u(t.data.pendingInsert) && + (e.push.apply(e, t.data.pendingInsert), (t.data.pendingInsert = null)), + (t.elm = t.componentInstance.$el), + v(t) ? (y(t, e), m(t)) : (tr(t), e.push(t)); + } + function h(t, e, n) { + u(t) && (u(n) ? i.parentNode(n) === t && i.insertBefore(t, e, n) : i.appendChild(t, e)); + } + function d(t, e, n) { + if (Array.isArray(e)) { + 0; + for (var r = 0; r < e.length; ++r) l(e[r], n, t.elm, null, !0, e, r); + } else s(t.text) && i.appendChild(t.elm, i.createTextNode(String(t.text))); + } + function v(t) { + for (; t.componentInstance; ) t = t.componentInstance._vnode; + return u(t.tag); + } + function y(t, n) { + for (var o = 0; o < r.create.length; ++o) r.create[o](er, t); + u((e = t.data.hook)) && (u(e.create) && e.create(er, t), u(e.insert) && n.push(t)); + } + function m(t) { + var e; + if (u((e = t.fnScopeId))) i.setStyleScope(t.elm, e); + else + for (var n = t; n; ) + u((e = n.context)) && u((e = e.$options._scopeId)) && i.setStyleScope(t.elm, e), + (n = n.parent); + u((e = Qe)) && + e !== t.context && + e !== t.fnContext && + u((e = e.$options._scopeId)) && + i.setStyleScope(t.elm, e); + } + function b(t, e, n, r, o, i) { + for (; r <= o; ++r) l(n[r], i, t, e, !1, n, r); + } + function _(t) { + var e, + n, + o = t.data; + if (u(o)) + for (u((e = o.hook)) && u((e = e.destroy)) && e(t), e = 0; e < r.destroy.length; ++e) + r.destroy[e](t); + if (u((e = t.children))) for (n = 0; n < t.children.length; ++n) _(t.children[n]); + } + function x(t, e, n) { + for (; e <= n; ++e) { + var r = t[e]; + u(r) && (u(r.tag) ? (w(r), _(r)) : f(r.elm)); + } + } + function w(t, e) { + if (u(e) || u(t.data)) { + var n, + o = r.remove.length + 1; + for ( + u(e) + ? (e.listeners += o) + : (e = (function(t, e) { + function n() { + 0 == --n.listeners && f(t); + } + return (n.listeners = e), n; + })(t.elm, o)), + u((n = t.componentInstance)) && u((n = n._vnode)) && u(n.data) && w(n, e), + n = 0; + n < r.remove.length; + ++n + ) + r.remove[n](t, e); + u((n = t.data.hook)) && u((n = n.remove)) ? n(t, e) : e(); + } else f(t.elm); + } + function O(t, e, n, r) { + for (var o = n; o < r; o++) { + var i = e[o]; + if (u(i) && rr(t, i)) return o; + } + } + function S(t, e, n, o, s, f) { + if (t !== e) { + u(e.elm) && u(o) && (e = o[s] = _t(e)); + var p = (e.elm = t.elm); + if (c(t.isAsyncPlaceholder)) + u(e.asyncFactory.resolved) ? A(t.elm, e, n) : (e.isAsyncPlaceholder = !0); + else if ( + c(e.isStatic) && + c(t.isStatic) && + e.key === t.key && + (c(e.isCloned) || c(e.isOnce)) + ) + e.componentInstance = t.componentInstance; + else { + var h, + d = e.data; + u(d) && u((h = d.hook)) && u((h = h.prepatch)) && h(t, e); + var y = t.children, + m = e.children; + if (u(d) && v(e)) { + for (h = 0; h < r.update.length; ++h) r.update[h](t, e); + u((h = d.hook)) && u((h = h.update)) && h(t, e); + } + a(e.text) + ? u(y) && u(m) + ? y !== m && + (function(t, e, n, r, o) { + var c, + s, + f, + p = 0, + h = 0, + d = e.length - 1, + v = e[0], + y = e[d], + m = n.length - 1, + g = n[0], + _ = n[m], + w = !o; + for (0; p <= d && h <= m; ) + a(v) + ? (v = e[++p]) + : a(y) + ? (y = e[--d]) + : rr(v, g) + ? (S(v, g, r, n, h), (v = e[++p]), (g = n[++h])) + : rr(y, _) + ? (S(y, _, r, n, m), (y = e[--d]), (_ = n[--m])) + : rr(v, _) + ? (S(v, _, r, n, m), + w && i.insertBefore(t, v.elm, i.nextSibling(y.elm)), + (v = e[++p]), + (_ = n[--m])) + : rr(y, g) + ? (S(y, g, r, n, h), + w && i.insertBefore(t, y.elm, v.elm), + (y = e[--d]), + (g = n[++h])) + : (a(c) && (c = or(e, p, d)), + a((s = u(g.key) ? c[g.key] : O(g, e, p, d))) + ? l(g, r, t, v.elm, !1, n, h) + : rr((f = e[s]), g) + ? (S(f, g, r, n, h), + (e[s] = void 0), + w && i.insertBefore(t, f.elm, v.elm)) + : l(g, r, t, v.elm, !1, n, h), + (g = n[++h])); + p > d + ? b(t, a(n[m + 1]) ? null : n[m + 1].elm, n, h, m, r) + : h > m && x(e, p, d); + })(p, y, m, n, f) + : u(m) + ? (u(t.text) && i.setTextContent(p, ''), b(p, null, m, 0, m.length - 1, n)) + : u(y) + ? x(y, 0, y.length - 1) + : u(t.text) && i.setTextContent(p, '') + : t.text !== e.text && i.setTextContent(p, e.text), + u(d) && u((h = d.hook)) && u((h = h.postpatch)) && h(t, e); + } + } + } + function j(t, e, n) { + if (c(n) && u(t.parent)) t.parent.data.pendingInsert = e; + else for (var r = 0; r < e.length; ++r) e[r].data.hook.insert(e[r]); + } + var E = g('attrs,class,staticClass,staticStyle,key'); + function A(t, e, n, r) { + var o, + i = e.tag, + a = e.data, + s = e.children; + if (((r = r || (a && a.pre)), (e.elm = t), c(e.isComment) && u(e.asyncFactory))) + return (e.isAsyncPlaceholder = !0), !0; + if (u(a) && (u((o = a.hook)) && u((o = o.init)) && o(e, !0), u((o = e.componentInstance)))) + return p(e, n), !0; + if (u(i)) { + if (u(s)) + if (t.hasChildNodes()) + if (u((o = a)) && u((o = o.domProps)) && u((o = o.innerHTML))) { + if (o !== t.innerHTML) return !1; + } else { + for (var f = !0, l = t.firstChild, h = 0; h < s.length; h++) { + if (!l || !A(l, s[h], n, r)) { + f = !1; + break; + } + l = l.nextSibling; + } + if (!f || l) return !1; + } + else d(e, s, n); + if (u(a)) { + var v = !1; + for (var m in a) + if (!E(m)) { + (v = !0), y(e, n); + break; + } + !v && a.class && ie(a.class); + } + } else t.data !== e.text && (t.data = e.text); + return !0; + } + return function(t, e, n, o) { + if (!a(e)) { + var s, + f = !1, + p = []; + if (a(t)) (f = !0), l(e, p); + else { + var h = u(t.nodeType); + if (!h && rr(t, e)) S(t, e, p, null, null, o); + else { + if (h) { + if ( + (1 === t.nodeType && + t.hasAttribute('data-server-rendered') && + (t.removeAttribute('data-server-rendered'), (n = !0)), + c(n) && A(t, e, p)) + ) + return j(e, p, !0), t; + (s = t), (t = new yt(i.tagName(s).toLowerCase(), {}, [], void 0, s)); + } + var d = t.elm, + y = i.parentNode(d); + if ((l(e, p, d._leaveCb ? null : y, i.nextSibling(d)), u(e.parent))) + for (var m = e.parent, g = v(e); m; ) { + for (var b = 0; b < r.destroy.length; ++b) r.destroy[b](m); + if (((m.elm = e.elm), g)) { + for (var w = 0; w < r.create.length; ++w) r.create[w](er, m); + var O = m.data.hook.insert; + if (O.merged) for (var E = 1; E < O.fns.length; E++) O.fns[E](); + } else tr(m); + m = m.parent; + } + u(y) ? x([t], 0, 0) : u(t.tag) && _(t); + } + } + return j(e, p, f), e.elm; + } + u(t) && _(t); + }; + })({ + nodeOps: Yn, + modules: [ + vr, + gr, + jr, + kr, + Nr, + G + ? { + create: so, + activate: so, + remove: function(t, e) { + !0 !== t.data.show ? ao(t, e) : e(); + }, + } + : {}, + ].concat(lr), + }); + Y && + document.addEventListener('selectionchange', function() { + var t = document.activeElement; + t && t.vmodel && bo(t, 'input'); + }); + var lo = { + inserted: function(t, e, n, r) { + 'select' === n.tag + ? (r.elm && !r.elm._vOptions + ? se(n, 'postpatch', function() { + lo.componentUpdated(t, e, n); + }) + : po(t, e, n.context), + (t._vOptions = [].map.call(t.options, yo))) + : ('textarea' === n.tag || Qn(t.type)) && + ((t._vModifiers = e.modifiers), + e.modifiers.lazy || + (t.addEventListener('compositionstart', mo), + t.addEventListener('compositionend', go), + t.addEventListener('change', go), + Y && (t.vmodel = !0))); + }, + componentUpdated: function(t, e, n) { + if ('select' === n.tag) { + po(t, e, n.context); + var r = t._vOptions, + o = (t._vOptions = [].map.call(t.options, yo)); + if ( + o.some(function(t, e) { + return !D(t, r[e]); + }) + ) + (t.multiple + ? e.value.some(function(t) { + return vo(t, o); + }) + : e.value !== e.oldValue && vo(e.value, o)) && bo(t, 'change'); + } + }, + }; + function po(t, e, n) { + ho(t, e, n), + (Q || Z) && + setTimeout(function() { + ho(t, e, n); + }, 0); + } + function ho(t, e, n) { + var r = e.value, + o = t.multiple; + if (!o || Array.isArray(r)) { + for (var i, a, u = 0, c = t.options.length; u < c; u++) + if (((a = t.options[u]), o)) (i = M(r, yo(a)) > -1), a.selected !== i && (a.selected = i); + else if (D(yo(a), r)) return void (t.selectedIndex !== u && (t.selectedIndex = u)); + o || (t.selectedIndex = -1); + } + } + function vo(t, e) { + return e.every(function(e) { + return !D(e, t); + }); + } + function yo(t) { + return '_value' in t ? t._value : t.value; + } + function mo(t) { + t.target.composing = !0; + } + function go(t) { + t.target.composing && ((t.target.composing = !1), bo(t.target, 'input')); + } + function bo(t, e) { + var n = document.createEvent('HTMLEvents'); + n.initEvent(e, !0, !0), t.dispatchEvent(n); + } + function _o(t) { + return !t.componentInstance || (t.data && t.data.transition) + ? t + : _o(t.componentInstance._vnode); + } + var xo = { + model: lo, + show: { + bind: function(t, e, n) { + var r = e.value, + o = (n = _o(n)).data && n.data.transition, + i = (t.__vOriginalDisplay = 'none' === t.style.display ? '' : t.style.display); + r && o + ? ((n.data.show = !0), + io(n, function() { + t.style.display = i; + })) + : (t.style.display = r ? i : 'none'); + }, + update: function(t, e, n) { + var r = e.value; + !r != !e.oldValue && + ((n = _o(n)).data && n.data.transition + ? ((n.data.show = !0), + r + ? io(n, function() { + t.style.display = t.__vOriginalDisplay; + }) + : ao(n, function() { + t.style.display = 'none'; + })) + : (t.style.display = r ? t.__vOriginalDisplay : 'none')); + }, + unbind: function(t, e, n, r, o) { + o || (t.style.display = t.__vOriginalDisplay); + }, + }, + }, + wo = { + name: String, + appear: Boolean, + css: Boolean, + mode: String, + type: String, + enterClass: String, + leaveClass: String, + enterToClass: String, + leaveToClass: String, + enterActiveClass: String, + leaveActiveClass: String, + appearClass: String, + appearActiveClass: String, + appearToClass: String, + duration: [Number, String, Object], + }; + function Oo(t) { + var e = t && t.componentOptions; + return e && e.Ctor.options.abstract ? Oo(We(e.children)) : t; + } + function So(t) { + var e = {}, + n = t.$options; + for (var r in n.propsData) e[r] = t[r]; + var o = n._parentListeners; + for (var i in o) e[j(i)] = o[i]; + return e; + } + function jo(t, e) { + if (/\d-keep-alive$/.test(e.tag)) + return t('keep-alive', { props: e.componentOptions.propsData }); + } + var Eo = function(t) { + return t.tag || qe(t); + }, + Ao = function(t) { + return 'show' === t.name; + }, + ko = { + name: 'transition', + props: wo, + abstract: !0, + render: function(t) { + var e = this, + n = this.$slots.default; + if (n && (n = n.filter(Eo)).length) { + 0; + var r = this.mode; + 0; + var o = n[0]; + if ( + (function(t) { + for (; (t = t.parent); ) if (t.data.transition) return !0; + })(this.$vnode) + ) + return o; + var i = Oo(o); + if (!i) return o; + if (this._leaving) return jo(t, o); + var a = '__transition-' + this._uid + '-'; + i.key = + null == i.key + ? i.isComment + ? a + 'comment' + : a + i.tag + : s(i.key) + ? 0 === String(i.key).indexOf(a) + ? i.key + : a + i.key + : i.key; + var u = ((i.data || (i.data = {})).transition = So(this)), + c = this._vnode, + f = Oo(c); + if ( + (i.data.directives && i.data.directives.some(Ao) && (i.data.show = !0), + f && + f.data && + !(function(t, e) { + return e.key === t.key && e.tag === t.tag; + })(i, f) && + !qe(f) && + (!f.componentInstance || !f.componentInstance._vnode.isComment)) + ) { + var l = (f.data.transition = P({}, u)); + if ('out-in' === r) + return ( + (this._leaving = !0), + se(l, 'afterLeave', function() { + (e._leaving = !1), e.$forceUpdate(); + }), + jo(t, o) + ); + if ('in-out' === r) { + if (qe(i)) return c; + var p, + h = function() { + p(); + }; + se(u, 'afterEnter', h), + se(u, 'enterCancelled', h), + se(l, 'delayLeave', function(t) { + p = t; + }); + } + } + return o; + } + }, + }, + Co = P({ tag: String, moveClass: String }, wo); + function $o(t) { + t.elm._moveCb && t.elm._moveCb(), t.elm._enterCb && t.elm._enterCb(); + } + function Po(t) { + t.data.newPos = t.elm.getBoundingClientRect(); + } + function To(t) { + var e = t.data.pos, + n = t.data.newPos, + r = e.left - n.left, + o = e.top - n.top; + if (r || o) { + t.data.moved = !0; + var i = t.elm.style; + (i.transform = i.WebkitTransform = 'translate(' + r + 'px,' + o + 'px)'), + (i.transitionDuration = '0s'); + } + } + delete Co.mode; + var Lo = { + Transition: ko, + TransitionGroup: { + props: Co, + beforeMount: function() { + var t = this, + e = this._update; + this._update = function(n, r) { + var o = Ye(t); + t.__patch__(t._vnode, t.kept, !1, !0), (t._vnode = t.kept), o(), e.call(t, n, r); + }; + }, + render: function(t) { + for ( + var e = this.tag || this.$vnode.data.tag || 'span', + n = Object.create(null), + r = (this.prevChildren = this.children), + o = this.$slots.default || [], + i = (this.children = []), + a = So(this), + u = 0; + u < o.length; + u++ + ) { + var c = o[u]; + if (c.tag) + if (null != c.key && 0 !== String(c.key).indexOf('__vlist')) + i.push(c), (n[c.key] = c), ((c.data || (c.data = {})).transition = a); + else; + } + if (r) { + for (var s = [], f = [], l = 0; l < r.length; l++) { + var p = r[l]; + (p.data.transition = a), + (p.data.pos = p.elm.getBoundingClientRect()), + n[p.key] ? s.push(p) : f.push(p); + } + (this.kept = t(e, null, s)), (this.removed = f); + } + return t(e, null, i); + }, + updated: function() { + var t = this.prevChildren, + e = this.moveClass || (this.name || 'v') + '-move'; + t.length && + this.hasMove(t[0].elm, e) && + (t.forEach($o), + t.forEach(Po), + t.forEach(To), + (this._reflow = document.body.offsetHeight), + t.forEach(function(t) { + if (t.data.moved) { + var n = t.elm, + r = n.style; + Yr(n, e), + (r.transform = r.WebkitTransform = r.transitionDuration = ''), + n.addEventListener( + Gr, + (n._moveCb = function t(r) { + (r && r.target !== n) || + (r && !/transform$/.test(r.propertyName)) || + (n.removeEventListener(Gr, t), (n._moveCb = null), Zr(n, e)); + }), + ); + } + })); + }, + methods: { + hasMove: function(t, e) { + if (!qr) return !1; + if (this._hasMove) return this._hasMove; + var n = t.cloneNode(); + t._transitionClasses && + t._transitionClasses.forEach(function(t) { + Br(n, t); + }), + Fr(n, e), + (n.style.display = 'none'), + this.$el.appendChild(n); + var r = no(n); + return this.$el.removeChild(n), (this._hasMove = r.hasTransform); + }, + }, + }, + }; + (jn.config.mustUseProp = function(t, e, n) { + return ( + ('value' === n && Rn(t) && 'button' !== e) || + ('selected' === n && 'option' === t) || + ('checked' === n && 'input' === t) || + ('muted' === n && 'video' === t) + ); + }), + (jn.config.isReservedTag = Jn), + (jn.config.isReservedAttr = Ln), + (jn.config.getTagNamespace = function(t) { + return Kn(t) ? 'svg' : 'math' === t ? 'math' : void 0; + }), + (jn.config.isUnknownElement = function(t) { + if (!G) return !0; + if (Jn(t)) return !1; + if (((t = t.toLowerCase()), null != Xn[t])) return Xn[t]; + var e = document.createElement(t); + return t.indexOf('-') > -1 + ? (Xn[t] = + e.constructor === window.HTMLUnknownElement || e.constructor === window.HTMLElement) + : (Xn[t] = /HTMLUnknownElement/.test(e.toString())); + }), + P(jn.options.directives, xo), + P(jn.options.components, Lo), + (jn.prototype.__patch__ = G ? fo : L), + (jn.prototype.$mount = function(t, e) { + return (function(t, e, n) { + var r; + return ( + (t.$el = e), + t.$options.render || (t.$options.render = gt), + en(t, 'beforeMount'), + (r = function() { + t._update(t._render(), n); + }), + new dn( + t, + r, + L, + { + before: function() { + t._isMounted && !t._isDestroyed && en(t, 'beforeUpdate'); + }, + }, + !0, + ), + (n = !1), + null == t.$vnode && ((t._isMounted = !0), en(t, 'mounted')), + t + ); + })( + this, + (t = + t && G + ? (function(t) { + if ('string' == typeof t) { + var e = document.querySelector(t); + return e || document.createElement('div'); + } + return t; + })(t) + : void 0), + e, + ); + }), + G && + setTimeout(function() { + F.devtools && at && at.emit('init', jn); + }, 0); + var Ro = jn; + /*! + * vue-router v3.4.9 + * (c) 2020 Evan You + * @license MIT + */ function zo(t, e) { + for (var n in e) t[n] = e[n]; + return t; + } + var Do = /[!'()*]/g, + Mo = function(t) { + return '%' + t.charCodeAt(0).toString(16); + }, + Io = /%2C/g, + No = function(t) { + return encodeURIComponent(t) + .replace(Do, Mo) + .replace(Io, ','); + }; + function Uo(t) { + try { + return decodeURIComponent(t); + } catch (t) { + 0; + } + return t; + } + var Fo = function(t) { + return null == t || 'object' == typeof t ? t : String(t); + }; + function Bo(t) { + var e = {}; + return (t = t.trim().replace(/^(\?|#|&)/, '')) + ? (t.split('&').forEach(function(t) { + var n = t.replace(/\+/g, ' ').split('='), + r = Uo(n.shift()), + o = n.length > 0 ? Uo(n.join('=')) : null; + void 0 === e[r] ? (e[r] = o) : Array.isArray(e[r]) ? e[r].push(o) : (e[r] = [e[r], o]); + }), + e) + : e; + } + function Vo(t) { + var e = t + ? Object.keys(t) + .map(function(e) { + var n = t[e]; + if (void 0 === n) return ''; + if (null === n) return No(e); + if (Array.isArray(n)) { + var r = []; + return ( + n.forEach(function(t) { + void 0 !== t && (null === t ? r.push(No(e)) : r.push(No(e) + '=' + No(t))); + }), + r.join('&') + ); + } + return No(e) + '=' + No(n); + }) + .filter(function(t) { + return t.length > 0; + }) + .join('&') + : null; + return e ? '?' + e : ''; + } + var Ho = /\/?$/; + function qo(t, e, n, r) { + var o = r && r.options.stringifyQuery, + i = e.query || {}; + try { + i = Wo(i); + } catch (t) {} + var a = { + name: e.name || (t && t.name), + meta: (t && t.meta) || {}, + path: e.path || '/', + hash: e.hash || '', + query: i, + params: e.params || {}, + fullPath: Jo(e, o), + matched: t ? Ko(t) : [], + }; + return n && (a.redirectedFrom = Jo(n, o)), Object.freeze(a); + } + function Wo(t) { + if (Array.isArray(t)) return t.map(Wo); + if (t && 'object' == typeof t) { + var e = {}; + for (var n in t) e[n] = Wo(t[n]); + return e; + } + return t; + } + var Go = qo(null, { path: '/' }); + function Ko(t) { + for (var e = []; t; ) e.unshift(t), (t = t.parent); + return e; + } + function Jo(t, e) { + var n = t.path, + r = t.query; + void 0 === r && (r = {}); + var o = t.hash; + return void 0 === o && (o = ''), (n || '/') + (e || Vo)(r) + o; + } + function Xo(t, e) { + return e === Go + ? t === e + : !!e && + (t.path && e.path + ? t.path.replace(Ho, '') === e.path.replace(Ho, '') && + t.hash === e.hash && + Qo(t.query, e.query) + : !(!t.name || !e.name) && + t.name === e.name && + t.hash === e.hash && + Qo(t.query, e.query) && + Qo(t.params, e.params)); + } + function Qo(t, e) { + if ((void 0 === t && (t = {}), void 0 === e && (e = {}), !t || !e)) return t === e; + var n = Object.keys(t).sort(), + r = Object.keys(e).sort(); + return ( + n.length === r.length && + n.every(function(n, o) { + var i = t[n]; + if (r[o] !== n) return !1; + var a = e[n]; + return null == i || null == a + ? i === a + : 'object' == typeof i && 'object' == typeof a + ? Qo(i, a) + : String(i) === String(a); + }) + ); + } + function Yo(t) { + for (var e = 0; e < t.matched.length; e++) { + var n = t.matched[e]; + for (var r in n.instances) { + var o = n.instances[r], + i = n.enteredCbs[r]; + if (o && i) { + delete n.enteredCbs[r]; + for (var a = 0; a < i.length; a++) o._isBeingDestroyed || i[a](o); + } + } + } + } + var Zo = { + name: 'RouterView', + functional: !0, + props: { name: { type: String, default: 'default' } }, + render: function(t, e) { + var n = e.props, + r = e.children, + o = e.parent, + i = e.data; + i.routerView = !0; + for ( + var a = o.$createElement, + u = n.name, + c = o.$route, + s = o._routerViewCache || (o._routerViewCache = {}), + f = 0, + l = !1; + o && o._routerRoot !== o; + + ) { + var p = o.$vnode ? o.$vnode.data : {}; + p.routerView && f++, + p.keepAlive && o._directInactive && o._inactive && (l = !0), + (o = o.$parent); + } + if (((i.routerViewDepth = f), l)) { + var h = s[u], + d = h && h.component; + return d ? (h.configProps && ti(d, i, h.route, h.configProps), a(d, i, r)) : a(); + } + var v = c.matched[f], + y = v && v.components[u]; + if (!v || !y) return (s[u] = null), a(); + (s[u] = { component: y }), + (i.registerRouteInstance = function(t, e) { + var n = v.instances[u]; + ((e && n !== t) || (!e && n === t)) && (v.instances[u] = e); + }), + ((i.hook || (i.hook = {})).prepatch = function(t, e) { + v.instances[u] = e.componentInstance; + }), + (i.hook.init = function(t) { + t.data.keepAlive && + t.componentInstance && + t.componentInstance !== v.instances[u] && + (v.instances[u] = t.componentInstance), + Yo(c); + }); + var m = v.props && v.props[u]; + return m && (zo(s[u], { route: c, configProps: m }), ti(y, i, c, m)), a(y, i, r); + }, + }; + function ti(t, e, n, r) { + var o = (e.props = (function(t, e) { + switch (typeof e) { + case 'undefined': + return; + case 'object': + return e; + case 'function': + return e(t); + case 'boolean': + return e ? t.params : void 0; + default: + 0; + } + })(n, r)); + if (o) { + o = e.props = zo({}, o); + var i = (e.attrs = e.attrs || {}); + for (var a in o) (t.props && a in t.props) || ((i[a] = o[a]), delete o[a]); + } + } + function ei(t, e, n) { + var r = t.charAt(0); + if ('/' === r) return t; + if ('?' === r || '#' === r) return e + t; + var o = e.split('/'); + (n && o[o.length - 1]) || o.pop(); + for (var i = t.replace(/^\//, '').split('/'), a = 0; a < i.length; a++) { + var u = i[a]; + '..' === u ? o.pop() : '.' !== u && o.push(u); + } + return '' !== o[0] && o.unshift(''), o.join('/'); + } + function ni(t) { + return t.replace(/\/\//g, '/'); + } + var ri = + Array.isArray || + function(t) { + return '[object Array]' == Object.prototype.toString.call(t); + }, + oi = gi, + ii = fi, + ai = function(t, e) { + return pi(fi(t, e), e); + }, + ui = pi, + ci = mi, + si = new RegExp( + [ + '(\\\\.)', + '([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))', + ].join('|'), + 'g', + ); + function fi(t, e) { + for ( + var n, r = [], o = 0, i = 0, a = '', u = (e && e.delimiter) || '/'; + null != (n = si.exec(t)); + + ) { + var c = n[0], + s = n[1], + f = n.index; + if (((a += t.slice(i, f)), (i = f + c.length), s)) a += s[1]; + else { + var l = t[i], + p = n[2], + h = n[3], + d = n[4], + v = n[5], + y = n[6], + m = n[7]; + a && (r.push(a), (a = '')); + var g = null != p && null != l && l !== p, + b = '+' === y || '*' === y, + _ = '?' === y || '*' === y, + x = n[2] || u, + w = d || v; + r.push({ + name: h || o++, + prefix: p || '', + delimiter: x, + optional: _, + repeat: b, + partial: g, + asterisk: !!m, + pattern: w ? di(w) : m ? '.*' : '[^' + hi(x) + ']+?', + }); + } + } + return i < t.length && (a += t.substr(i)), a && r.push(a), r; + } + function li(t) { + return encodeURI(t).replace(/[\/?#]/g, function(t) { + return ( + '%' + + t + .charCodeAt(0) + .toString(16) + .toUpperCase() + ); + }); + } + function pi(t, e) { + for (var n = new Array(t.length), r = 0; r < t.length; r++) + 'object' == typeof t[r] && (n[r] = new RegExp('^(?:' + t[r].pattern + ')$', yi(e))); + return function(e, r) { + for ( + var o = '', i = e || {}, a = (r || {}).pretty ? li : encodeURIComponent, u = 0; + u < t.length; + u++ + ) { + var c = t[u]; + if ('string' != typeof c) { + var s, + f = i[c.name]; + if (null == f) { + if (c.optional) { + c.partial && (o += c.prefix); + continue; + } + throw new TypeError('Expected "' + c.name + '" to be defined'); + } + if (ri(f)) { + if (!c.repeat) + throw new TypeError( + 'Expected "' + + c.name + + '" to not repeat, but received `' + + JSON.stringify(f) + + '`', + ); + if (0 === f.length) { + if (c.optional) continue; + throw new TypeError('Expected "' + c.name + '" to not be empty'); + } + for (var l = 0; l < f.length; l++) { + if (((s = a(f[l])), !n[u].test(s))) + throw new TypeError( + 'Expected all "' + + c.name + + '" to match "' + + c.pattern + + '", but received `' + + JSON.stringify(s) + + '`', + ); + o += (0 === l ? c.prefix : c.delimiter) + s; + } + } else { + if ( + ((s = c.asterisk + ? encodeURI(f).replace(/[?#]/g, function(t) { + return ( + '%' + + t + .charCodeAt(0) + .toString(16) + .toUpperCase() + ); + }) + : a(f)), + !n[u].test(s)) + ) + throw new TypeError( + 'Expected "' + + c.name + + '" to match "' + + c.pattern + + '", but received "' + + s + + '"', + ); + o += c.prefix + s; + } + } else o += c; + } + return o; + }; + } + function hi(t) { + return t.replace(/([.+*?=^!:${}()[\]|\/\\])/g, '\\$1'); + } + function di(t) { + return t.replace(/([=!:$\/()])/g, '\\$1'); + } + function vi(t, e) { + return (t.keys = e), t; + } + function yi(t) { + return t && t.sensitive ? '' : 'i'; + } + function mi(t, e, n) { + ri(e) || ((n = e || n), (e = [])); + for (var r = (n = n || {}).strict, o = !1 !== n.end, i = '', a = 0; a < t.length; a++) { + var u = t[a]; + if ('string' == typeof u) i += hi(u); + else { + var c = hi(u.prefix), + s = '(?:' + u.pattern + ')'; + e.push(u), + u.repeat && (s += '(?:' + c + s + ')*'), + (i += s = u.optional + ? u.partial + ? c + '(' + s + ')?' + : '(?:' + c + '(' + s + '))?' + : c + '(' + s + ')'); + } + } + var f = hi(n.delimiter || '/'), + l = i.slice(-f.length) === f; + return ( + r || (i = (l ? i.slice(0, -f.length) : i) + '(?:' + f + '(?=$))?'), + (i += o ? '$' : r && l ? '' : '(?=' + f + '|$)'), + vi(new RegExp('^' + i, yi(n)), e) + ); + } + function gi(t, e, n) { + return ( + ri(e) || ((n = e || n), (e = [])), + (n = n || {}), + t instanceof RegExp + ? (function(t, e) { + var n = t.source.match(/\((?!\?)/g); + if (n) + for (var r = 0; r < n.length; r++) + e.push({ + name: r, + prefix: null, + delimiter: null, + optional: !1, + repeat: !1, + partial: !1, + asterisk: !1, + pattern: null, + }); + return vi(t, e); + })(t, e) + : ri(t) + ? (function(t, e, n) { + for (var r = [], o = 0; o < t.length; o++) r.push(gi(t[o], e, n).source); + return vi(new RegExp('(?:' + r.join('|') + ')', yi(n)), e); + })(t, e, n) + : (function(t, e, n) { + return mi(fi(t, n), e, n); + })(t, e, n) + ); + } + (oi.parse = ii), (oi.compile = ai), (oi.tokensToFunction = ui), (oi.tokensToRegExp = ci); + var bi = Object.create(null); + function _i(t, e, n) { + e = e || {}; + try { + var r = bi[t] || (bi[t] = oi.compile(t)); + return 'string' == typeof e.pathMatch && (e[0] = e.pathMatch), r(e, { pretty: !0 }); + } catch (t) { + return ''; + } finally { + delete e[0]; + } + } + function xi(t, e, n, r) { + var o = 'string' == typeof t ? { path: t } : t; + if (o._normalized) return o; + if (o.name) { + var i = (o = zo({}, t)).params; + return i && 'object' == typeof i && (o.params = zo({}, i)), o; + } + if (!o.path && o.params && e) { + (o = zo({}, o))._normalized = !0; + var a = zo(zo({}, e.params), o.params); + if (e.name) (o.name = e.name), (o.params = a); + else if (e.matched.length) { + var u = e.matched[e.matched.length - 1].path; + o.path = _i(u, a, e.path); + } else 0; + return o; + } + var c = (function(t) { + var e = '', + n = '', + r = t.indexOf('#'); + r >= 0 && ((e = t.slice(r)), (t = t.slice(0, r))); + var o = t.indexOf('?'); + return ( + o >= 0 && ((n = t.slice(o + 1)), (t = t.slice(0, o))), { path: t, query: n, hash: e } + ); + })(o.path || ''), + s = (e && e.path) || '/', + f = c.path ? ei(c.path, s, n || o.append) : s, + l = (function(t, e, n) { + void 0 === e && (e = {}); + var r, + o = n || Bo; + try { + r = o(t || ''); + } catch (t) { + r = {}; + } + for (var i in e) { + var a = e[i]; + r[i] = Array.isArray(a) ? a.map(Fo) : Fo(a); + } + return r; + })(c.query, o.query, r && r.options.parseQuery), + p = o.hash || c.hash; + return ( + p && '#' !== p.charAt(0) && (p = '#' + p), { _normalized: !0, path: f, query: l, hash: p } + ); + } + var wi, + Oi = function() {}, + Si = { + name: 'RouterLink', + props: { + to: { type: [String, Object], required: !0 }, + tag: { type: String, default: 'a' }, + exact: Boolean, + append: Boolean, + replace: Boolean, + activeClass: String, + exactActiveClass: String, + ariaCurrentValue: { type: String, default: 'page' }, + event: { type: [String, Array], default: 'click' }, + }, + render: function(t) { + var e = this, + n = this.$router, + r = this.$route, + o = n.resolve(this.to, r, this.append), + i = o.location, + a = o.route, + u = o.href, + c = {}, + s = n.options.linkActiveClass, + f = n.options.linkExactActiveClass, + l = null == s ? 'router-link-active' : s, + p = null == f ? 'router-link-exact-active' : f, + h = null == this.activeClass ? l : this.activeClass, + d = null == this.exactActiveClass ? p : this.exactActiveClass, + v = a.redirectedFrom ? qo(null, xi(a.redirectedFrom), null, n) : a; + (c[d] = Xo(r, v)), + (c[h] = this.exact + ? c[d] + : (function(t, e) { + return ( + 0 === t.path.replace(Ho, '/').indexOf(e.path.replace(Ho, '/')) && + (!e.hash || t.hash === e.hash) && + (function(t, e) { + for (var n in e) if (!(n in t)) return !1; + return !0; + })(t.query, e.query) + ); + })(r, v)); + var y = c[d] ? this.ariaCurrentValue : null, + m = function(t) { + ji(t) && (e.replace ? n.replace(i, Oi) : n.push(i, Oi)); + }, + g = { click: ji }; + Array.isArray(this.event) + ? this.event.forEach(function(t) { + g[t] = m; + }) + : (g[this.event] = m); + var b = { class: c }, + _ = + !this.$scopedSlots.$hasNormal && + this.$scopedSlots.default && + this.$scopedSlots.default({ + href: u, + route: a, + navigate: m, + isActive: c[h], + isExactActive: c[d], + }); + if (_) { + if (1 === _.length) return _[0]; + if (_.length > 1 || !_.length) return 0 === _.length ? t() : t('span', {}, _); + } + if ('a' === this.tag) (b.on = g), (b.attrs = { href: u, 'aria-current': y }); + else { + var x = (function t(e) { + var n; + if (e) + for (var r = 0; r < e.length; r++) { + if ('a' === (n = e[r]).tag) return n; + if (n.children && (n = t(n.children))) return n; + } + })(this.$slots.default); + if (x) { + x.isStatic = !1; + var w = (x.data = zo({}, x.data)); + for (var O in ((w.on = w.on || {}), w.on)) { + var S = w.on[O]; + O in g && (w.on[O] = Array.isArray(S) ? S : [S]); + } + for (var j in g) j in w.on ? w.on[j].push(g[j]) : (w.on[j] = m); + var E = (x.data.attrs = zo({}, x.data.attrs)); + (E.href = u), (E['aria-current'] = y); + } else b.on = g; + } + return t(this.tag, b, this.$slots.default); + }, + }; + function ji(t) { + if ( + !( + t.metaKey || + t.altKey || + t.ctrlKey || + t.shiftKey || + t.defaultPrevented || + (void 0 !== t.button && 0 !== t.button) + ) + ) { + if (t.currentTarget && t.currentTarget.getAttribute) { + var e = t.currentTarget.getAttribute('target'); + if (/\b_blank\b/i.test(e)) return; + } + return t.preventDefault && t.preventDefault(), !0; + } + } + var Ei = 'undefined' != typeof window; + function Ai(t, e, n, r) { + var o = e || [], + i = n || Object.create(null), + a = r || Object.create(null); + t.forEach(function(t) { + !(function t(e, n, r, o, i, a) { + var u = o.path, + c = o.name; + 0; + var s = o.pathToRegexpOptions || {}, + f = (function(t, e, n) { + n || (t = t.replace(/\/$/, '')); + if ('/' === t[0]) return t; + if (null == e) return t; + return ni(e.path + '/' + t); + })(u, i, s.strict); + 'boolean' == typeof o.caseSensitive && (s.sensitive = o.caseSensitive); + var l = { + path: f, + regex: ki(f, s), + components: o.components || { default: o.component }, + instances: {}, + enteredCbs: {}, + name: c, + parent: i, + matchAs: a, + redirect: o.redirect, + beforeEnter: o.beforeEnter, + meta: o.meta || {}, + props: null == o.props ? {} : o.components ? o.props : { default: o.props }, + }; + o.children && + o.children.forEach(function(o) { + var i = a ? ni(a + '/' + o.path) : void 0; + t(e, n, r, o, l, i); + }); + n[l.path] || (e.push(l.path), (n[l.path] = l)); + if (void 0 !== o.alias) + for (var p = Array.isArray(o.alias) ? o.alias : [o.alias], h = 0; h < p.length; ++h) { + 0; + var d = { path: p[h], children: o.children }; + t(e, n, r, d, i, l.path || '/'); + } + c && (r[c] || (r[c] = l)); + })(o, i, a, t); + }); + for (var u = 0, c = o.length; u < c; u++) + '*' === o[u] && (o.push(o.splice(u, 1)[0]), c--, u--); + return { pathList: o, pathMap: i, nameMap: a }; + } + function ki(t, e) { + return oi(t, [], e); + } + function Ci(t, e) { + var n = Ai(t), + r = n.pathList, + o = n.pathMap, + i = n.nameMap; + function a(t, n, a) { + var u = xi(t, n, !1, e), + s = u.name; + if (s) { + var f = i[s]; + if (!f) return c(null, u); + var l = f.regex.keys + .filter(function(t) { + return !t.optional; + }) + .map(function(t) { + return t.name; + }); + if (('object' != typeof u.params && (u.params = {}), n && 'object' == typeof n.params)) + for (var p in n.params) + !(p in u.params) && l.indexOf(p) > -1 && (u.params[p] = n.params[p]); + return (u.path = _i(f.path, u.params)), c(f, u, a); + } + if (u.path) { + u.params = {}; + for (var h = 0; h < r.length; h++) { + var d = r[h], + v = o[d]; + if ($i(v.regex, u.path, u.params)) return c(v, u, a); + } + } + return c(null, u); + } + function u(t, n) { + var r = t.redirect, + o = 'function' == typeof r ? r(qo(t, n, null, e)) : r; + if (('string' == typeof o && (o = { path: o }), !o || 'object' != typeof o)) + return c(null, n); + var u = o, + s = u.name, + f = u.path, + l = n.query, + p = n.hash, + h = n.params; + if ( + ((l = u.hasOwnProperty('query') ? u.query : l), + (p = u.hasOwnProperty('hash') ? u.hash : p), + (h = u.hasOwnProperty('params') ? u.params : h), + s) + ) { + i[s]; + return a({ _normalized: !0, name: s, query: l, hash: p, params: h }, void 0, n); + } + if (f) { + var d = (function(t, e) { + return ei(t, e.parent ? e.parent.path : '/', !0); + })(f, t); + return a({ _normalized: !0, path: _i(d, h), query: l, hash: p }, void 0, n); + } + return c(null, n); + } + function c(t, n, r) { + return t && t.redirect + ? u(t, r || n) + : t && t.matchAs + ? (function(t, e, n) { + var r = a({ _normalized: !0, path: _i(n, e.params) }); + if (r) { + var o = r.matched, + i = o[o.length - 1]; + return (e.params = r.params), c(i, e); + } + return c(null, e); + })(0, n, t.matchAs) + : qo(t, n, r, e); + } + return { + match: a, + addRoutes: function(t) { + Ai(t, r, o, i); + }, + }; + } + function $i(t, e, n) { + var r = e.match(t); + if (!r) return !1; + if (!n) return !0; + for (var o = 1, i = r.length; o < i; ++o) { + var a = t.keys[o - 1]; + a && (n[a.name || 'pathMatch'] = 'string' == typeof r[o] ? Uo(r[o]) : r[o]); + } + return !0; + } + var Pi = Ei && window.performance && window.performance.now ? window.performance : Date; + function Ti() { + return Pi.now().toFixed(3); + } + var Li = Ti(); + function Ri() { + return Li; + } + function zi(t) { + return (Li = t); + } + var Di = Object.create(null); + function Mi() { + 'scrollRestoration' in window.history && (window.history.scrollRestoration = 'manual'); + var t = window.location.protocol + '//' + window.location.host, + e = window.location.href.replace(t, ''), + n = zo({}, window.history.state); + return ( + (n.key = Ri()), + window.history.replaceState(n, '', e), + window.addEventListener('popstate', Ui), + function() { + window.removeEventListener('popstate', Ui); + } + ); + } + function Ii(t, e, n, r) { + if (t.app) { + var o = t.options.scrollBehavior; + o && + t.app.$nextTick(function() { + var i = (function() { + var t = Ri(); + if (t) return Di[t]; + })(), + a = o.call(t, e, n, r ? i : null); + a && + ('function' == typeof a.then + ? a + .then(function(t) { + qi(t, i); + }) + .catch(function(t) { + 0; + }) + : qi(a, i)); + }); + } + } + function Ni() { + var t = Ri(); + t && (Di[t] = { x: window.pageXOffset, y: window.pageYOffset }); + } + function Ui(t) { + Ni(), t.state && t.state.key && zi(t.state.key); + } + function Fi(t) { + return Vi(t.x) || Vi(t.y); + } + function Bi(t) { + return { x: Vi(t.x) ? t.x : window.pageXOffset, y: Vi(t.y) ? t.y : window.pageYOffset }; + } + function Vi(t) { + return 'number' == typeof t; + } + var Hi = /^#\d/; + function qi(t, e) { + var n, + r = 'object' == typeof t; + if (r && 'string' == typeof t.selector) { + var o = Hi.test(t.selector) + ? document.getElementById(t.selector.slice(1)) + : document.querySelector(t.selector); + if (o) { + var i = t.offset && 'object' == typeof t.offset ? t.offset : {}; + e = (function(t, e) { + var n = document.documentElement.getBoundingClientRect(), + r = t.getBoundingClientRect(); + return { x: r.left - n.left - e.x, y: r.top - n.top - e.y }; + })(o, (i = { x: Vi((n = i).x) ? n.x : 0, y: Vi(n.y) ? n.y : 0 })); + } else Fi(t) && (e = Bi(t)); + } else r && Fi(t) && (e = Bi(t)); + e && + ('scrollBehavior' in document.documentElement.style + ? window.scrollTo({ left: e.x, top: e.y, behavior: t.behavior }) + : window.scrollTo(e.x, e.y)); + } + var Wi, + Gi = + Ei && + ((-1 === (Wi = window.navigator.userAgent).indexOf('Android 2.') && + -1 === Wi.indexOf('Android 4.0')) || + -1 === Wi.indexOf('Mobile Safari') || + -1 !== Wi.indexOf('Chrome') || + -1 !== Wi.indexOf('Windows Phone')) && + window.history && + 'function' == typeof window.history.pushState; + function Ki(t, e) { + Ni(); + var n = window.history; + try { + if (e) { + var r = zo({}, n.state); + (r.key = Ri()), n.replaceState(r, '', t); + } else n.pushState({ key: zi(Ti()) }, '', t); + } catch (n) { + window.location[e ? 'replace' : 'assign'](t); + } + } + function Ji(t) { + Ki(t, !0); + } + function Xi(t, e, n) { + var r = function(o) { + o >= t.length + ? n() + : t[o] + ? e(t[o], function() { + r(o + 1); + }) + : r(o + 1); + }; + r(0); + } + var Qi = { redirected: 2, aborted: 4, cancelled: 8, duplicated: 16 }; + function Yi(t, e) { + return ta( + t, + e, + Qi.redirected, + 'Redirected when going from "' + + t.fullPath + + '" to "' + + (function(t) { + if ('string' == typeof t) return t; + if ('path' in t) return t.path; + var e = {}; + return ( + ea.forEach(function(n) { + n in t && (e[n] = t[n]); + }), + JSON.stringify(e, null, 2) + ); + })(e) + + '" via a navigation guard.', + ); + } + function Zi(t, e) { + return ta( + t, + e, + Qi.cancelled, + 'Navigation cancelled from "' + + t.fullPath + + '" to "' + + e.fullPath + + '" with a new navigation.', + ); + } + function ta(t, e, n, r) { + var o = new Error(r); + return (o._isRouter = !0), (o.from = t), (o.to = e), (o.type = n), o; + } + var ea = ['params', 'query', 'hash']; + function na(t) { + return Object.prototype.toString.call(t).indexOf('Error') > -1; + } + function ra(t, e) { + return na(t) && t._isRouter && (null == e || t.type === e); + } + function oa(t) { + return function(e, n, r) { + var o = !1, + i = 0, + a = null; + ia(t, function(t, e, n, u) { + if ('function' == typeof t && void 0 === t.cid) { + (o = !0), i++; + var c, + s = ca(function(e) { + var o; + ((o = e).__esModule || (ua && 'Module' === o[Symbol.toStringTag])) && + (e = e.default), + (t.resolved = 'function' == typeof e ? e : wi.extend(e)), + (n.components[u] = e), + --i <= 0 && r(); + }), + f = ca(function(t) { + var e = 'Failed to resolve async component ' + u + ': ' + t; + a || ((a = na(t) ? t : new Error(e)), r(a)); + }); + try { + c = t(s, f); + } catch (t) { + f(t); + } + if (c) + if ('function' == typeof c.then) c.then(s, f); + else { + var l = c.component; + l && 'function' == typeof l.then && l.then(s, f); + } + } + }), + o || r(); + }; + } + function ia(t, e) { + return aa( + t.map(function(t) { + return Object.keys(t.components).map(function(n) { + return e(t.components[n], t.instances[n], t, n); + }); + }), + ); + } + function aa(t) { + return Array.prototype.concat.apply([], t); + } + var ua = 'function' == typeof Symbol && 'symbol' == typeof Symbol.toStringTag; + function ca(t) { + var e = !1; + return function() { + for (var n = [], r = arguments.length; r--; ) n[r] = arguments[r]; + if (!e) return (e = !0), t.apply(this, n); + }; + } + var sa = function(t, e) { + (this.router = t), + (this.base = (function(t) { + if (!t) + if (Ei) { + var e = document.querySelector('base'); + t = (t = (e && e.getAttribute('href')) || '/').replace(/^https?:\/\/[^\/]+/, ''); + } else t = '/'; + '/' !== t.charAt(0) && (t = '/' + t); + return t.replace(/\/$/, ''); + })(e)), + (this.current = Go), + (this.pending = null), + (this.ready = !1), + (this.readyCbs = []), + (this.readyErrorCbs = []), + (this.errorCbs = []), + (this.listeners = []); + }; + function fa(t, e, n, r) { + var o = ia(t, function(t, r, o, i) { + var a = (function(t, e) { + 'function' != typeof t && (t = wi.extend(t)); + return t.options[e]; + })(t, e); + if (a) + return Array.isArray(a) + ? a.map(function(t) { + return n(t, r, o, i); + }) + : n(a, r, o, i); + }); + return aa(r ? o.reverse() : o); + } + function la(t, e) { + if (e) + return function() { + return t.apply(e, arguments); + }; + } + (sa.prototype.listen = function(t) { + this.cb = t; + }), + (sa.prototype.onReady = function(t, e) { + this.ready ? t() : (this.readyCbs.push(t), e && this.readyErrorCbs.push(e)); + }), + (sa.prototype.onError = function(t) { + this.errorCbs.push(t); + }), + (sa.prototype.transitionTo = function(t, e, n) { + var r, + o = this; + try { + r = this.router.match(t, this.current); + } catch (t) { + throw (this.errorCbs.forEach(function(e) { + e(t); + }), + t); + } + var i = this.current; + this.confirmTransition( + r, + function() { + o.updateRoute(r), + e && e(r), + o.ensureURL(), + o.router.afterHooks.forEach(function(t) { + t && t(r, i); + }), + o.ready || + ((o.ready = !0), + o.readyCbs.forEach(function(t) { + t(r); + })); + }, + function(t) { + n && n(t), + t && + !o.ready && + ((ra(t, Qi.redirected) && i === Go) || + ((o.ready = !0), + o.readyErrorCbs.forEach(function(e) { + e(t); + }))); + }, + ); + }), + (sa.prototype.confirmTransition = function(t, e, n) { + var r = this, + o = this.current; + this.pending = t; + var i, + a, + u = function(t) { + !ra(t) && + na(t) && + (r.errorCbs.length + ? r.errorCbs.forEach(function(e) { + e(t); + }) + : console.error(t)), + n && n(t); + }, + c = t.matched.length - 1, + s = o.matched.length - 1; + if (Xo(t, o) && c === s && t.matched[c] === o.matched[s]) + return ( + this.ensureURL(), + u( + (((a = ta( + (i = o), + t, + Qi.duplicated, + 'Avoided redundant navigation to current location: "' + i.fullPath + '".', + )).name = 'NavigationDuplicated'), + a), + ) + ); + var f = (function(t, e) { + var n, + r = Math.max(t.length, e.length); + for (n = 0; n < r && t[n] === e[n]; n++); + return { updated: e.slice(0, n), activated: e.slice(n), deactivated: t.slice(n) }; + })(this.current.matched, t.matched), + l = f.updated, + p = f.deactivated, + h = f.activated, + d = [].concat( + (function(t) { + return fa(t, 'beforeRouteLeave', la, !0); + })(p), + this.router.beforeHooks, + (function(t) { + return fa(t, 'beforeRouteUpdate', la); + })(l), + h.map(function(t) { + return t.beforeEnter; + }), + oa(h), + ), + v = function(e, n) { + if (r.pending !== t) return u(Zi(o, t)); + try { + e(t, o, function(e) { + !1 === e + ? (r.ensureURL(!0), + u( + (function(t, e) { + return ta( + t, + e, + Qi.aborted, + 'Navigation aborted from "' + + t.fullPath + + '" to "' + + e.fullPath + + '" via a navigation guard.', + ); + })(o, t), + )) + : na(e) + ? (r.ensureURL(!0), u(e)) + : 'string' == typeof e || + ('object' == typeof e && + ('string' == typeof e.path || 'string' == typeof e.name)) + ? (u(Yi(o, t)), 'object' == typeof e && e.replace ? r.replace(e) : r.push(e)) + : n(e); + }); + } catch (t) { + u(t); + } + }; + Xi(d, v, function() { + Xi( + (function(t) { + return fa(t, 'beforeRouteEnter', function(t, e, n, r) { + return (function(t, e, n) { + return function(r, o, i) { + return t(r, o, function(t) { + 'function' == typeof t && + (e.enteredCbs[n] || (e.enteredCbs[n] = []), e.enteredCbs[n].push(t)), + i(t); + }); + }; + })(t, n, r); + }); + })(h).concat(r.router.resolveHooks), + v, + function() { + if (r.pending !== t) return u(Zi(o, t)); + (r.pending = null), + e(t), + r.router.app && + r.router.app.$nextTick(function() { + Yo(t); + }); + }, + ); + }); + }), + (sa.prototype.updateRoute = function(t) { + (this.current = t), this.cb && this.cb(t); + }), + (sa.prototype.setupListeners = function() {}), + (sa.prototype.teardown = function() { + this.listeners.forEach(function(t) { + t(); + }), + (this.listeners = []), + (this.current = Go), + (this.pending = null); + }); + var pa = (function(t) { + function e(e, n) { + t.call(this, e, n), (this._startLocation = ha(this.base)); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.setupListeners = function() { + var t = this; + if (!(this.listeners.length > 0)) { + var e = this.router, + n = e.options.scrollBehavior, + r = Gi && n; + r && this.listeners.push(Mi()); + var o = function() { + var n = t.current, + o = ha(t.base); + (t.current === Go && o === t._startLocation) || + t.transitionTo(o, function(t) { + r && Ii(e, t, n, !0); + }); + }; + window.addEventListener('popstate', o), + this.listeners.push(function() { + window.removeEventListener('popstate', o); + }); + } + }), + (e.prototype.go = function(t) { + window.history.go(t); + }), + (e.prototype.push = function(t, e, n) { + var r = this, + o = this.current; + this.transitionTo( + t, + function(t) { + Ki(ni(r.base + t.fullPath)), Ii(r.router, t, o, !1), e && e(t); + }, + n, + ); + }), + (e.prototype.replace = function(t, e, n) { + var r = this, + o = this.current; + this.transitionTo( + t, + function(t) { + Ji(ni(r.base + t.fullPath)), Ii(r.router, t, o, !1), e && e(t); + }, + n, + ); + }), + (e.prototype.ensureURL = function(t) { + if (ha(this.base) !== this.current.fullPath) { + var e = ni(this.base + this.current.fullPath); + t ? Ki(e) : Ji(e); + } + }), + (e.prototype.getCurrentLocation = function() { + return ha(this.base); + }), + e + ); + })(sa); + function ha(t) { + var e = window.location.pathname; + return ( + t && 0 === e.toLowerCase().indexOf(t.toLowerCase()) && (e = e.slice(t.length)), + (e || '/') + window.location.search + window.location.hash + ); + } + var da = (function(t) { + function e(e, n, r) { + t.call(this, e, n), + (r && + (function(t) { + var e = ha(t); + if (!/^\/#/.test(e)) return window.location.replace(ni(t + '/#' + e)), !0; + })(this.base)) || + va(); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.setupListeners = function() { + var t = this; + if (!(this.listeners.length > 0)) { + var e = this.router.options.scrollBehavior, + n = Gi && e; + n && this.listeners.push(Mi()); + var r = function() { + var e = t.current; + va() && + t.transitionTo(ya(), function(r) { + n && Ii(t.router, r, e, !0), Gi || ba(r.fullPath); + }); + }, + o = Gi ? 'popstate' : 'hashchange'; + window.addEventListener(o, r), + this.listeners.push(function() { + window.removeEventListener(o, r); + }); + } + }), + (e.prototype.push = function(t, e, n) { + var r = this, + o = this.current; + this.transitionTo( + t, + function(t) { + ga(t.fullPath), Ii(r.router, t, o, !1), e && e(t); + }, + n, + ); + }), + (e.prototype.replace = function(t, e, n) { + var r = this, + o = this.current; + this.transitionTo( + t, + function(t) { + ba(t.fullPath), Ii(r.router, t, o, !1), e && e(t); + }, + n, + ); + }), + (e.prototype.go = function(t) { + window.history.go(t); + }), + (e.prototype.ensureURL = function(t) { + var e = this.current.fullPath; + ya() !== e && (t ? ga(e) : ba(e)); + }), + (e.prototype.getCurrentLocation = function() { + return ya(); + }), + e + ); + })(sa); + function va() { + var t = ya(); + return '/' === t.charAt(0) || (ba('/' + t), !1); + } + function ya() { + var t = window.location.href, + e = t.indexOf('#'); + return e < 0 ? '' : (t = t.slice(e + 1)); + } + function ma(t) { + var e = window.location.href, + n = e.indexOf('#'); + return (n >= 0 ? e.slice(0, n) : e) + '#' + t; + } + function ga(t) { + Gi ? Ki(ma(t)) : (window.location.hash = t); + } + function ba(t) { + Gi ? Ji(ma(t)) : window.location.replace(ma(t)); + } + var _a = (function(t) { + function e(e, n) { + t.call(this, e, n), (this.stack = []), (this.index = -1); + } + return ( + t && (e.__proto__ = t), + (e.prototype = Object.create(t && t.prototype)), + (e.prototype.constructor = e), + (e.prototype.push = function(t, e, n) { + var r = this; + this.transitionTo( + t, + function(t) { + (r.stack = r.stack.slice(0, r.index + 1).concat(t)), r.index++, e && e(t); + }, + n, + ); + }), + (e.prototype.replace = function(t, e, n) { + var r = this; + this.transitionTo( + t, + function(t) { + (r.stack = r.stack.slice(0, r.index).concat(t)), e && e(t); + }, + n, + ); + }), + (e.prototype.go = function(t) { + var e = this, + n = this.index + t; + if (!(n < 0 || n >= this.stack.length)) { + var r = this.stack[n]; + this.confirmTransition( + r, + function() { + var t = e.current; + (e.index = n), + e.updateRoute(r), + e.router.afterHooks.forEach(function(e) { + e && e(r, t); + }); + }, + function(t) { + ra(t, Qi.duplicated) && (e.index = n); + }, + ); + } + }), + (e.prototype.getCurrentLocation = function() { + var t = this.stack[this.stack.length - 1]; + return t ? t.fullPath : '/'; + }), + (e.prototype.ensureURL = function() {}), + e + ); + })(sa), + xa = function(t) { + void 0 === t && (t = {}), + (this.app = null), + (this.apps = []), + (this.options = t), + (this.beforeHooks = []), + (this.resolveHooks = []), + (this.afterHooks = []), + (this.matcher = Ci(t.routes || [], this)); + var e = t.mode || 'hash'; + switch ( + ((this.fallback = 'history' === e && !Gi && !1 !== t.fallback), + this.fallback && (e = 'hash'), + Ei || (e = 'abstract'), + (this.mode = e), + e) + ) { + case 'history': + this.history = new pa(this, t.base); + break; + case 'hash': + this.history = new da(this, t.base, this.fallback); + break; + case 'abstract': + this.history = new _a(this, t.base); + break; + default: + 0; + } + }, + wa = { currentRoute: { configurable: !0 } }; + function Oa(t, e) { + return ( + t.push(e), + function() { + var n = t.indexOf(e); + n > -1 && t.splice(n, 1); + } + ); + } + (xa.prototype.match = function(t, e, n) { + return this.matcher.match(t, e, n); + }), + (wa.currentRoute.get = function() { + return this.history && this.history.current; + }), + (xa.prototype.init = function(t) { + var e = this; + if ( + (this.apps.push(t), + t.$once('hook:destroyed', function() { + var n = e.apps.indexOf(t); + n > -1 && e.apps.splice(n, 1), + e.app === t && (e.app = e.apps[0] || null), + e.app || e.history.teardown(); + }), + !this.app) + ) { + this.app = t; + var n = this.history; + if (n instanceof pa || n instanceof da) { + var r = function(t) { + n.setupListeners(), + (function(t) { + var r = n.current, + o = e.options.scrollBehavior; + Gi && o && 'fullPath' in t && Ii(e, t, r, !1); + })(t); + }; + n.transitionTo(n.getCurrentLocation(), r, r); + } + n.listen(function(t) { + e.apps.forEach(function(e) { + e._route = t; + }); + }); + } + }), + (xa.prototype.beforeEach = function(t) { + return Oa(this.beforeHooks, t); + }), + (xa.prototype.beforeResolve = function(t) { + return Oa(this.resolveHooks, t); + }), + (xa.prototype.afterEach = function(t) { + return Oa(this.afterHooks, t); + }), + (xa.prototype.onReady = function(t, e) { + this.history.onReady(t, e); + }), + (xa.prototype.onError = function(t) { + this.history.onError(t); + }), + (xa.prototype.push = function(t, e, n) { + var r = this; + if (!e && !n && 'undefined' != typeof Promise) + return new Promise(function(e, n) { + r.history.push(t, e, n); + }); + this.history.push(t, e, n); + }), + (xa.prototype.replace = function(t, e, n) { + var r = this; + if (!e && !n && 'undefined' != typeof Promise) + return new Promise(function(e, n) { + r.history.replace(t, e, n); + }); + this.history.replace(t, e, n); + }), + (xa.prototype.go = function(t) { + this.history.go(t); + }), + (xa.prototype.back = function() { + this.go(-1); + }), + (xa.prototype.forward = function() { + this.go(1); + }), + (xa.prototype.getMatchedComponents = function(t) { + var e = t ? (t.matched ? t : this.resolve(t).route) : this.currentRoute; + return e + ? [].concat.apply( + [], + e.matched.map(function(t) { + return Object.keys(t.components).map(function(e) { + return t.components[e]; + }); + }), + ) + : []; + }), + (xa.prototype.resolve = function(t, e, n) { + var r = xi(t, (e = e || this.history.current), n, this), + o = this.match(r, e), + i = o.redirectedFrom || o.fullPath; + return { + location: r, + route: o, + href: (function(t, e, n) { + var r = 'hash' === n ? '#' + e : e; + return t ? ni(t + '/' + r) : r; + })(this.history.base, i, this.mode), + normalizedTo: r, + resolved: o, + }; + }), + (xa.prototype.addRoutes = function(t) { + this.matcher.addRoutes(t), + this.history.current !== Go && + this.history.transitionTo(this.history.getCurrentLocation()); + }), + Object.defineProperties(xa.prototype, wa), + (xa.install = function t(e) { + if (!t.installed || wi !== e) { + (t.installed = !0), (wi = e); + var n = function(t) { + return void 0 !== t; + }, + r = function(t, e) { + var r = t.$options._parentVnode; + n(r) && n((r = r.data)) && n((r = r.registerRouteInstance)) && r(t, e); + }; + e.mixin({ + beforeCreate: function() { + n(this.$options.router) + ? ((this._routerRoot = this), + (this._router = this.$options.router), + this._router.init(this), + e.util.defineReactive(this, '_route', this._router.history.current)) + : (this._routerRoot = (this.$parent && this.$parent._routerRoot) || this), + r(this, this); + }, + destroyed: function() { + r(this); + }, + }), + Object.defineProperty(e.prototype, '$router', { + get: function() { + return this._routerRoot._router; + }, + }), + Object.defineProperty(e.prototype, '$route', { + get: function() { + return this._routerRoot._route; + }, + }), + e.component('RouterView', Zo), + e.component('RouterLink', Si); + var o = e.config.optionMergeStrategies; + o.beforeRouteEnter = o.beforeRouteLeave = o.beforeRouteUpdate = o.created; + } + }), + (xa.version = '3.4.9'), + (xa.isNavigationFailure = ra), + (xa.NavigationFailureType = Qi), + Ei && window.Vue && window.Vue.use(xa); + var Sa = xa; + n(93), n(197), n(199), n(201), n(133), n(94), n(202), n(95); + function ja(t) { + t.locales && + Object.keys(t.locales).forEach(function(e) { + t.locales[e].path = e; + }), + Object.freeze(t); + } + n(174), n(134), n(43), n(176), n(66), n(56), n(57), n(82); + function Ea(t) { + return (Ea = + 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator + ? function(t) { + return typeof t; + } + : function(t) { + return t && + 'function' == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? 'symbol' + : typeof t; + })(t); + } + var Aa = n(40), + ka = { + NotFound: function() { + return n.e(19).then(n.bind(null, 379)); + }, + Layout: function() { + return Promise.all([n.e(0), n.e(2), n.e(18)]).then(n.bind(null, 380)); + }, + }, + Ca = { + 'v-2c7961a6': function() { + return n.e(23).then(n.bind(null, 384)); + }, + 'v-50357228': function() { + return n.e(22).then(n.bind(null, 385)); + }, + 'v-27f2dbac': function() { + return n.e(21).then(n.bind(null, 386)); + }, + 'v-11d3734f': function() { + return n.e(20).then(n.bind(null, 387)); + }, + 'v-6be2680e': function() { + return n.e(24).then(n.bind(null, 388)); + }, + 'v-1c499b2c': function() { + return n.e(11).then(n.bind(null, 389)); + }, + 'v-94956b5c': function() { + return n.e(12).then(n.bind(null, 390)); + }, + 'v-358de850': function() { + return n.e(10).then(n.bind(null, 391)); + }, + 'v-632f6f4c': function() { + return n.e(26).then(n.bind(null, 392)); + }, + 'v-50c154a8': function() { + return n.e(25).then(n.bind(null, 393)); + }, + 'v-25c71eb8': function() { + return n.e(29).then(n.bind(null, 394)); + }, + 'v-77cb6b9f': function() { + return n.e(9).then(n.bind(null, 395)); + }, + 'v-3e53f828': function() { + return n.e(27).then(n.bind(null, 396)); + }, + 'v-8736ca8c': function() { + return n.e(28).then(n.bind(null, 397)); + }, + 'v-41a433e8': function() { + return n.e(13).then(n.bind(null, 398)); + }, + 'v-1995786c': function() { + return n.e(14).then(n.bind(null, 399)); + }, + 'v-76fd0d8c': function() { + return n.e(31).then(n.bind(null, 400)); + }, + 'v-0be2f96c': function() { + return n.e(32).then(n.bind(null, 401)); + }, + 'v-4574ee28': function() { + return n.e(30).then(n.bind(null, 402)); + }, + 'v-f3d01ce0': function() { + return n.e(7).then(n.bind(null, 403)); + }, + 'v-a9b10980': function() { + return n.e(8).then(n.bind(null, 404)); + }, + 'v-31643a8c': function() { + return n.e(15).then(n.bind(null, 405)); + }, + 'v-c2ed5468': function() { + return n.e(16).then(n.bind(null, 406)); + }, + 'v-3f5a1068': function() { + return n.e(17).then(n.bind(null, 407)); + }, + }; + function $a(t) { + var e = Object.create(null); + return function(n) { + return e[n] || (e[n] = t(n)); + }; + } + var Pa = /-(\w)/g, + Ta = $a(function(t) { + return t.replace(Pa, function(t, e) { + return e ? e.toUpperCase() : ''; + }); + }), + La = /\B([A-Z])/g, + Ra = $a(function(t) { + return t.replace(La, '-$1').toLowerCase(); + }), + za = $a(function(t) { + return t.charAt(0).toUpperCase() + t.slice(1); + }); + function Da(t, e) { + if (e) return t(e) ? t(e) : e.includes('-') ? t(za(Ta(e))) : t(za(e)) || t(Ra(e)); + } + var Ma = Object.assign({}, ka, Ca), + Ia = function(t) { + return Ma[t]; + }, + Na = function(t) { + return Ca[t]; + }, + Ua = function(t) { + return ka[t]; + }, + Fa = function(t) { + return Ro.component(t); + }; + function Ba(t) { + return Da(Na, t); + } + function Va(t) { + return Da(Ua, t); + } + function Ha(t) { + return Da(Ia, t); + } + function qa(t) { + return Da(Fa, t); + } + function Wa() { + for (var t = arguments.length, e = new Array(t), n = 0; n < t; n++) e[n] = arguments[n]; + return Promise.all( + e + .filter(function(t) { + return t; + }) + .map( + (function() { + var t = o( + regeneratorRuntime.mark(function t(e) { + var n; + return regeneratorRuntime.wrap(function(t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if (qa(e) || !Ha(e)) { + t.next = 5; + break; + } + return (t.next = 3), Ha(e)(); + case 3: + (n = t.sent), Ro.component(e, n.default); + case 5: + case 'end': + return t.stop(); + } + }, t); + }), + ); + return function(e) { + return t.apply(this, arguments); + }; + })(), + ), + ); + } + function Ga(t, e) { + 'undefined' != typeof window && window.__VUEPRESS__ && (window.__VUEPRESS__[t] = e); + } + n(177), n(172), n(96); + var Ka = n(63); + function Ja(t, e) { + return ( + (function(t) { + if (Array.isArray(t)) return t; + })(t) || + (function(t, e) { + if ('undefined' != typeof Symbol && Symbol.iterator in Object(t)) { + var n = [], + r = !0, + o = !1, + i = void 0; + try { + for ( + var a, u = t[Symbol.iterator](); + !(r = (a = u.next()).done) && (n.push(a.value), !e || n.length !== e); + r = !0 + ); + } catch (t) { + (o = !0), (i = t); + } finally { + try { + r || null == u.return || u.return(); + } finally { + if (o) throw i; + } + } + return n; + } + })(t, e) || + Object(Ka.a)(t, e) || + (function() { + throw new TypeError( + 'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.', + ); + })() + ); + } + var Xa = n(164), + Qa = n.n(Xa), + Ya = { + created: function() { + if ( + ((this.siteMeta = this.$site.headTags + .filter(function(t) { + return 'meta' === Ja(t, 1)[0]; + }) + .map(function(t) { + var e = Ja(t, 2); + e[0]; + return e[1]; + })), + this.$ssrContext) + ) { + var t = this.getMergedMetaTags(); + (this.$ssrContext.title = this.$title), + (this.$ssrContext.lang = this.$lang), + (this.$ssrContext.pageMeta = (e = t) + ? e + .map(function(t) { + var e = '' + ); + }) + .join('\n ') + : ''), + (this.$ssrContext.canonicalLink = tu(this.$canonicalUrl)); + } + var e; + }, + mounted: function() { + (this.currentMetaTags = Object(Aa.a)(document.querySelectorAll('meta'))), + this.updateMeta(), + this.updateCanonicalLink(); + }, + methods: { + updateMeta: function() { + (document.title = this.$title), (document.documentElement.lang = this.$lang); + var t = this.getMergedMetaTags(); + this.currentMetaTags = eu(t, this.currentMetaTags); + }, + getMergedMetaTags: function() { + var t = this.$page.frontmatter.meta || []; + return Qa()( + [{ name: 'description', content: this.$description }], + t, + this.siteMeta, + nu, + ); + }, + updateCanonicalLink: function() { + Za(), + this.$canonicalUrl && + document.head.insertAdjacentHTML('beforeend', tu(this.$canonicalUrl)); + }, + }, + watch: { + $page: function() { + this.updateMeta(), this.updateCanonicalLink(); + }, + }, + beforeDestroy: function() { + eu(null, this.currentMetaTags), Za(); + }, + }; + function Za() { + var t = document.querySelector("link[rel='canonical']"); + t && t.remove(); + } + function tu() { + var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ''; + return t ? '') : ''; + } + function eu(t, e) { + if ( + (e && + Object(Aa.a)(e) + .filter(function(t) { + return t.parentNode === document.head; + }) + .forEach(function(t) { + return document.head.removeChild(t); + }), + t) + ) + return t.map(function(t) { + var e = document.createElement('meta'); + return ( + Object.keys(t).forEach(function(n) { + e.setAttribute(n, t[n]); + }), + document.head.appendChild(e), + e + ); + }); + } + function nu(t) { + for (var e = 0, n = ['name', 'property', 'itemprop']; e < n.length; e++) { + var r = n[e]; + if (t.hasOwnProperty(r)) return t[r] + r; + } + return JSON.stringify(t); + } + n(166); + var ru = n(165), + ou = { + mounted: function() { + window.addEventListener('scroll', this.onScroll); + }, + methods: { + onScroll: n.n(ru)()(function() { + this.setActiveHash(); + }, 300), + setActiveHash: function() { + for ( + var t = this, + e = [].slice.call(document.querySelectorAll('.sidebar-link')), + n = [].slice.call(document.querySelectorAll('.header-anchor')).filter(function(t) { + return e.some(function(e) { + return e.hash === t.hash; + }); + }), + r = Math.max( + window.pageYOffset, + document.documentElement.scrollTop, + document.body.scrollTop, + ), + o = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight), + i = window.innerHeight + r, + a = 0; + a < n.length; + a++ + ) { + var u = n[a], + c = n[a + 1], + s = + (0 === a && 0 === r) || + (r >= u.parentElement.offsetTop + 10 && + (!c || r < c.parentElement.offsetTop - 10)), + f = decodeURIComponent(this.$route.hash); + if (s && f !== decodeURIComponent(u.hash)) { + var l = u; + if (i === o) + for (var p = a + 1; p < n.length; p++) + if (f === decodeURIComponent(n[p].hash)) return; + return ( + this.$vuepress.$set('disableScrollBehavior', !0), + void this.$router.replace(decodeURIComponent(l.hash), function() { + t.$nextTick(function() { + t.$vuepress.$set('disableScrollBehavior', !1); + }); + }) + ); + } + } + }, + }, + beforeDestroy: function() { + window.removeEventListener('scroll', this.onScroll); + }, + }, + iu = (n(83), n(64)), + au = n.n(iu), + uu = [ + Ya, + ou, + { + mounted: function() { + var t = this; + au.a.configure({ showSpinner: !1 }), + this.$router.beforeEach(function(t, e, n) { + t.path === e.path || Ro.component(t.name) || au.a.start(), n(); + }), + this.$router.afterEach(function() { + au.a.done(), (t.isSidebarOpen = !1); + }); + }, + }, + ], + cu = { + name: 'GlobalLayout', + computed: { + layout: function() { + var t = this.getLayout(); + return Ga('layout', t), Ro.component(t); + }, + }, + methods: { + getLayout: function() { + if (this.$page.path) { + var t = this.$page.frontmatter.layout; + return t && + (this.$vuepress.getLayoutAsyncComponent(t) || this.$vuepress.getVueComponent(t)) + ? t + : 'Layout'; + } + return 'NotFound'; + }, + }, + }, + su = n(42), + fu = Object(su.a)( + cu, + function() { + var t = this.$createElement; + return (this._self._c || t)(this.layout, { tag: 'component' }); + }, + [], + !1, + null, + null, + null, + ).exports; + !(function(t, e, n) { + var r; + switch (e) { + case 'components': + t[e] || (t[e] = {}), Object.assign(t[e], n); + break; + case 'mixins': + t[e] || (t[e] = []), (r = t[e]).push.apply(r, Object(Aa.a)(n)); + break; + default: + throw new Error('Unknown option name.'); + } + })(fu, 'mixins', uu); + var lu = [ + { + name: 'v-2c7961a6', + path: '/zh/guide/componentDev/componentStructure.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-2c7961a6').then(n); + }, + }, + { + name: 'v-50357228', + path: '/zh/guide/componentDev/DSLAnalysis.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-50357228').then(n); + }, + }, + { + name: 'v-27f2dbac', + path: '/zh/guide/building.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-27f2dbac').then(n); + }, + }, + { + name: 'v-11d3734f', + path: '/', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-11d3734f').then(n); + }, + }, + { path: '/index.html', redirect: '/' }, + { + name: 'v-6be2680e', + path: '/zh/guide/deployDev/api.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-6be2680e').then(n); + }, + }, + { + name: 'v-1c499b2c', + path: '/zh/guide/deployDev/deploy.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-1c499b2c').then(n); + }, + }, + { + name: 'v-94956b5c', + path: '/zh/guide/deployDev/deploy_v6.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-94956b5c').then(n); + }, + }, + { + name: 'v-358de850', + path: '/zh/guide/componentDev/dynamicLoading.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-358de850').then(n); + }, + }, + { + name: 'v-632f6f4c', + path: '/zh/guide/deployDev/form.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-632f6f4c').then(n); + }, + }, + { + name: 'v-50c154a8', + path: '/zh/guide/deployDev/dir.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-50c154a8').then(n); + }, + }, + { + name: 'v-25c71eb8', + path: '/zh/guide/deployDev/oss.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-25c71eb8').then(n); + }, + }, + { + name: 'v-77cb6b9f', + path: '/zh/guide/', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-77cb6b9f').then(n); + }, + }, + { path: '/zh/guide/index.html', redirect: '/zh/guide/' }, + { + name: 'v-3e53f828', + path: '/zh/guide/deployDev/https.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-3e53f828').then(n); + }, + }, + { + name: 'v-8736ca8c', + path: '/zh/guide/deployDev/log.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-8736ca8c').then(n); + }, + }, + { + name: 'v-41a433e8', + path: '/zh/guide/functionRealization/download.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-41a433e8').then(n); + }, + }, + { + name: 'v-1995786c', + path: '/zh/guide/functionRealization/machinePreview.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-1995786c').then(n); + }, + }, + { + name: 'v-76fd0d8c', + path: '/zh/guide/functionRealization/revocation.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-76fd0d8c').then(n); + }, + }, + { + name: 'v-0be2f96c', + path: '/zh/guide/functionRealization/saveJson.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-0be2f96c').then(n); + }, + }, + { + name: 'v-4574ee28', + path: '/zh/guide/directoryStructure.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-4574ee28').then(n); + }, + }, + { + name: 'v-f3d01ce0', + path: '/zh/guide/functionRealization/pagePreview.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-f3d01ce0').then(n); + }, + }, + { + name: 'v-a9b10980', + path: '/zh/guide/functionRealization/templateLibrary.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-a9b10980').then(n); + }, + }, + { + name: 'v-31643a8c', + path: '/zh/guide/functionRealization/screenshot.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-31643a8c').then(n); + }, + }, + { + name: 'v-c2ed5468', + path: '/zh/guide/introduced.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-c2ed5468').then(n); + }, + }, + { + name: 'v-3f5a1068', + path: '/zh/guide/startedQuickly.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-3f5a1068').then(n); + }, + }, + { path: '*', component: fu }, + ], + pu = { + title: 'h5-dooring', + description: '', + base: '/doc/', + headTags: [], + pages: [ + { + frontmatter: {}, + regularPath: '/zh/guide/componentDev/componentStructure.html', + relativePath: 'zh/guide/componentDev/componentStructure.md', + key: 'v-2c7961a6', + path: '/zh/guide/componentDev/componentStructure.html', + headers: [ + { level: 2, title: '组件设计', slug: '组件设计' }, + { level: 2, title: 'template设计', slug: 'template设计' }, + { level: 2, title: 'schema设计', slug: 'schema设计' }, + { level: 3, title: '组件编辑区属性类型', slug: '组件编辑区属性类型' }, + ], + lastUpdated: '4/27/2021, 1:17:02 AM', + }, + { + title: 'DSL设计', + frontmatter: {}, + regularPath: '/zh/guide/componentDev/DSLAnalysis.html', + relativePath: 'zh/guide/componentDev/DSLAnalysis.md', + key: 'v-50357228', + path: '/zh/guide/componentDev/DSLAnalysis.html', + lastUpdated: '1/17/2021, 9:57:34 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/building.html', + relativePath: 'zh/guide/building.md', + key: 'v-27f2dbac', + path: '/zh/guide/building.html', + lastUpdated: '1/17/2021, 11:22:04 PM', + }, + { + title: 'Home', + frontmatter: { + content: 'Home', + home: !0, + heroText: '一款所见即所得的H5编辑器', + features: [ + { + title: '简洁方便', + details: '任何人只需傻瓜式拖拽或进行简单编辑即可生成精美的H5页面', + }, + { + title: '插拔式体验', + details: '产品以GPL协议开源, 授权后可植入任何系统,并支持二次开发', + }, + { + title: '持续迭代,无限可能', + details: '目前正在持续迭代中,后续可根据需求开发功能更强大的可视化系统', + }, + ], + actionText: '快速上手 →', + actionLink: '/zh/guide/', + footer: 'GPL Licensed | Copyright © 2020-present H5-Dooring', + }, + regularPath: '/', + relativePath: 'README.md', + key: 'v-11d3734f', + path: '/', + lastUpdated: '1/17/2021, 11:22:04 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/deployDev/api.html', + relativePath: 'zh/guide/deployDev/api.md', + key: 'v-6be2680e', + path: '/zh/guide/deployDev/api.html', + headers: [ + { level: 2, title: '用户相关', slug: '用户相关' }, + { level: 3, title: '用户登录', slug: '用户登录' }, + { level: 3, title: '注销登录', slug: '注销登录' }, + { level: 3, title: '权限控制', slug: '权限控制' }, + { level: 3, title: '用户列表', slug: '用户列表' }, + { level: 3, title: '添加用户', slug: '添加用户' }, + { level: 3, title: '生成登录码', slug: '生成登录码' }, + { level: 3, title: '获取用户真实密码', slug: '获取用户真实密码' }, + { level: 3, title: '修改用户信息', slug: '修改用户信息' }, + { level: 3, title: '删除用户', slug: '删除用户' }, + { level: 2, title: 'H5页面管理', slug: 'h5页面管理' }, + { level: 3, title: '获取H5数据', slug: '获取h5数据' }, + { level: 3, title: '保存H5数据', slug: '保存h5数据' }, + { level: 3, title: '删除H5数据', slug: '删除h5数据' }, + { level: 2, title: 'H5表单数据管理', slug: 'h5表单数据管理' }, + { level: 3, title: '保存表单数据', slug: '保存表单数据' }, + { level: 3, title: '批量导入表单数据', slug: '批量导入表单数据' }, + { level: 3, title: '删除表单数据', slug: '删除表单数据' }, + { level: 2, title: '模版管理', slug: '模版管理' }, + { level: 3, title: '获取模版库', slug: '获取模版库' }, + { level: 3, title: '保存模版', slug: '保存模版' }, + { level: 3, title: '删除模版', slug: '删除模版' }, + { level: 2, title: '文件上传', slug: '文件上传' }, + { level: 2, title: '数据统计', slug: '数据统计' }, + { level: 3, title: '数据大盘接口', slug: '数据大盘接口' }, + { level: 3, title: '页面埋点', slug: '页面埋点' }, + ], + lastUpdated: '6/1/2021, 10:15:17 AM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/deployDev/deploy.html', + relativePath: 'zh/guide/deployDev/deploy.md', + key: 'v-1c499b2c', + path: '/zh/guide/deployDev/deploy.html', + headers: [ + { level: 3, title: '部署架构图', slug: '部署架构图' }, + { level: 3, title: '步骤3.4详细流程', slug: '步骤3-4详细流程' }, + ], + lastUpdated: '4/20/2021, 10:19:10 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/deployDev/deploy_v6.html', + relativePath: 'zh/guide/deployDev/deploy_v6.md', + key: 'v-94956b5c', + path: '/zh/guide/deployDev/deploy_v6.html', + headers: [ + { level: 3, title: '部署架构图', slug: '部署架构图' }, + { level: 3, title: '步骤3.4详细流程', slug: '步骤3-4详细流程' }, + ], + lastUpdated: '5/8/2021, 12:34:13 AM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/componentDev/dynamicLoading.html', + relativePath: 'zh/guide/componentDev/dynamicLoading.md', + key: 'v-358de850', + path: '/zh/guide/componentDev/dynamicLoading.html', + headers: [{ level: 2, title: 'umi3提供的dynamic', slug: 'umi3提供的dynamic' }], + lastUpdated: '1/17/2021, 9:57:34 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/deployDev/form.html', + relativePath: 'zh/guide/deployDev/form.md', + key: 'v-632f6f4c', + path: '/zh/guide/deployDev/form.html', + headers: [{ level: 3, title: '获取Form组件的值数据', slug: '获取form组件的值数据' }], + lastUpdated: '6/1/2021, 10:15:17 AM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/deployDev/dir.html', + relativePath: 'zh/guide/deployDev/dir.md', + key: 'v-50c154a8', + path: '/zh/guide/deployDev/dir.html', + lastUpdated: '5/13/2021, 9:56:54 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/deployDev/oss.html', + relativePath: 'zh/guide/deployDev/oss.md', + key: 'v-25c71eb8', + path: '/zh/guide/deployDev/oss.html', + headers: [ + { level: 3, title: '前端上传文件到oss', slug: '前端上传文件到oss' }, + { level: 3, title: '如何接入任何第三方上传服务', slug: '如何接入任何第三方上传服务' }, + ], + lastUpdated: '6/1/2021, 10:15:17 AM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/', + relativePath: 'zh/guide/README.md', + key: 'v-77cb6b9f', + path: '/zh/guide/', + headers: [ + { level: 2, title: '功能特点', slug: '功能特点' }, + { level: 2, title: '为什么选择 Dooring', slug: '为什么选择-dooring' }, + ], + lastUpdated: '3/22/2021, 10:16:35 AM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/deployDev/https.html', + relativePath: 'zh/guide/deployDev/https.md', + key: 'v-3e53f828', + path: '/zh/guide/deployDev/https.html', + headers: [ + { level: 3, title: '前端工程', slug: '前端工程' }, + { level: 3, title: '服务器工程', slug: '服务器工程' }, + ], + lastUpdated: '1/31/2021, 1:25:02 AM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/deployDev/log.html', + relativePath: 'zh/guide/deployDev/log.md', + key: 'v-8736ca8c', + path: '/zh/guide/deployDev/log.html', + headers: [{ level: 3, title: '更新日志', slug: '更新日志' }], + lastUpdated: '6/1/2021, 10:15:17 AM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/functionRealization/download.html', + relativePath: 'zh/guide/functionRealization/download.md', + key: 'v-41a433e8', + path: '/zh/guide/functionRealization/download.html', + headers: [{ level: 2, title: '下载源码', slug: '下载源码' }], + lastUpdated: '5/18/2021, 9:49:30 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/functionRealization/machinePreview.html', + relativePath: 'zh/guide/functionRealization/machinePreview.md', + key: 'v-1995786c', + path: '/zh/guide/functionRealization/machinePreview.html', + lastUpdated: '1/17/2021, 9:57:34 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/functionRealization/revocation.html', + relativePath: 'zh/guide/functionRealization/revocation.md', + key: 'v-76fd0d8c', + path: '/zh/guide/functionRealization/revocation.html', + lastUpdated: '1/17/2021, 9:57:34 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/functionRealization/saveJson.html', + relativePath: 'zh/guide/functionRealization/saveJson.md', + key: 'v-0be2f96c', + path: '/zh/guide/functionRealization/saveJson.html', + lastUpdated: '1/17/2021, 9:57:34 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/directoryStructure.html', + relativePath: 'zh/guide/directoryStructure.md', + key: 'v-4574ee28', + path: '/zh/guide/directoryStructure.html', + lastUpdated: '1/17/2021, 7:12:02 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/functionRealization/pagePreview.html', + relativePath: 'zh/guide/functionRealization/pagePreview.md', + key: 'v-f3d01ce0', + path: '/zh/guide/functionRealization/pagePreview.html', + lastUpdated: '1/17/2021, 9:57:34 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/functionRealization/templateLibrary.html', + relativePath: 'zh/guide/functionRealization/templateLibrary.md', + key: 'v-a9b10980', + path: '/zh/guide/functionRealization/templateLibrary.html', + headers: [ + { level: 2, title: '模板库实现思路', slug: '模板库实现思路' }, + { level: 3, title: '模板前台展示:', slug: '模板前台展示' }, + { level: 3, title: '模板后台展示:', slug: '模板后台展示' }, + ], + lastUpdated: '1/17/2021, 9:57:34 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/functionRealization/screenshot.html', + relativePath: 'zh/guide/functionRealization/screenshot.md', + key: 'v-31643a8c', + path: '/zh/guide/functionRealization/screenshot.html', + lastUpdated: '1/17/2021, 9:57:34 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/introduced.html', + relativePath: 'zh/guide/introduced.md', + key: 'v-c2ed5468', + path: '/zh/guide/introduced.html', + lastUpdated: '1/17/2021, 7:12:02 PM', + }, + { + title: '快速上手', + frontmatter: {}, + regularPath: '/zh/guide/startedQuickly.html', + relativePath: 'zh/guide/startedQuickly.md', + key: 'v-3f5a1068', + path: '/zh/guide/startedQuickly.html', + headers: [ + { level: 2, title: '从零搭建一个H5表单页面', slug: '从零搭建一个h5表单页面' }, + { level: 2, title: '环境准备', slug: '环境准备' }, + { level: 2, title: '源码工程', slug: '源码工程' }, + { level: 2, title: '本地运行', slug: '本地运行' }, + ], + lastUpdated: '5/8/2021, 12:34:13 AM', + }, + ], + themeConfig: { + search: !1, + searchMaxSuggestions: 10, + lastUpdated: 'Last Updated', + nav: [ + { text: '首页', link: '/' }, + { text: '文档', link: '/zh/guide/' }, + { text: '体验', link: 'http://h5.dooring.cn' }, + { text: 'github', link: 'https://github.com/MrXujiang/h5-Dooring' }, + ], + sidebar: [ + { title: '基本介绍', path: '/zh/guide/', collapsable: !1, sidebarDepth: 1 }, + { + title: 'doring如何工作', + path: '/zh/guide/introduced', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: '快速上手', + path: '/zh/guide/startedQuickly', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: '目录结构', + path: '/zh/guide/directoryStructure', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: '组件开发', + collapsable: !1, + sidebarDepth: 1, + type: 'group', + children: [ + { + name: 'componentStructure', + title: '组件结构', + path: '/zh/guide/componentDev/componentStructure', + collapsable: !1, + sidebarDepth: 2, + }, + { + name: 'DSLAnalysis', + title: 'DSL设计', + path: '/zh/guide/componentDev/DSLAnalysis', + collapsable: !1, + sidebarDepth: 2, + }, + { + name: 'dynamicLoading', + title: '动态加载', + path: '/zh/guide/componentDev/dynamicLoading', + collapsable: !1, + sidebarDepth: 1, + }, + ], + }, + { + title: '功能实现', + collapsable: !1, + sidebarDepth: 1, + type: 'group', + children: [ + { + title: '模板库', + path: '/zh/guide/functionRealization/templateLibrary', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: '保存json', + path: '/zh/guide/functionRealization/saveJson', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: '下载源码', + path: '/zh/guide/functionRealization/download', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: '网页预览', + path: '/zh/guide/functionRealization/pagePreview', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: '真机预览', + path: '/zh/guide/functionRealization/machinePreview', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: '撤销/重做', + path: '/zh/guide/functionRealization/revocation', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: '截图功能', + path: '/zh/guide/functionRealization/screenshot', + collapsable: !1, + sidebarDepth: 1, + }, + ], + }, + { + title: '私有化部署和二次开发', + collapsable: !1, + sidebarDepth: 1, + type: 'group', + children: [ + { + title: '私有化部署', + path: '/zh/guide/deployDev/deploy', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: 'v6.dooring私有化部署(临时)', + path: '/zh/guide/deployDev/deploy_v6', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: '服务端数据说明', + path: '/zh/guide/deployDev/dir', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: '支持https', + path: '/zh/guide/deployDev/https', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: '接入第三方oss', + path: '/zh/guide/deployDev/oss', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: '获取Form组件的值数据', + path: '/zh/guide/deployDev/form', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: 'API接口文档', + path: '/zh/guide/deployDev/api', + collapsable: !1, + sidebarDepth: 1, + }, + { + title: '更新日志', + path: '/zh/guide/deployDev/log', + collapsable: !1, + sidebarDepth: 1, + }, + ], + }, + ], + }, + }; + n(300), n(301); + Ro.component('Home', function() { + return Promise.all([n.e(0), n.e(3)]).then(n.bind(null, 381)); + }), + Ro.component('Badge', function() { + return Promise.all([n.e(0), n.e(4)]).then(n.bind(null, 408)); + }), + Ro.component('CodeBlock', function() { + return Promise.all([n.e(0), n.e(5)]).then(n.bind(null, 382)); + }), + Ro.component('CodeGroup', function() { + return Promise.all([n.e(0), n.e(6)]).then(n.bind(null, 383)); + }); + n(302); + var hu = [ + function(t) { + var e = t.Vue; + t.options, t.router, t.siteData, t.isServer; + e.config.ignoredElements = []; + }, + {}, + function(t) { + t.Vue.mixin({ + computed: { + $dataBlock: function() { + return this.$options.__data__block__; + }, + }, + }); + }, + {}, + {}, + ], + du = []; + n(170); + function vu(t, e) { + if (!(t instanceof e)) throw new TypeError('Cannot call a class as a function'); + } + n(303); + function yu(t, e) { + for (var n = 0; n < e.length; n++) { + var r = e[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + 'value' in r && (r.writable = !0), + Object.defineProperty(t, r.key, r); + } + } + function mu(t, e, n) { + return e && yu(t.prototype, e), n && yu(t, n), t; + } + n(160); + function gu(t, e) { + return (gu = + Object.setPrototypeOf || + function(t, e) { + return (t.__proto__ = e), t; + })(t, e); + } + n(161); + function bu(t) { + return (bu = Object.setPrototypeOf + ? Object.getPrototypeOf + : function(t) { + return t.__proto__ || Object.getPrototypeOf(t); + })(t); + } + n(138), n(98); + function _u(t, e) { + return !e || ('object' !== Ea(e) && 'function' != typeof e) + ? (function(t) { + if (void 0 === t) + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + return t; + })(t) + : e; + } + function xu(t) { + var e = (function() { + if ('undefined' == typeof Reflect || !Reflect.construct) return !1; + if (Reflect.construct.sham) return !1; + if ('function' == typeof Proxy) return !0; + try { + return Date.prototype.toString.call(Reflect.construct(Date, [], function() {})), !0; + } catch (t) { + return !1; + } + })(); + return function() { + var n, + r = bu(t); + if (e) { + var o = bu(this).constructor; + n = Reflect.construct(r, arguments, o); + } else n = r.apply(this, arguments); + return _u(this, n); + }; + } + var wu = (function(t) { + !(function(t, e) { + if ('function' != typeof e && null !== e) + throw new TypeError('Super expression must either be null or a function'); + (t.prototype = Object.create(e && e.prototype, { + constructor: { value: t, writable: !0, configurable: !0 }, + })), + e && gu(t, e); + })(n, t); + var e = xu(n); + function n() { + return vu(this, n), e.apply(this, arguments); + } + return n; + })( + (function() { + function t() { + vu(this, t), (this.store = new Ro({ data: { state: {} } })); + } + return ( + mu(t, [ + { + key: '$get', + value: function(t) { + return this.store.state[t]; + }, + }, + { + key: '$set', + value: function(t, e) { + Ro.set(this.store.state, t, e); + }, + }, + { + key: '$emit', + value: function() { + var t; + (t = this.store).$emit.apply(t, arguments); + }, + }, + { + key: '$on', + value: function() { + var t; + (t = this.store).$on.apply(t, arguments); + }, + }, + ]), + t + ); + })(), + ); + Object.assign(wu.prototype, { + getPageAsyncComponent: Ba, + getLayoutAsyncComponent: Va, + getAsyncComponent: Ha, + getVueComponent: qa, + }); + var Ou = { + install: function(t) { + var e = new wu(); + (t.$vuepress = e), (t.prototype.$vuepress = e); + }, + }; + function Su(t) { + t.beforeEach(function(e, n, r) { + if (ju(t, e.path)) r(); + else if (/(\/|\.html)$/.test(e.path)) + if (/\/$/.test(e.path)) { + var o = e.path.replace(/\/$/, '') + '.html'; + ju(t, o) ? r(o) : r(); + } else r(); + else { + var i = e.path + '/', + a = e.path + '.html'; + ju(t, a) ? r(a) : ju(t, i) ? r(i) : r(); + } + }); + } + function ju(t, e) { + return ( + t.options.routes.filter(function(t) { + return t.path.toLowerCase() === e.toLowerCase(); + }).length > 0 + ); + } + var Eu = { + props: { pageKey: String, slotKey: { type: String, default: 'default' } }, + render: function(t) { + var e = this.pageKey || this.$parent.$page.key; + return ( + Ga('pageKey', e), + Ro.component(e) || Ro.component(e, Ba(e)), + Ro.component(e) ? t(e) : t('') + ); + }, + }, + Au = { + functional: !0, + props: { slotKey: String, required: !0 }, + render: function(t, e) { + var n = e.props, + r = e.slots; + return t('div', { class: ['content__'.concat(n.slotKey)] }, r()[n.slotKey]); + }, + }, + ku = { + computed: { + openInNewWindowTitle: function() { + return this.$themeLocaleConfig.openNewWindowText || '(opens new window)'; + }, + }, + }, + Cu = + (n(305), + n(306), + Object(su.a)( + ku, + function() { + var t = this.$createElement, + e = this._self._c || t; + return e('span', [ + e( + 'svg', + { + staticClass: 'icon outbound', + attrs: { + xmlns: 'http://www.w3.org/2000/svg', + 'aria-hidden': 'true', + focusable: 'false', + x: '0px', + y: '0px', + viewBox: '0 0 100 100', + width: '15', + height: '15', + }, + }, + [ + e('path', { + attrs: { + fill: 'currentColor', + d: + 'M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z', + }, + }), + this._v(' '), + e('polygon', { + attrs: { + fill: 'currentColor', + points: + '45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9', + }, + }), + ], + ), + this._v(' '), + e('span', { staticClass: 'sr-only' }, [this._v(this._s(this.openInNewWindowTitle))]), + ]); + }, + [], + !1, + null, + null, + null, + ).exports); + function $u() { + return ($u = o( + regeneratorRuntime.mark(function t(e) { + var n, r, o, i; + return regeneratorRuntime.wrap( + function(t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (n = + 'undefined' != typeof window && window.__VUEPRESS_ROUTER_BASE__ + ? window.__VUEPRESS_ROUTER_BASE__ + : pu.routerBase || pu.base), + Su( + (r = new Sa({ + base: n, + mode: 'history', + fallback: !1, + routes: lu, + scrollBehavior: function(t, e, n) { + return ( + n || + (t.hash + ? !Ro.$vuepress.$get('disableScrollBehavior') && { + selector: decodeURIComponent(t.hash), + } + : { x: 0, y: 0 }) + ); + }, + })), + ), + (o = {}), + (t.prev = 4), + (t.next = 7), + Promise.all( + hu + .filter(function(t) { + return 'function' == typeof t; + }) + .map(function(t) { + return t({ Vue: Ro, options: o, router: r, siteData: pu, isServer: e }); + }), + ) + ); + case 7: + t.next = 12; + break; + case 9: + (t.prev = 9), (t.t0 = t.catch(4)), console.error(t.t0); + case 12: + return ( + (i = new Ro( + Object.assign(o, { + router: r, + render: function(t) { + return t('div', { attrs: { id: 'app' } }, [ + t('RouterView', { ref: 'layout' }), + t( + 'div', + { class: 'global-ui' }, + du.map(function(e) { + return t(e); + }), + ), + ]); + }, + }), + )), + t.abrupt('return', { app: i, router: r }) + ); + case 14: + case 'end': + return t.stop(); + } + }, + t, + null, + [[4, 9]], + ); + }), + )).apply(this, arguments); + } + (Ro.config.productionTip = !1), + Ro.use(Sa), + Ro.use(Ou), + Ro.mixin( + (function(t, e) { + var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : Ro; + ja(e), n.$vuepress.$set('siteData', e); + var r = t(n.$vuepress.$get('siteData')), + o = new r(), + i = Object.getOwnPropertyDescriptors(Object.getPrototypeOf(o)), + a = {}; + return ( + Object.keys(i).reduce(function(t, e) { + return e.startsWith('$') && (t[e] = i[e].get), t; + }, a), + { computed: a } + ); + })(function(t) { + return (function() { + function e() { + vu(this, e); + } + return ( + mu(e, [ + { + key: 'setPage', + value: function(t) { + this.__page = t; + }, + }, + { + key: '$site', + get: function() { + return t; + }, + }, + { + key: '$themeConfig', + get: function() { + return this.$site.themeConfig; + }, + }, + { + key: '$frontmatter', + get: function() { + return this.$page.frontmatter; + }, + }, + { + key: '$localeConfig', + get: function() { + var t, + e, + n = this.$site.locales, + r = void 0 === n ? {} : n; + for (var o in r) + '/' === o ? (e = r[o]) : 0 === this.$page.path.indexOf(o) && (t = r[o]); + return t || e || {}; + }, + }, + { + key: '$siteTitle', + get: function() { + return this.$localeConfig.title || this.$site.title || ''; + }, + }, + { + key: '$canonicalUrl', + get: function() { + var t = this.$page.frontmatter.canonicalUrl; + return 'string' == typeof t && t; + }, + }, + { + key: '$title', + get: function() { + var t = this.$page, + e = this.$page.frontmatter.metaTitle; + if ('string' == typeof e) return e; + var n = this.$siteTitle, + r = t.frontmatter.home ? null : t.frontmatter.title || t.title; + return n ? (r ? r + ' | ' + n : n) : r || 'VuePress'; + }, + }, + { + key: '$description', + get: function() { + var t = (function(t) { + if (t) { + var e = t.filter(function(t) { + return 'description' === t.name; + })[0]; + if (e) return e.content; + } + })(this.$page.frontmatter.meta); + return ( + t || + this.$page.frontmatter.description || + this.$localeConfig.description || + this.$site.description || + '' + ); + }, + }, + { + key: '$lang', + get: function() { + return this.$page.frontmatter.lang || this.$localeConfig.lang || 'en-US'; + }, + }, + { + key: '$localePath', + get: function() { + return this.$localeConfig.path || '/'; + }, + }, + { + key: '$themeLocaleConfig', + get: function() { + return (this.$site.themeConfig.locales || {})[this.$localePath] || {}; + }, + }, + { + key: '$page', + get: function() { + return this.__page + ? this.__page + : (function(t, e) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + if (r.path.toLowerCase() === e.toLowerCase()) return r; + } + return { path: '', frontmatter: {} }; + })(this.$site.pages, this.$route.path); + }, + }, + ]), + e + ); + })(); + }, pu), + ), + Ro.component('Content', Eu), + Ro.component('ContentSlotsDistributor', Au), + Ro.component('OutboundLink', Cu), + Ro.component('ClientOnly', { + functional: !0, + render: function(t, e) { + var n = e.parent, + r = e.children; + if (n._isMounted) return r; + n.$once('hook:mounted', function() { + n.$forceUpdate(); + }); + }, + }), + Ro.component('Layout', Va('Layout')), + Ro.component('NotFound', Va('NotFound')), + (Ro.prototype.$withBase = function(t) { + var e = this.$site.base; + return '/' === t.charAt(0) ? e + t.slice(1) : t; + }), + (window.__VUEPRESS__ = { version: '1.8.0', hash: 'fb53ef9' }), + (function(t) { + return $u.apply(this, arguments); + })(!1).then(function(t) { + var e = t.app; + t.router.onReady(function() { + e.$mount('#app'); + }); + }); + }, +]); diff --git a/doc-dist/favcion.png b/doc-dist/favcion.png new file mode 100644 index 00000000..d017d9ed Binary files /dev/null and b/doc-dist/favcion.png differ diff --git a/doc-dist/index.html b/doc-dist/index.html new file mode 100644 index 00000000..c835249d --- /dev/null +++ b/doc-dist/index.html @@ -0,0 +1,38 @@ + + + + + + h5-dooring + + + + + + + + +

hero一款所见即所得的H5编辑器

1

简洁方便

任何人只需傻瓜式拖拽或进行简单编辑即可生成精美的H5页面

2

插拔式体验

产品以GPL协议开源, 授权后可植入任何系统,并支持二次开发

3

持续迭代,无限可能

目前正在持续迭代中,后续可根据需求开发功能更强大的可视化系统

+ + + diff --git a/doc-dist/zh/guide/building.html b/doc-dist/zh/guide/building.html new file mode 100644 index 00000000..42cd2e7d --- /dev/null +++ b/doc-dist/zh/guide/building.html @@ -0,0 +1,34 @@ + + + + + + h5-dooring + + + + + + + + +

正在建设中...

Last Updated: 1/17/2021, 11:22:04 PM
+ + + diff --git a/doc-dist/zh/guide/componentDev/DSLAnalysis.html b/doc-dist/zh/guide/componentDev/DSLAnalysis.html new file mode 100644 index 00000000..def73c06 --- /dev/null +++ b/doc-dist/zh/guide/componentDev/DSLAnalysis.html @@ -0,0 +1,93 @@ + + + + + + DSL设计 | h5-dooring + + + + + + + + +

# DSL设计

DSL层主要约定了Dooring组件的数据协议,包括组件的可编辑属性、编辑类型、初始值等,之所以定义一致的协议层,主要是方便后期的组件扩展,配置后移,有助于不同后端语言开发和数据存储,接下来我们看看header组件的schema。

1.editData 可编辑的属性类型DSL

2.config 可编辑组件的默认属性

const Header: IHeaderSchema = {
+  editData: [
+    {
+      key: 'bgColor',
+      name: '背景色',
+      type: 'Color',
+    },
+    {
+      key: 'height',
+      name: '高度',
+      type: 'Number',
+    },
+    {
+      key: 'logo',
+      name: 'logo',
+      type: 'Upload',
+      isCrop: true,
+      cropRate: 1000 / 618,
+    },
+    {
+      key: 'logoText',
+      name: 'logo文字',
+      type: 'Text',
+    },
+    {
+      key: 'color',
+      name: '文字颜色',
+      type: 'Color',
+    },
+    {
+      key: 'fontSize',
+      name: '文字大小',
+      type: 'Number',
+    }
+  ],
+  config: {
+    bgColor: 'rgba(245,245,245,1)',
+    logo: [
+      {
+        uid: '001',
+        name: 'image.png',
+        status: 'done',
+        url: `${serverUrl}/uploads/3_1740be8a482.png`,
+      },
+    ],
+    logoText: '页头Header',
+    fontSize: 20,
+    color: 'rgba(47,84,235,1)',
+    height: 50
+  },
+};
+

由以上代码可知,我们可以在editData属性中给组件添加可编辑的属性,比如背景图,然后再component中接受属性从而设置样式。

在config属性中,我们可以设置组件默认属性值,和editData中每一项的key一一对应。

Last Updated: 1/17/2021, 9:57:34 PM
+ + + diff --git a/doc-dist/zh/guide/componentDev/componentStructure.html b/doc-dist/zh/guide/componentDev/componentStructure.html new file mode 100644 index 00000000..fd42f257 --- /dev/null +++ b/doc-dist/zh/guide/componentDev/componentStructure.html @@ -0,0 +1,153 @@ + + + + + + h5-dooring + + + + + + + + +

# 组件结构

dooring的组件设计包含以下3个部分组件:

1、component 组件主体

2、schema 组件的DSL,结构协议层

3、template 定义了组件的类型、外观、从属关系,后期考虑纳入schema

接下来我会介绍一个基本的组件主体设计,以为template设计,在下一章会具体介绍schema部分。

# 组件设计

我们这里拿基本的header组件来举例,如下是header组件的代码:

interface HeaderPropTypes extends IHeaderConfig {
+  isTpl: boolean;
+}
+
+const Header = memo((props: HeaderPropTypes) => {
+  const { bgColor, logo, logoText, fontSize, color } = props;
+  return props.isTpl ? (
+    <div>
+      < img style={{width: '100%'}} src={logos} alt="" />
+    </div>
+  ) : (
+    <header className={styles.header} style={{ backgroundColor: bgColor }}>
+      <div className={styles.logo}>
+        < img src={logo && logo[0].url} alt={logoText} />
+      </div>
+      <div className={styles.title} style={{ fontSize, color }}>
+        {logoText}
+      </div>
+    </header>
+  );
+});
+

我们只需要按照上面的方式编写组件即可,props是DSL定义的数据层,用来控制组件的shape,也就是组件的表现。我们看看header对应的template。

# template设计

const template = {
+  type: 'Header',
+  h: 28,
+  displayName: '页头组件'
+};
+export default template;
+

以上就是我们template的结构,type用来定义组件的类型,方便渲染器动态查找,h代表组件的初始化高度,我们可以自由设置。displayName是组件的中文名,用来在左侧组件面板中展示,方便用户理解,我们可以在template中自定义更多辅助信息,方便使用者更高效的使用我们的编辑器。

# schema设计

开发一个自定义组件需要包含3部分, Component, SchemaTemplate. 接下来我们看一下 Header 组件的 Schema.

import {
+  IColorConfigType,
+  INumberConfigType,
+  ITextConfigType,
+  IUploadConfigType,
+  TColorDefaultType,
+  TNumberDefaultType,
+  TTextDefaultType,
+  TUploadDefaultType,
+} from '@/components/FormComponents/types';
+import { baseConfig, baseDefault, ICommonBaseType } from '../../common';
+
+export type THeaderEditData = Array<
+  IColorConfigType | INumberConfigType | IUploadConfigType | ITextConfigType
+>;
+export interface IHeaderConfig extends ICommonBaseType {
+  bgColor: TColorDefaultType;
+  logo: TUploadDefaultType;
+  logoText: TTextDefaultType;
+  fontSize: TNumberDefaultType;
+  color: TColorDefaultType;
+  height: TNumberDefaultType;
+}
+
+export interface IHeaderSchema {
+  editData: THeaderEditData;
+  config: IHeaderConfig;
+}
+
+const Header: IHeaderSchema = {
+  editData: [
+    ...baseConfig,
+    {
+      key: 'bgColor',
+      name: '背景色',
+      type: 'Color',
+    },
+    {
+      key: 'height',
+      name: '高度',
+      type: 'Number',
+    },
+    {
+      key: 'logo',
+      name: 'logo',
+      type: 'Upload',
+      isCrop: true,
+      cropRate: 1000 / 618,
+    },
+    {
+      key: 'logoText',
+      name: 'logo文字',
+      type: 'Text',
+    },
+    {
+      key: 'color',
+      name: '文字颜色',
+      type: 'Color',
+    },
+    {
+      key: 'fontSize',
+      name: '文字大小',
+      type: 'Number',
+    },
+  ],
+  config: {
+    bgColor: 'rgba(0,0,0,1)',
+    logo: [
+      {
+        uid: '001',
+        name: 'image.png',
+        status: 'done',
+        url: 'http://49.234.61.19/uploads/3_1740be8a482.png',
+      },
+    ],
+    logoText: '页头Header',
+    fontSize: 20,
+    color: 'rgba(255,255,255,1)',
+    height: 50,
+    ...baseDefault,
+  },
+};
+
+export default Header;
+

editData表示组件的可编辑属性, 我们可以自定义哪些组件可编辑. config为组件接收的属性, 和editData数组项中的key一一对应.

# 组件编辑区属性类型

Dooring组件编辑面板有如下对应编辑类型:

  • Upload 上传组件
  • Text 文本框
  • RichText 富文本
  • TextArea 多行文本
  • Number 数字输入框
  • DataList 列表编辑器
  • FileList 文件列表编辑器
  • InteractionData 交互设置
  • Color 颜色面板
  • MutiText 多文本
  • Select 选择下拉框
  • Radio 单选框
  • Switch 开关切换
  • CardPicker 卡片面板
  • Table 表格编辑器
  • Pos 坐标编辑器
  • FormItems 表单设计器
Last Updated: 4/27/2021, 1:17:02 AM
+ + + diff --git a/doc-dist/zh/guide/componentDev/dynamicLoading.html b/doc-dist/zh/guide/componentDev/dynamicLoading.html new file mode 100644 index 00000000..da69fff6 --- /dev/null +++ b/doc-dist/zh/guide/componentDev/dynamicLoading.html @@ -0,0 +1,42 @@ + + + + + + h5-dooring + + + + + + + + +

# 组件动态加载

目前H5-Dooring的组件都是通过动态加载的方式引入,好处是我们在页面中只会加载我们需要的组件,不需要的组件不会被加载,这样可以提高页面加载的速度,这样做也会出现一些问题,比如一个长页面,配置了很多组件,那么一个页面加载过程可以会触发多次请求,目前还没有遇到性能问题,但后续会逐渐优化这个问题。

# umi3提供的dynamic

目前组件的动态加载我们采用的umi的dynamic方案,基于它我们上层封装了一个组件动态加载器,原理如下:

foo

具体代码可以参考Dooring的Github地址:https://github.com/MrXujiang/h5-Dooring (opens new window)

Last Updated: 1/17/2021, 9:57:34 PM
+ + + diff --git a/doc-dist/zh/guide/deployDev/api.html b/doc-dist/zh/guide/deployDev/api.html new file mode 100644 index 00000000..5295dba2 --- /dev/null +++ b/doc-dist/zh/guide/deployDev/api.html @@ -0,0 +1,323 @@ + + + + + + h5-dooring + + + + + + + + +

H5-Dooring后端部分主要使用 Nodejs 开发, 为了满足更多定制化需求和服务的可移植性, 特意编写了API接口文档, +方便大家使用不同的后端语言实现服务接入.

  • 注意: 接口统一前缀为/api/v0

# 用户相关

# 用户登录

用户登录接口

  • POST /vip/check
参数名 是否必选 类型 说明
n true string 用户名
co true string 密码

返回示例

{
+    "result": { 
+        "n": "test", 
+        "od": [], 
+        "h5": [
+            {
+                "t": "23242ED",
+                "n": "测试页面"
+            }
+        ], 
+        "rp": "AAAAA", 
+        "maxage": 300000 
+    }
+}
+

# 注销登录

注销接口

  • POST /vip/checkout

返回示例

{ 
+    "result": null, 
+    "msg": "退出成功"
+}
+

# 权限控制

不同用户级别所访问的页面权限不同, 这块可结合服务端已有代码设计属于自己的权限字段, 地址为server/src/router

# 用户列表

获取用户列表接口

  • GET /vip/all

获取用户列表需要账号满足以下条件:

  • 已登录
  • 为超级管理员

返回示例

[
+    {
+        "id": "", 
+        "n": "test", 
+        "co": "123456", 
+        "od": [], 
+        "h5": [
+            {
+                "t": "23242ED",
+                "n": "测试页面"
+            }
+        ], 
+        "wx": "Mr_xuxiaoxi", 
+        "rp": "AAAAA"
+    }
+]
+

# 添加用户

添加用户接口

  • POST /vip/add

先决条件:

  • 用户已登陆
  • 为超级管理员
参数名 是否必选 类型 说明
nickname true string 用户名
wx true string 微信号
co true string 密码

注: co是由笔者写的加密算法实现, 不需要手动填写, 详情见dooirng后台管理/用户管理页面.

返回示例

{
+    "id": "3422EF",
+    "n": "test",
+    "wx": "Mr_xuxiaoxi",
+    "co": "123456",
+    "od": [],
+    "h5": [],
+    "tpl": [],
+    "rp": "AAAAA",
+    "h5Num": 10,
+    "tplNum": 3
+}
+

# 生成登录码

生成登录码接口

  • GET /vip/gcode

先决条件:

  • 用户已登陆
  • 为超级管理员

注: 生成登录码是由笔者写的加密算法实现, 不需要手动实现, 如果有自定义需求, 可以自行二次开发实现.

返回示例

{
+    "co": "1x2fgggteee3456_zdd4",
+}
+

说明: 为了保护用户信息安全, 返回的登录码是加密后的密文, 会调用笔者写的xib.xip方法进行加密, 如果想看到原始密码, 需要调用xib.uxip进行解密.

# 获取用户真实密码

获取用户真实密码接口

  • GET /vip/gcode/get

先决条件:

  • 用户已登陆
  • 为超级管理员
参数名 是否必选 类型 说明
co true string 加密后的密码

返回示例

{
+    "co": "12345678",
+}
+

# 修改用户信息

修改用户接口

  • POST /vip/edit

先决条件:

  • 用户已登陆
  • 为超级管理员
参数名 是否必选 类型 说明
id false string 用户ID
nickname false string 用户名
co false string 登录码
wx false string 微信号

返回示例

{
+    "state": 200,
+    "result": null,
+    "msg": "修改成功",
+}
+

# 删除用户

删除用户接口

  • DELETE /vip/del

先决条件:

  • 用户已登陆
  • 为超级管理员
参数名 是否必选 类型 说明
id true string 用户ID
wx true string 微信号
n true string 用户名

返回示例

{
+    "state": 200,
+    "result": null,
+    "msg": "删除成功",
+}
+

# H5页面管理

# 获取H5数据

  • GET /visible/h5/get

先决条件:

  • 用户已登陆
参数名 是否必选 类型 说明
tid true string H5唯一id

返回示例

{
+    "pageConfig": {
+        
+    },
+    "tpl": [
+        {
+            "id": "879742",
+            "item": {
+                "type": "Carousel",
+                "config": {
+                    "direction": "left",
+                    "swipeable": false,
+                    "autoPlay": false,
+                    "imgList": [
+                        {
+                            "id": "1",
+                            "title": "趣谈小课1",
+                            "desc": "致力于打造优质小课程",
+                            "link": "xxxxx",
+                            "imgUrl": [
+                                {
+                                    "uid": "001",
+                                    "name": "image.png",
+                                    "status": "done",
+                                    "url": "http://io.nainor.com/uploads/1_1740bd7c3dc.png"
+                                }
+                            ]
+                        },
+                        {
+                            "id": "2",
+                            "title": "趣谈小课1",
+                            "desc": "致力于打造优质小课程",
+                            "link": "xxxxx",
+                            "imgUrl": [
+                                {
+                                    "uid": "001",
+                                    "name": "image.png",
+                                    "status": "done",
+                                    "url": "http://io.nainor.com/uploads/2_1740bd8d525.png"
+                                }
+                            ]
+                        }
+                    ],
+                    "tplImg": "http://io.nainor.com/uploads/carousal_17442e1420f.png"
+                },
+                "h": 82,
+                "editableEl": [
+                    {
+                        "key": "direction",
+                        "name": "方向",
+                        "type": "Radio",
+                        "range": [
+                            {
+                                "key": "down",
+                                "text": "从上到下"
+                            },
+                            {
+                                "key": "left",
+                                "text": "从左到右"
+                            }
+                        ]
+                    },
+                    {
+                        "key": "swipeable",
+                        "name": "是否可拖拽",
+                        "type": "Switch"
+                    },
+                    {
+                        "key": "autoPlay",
+                        "name": "是否自动播放",
+                        "type": "Switch"
+                    },
+                    {
+                        "key": "imgList",
+                        "name": "图片列表",
+                        "type": "DataList"
+                    }
+                ],
+                "category": "base"
+            },
+            "point": {
+                "i": "x-0",
+                "x": 0,
+                "y": 13,
+                "w": 24,
+                "h": 82,
+                "isBounded": true
+            },
+            "status": "inToCanvas"
+        },
+        {
+            "id": "481194",
+            "item": {
+                "type": "Form",
+                "config": {
+                    "title": "表单定制组件",
+                    "fontSize": 18,
+                    "titColor": "rgba(60,60,60,1)",
+                    "titWeight": "400",
+                    "bgColor": "rgba(255,255,255,1)",
+                    "btnColor": "rgba(20,54,226,100)",
+                    "btnTextColor": "rgba(255,255,255,1)",
+                    "api": "",
+                    "formControls": [
+                        {
+                            "id": "1",
+                            "type": "Text",
+                            "label": "姓名",
+                            "placeholder": "请输入姓名"
+                        },
+                        {
+                            "id": "2",
+                            "type": "Number",
+                            "label": "年龄",
+                            "placeholder": " 请输入年龄"
+                        },
+                        {
+                            "id": "4",
+                            "type": "MySelect",
+                            "label": "爱好",
+                            "options": [
+                                {
+                                    "label": "选项一",
+                                    "value": "1"
+                                },
+                                {
+                                    "label": "选项二",
+                                    "value": "2"
+                                },
+                                {
+                                    "label": "选项三",
+                                    "value": "3"
+                                }
+                            ]
+                        }
+                    ]
+                },
+                "h": 172,
+                "category": "base"
+            },
+            "point": {
+                "i": "x-1",
+                "x": 0,
+                "y": 98,
+                "w": 24,
+                "h": 172,
+                "isBounded": true
+            },
+            "status": "inToCanvas"
+        }
+    ]
+}
+

# 保存H5数据

  • POST /visible/h5/save

先决条件:

  • 用户已登陆
参数名 是否必选 类型 说明
pageConfig false object H5页面配置数据
tpl true object H5页面组件配置数据
tid true string H5页面唯一id

参数示例

{
+    "pageConfig": {
+        "bgColor":"rgba(151,25,25,1)",
+        "title":"医院宣传页"
+    },
+    "tpl": [],
+    "tid": "EF123D3"
+}
+

返回示例

{
+    "state": 200,
+    "result": {
+        "tid": "EF123D3"
+    },
+    "msg": "保存成功"
+}
+

# 删除H5数据

  • DELETE /visible/h5/del

先决条件:

  • 用户已登陆
参数名 是否必选 类型 说明
tid true string H5页面唯一id

返回示例

{
+    "state": 200,
+    "result": [
+        {
+            "tid": "EF123D3",
+            "name": "test页面"
+        },
+        {
+            "tid": "EF123D6",
+            "name": "test2页面"
+        }
+    ],
+    "msg": "删除成功"
+}
+

# H5表单数据管理

# 保存表单数据

  • POST /vip/h5/form/post
参数名 是否必选 类型 说明
tid(query) true string H5页面唯一id
formData(body) true array H5页面表单数据

返回示例

{
+    "state": 200,
+    "result": null,
+    "msg": "表单提交成功"
+}
+

# 批量导入表单数据

  • POST /vip/h5/form/import
参数名 是否必选 类型 说明
tid(query) true string H5页面唯一id
formData(body) true array H5页面表单数据集合

返回示例

{
+    "state": 200,
+    "result": null,
+    "msg": "批量导入成功"
+}
+

# 删除表单数据

  • DELETE /vip/h5/form/del
参数名 是否必选 类型 说明
tid true string H5页面唯一id
ID true string 表单专属id

返回示例

{
+    "state": 200,
+    "result": null,
+    "msg": "删除成功"
+}
+

# 模版管理

# 获取模版库

  • GET /visible/tpls/free

返回示例

{
+    "state": 200,
+    "result": [
+        {
+            "img": "http://xxx/uploads/tpl_175adabd8dd.jpg",
+            "name": "合作模版",
+            "tid": "B73349B6"
+        }
+    ]
+}
+

# 保存模版

  • POST /visible/tpl/save

先决条件:

  • 用户已登陆
参数名 是否必选 类型 说明
name true string H5模版名称
cate true string H5模版分类
img false string H5模版封面图
tpl true array H5模版数据
pageConfig false object H5模版全局配置

返回示例

{
+    "state": 200,
+    "result": {
+        "tid": "B73349B6"
+    },
+    "msg": "保存成功"
+}
+

# 删除模版

  • DELETE /visible/tpl/del

先决条件:

  • 用户已登陆
参数名 是否必选 类型 说明
tid true string H5模版id

返回示例

{
+    "state": 200,
+    "result": null,
+    "msg": "删除成功"
+}
+

# 文件上传

# 数据统计

# 数据大盘接口

# 页面埋点

Last Updated: 6/1/2021, 10:15:17 AM
+ + + diff --git a/doc-dist/zh/guide/deployDev/deploy.html b/doc-dist/zh/guide/deployDev/deploy.html new file mode 100644 index 00000000..c7265eb0 --- /dev/null +++ b/doc-dist/zh/guide/deployDev/deploy.html @@ -0,0 +1,43 @@ + + + + + + h5-dooring + + + + + + + + +

私有化部署需要获取4个核心项目包, 包括

  • H5编辑器(h5_plus)
  • H5基座(h5)
  • Dooring管理后台(Dooring-Admin)
  • 服务端项目(Server)

获取以上四个核心源码工程需要满足商业授权协议, 具体可联系作者徐小夕 (opens new window)

# 部署架构图

H5-dooring部署

部署流程如下:

  1. 下载4个源码工程, 安装依赖(npm install 或 yarn)
  2. 打包3个前端工程至server的static目录下
  3. server下本地运行 yarn startnpm start 启动服务端进行本地测试
  4. 打包服务端代码, yarn build 生成 dist 目录, 建议使用 pm2nodejs服务的负载均衡, 运行 pm2 start dist/index.js启动生产环境代码

也可以将以上步骤集成到gitlab等CI, CD服务中, 进行自动化打包发布, 或者采用docker进行容器化部署.

# 步骤3.4详细流程

# 1. 安装项目环境

服务器需提前安装node和pm2, 将本项目上传至服务器指定的目录(如/www/activity), 进入项目目录, 执行:

npm install
+

# 2. 修改项目域名

进入./src/config/index.js, 修改staticPath变量为当前服务器域名/ip, 如http://xxx.comhttp://xxx.com:8080(如非80端口)

# 3. 编译项目

执行npm run build编译项目, 生成dist目录

# 4. 运行项目

在项目根目录执行 pm2 start dist/index.js启动项目

Last Updated: 4/20/2021, 10:19:10 PM
+ + + diff --git a/doc-dist/zh/guide/deployDev/deploy_v6.html b/doc-dist/zh/guide/deployDev/deploy_v6.html new file mode 100644 index 00000000..8165168b --- /dev/null +++ b/doc-dist/zh/guide/deployDev/deploy_v6.html @@ -0,0 +1,43 @@ + + + + + + h5-dooring + + + + + + + + +

私有化部署需要获取3个核心项目包, 包括

  • 可视化大屏编辑器(v6.dooring/)
  • v6管理后台(v6.dooring/manage)
  • 服务端项目(v6.dooring/server)

获取以上三个核心源码工程需要满足商业授权协议, 具体可参考商业授权方案 (opens new window)

# 部署架构图

H5-dooring部署

部署流程如下:

  1. 下载3个源码工程, 安装依赖(npm install 或 yarn)
  2. 打包2个前端工程至server的static目录下
  3. server下本地运行 yarn startnpm start 启动服务端进行本地测试
  4. 打包服务端代码, yarn build 生成 dist 目录, 建议使用 pm2nodejs服务的负载均衡, 运行 pm2 start dist/index.js启动生产环境代码

也可以将以上步骤集成到gitlab等CI, CD服务中, 进行自动化打包发布, 或者采用docker进行容器化部署.

# 步骤3.4详细流程

# 1. 安装项目环境

服务器需提前安装node和pm2, 将本项目上传至服务器指定的目录(如/www/activity), 进入项目目录, 执行:

npm install
+

# 2. 修改项目域名

进入./src/config/index.js, 修改staticPath变量为当前服务器域名/ip, 如http://xxx.comhttp://xxx.com:8080(如非80端口)

# 3. 编译项目

执行npm run build编译项目, 生成dist目录

# 4. 运行项目

在项目根目录执行 pm2 start dist/index.js启动项目

Last Updated: 5/8/2021, 12:34:13 AM
+ + + diff --git a/doc-dist/zh/guide/deployDev/dir.html b/doc-dist/zh/guide/deployDev/dir.html new file mode 100644 index 00000000..d496dbb2 --- /dev/null +++ b/doc-dist/zh/guide/deployDev/dir.html @@ -0,0 +1,44 @@ + + + + + + h5-dooring + + + + + + + + +

服务端主要是我们的server工程, 数据主要存放在server/public下, 具体数据指代含义我们接下来会详细介绍.

  • bed 存放图片库中的分类图片, 私有化部署的用户可以直接在此处扩充图片(更好的建议是直接存到第三方图床)
  • h5 用户保存的h5数据文件, 一个页面对应一个json文件
  • h5_tpl 平台保存的模版数据文件夹 +
    • xxx.json 模版页面文件
    • tpls.json 模版库中的模版列表数据, 可以手动清空
  • h5_vip 会员数据目录 +
    • form 会员制作的含表单页面的表单收集数据
    • view.json 用户浏览量数据
    • vip.json 会员列表数据
    • vipCard.json 会员订单数据(暂时无用, 可删除)
  • image.json 图片库, 主要用来渲染页面的图片库数据
  • city.json 省市3级联动数据, 为表单组件提供数据支持
Last Updated: 5/13/2021, 9:56:54 PM
+ + + diff --git a/doc-dist/zh/guide/deployDev/form.html b/doc-dist/zh/guide/deployDev/form.html new file mode 100644 index 00000000..7fae23e0 --- /dev/null +++ b/doc-dist/zh/guide/deployDev/form.html @@ -0,0 +1,66 @@ + + + + + + h5-dooring + + + + + + + + +

# 获取Form组件的值数据

Form表单组件在editor目录下src/components/BasicShop/BasicComponents位置.

Form组件是Dooring的核心组件之一, 内部的值通过Form组件内部收集, 当然我们也可以暴露出来让其他交互或者组件消费(需要一定的二次开发), 关键代码如下:

req.post(`/vip/h5/form/post${location.search}`, {...fields, ...formData}).then(res => {
+    if(type === 'link') {
+    // 解析参数
+    let isPre = content.indexOf('?') < 0;
+    let query = {dr: Date.now(), from: urlParmas.tid};
+    try {
+        query = params ? {...JSON.parse(params), ...query} : query;
+    }catch(err) {
+        console.log(err)
+    }
+
+    // 跳转
+    if(content.indexOf('http') > -1) {
+        window.location.href = content + urlencode(query, isPre);
+        return
+    }
+
+    history.push(`/m?tid=${content}&${urlencode(query)}`);
+    }else if(type === 'modal') {
+    setVisible(true);
+    }else if(type === 'code') {
+    eval(content);
+    }
+})
+

数据收集提交的核心代码在Form组件的第56-149行, 也就是submit方法. 表单组件收集到的数据统一存放在代码中的formData字段, 所以要想在其他地方获取用户表单填写的值, 我们只需要手动将formData传递出去, 或者挂载到全局(如window对象, localStorage, indexedDB等).

Last Updated: 6/1/2021, 10:15:17 AM
+ + + diff --git a/doc-dist/zh/guide/deployDev/https.html b/doc-dist/zh/guide/deployDev/https.html new file mode 100644 index 00000000..9e317a19 --- /dev/null +++ b/doc-dist/zh/guide/deployDev/https.html @@ -0,0 +1,71 @@ + + + + + + h5-dooring + + + + + + + + +

目前H5-Dooring全面支持https部署, 具体方式方案如下.

# 前端工程

我们需要在前端工程中的src/pages/document.ejs中的head中添加如下代码:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+

目的是强制将页面中HTTP请求转换为HTTPS.

# 服务器工程

# 1. 申请SSL证书

# 2. 生成 server.csr+server.key

# 3. 通过证书链生成.pem文件

#server中的src/index.js按如下方式修改

// 忽略部分无影响代码
+import https from 'https';
+
+// 你的ssl存放路径, 建议直接放在server目录下
+const filePath = path.join(__dirname, '../ssl')
+
+// 启动逻辑
+async function start() {
+    // https配置
+    const httpsOptions = {
+        key: fs.readFileSync(path.join(filePath, '3536084__doctopia.com.cn.key')),  //ssl文件路径
+        cert: fs.readFileSync(path.join(filePath, '3536084__doctopia.com.cn.pem'))  //ssl文件路径
+    };
+	
+	// https服务
+    const server = https.createServer(httpsOptions, app.callback());
+
+    const io = require('socket.io')(server);
+	
+	// 忽略其他无影响代码
+	
+	// https默认443, 这里我们可以走公共配置
+	server.listen(443, () => {
+	    console.log(`服务器地址:${config.staticPath}`)
+	});
+}
+
+start()
+
Last Updated: 1/31/2021, 1:25:02 AM
+ + + diff --git a/doc-dist/zh/guide/deployDev/log.html b/doc-dist/zh/guide/deployDev/log.html new file mode 100644 index 00000000..e2f70368 --- /dev/null +++ b/doc-dist/zh/guide/deployDev/log.html @@ -0,0 +1,38 @@ + + + + + + h5-dooring + + + + + + + + +

# 更新日志

# 1.99

  1. 添加数据源功能
  2. 视频组件支持封面图
  3. 优化页面DSL结构, 降低了jsonSchema体积30%-50%
  4. 官网优化
  5. 管理后台替换logo, 部分文案信息
  6. 添加图片列表组件
  7. 轮播图支持一键绑定数据源

# 1.98

  1. 编辑器功能区添加更多折叠下拉框, 优化头部界面
  2. 添加数据源入口和界面
  3. 模版库优化, 剔除无用模版, 累计60+模版
  4. 入口页添加赞助墙
  5. 升级视频组件, 支持弹幕, 截屏, 模式设置等功能
  6. 文件上传路径兼容window服务器本地化部署

# 1.96

  1. 修复首页推荐项目外链地址和站内文案
  2. 替换Dooring网站logo
  3. 优化ios8以下访问H5时可能出现的页面卡顿问题
  4. 图片上传组件添加svg, gif图片格式支持
  5. 后台管理系统添加一键跳编辑器按钮
  6. 服务端编辑侧路由加固
  7. 文件上传组件添加自定义上传文档,支持七牛云,腾讯云,阿里oss等第三方图床方式

# 1.95

  1. dooring文档添加更新日志模块
  2. dooring增报错监控函数, 提供一键清空缓存按钮和自动重载功能
  3. 新增电商商品H5模版
  4. 页面配置增加背景模式和背景重复
  5. 表单添加字段名配置项

# 1.94

  1. 转盘组件支持转盘交互功能(跳转链接/打开弹窗/自定义代码)
  2. 添加网站拦截, 防止页面误关导致页面无法保存
  3. 优化页面控制条组件样式
  4. 按钮组件添加组件动画
  5. 图片组件添加组件动画
  6. 媒体组件icon优化
  7. 全局错误监控组件添加一键清除缓存功能

# 1.93

  1. 上线源码下载功能
  2. 服务端支持下载源码服务和下载次数限制
  3. 界面部分文案优化
  4. 出码基座优化
  5. 抽奖组件支持抽奖后自定义交互(弹窗/链接/自定义代码)

# 1.92

  1. 修复背景图预览适配问题
  2. 转盘组件支持中奖后自定义交互/弹窗/自定义代码
  3. 界面局部调整
  4. 后台管理表单数据支持多键查询
  5. 可视化大屏柱状图组件支持实时数据请求
Last Updated: 6/1/2021, 10:15:17 AM
+ + + diff --git a/doc-dist/zh/guide/deployDev/oss.html b/doc-dist/zh/guide/deployDev/oss.html new file mode 100644 index 00000000..354faa5d --- /dev/null +++ b/doc-dist/zh/guide/deployDev/oss.html @@ -0,0 +1,121 @@ + + + + + + h5-dooring + + + + + + + + +

H5-Dooring全面支持第三方对象存储服务, 我们以七牛云对象存储为例.

# 前端上传文件到oss

首先我们需要在第三方对象储存服务中配置对应的服务和域名. 其次安装对应的sdk, 如七牛云sdk:

import * as qiniu from 'qiniu-js';
+

其次我们修改h5_plus工程的Upload组件, 详细地址为src/core/FormComponents/Upload.

修改内容如下:

const fileName = file.name
+const suffix = '自定义文件后缀'
+const putExtra = {
+    fname: fileName,
+    params: {}
+}
+const uid = +new Date() + uuid(16, 8) + suffix
+// 使用七牛云上传api, 前提是提前在前端拿到对应的ticket, 可以通过请求的方式获取
+const observe = qiniu.upload(file, uid, this.state.qnToken.ticket, putExtra, {})
+observe.subscribe(() => {}, null, (res) => {
+    // 拼接路径
+    const url = `${this.state.qnToken.domain}/${res.key}`;
+    // 存库
+    const fileList = [{ uid, name: fileName, status: 'done', url }];
+    this.setState({
+        curImgUrl: url,
+        fileList
+    })
+    this.props.onChange && this.props.onChange(fileList)
+})
+

其他oss服务类似, 如果不清楚如何配置, 可以在H5-Dooring官网 (opens new window)中找到我们.

# 如何接入任何第三方上传服务

首先我们的上传组件Upload使用内部的服务接口来实现上传功能, 所以需要给组件的action赋值, 如下:

<Upload
+  fileList={fileList}
+  onPreview={this.handlePreview}
+  onChange={this.handleChange}
+  onRemove={this.handleRemove}
+  name="file"
+  listType="picture-card"
+  className={styles.avatarUploader}
+  action={sdk_upload_api || action}
+  withCredentials={withCredentials}
+  headers={{
+    'x-requested-with': localStorage.getItem('user') || '',
+    'authorization': localStorage.getItem('token') || '',
+    ...headers
+  }}
+  beforeUpload={this.handleBeforeUpload}
+>
+  {fileList.length >= maxLen ? null : uploadButton}
+</Upload>
+

如果需要集成第三方oss, 如七牛云, 阿里oss等, 我们需要将Upload组件的action属性设置为空字符串, 其次删除onChange属性, 上传操作统一在beforeUpload中进行. 案例如下:

<Upload
+    fileList={fileList}
+    action=""
+    onPreview={this.handlePreview}
+    onRemove={this.onRemove}
+    name="file"
+    listType="picture-card"
+    className={styles.avatarUploader}
+    headers={{...headers}}
+    beforeUpload={this.handleBeforeUpload}
+>
+    {fileList.length >= maxLen ? null : uploadButton}
+</Upload>
+

自定义上传的核心逻辑放在了beforeUpload上. 我们具体看看beforeUpload这个方法如何实现.

handleBeforeUpload = (file:RcFile) => {
+    // 1. 限制图片类型
+    const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png' || file.type === 'image/jpg' || file.type === 'image/gif';
+    if (!isJpgOrPng) {
+      message.error('只能上传格式为jpeg/png/gif的图片');
+    }
+    // 限制上传文件大小
+    const isLt3M = file.size / 1024 / 1024 < 3;
+    if (!isLt3M) {
+      message.error('图片必须小于3MB!');
+    }
+    if(isJpgOrPng && isLt3M) {
+      // 3. 正常上传逻辑
+      const fileName = file.name
+      // 3.1 调用oss接口, 将图片上传oss
+      // 3.2 将接口返回的url信息, 组装成fileList数据结构, 并更新state
+      const fileList = [{ uid, name: fileName, status: 'done', url }];
+        this.setState({
+          curImgUrl: url,
+          fileList,
+        })
+      // 3.3 将数据传给上层保存
+      this.props.onChange && this.props.onChange(fileList)
+    }
+    return isJpgOrPng && isLt3M;
+  }
+
Last Updated: 6/1/2021, 10:15:17 AM
+ + + diff --git a/doc-dist/zh/guide/directoryStructure.html b/doc-dist/zh/guide/directoryStructure.html new file mode 100644 index 00000000..a5e2be89 --- /dev/null +++ b/doc-dist/zh/guide/directoryStructure.html @@ -0,0 +1,327 @@ + + + + + + h5-dooring + + + + + + + + +
src
+├─ assets
+│  ├─ header.png
+│  ├─ form.png
+│  ├─ footer.png
+│  ├─ icon.png
+│  ├─ picture.png
+├─ components
+│  ├─ BackTop
+│  │  └─ index.js
+│  ├─ BasicShop
+│  │  ├─ BasicComponents
+│  │  │  ├─ Card
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Carousel
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Footer
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Form
+│  │  │  │  ├─ BaseForm.tsx
+│  │  │  │  ├─ BasePopoverForm.tsx
+│  │  │  │  ├─ baseForm.less
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Header
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Icon
+│  │  │  │  ├─ icon.ts
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Image
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ LongText
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Nav
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Notice
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Qrcode
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ RichText
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Text
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ WhiteTpl
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ XButton
+│  │  │  │  ├─ Modal.tsx
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ schema.ts
+│  │  │  └─ template.ts
+│  │  ├─ MediaComponents
+│  │  │  ├─ Audio
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Calendar
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Map
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Video
+│  │  │  │  ├─ index.css
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ schema.ts
+│  │  │  └─ template.ts
+│  │  ├─ ShopComponents
+│  │  │  ├─ CardLabel
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Coupons
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ List
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Tab
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ ZhuanLan
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ schema.ts
+│  │  │  └─ template.ts
+│  │  ├─ VisualComponents
+│  │  │  ├─ Area
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Chart
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Funnel
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Line
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Pie
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ Radar
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ WordCloud
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ XProgress
+│  │  │  │  ├─ index.less
+│  │  │  │  ├─ index.tsx
+│  │  │  │  ├─ schema.ts
+│  │  │  │  └─ template.ts
+│  │  │  ├─ schema.ts
+│  │  │  └─ template.ts
+│  │  ├─ common.ts
+│  │  └─ schema.ts
+│  ├─ Calibration
+│  │  ├─ index.less
+│  │  └─ index.tsx
+│  ├─ ErrorBundaries
+│  │  └─ index.tsx
+│  ├─ LoadingCp
+│  │  └─ index.tsx
+│  ├─ ModalTpl
+│  │  ├─ cate.js
+│  │  ├─ index.js
+│  │  └─ index.less
+│  └─ Zan
+│     ├─ index.less
+│     └─ index.tsx
+├─ core
+│  ├─ FormComponents
+│  │  ├─ CardPicker
+│  │  │  ├─ index.less
+│  │  │  └─ index.tsx
+│  │  ├─ Color
+│  │  │  ├─ index.less
+│  │  │  └─ index.tsx
+│  │  ├─ DataList
+│  │  │  ├─ editorModal.tsx
+│  │  │  ├─ index.less
+│  │  │  └─ index.tsx
+│  │  ├─ FormItems
+│  │  │  ├─ EditorModal.tsx
+│  │  │  ├─ FormItems.tsx
+│  │  │  ├─ formItems.less
+│  │  │  └─ index.tsx
+│  │  ├─ InteractionData
+│  │  │  ├─ index.less
+│  │  │  └─ index.tsx
+│  │  ├─ MutiText
+│  │  │  ├─ index.less
+│  │  │  └─ index.tsx
+│  │  ├─ Pos
+│  │  │  ├─ index.less
+│  │  │  └─ index.tsx
+│  │  ├─ Table
+│  │  │  ├─ index.less
+│  │  │  └─ index.tsx
+│  │  ├─ Upload
+│  │  │  ├─ index.less
+│  │  │  └─ index.tsx
+│  │  ├─ XEditor
+│  │  │  ├─ index.less
+│  │  │  └─ index.tsx
+│  │  └─ types.ts
+│  ├─ DynamicEngine.tsx
+│  ├─ FormRender.tsx
+│  ├─ ViewRender.tsx
+│  └─ viewRender.less
+├─ layouts
+│  ├─ __tests__
+│  │  └─ index.test.js
+│  ├─ index.less
+│  └─ index.tsx
+├─ pages
+│  ├─ __tests__
+│  │  └─ index.test.js
+│  ├─ editor
+│  │  ├─ components
+│  │  │  ├─ AvatorGroup
+│  │  │  │  └─ index.tsx
+│  │  │  ├─ CanvasControl
+│  │  │  │  ├─ index.less
+│  │  │  │  └─ index.tsx
+│  │  │  └─ Header
+│  │  │     ├─ index.js
+│  │  │     └─ index.less
+│  │  ├─ models
+│  │  │  └─ editorModal.js
+│  │  ├─ services
+│  │  │  └─ editorService.js
+│  │  ├─ Container.js
+│  │  ├─ SourceBox.tsx
+│  │  ├─ TargetBox.js
+│  │  ├─ index.js
+│  │  ├─ index.less
+│  │  └─ preview.tsx
+│  ├─ help
+│  │  ├─ index.less
+│  │  └─ index.tsx
+│  ├─ home
+│  │  ├─ index.less
+│  │  └─ index.tsx
+│  ├─ ide
+│  │  ├─ _draft.tsx
+│  │  ├─ index.less
+│  │  └─ index.tsx
+│  ├─ login
+│  │  ├─ index.less
+│  │  └─ index.tsx
+│  ├─ document.ejs
+│  └─ mobileTip.js
+├─ utils
+│  ├─ req.ts
+│  └─ tool.ts
+├─ app.tsx
+└─ global.css
+
+
Last Updated: 1/17/2021, 7:12:02 PM
+ + + diff --git a/doc-dist/zh/guide/functionRealization/download.html b/doc-dist/zh/guide/functionRealization/download.html new file mode 100644 index 00000000..5e262980 --- /dev/null +++ b/doc-dist/zh/guide/functionRealization/download.html @@ -0,0 +1,52 @@ + + + + + + h5-dooring + + + + + + + + +

# 下载源码

目前Dooring已支持下载源码功能, 我们可以使用编辑器页面头部的下载按钮来实现下载用户搭建的H5源码. +foo

源码下载之后是完整的React项目源代码, 开发人员可以直接根据自己的业务需求来二次编写代码来满足不同的业务需求.

在拿到源码之后, 我们需要进入项目, 使用npm或者yarn安装项目依赖, 如下:

npm install
+// 或者
+yarn
+

之后我们就可以本地运行项目了:

npm start
+// 或者
+yarn start
+

因为源码工程采用umi3.0搭建, 所以代码配置可以参考umi3.0规范, 比如路由配置, history模式, 打包路径等, 二次开发完成之后, 我们可以执行:

npm run build
+// 或者
+yarn build
+

将项目打包成html, 以便部署到任何服务器中.

Last Updated: 5/18/2021, 9:49:30 PM
+ + + diff --git a/doc-dist/zh/guide/functionRealization/machinePreview.html b/doc-dist/zh/guide/functionRealization/machinePreview.html new file mode 100644 index 00000000..408bb540 --- /dev/null +++ b/doc-dist/zh/guide/functionRealization/machinePreview.html @@ -0,0 +1,42 @@ + + + + + + h5-dooring + + + + + + + + +

# 真机预览

真机预览和网页预览的流程类似,工作流程如下:

foo

由于不同机型预览的效果有些许不同,最终效果以实际看到的为主。

Last Updated: 1/17/2021, 9:57:34 PM
+ + + diff --git a/doc-dist/zh/guide/functionRealization/pagePreview.html b/doc-dist/zh/guide/functionRealization/pagePreview.html new file mode 100644 index 00000000..7803077c --- /dev/null +++ b/doc-dist/zh/guide/functionRealization/pagePreview.html @@ -0,0 +1,42 @@ + + + + + + h5-dooring + + + + + + + + +

# 网页预览

我们看看网页预览的工作流程:

foo

前端预览界面:

foo
Last Updated: 1/17/2021, 9:57:34 PM
+ + + diff --git a/doc-dist/zh/guide/functionRealization/revocation.html b/doc-dist/zh/guide/functionRealization/revocation.html new file mode 100644 index 00000000..99920811 --- /dev/null +++ b/doc-dist/zh/guide/functionRealization/revocation.html @@ -0,0 +1,63 @@ + + + + + + h5-dooring + + + + + + + + +

# 撤销/重做

撤销重做我们主要使用了redux-undo这个库,配合Dva使用,具体使用方法参考如下操作:

import { createLogger } from 'redux-logger';
+import { message } from 'antd';
+import undoable, { StateWithHistory } from 'redux-undo';
+import { Reducer, AnyAction } from 'redux';
+
+export const dva = {
+  config: {
+    onAction: createLogger(),
+    onError(e: Error) {
+      message.error(e.message, 3);
+    },
+    onReducer: (reducer: Reducer<any, AnyAction>) => {
+      let undoReducer = undoable(reducer);
+      return function(state: StateWithHistory<any>, action: AnyAction) {
+        let newState = undoReducer(state, action);
+        let router = newState.present.router ? newState.present.router : newState.present.routing;
+        return { ...newState, router: router };
+      };
+    },
+  },
+};
+

以上我们就实现了全局配置redux-undo,在撤销重做按钮中我们就可以触发对应的方法来实现撤销重做的功能,其次我们还使用了redux-logger来实现redux的日志输出。

Last Updated: 1/17/2021, 9:57:34 PM
+ + + diff --git a/doc-dist/zh/guide/functionRealization/saveJson.html b/doc-dist/zh/guide/functionRealization/saveJson.html new file mode 100644 index 00000000..dbf283ab --- /dev/null +++ b/doc-dist/zh/guide/functionRealization/saveJson.html @@ -0,0 +1,42 @@ + + + + + + h5-dooring + + + + + + + + +

# 保存json

我们配置好H5页面之后,如果希望其他人观看,我们可以保存页面并发送链接。但是如果有多人协作的需求,比如一个H5页面可能由多个人完成,这个时候该怎么实现呢?基于已有的方案,我们可以采用socket实现多人协同编辑,但是成本比较大,所有这里我们提供了保存json的功能。

我们可以将配置好的页面导出为json,发送给另一个人,这样另一个人通过导入该json文件可以实时看到当前的页面,这里还是依靠我们的页面渲染引擎viewEngine。实现思路也很简单,可以在github[https://github.com/MrXujiang/h5-Dooring (opens new window)]上参考体验。

Last Updated: 1/17/2021, 9:57:34 PM
+ + + diff --git a/doc-dist/zh/guide/functionRealization/screenshot.html b/doc-dist/zh/guide/functionRealization/screenshot.html new file mode 100644 index 00000000..5ceef222 --- /dev/null +++ b/doc-dist/zh/guide/functionRealization/screenshot.html @@ -0,0 +1,42 @@ + + + + + + h5-dooring + + + + + + + + +

# 截图功能

截图功能这里我们主要使用了dom-to-image这个库,来将html转化为图片,并进行分享。

foo
Last Updated: 1/17/2021, 9:57:34 PM
+ + + diff --git a/doc-dist/zh/guide/functionRealization/templateLibrary.html b/doc-dist/zh/guide/functionRealization/templateLibrary.html new file mode 100644 index 00000000..270f8cd6 --- /dev/null +++ b/doc-dist/zh/guide/functionRealization/templateLibrary.html @@ -0,0 +1,42 @@ + + + + + + h5-dooring + + + + + + + + +

# 模板库实现思路

我们目前开放了模板库功能,一方面我们会定期配置行业模板,另一个方面Dooring还支持用户自己配置模板,可以一键保存到云端供用户使用。我们也可以将模板变成自己的页面共享给其他人。实现方式本质上是保存用户的配置信息,上传到服务器中做存储,在后台提供了管理模板的模块,可以修改,删除模板。如下图所示:

# 模板前台展示:

foo

# 模板后台展示:

foo
Last Updated: 1/17/2021, 9:57:34 PM
+ + + diff --git a/doc-dist/zh/guide/index.html b/doc-dist/zh/guide/index.html new file mode 100644 index 00000000..f123dee4 --- /dev/null +++ b/doc-dist/zh/guide/index.html @@ -0,0 +1,38 @@ + + + + + + h5-dooring + + + + + + + + +
foo

H5-Dooring 是一款功能强大,高可扩展的 H5 可视化页面配置解决方案,致力于提供一套简单方便、专业可靠、无限可能的 H5 落地页最佳实践。

# 功能特点

🎉 可扩展, Dooring 实现了较为完整的业务闭环,并使其模块化,编辑器内部功能接口也全部可以对接不同服务端语言,实现了标准化接口。此外还支持自定义组件,二次开发,设计模板等能力,以满足功能和跨领域的分层需求。

📦 开箱即用, Dooring 内置了表单渲染器、页面渲染器、动态加载内核等,仅需一套源码即可上手开发。并且还提供针对 React 的定制插件,内涵丰富的功能,可满足日常 80%的页面制作需求。

🚀 大量自研, 包含整个编辑器架构、组件设计、文档、请求库封装,后台管理系统等,满足日常项目的周边需求。

🚄 与时俱进, 在满足需求的同时,我们也不会停止对新技术的探索。比如更多营销组件、业务功能,后台管理可视化,PC 页面编辑器,数据大屏定制等等。

# 为什么选择 Dooring

目前github已超过 3000+star,上线 2 个月累计 500+用户使用,解决完善了 100+问题,后续会持续迭代,更新,自研优秀,先进的 lowcode/nocode 解决方案。

Last Updated: 3/22/2021, 10:16:35 AM
+ + + diff --git a/doc-dist/zh/guide/introduced.html b/doc-dist/zh/guide/introduced.html new file mode 100644 index 00000000..1d043dc9 --- /dev/null +++ b/doc-dist/zh/guide/introduced.html @@ -0,0 +1,42 @@ + + + + + + h5-dooring + + + + + + + + +
foo

注:灰色部分还未实现,正在更新中...

Last Updated: 1/17/2021, 7:12:02 PM
+ + + diff --git a/doc-dist/zh/guide/startedQuickly.html b/doc-dist/zh/guide/startedQuickly.html new file mode 100644 index 00000000..68751faa --- /dev/null +++ b/doc-dist/zh/guide/startedQuickly.html @@ -0,0 +1,44 @@ + + + + + + 快速上手 | h5-dooring + + + + + + + + +

# 快速上手

# 从零搭建一个H5表单页面

# 环境准备

首先得有 node,并确保 node 版本是 10.13 或以上,(mac/win 下推荐使用 n 来管理 node 版本)

$ node-v
+v10.13.0
+

注:推荐使用 yarn 管理 npm 依赖

# 源码工程

h5_plus(编辑器项目) admin(管理后台) Server(服务端项目)

本地拿到源码工程之后先安装对应依赖,在对应工程目录里执行 yarn 命令,等待依赖安装完成。

# 本地运行

1.首先本地启动 server,在 src 目录的 index.js 中修改跨域白名单,改为本地的 ip+端口,如http://192.167.0.3:8000

2.其次本地启动 h5_plus,启动完毕在浏览器打开对应的启动地址即可查看,如下:

foo
Last Updated: 5/8/2021, 12:34:13 AM
+ + + diff --git a/doc/zh/guide/deployDev/deploy.md b/doc/zh/guide/deployDev/deploy.md index 76173df4..b375f268 100644 --- a/doc/zh/guide/deployDev/deploy.md +++ b/doc/zh/guide/deployDev/deploy.md @@ -11,7 +11,7 @@ - Dooring管理后台(Dooring-Admin) - 服务端项目(Server) -获取以上四个核心源码工程需要满足商业授权协议, 具体可参考[商业授权方案](http://h5.dooring.cn/h5_plus/price) +获取以上四个核心源码工程需要满足商业授权协议, 具体可联系作者[徐小夕](http://h5.dooring.cn/uploads/WechatIMG3_1758e9753e2.jpeg) ### 部署架构图 diff --git a/doc/zh/guide/deployDev/log.md b/doc/zh/guide/deployDev/log.md index c000be08..79852d5d 100644 --- a/doc/zh/guide/deployDev/log.md +++ b/doc/zh/guide/deployDev/log.md @@ -7,6 +7,17 @@ ### 更新日志 +#### 1.99 + +1. 添加数据源功能 +2. 视频组件支持封面图 +3. 优化页面DSL结构, 降低了jsonSchema体积30%-50% +4. 官网优化 +5. 管理后台替换logo, 部分文案信息 +6. 添加图片列表组件 +7. 轮播图支持一键绑定数据源 + + #### 1.98 1. 编辑器功能区添加更多折叠下拉框, 优化头部界面 diff --git a/src/materials/common.ts b/src/materials/common.ts index e225d6ce..d439d701 100644 --- a/src/materials/common.ts +++ b/src/materials/common.ts @@ -1,4 +1,4 @@ -import { INumberConfigType, TNumberDefaultType } from '../PanelComponents/FormEditor/types'; +import { INumberConfigType, TNumberDefaultType } from '@/components/FormComponents/types'; ///提取所有公用设置,传来时加到这里,约定公用类型 //公用配置需满足条件,所有组件初始值统一,否则不放公用设置