2 Star 0 Fork 0

iAdminOS / iAdminOS-www

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
index.html 75.11 KB
一键复制 编辑 原始数据 按行查看 历史
dogstar 提交于 2021-02-23 17:50 . up
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731
<html style="--banner-display:block; --banner-height-normal:50px; --banner-height-small:75px;" lang="zh-hans">
<head>
<link rel="preload" href="https://unpkg.com/docsearch.js@2.4.1/dist/cdn/docsearch.min.js" as="script" />
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" href="./favicon.ico" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<link rel="apple-touch-icon" href="/logo-180x180.png" />
<meta name="apple-mobile-web-app-title" content="React" />
<style data-href="/styles.480c14a7ef65ccbc9fe7.css">/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],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{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-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}html{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow-x:hidden;position:relative}*{margin:0;padding:0}*,:after,:before{box-sizing:inherit}a{color:inherit;text-decoration:none}ol,ul{list-style:none}img{display:inline-block;vertical-align:top}code,pre{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.searchbox{display:inline-block;position:relative;width:200px;height:32px!important;white-space:nowrap;box-sizing:border-box;visibility:visible!important}.searchbox .algolia-autocomplete{display:block;width:100%;height:100%}.searchbox__wrapper{width:100%;height:100%;z-index:999;position:relative}.searchbox__input{display:inline-block;box-sizing:border-box;transition:box-shadow .4s ease,background .4s ease;border:0;border-radius:16px;box-shadow:inset 0 0 0 1px #ccc;background:#fff!important;padding:0 26px 0 32px;width:100%;height:100%;vertical-align:middle;white-space:normal;font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}.searchbox__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.searchbox__input:active,.searchbox__input:focus{outline:0;box-shadow:inset 0 0 0 1px #aaa;background:#fff}.searchbox__input::-webkit-input-placeholder{color:#aaa}.searchbox__input:-ms-input-placeholder{color:#aaa}.searchbox__input::-ms-input-placeholder{color:#aaa}.searchbox__input::placeholder{color:#aaa}.searchbox__submit{position:absolute;top:0;margin:0;border:0;border-radius:16px 0 0 16px;background-color:rgba(69,142,225,0);padding:0;width:32px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-ms-user-select:none;user-select:none;right:inherit;left:0}.searchbox__submit:before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:""}.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}.searchbox__submit:focus{outline:0}.searchbox__submit svg{width:14px;height:14px;vertical-align:middle;fill:#6d7e96}.searchbox__reset{display:block;position:absolute;top:8px;right:8px;margin:0;border:0;background:none;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-ms-user-select:none;user-select:none;fill:rgba(0,0,0,.5)}.searchbox__reset.hide{display:none}.searchbox__reset:focus{outline:0}.searchbox__reset svg{display:block;margin:4px;width:8px;height:8px}.searchbox__input:valid~.searchbox__reset{display:block;animation-name:sbx-reset-in;animation-duration:.15s}@keyframes sbx-reset-in{0%{transform:translate3d(-20%,0,0);opacity:0}to{transform:none;opacity:1}}.algolia-autocomplete .ds-dropdown-menu:before{display:block;position:absolute;content:"";width:14px;height:14px;background:#373940;z-index:1000;top:-7px;border-top:1px solid #373940;border-right:1px solid #373940;transform:rotate(-45deg);border-radius:2px}.algolia-autocomplete .ds-dropdown-menu{box-shadow:0 1px 0 0 rgba(0,0,0,.2),0 2px 3px 0 rgba(0,0,0,.1)}@media (min-width:601px){.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{right:0!important;left:inherit!important}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}.algolia-autocomplete .ds-dropdown-menu{top:-6px;border-radius:4px;margin:6px 0 0;padding:0;text-align:left;height:auto;position:relative;background:transparent;border:none;z-index:999;max-width:600px;min-width:500px}}@media (max-width:600px){.algolia-autocomplete .ds-dropdown-menu{z-index:100;position:fixed!important;top:40px!important;left:auto!important;right:1rem!important;width:600px;max-width:calc(100% - 2rem);max-height:calc(100% - 5rem);display:block}.algolia-autocomplete .ds-dropdown-menu:before{right:6rem}}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:1000}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion{cursor:pointer}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{position:relative;border-radius:4px;overflow:auto;padding:0}.algolia-autocomplete .ds-dropdown-menu *{box-sizing:border-box}.algolia-autocomplete .algolia-docsearch-suggestion{position:relative;padding:0;overflow:hidden}.algolia-autocomplete .ds-cursor .algolia-docsearch-suggestion--wrapper{background:#f1f1f1;box-shadow:inset -2px 0 0 #61dafb}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{background:#ffe564;padding:.1em .05em}.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight{color:inherit;background:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{padding:0 0 1px;background:inherit;box-shadow:inset 0 -2px 0 0 rgba(69,142,225,.8);color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--content{display:block;float:right;width:70%;position:relative;padding:5.33333px 0 5.33333px 10.66667px;cursor:pointer}.algolia-autocomplete .algolia-docsearch-suggestion--content:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ececec;left:-1px}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{position:relative;display:none;font-size:14px;letter-spacing:.08em;font-weight:700;background-color:#373940;text-transform:uppercase;color:#fff;margin:0;padding:5px 8px}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{background-color:#fff;width:100%;float:left;padding:8px 0 0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:left;width:30%;display:none;text-align:right;position:relative;padding:5.33333px 10.66667px;color:#777;font-size:.9em;word-wrap:break-word}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ececec;right:0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column .algolia-docsearch-suggestion--highlight{background-color:inherit;color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-autocomplete .algolia-docsearch-suggestion--title{margin-bottom:4px;color:#02060c;font-size:.9em;font-weight:700}.algolia-autocomplete .algolia-docsearch-suggestion--text{display:block;line-height:1.2em;font-size:.85em;color:#63676d;padding-right:2px}.algolia-autocomplete .algolia-docsearch-suggestion--no-results{width:100%;padding:8px 0;text-align:center;font-size:1.2em;background-color:#373940;margin-top:-8px}.algolia-autocomplete .algolia-docsearch-suggestion--no-results .algolia-docsearch-suggestion--text{color:#fff;margin-top:4px}.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion code{padding:1px 5px;font-size:90%;border:none;color:#222;background-color:#ebebeb;border-radius:3px;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:none}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary .algolia-docsearch-suggestion--subcategory-column{display:block}.algolia-autocomplete .algolia-docsearch-footer{background-color:#fff;width:100%;height:30px;z-index:2000;float:right;font-size:0;line-height:0}.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 130 18"><defs><linearGradient id="a" x1="-36.87%" x2="129.43%" y1="134.94%" y2="-27.7%"><stop stop-color="%2300AEFF" offset="0%"/><stop stop-color="%233369E7" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path fill="url(%23a)" d="M59.4.02h13.3a2.37 2.37 0 0 1 2.38 2.37V15.6a2.37 2.37 0 0 1-2.38 2.36H59.4a2.37 2.37 0 0 1-2.38-2.36V2.38A2.37 2.37 0 0 1 59.4.02z"/><path fill="%23FFF" d="M66.26 4.56c-2.82 0-5.1 2.27-5.1 5.08 0 2.8 2.28 5.07 5.1 5.07 2.8 0 5.1-2.26 5.1-5.07 0-2.8-2.28-5.07-5.1-5.07zm0 8.65c-2 0-3.6-1.6-3.6-3.56 0-1.97 1.6-3.58 3.6-3.58 1.98 0 3.6 1.6 3.6 3.58a3.58 3.58 0 0 1-3.6 3.57zm0-6.4v2.66c0 .07.08.13.15.1l2.4-1.24c.04-.02.06-.1.03-.14a2.96 2.96 0 0 0-2.46-1.5c-.06 0-.1.05-.1.1zm-3.33-1.96l-.3-.3a.78.78 0 0 0-1.12 0l-.36.36a.77.77 0 0 0 0 1.1l.3.3c.05.05.13.04.17 0 .2-.25.4-.5.6-.7.23-.23.46-.43.7-.6.07-.04.07-.1.03-.16zm5-.8V3.4a.78.78 0 0 0-.78-.78h-1.83a.78.78 0 0 0-.78.78v.63c0 .07.06.12.14.1a5.74 5.74 0 0 1 1.58-.22c.52 0 1.04.07 1.54.2a.1.1 0 0 0 .13-.1z"/><path fill="%23182359" d="M102.16 13.76c0 1.46-.37 2.52-1.12 3.2-.75.67-1.9 1-3.44 1-.56 0-1.74-.1-2.67-.3l.34-1.7c.78.17 1.82.2 2.36.2.86 0 1.48-.16 1.84-.5.37-.36.55-.88.55-1.57v-.35a6.37 6.37 0 0 1-.84.3 4.15 4.15 0 0 1-1.2.17 4.5 4.5 0 0 1-1.6-.28 3.38 3.38 0 0 1-1.26-.82 3.74 3.74 0 0 1-.8-1.35c-.2-.54-.3-1.5-.3-2.2 0-.67.1-1.5.3-2.06a3.92 3.92 0 0 1 .9-1.43 4.12 4.12 0 0 1 1.45-.92 5.3 5.3 0 0 1 1.94-.37c.7 0 1.35.1 1.97.2a15.86 15.86 0 0 1 1.6.33v8.46zm-5.95-4.2c0 .9.2 1.88.6 2.3.4.4.9.62 1.53.62.34 0 .66-.05.96-.15a2.75 2.75 0 0 0 .73-.33V6.7a8.53 8.53 0 0 0-1.42-.17c-.76-.02-1.36.3-1.77.8-.4.5-.62 1.4-.62 2.23zm16.13 0c0 .72-.1 1.26-.32 1.85a4.4 4.4 0 0 1-.9 1.53c-.38.42-.85.75-1.4.98-.54.24-1.4.37-1.8.37-.43 0-1.27-.13-1.8-.36a4.1 4.1 0 0 1-1.4-.97 4.5 4.5 0 0 1-.92-1.52 5.04 5.04 0 0 1-.33-1.84c0-.72.1-1.4.32-2 .22-.6.53-1.1.92-1.5.4-.43.86-.75 1.4-.98a4.55 4.55 0 0 1 1.78-.34 4.7 4.7 0 0 1 1.8.34c.54.23 1 .55 1.4.97.38.42.68.92.9 1.5.23.6.35 1.3.35 2zm-2.2 0c0-.92-.2-1.7-.6-2.22-.38-.54-.94-.8-1.64-.8-.72 0-1.27.26-1.67.8-.4.54-.58 1.3-.58 2.22 0 .93.2 1.56.6 2.1.38.54.94.8 1.64.8s1.25-.26 1.65-.8c.4-.55.6-1.17.6-2.1zm6.97 4.7c-3.5.02-3.5-2.8-3.5-3.27L113.57.92l2.15-.34v10c0 .25 0 1.87 1.37 1.88v1.8zm3.77 0h-2.15v-9.2l2.15-.33v9.54zM119.8 3.74c.7 0 1.3-.58 1.3-1.3 0-.7-.58-1.3-1.3-1.3-.73 0-1.3.6-1.3 1.3 0 .72.58 1.3 1.3 1.3zm6.43 1c.7 0 1.3.1 1.78.27.5.18.88.42 1.17.73.28.3.5.74.6 1.18.13.46.2.95.2 1.5v5.47a25.24 25.24 0 0 1-1.5.25c-.67.1-1.42.15-2.25.15a6.83 6.83 0 0 1-1.52-.16 3.2 3.2 0 0 1-1.18-.5 2.46 2.46 0 0 1-.76-.9c-.18-.37-.27-.9-.27-1.44 0-.52.1-.85.3-1.2.2-.37.48-.67.83-.9a3.6 3.6 0 0 1 1.23-.5 7.07 7.07 0 0 1 2.2-.1l.83.16v-.35c0-.25-.03-.48-.1-.7a1.5 1.5 0 0 0-.3-.58c-.15-.18-.34-.3-.58-.4a2.54 2.54 0 0 0-.92-.17c-.5 0-.94.06-1.35.13-.4.08-.75.16-1 .25l-.27-1.74c.27-.1.67-.18 1.2-.28a9.34 9.34 0 0 1 1.65-.14zm.18 7.74c.66 0 1.15-.04 1.5-.1V10.2a5.1 5.1 0 0 0-2-.1c-.23.03-.45.1-.64.2a1.17 1.17 0 0 0-.47.38c-.13.17-.18.26-.18.52 0 .5.17.8.5.98.32.2.74.3 1.3.3zM84.1 4.8c.72 0 1.3.08 1.8.26.48.17.87.42 1.15.73.3.3.5.72.6 1.17.14.45.2.94.2 1.47v5.48a25.24 25.24 0 0 1-1.5.26c-.67.1-1.42.14-2.25.14a6.83 6.83 0 0 1-1.52-.16 3.2 3.2 0 0 1-1.18-.5 2.46 2.46 0 0 1-.76-.9c-.18-.38-.27-.9-.27-1.44 0-.53.1-.86.3-1.22.2-.36.5-.65.84-.88a3.6 3.6 0 0 1 1.24-.5 7.07 7.07 0 0 1 2.2-.1c.26.03.54.08.84.15v-.35c0-.24-.03-.48-.1-.7a1.5 1.5 0 0 0-.3-.58c-.15-.17-.34-.3-.58-.4a2.54 2.54 0 0 0-.9-.15c-.5 0-.96.05-1.37.12-.4.07-.75.15-1 .24l-.26-1.75c.27-.08.67-.17 1.18-.26a8.9 8.9 0 0 1 1.66-.15zm.2 7.73c.65 0 1.14-.04 1.48-.1v-2.17a5.1 5.1 0 0 0-1.98-.1c-.24.03-.46.1-.65.18a1.17 1.17 0 0 0-.47.4c-.12.17-.17.26-.17.52 0 .5.18.8.5.98.32.2.75.3 1.3.3zm8.68 1.74c-3.5 0-3.5-2.82-3.5-3.28L89.45.92 91.6.6v10c0 .25 0 1.87 1.38 1.88v1.8z"/><path fill="%231D3657" d="M5.03 11.03c0 .7-.26 1.24-.76 1.64-.5.4-1.2.6-2.1.6-.88 0-1.6-.14-2.17-.42v-1.2c.36.16.74.3 1.14.38.4.1.78.15 1.13.15.5 0 .88-.1 1.12-.3a.94.94 0 0 0 .35-.77.98.98 0 0 0-.33-.74c-.22-.2-.68-.44-1.37-.72-.72-.3-1.22-.62-1.52-1C.23 8.27.1 7.82.1 7.3c0-.65.22-1.17.7-1.55.46-.37 1.08-.56 1.86-.56.76 0 1.5.16 2.25.48l-.4 1.05c-.7-.3-1.32-.44-1.87-.44-.4 0-.73.08-.94.26a.9.9 0 0 0-.33.72c0 .2.04.38.12.52.08.15.22.3.42.4.2.14.55.3 1.06.52.58.24 1 .47 1.27.67.27.2.47.44.6.7.12.26.18.57.18.92zM9 13.27c-.92 0-1.64-.27-2.16-.8-.52-.55-.78-1.3-.78-2.24 0-.97.24-1.73.72-2.3.5-.54 1.15-.82 2-.82.78 0 1.4.25 1.85.72.46.48.7 1.14.7 1.97v.67H7.35c0 .58.17 1.02.46 1.33.3.3.7.47 1.24.47.36 0 .68-.04.98-.1a5.1 5.1 0 0 0 .98-.33v1.02a3.87 3.87 0 0 1-.94.32 5.72 5.72 0 0 1-1.08.1zm-.22-5.2c-.4 0-.73.12-.97.38s-.37.62-.42 1.1h2.7c0-.48-.13-.85-.36-1.1-.23-.26-.54-.38-.94-.38zm7.7 5.1l-.26-.84h-.05c-.28.36-.57.6-.86.74-.28.13-.65.2-1.1.2-.6 0-1.05-.16-1.38-.48-.32-.32-.5-.77-.5-1.34 0-.62.24-1.08.7-1.4.45-.3 1.14-.47 2.07-.5l1.02-.03V9.2c0-.37-.1-.65-.27-.84-.17-.2-.45-.28-.82-.28-.3 0-.6.04-.88.13a6.68 6.68 0 0 0-.8.33l-.4-.9a4.4 4.4 0 0 1 1.05-.4 4.86 4.86 0 0 1 1.08-.12c.76 0 1.33.18 1.7.5.4.33.6.85.6 1.56v4h-.9zm-1.9-.87c.47 0 .83-.13 1.1-.38.3-.26.43-.62.43-1.08v-.52l-.76.03c-.6.03-1.02.13-1.3.3s-.4.45-.4.82c0 .26.08.47.24.6.16.16.4.23.7.23zm7.57-5.2c.25 0 .46.03.62.06l-.12 1.18a2.38 2.38 0 0 0-.56-.06c-.5 0-.92.16-1.24.5-.3.32-.47.75-.47 1.27v3.1h-1.27V7.23h1l.16 1.05h.05c.2-.36.45-.64.77-.85a1.83 1.83 0 0 1 1.02-.3zm4.12 6.17c-.9 0-1.58-.27-2.05-.8-.47-.52-.7-1.27-.7-2.25 0-1 .24-1.77.73-2.3.5-.54 1.2-.8 2.12-.8.63 0 1.2.1 1.7.34l-.4 1c-.52-.2-.96-.3-1.3-.3-1.04 0-1.55.68-1.55 2.05 0 .67.13 1.17.38 1.5.26.34.64.5 1.13.5a3.23 3.23 0 0 0 1.6-.4v1.1a2.53 2.53 0 0 1-.73.28 4.36 4.36 0 0 1-.93.08zm8.28-.1h-1.27V9.5c0-.45-.1-.8-.28-1.02-.18-.23-.47-.34-.88-.34-.53 0-.9.16-1.16.48-.25.3-.38.85-.38 1.6v2.94h-1.26V4.8h1.26v2.12c0 .34-.02.7-.06 1.1h.08a1.76 1.76 0 0 1 .72-.67c.3-.16.66-.24 1.07-.24 1.43 0 2.15.74 2.15 2.2v3.86zM42.2 7.1c.74 0 1.32.28 1.73.82.4.53.62 1.3.62 2.26 0 .97-.2 1.73-.63 2.27-.42.54-1 .82-1.75.82s-1.33-.27-1.75-.8h-.08l-.23.7h-.94V4.8h1.26v2l-.02.64-.03.56h.05c.4-.6 1-.9 1.78-.9zm-.33 1.04c-.5 0-.88.15-1.1.45-.22.3-.34.8-.35 1.5v.08c0 .72.12 1.24.35 1.57.23.32.6.48 1.12.48.44 0 .78-.17 1-.53.24-.35.36-.87.36-1.53 0-1.35-.47-2.03-1.4-2.03zm3.24-.92h1.4l1.2 3.37c.18.47.3.92.36 1.34h.04l.18-.72 1.37-4H51l-2.53 6.73c-.46 1.23-1.23 1.85-2.3 1.85-.3 0-.56-.03-.83-.1v-1c.2.05.4.08.65.08.6 0 1.03-.36 1.28-1.06l.22-.56-2.4-5.94z"/></g></svg>');background-repeat:no-repeat;background-position:50%;background-size:100%;overflow:hidden;text-indent:-9000px;width:110px;height:100%;display:block;margin-left:auto;margin-right:5px}</style>
<meta name="generator" content="Gatsby 2.24.63" />
<style id="glamor-styles">.css-1tv5sxm,[data-css-1tv5sxm]{flex:1 0 auto;-webkit-margin-top:60px;-webkit-flex:1 0 auto;}@media (min-width: 780px) and (max-width: 1279px){.css-1tv5sxm,[data-css-1tv5sxm]{margin-top:0px;}}@media (max-width: 779px){.css-1tv5sxm,[data-css-1tv5sxm]{margin-top:40px;}}.css-190hivd,[data-css-190hivd]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;min-height:calc(100vh - 40px);-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-184keb2,[data-css-184keb2]{color:inherit;margin-left:10px;font-weight:700;font-size:20px;line-height:20px;}@media (max-width: 979px){.css-184keb2,[data-css-184keb2]{font-size:16px;margin-top:1px;}}@media (max-width: 599px){.css-184keb2,[data-css-184keb2]{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0;}}.css-4ivotw,[data-css-4ivotw]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;margin-right:10px;height:100%;align-items:center;color:#61dafb;-webkit-box-align:center;-webkit-align-items:center;}.css-4ivotw:focus,[data-css-4ivotw]:focus{outline:0;color:#ffffff;}@media (min-width: 600px){.css-4ivotw,[data-css-4ivotw]{width:calc(100% / 6);}}@media (max-width: 599px){.css-4ivotw,[data-css-4ivotw]{flex:0 0 auto;-webkit-flex:0 0 auto;}}.css-79txt3,[data-css-79txt3]{flex:1;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:row;align-items:stretch;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;height:100%;scrollbar-width:none;-ms-overflow-style:none;-webkit-flex:1;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:stretch;-webkit-align-items:stretch;}.css-79txt3::-webkit-scrollbar,[data-css-79txt3]::-webkit-scrollbar{display:none;}@media (min-width: 0px) and (max-width: 599px){.css-79txt3,[data-css-79txt3]{flex-grow:1;width:auto;-webkit-flex-grow:1;}}@media (max-width: 599px){.css-79txt3,[data-css-79txt3]{mask-image:-webkit-linear-gradient(to right, transparent, black 20px, black 90%, transparent); mask-image: -moz-linear-gradient(to right, transparent, black 20px, black 90%, transparent); mask-image: linear-gradient(to right, transparent, black 20px, black 90%, transparent);-webkit-mask-image:-webkit-linear-gradient(to right, transparent, black 20px, black 90%, transparent); -webkit-mask-image: -moz-linear-gradient(to right, transparent, black 20px, black 90%, transparent); -webkit-mask-image: linear-gradient(to right, transparent, black 20px, black 90%, transparent);}}.css-zvm479,[data-css-zvm479]{padding:5px 10px;white-space:nowrap;font-size:14px;}.css-zvm479:hover,[data-css-zvm479]:hover{color:#61dafb;}.css-zvm479:focus,[data-css-zvm479]:focus{outline:0;background-color:#373940;border-radius:15px;}@media (max-width: 779px){.css-zvm479,[data-css-zvm479]{display:none;}}.css-1rsw1pf,[data-css-1rsw1pf]{margin-left:0.5rem;}@media (max-width: 779px){.css-1rsw1pf,[data-css-1rsw1pf]{display:none;}}.css-1upvlu3,[data-css-1upvlu3]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;padding:5px 10px;white-space:nowrap;font-size:14px;-webkit-box-align:center;-webkit-align-items:center;}.css-1upvlu3:hover,[data-css-1upvlu3]:hover{color:#61dafb;}.css-1upvlu3:focus,[data-css-1upvlu3]:focus{outline:0;background-color:#373940;border-radius:15px;}.css-6oo1gu,[data-css-6oo1gu]{padding:5px 10px;margin-left:10px;white-space:nowrap;font-size:14px;}.css-6oo1gu:hover,[data-css-6oo1gu]:hover{color:#61dafb;}.css-6oo1gu:focus,[data-css-6oo1gu]:focus{outline:0;background-color:#373940;border-radius:15px;}@media (max-width: 979px){.css-6oo1gu,[data-css-6oo1gu]{display:none;}}.css-nypjs8,[data-css-nypjs8]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;justify-content:flex-end;width:auto;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;}.css-iiezwn,[data-css-iiezwn]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:row;align-items:center;height:60px;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}@media (min-width: 600px) and (max-width: 1279px){.css-iiezwn,[data-css-iiezwn]{height:50px;}}@media (max-width: 599px){.css-iiezwn,[data-css-iiezwn]{height:40px;}}.css-19rsoyj,[data-css-19rsoyj]{background-color:#20232a;color:#ffffff;position:fixed;z-index:1;width:100%;top:0;left:0;}@media print{.css-19rsoyj,[data-css-19rsoyj]{display:none;}}.css-1loxuh3,[data-css-1loxuh3]{background-color:hsl(222, 14%, 10%);}.css-tctv7l,[data-css-tctv7l]{padding-left:20px;padding-right:20px;margin-left:auto;margin-right:auto;}@media (min-width: 780px){.css-tctv7l,[data-css-tctv7l]{width:90%;}}@media (min-width: 1340px){.css-tctv7l,[data-css-tctv7l]{max-width:1260px;}}.css-w4tulb,[data-css-w4tulb]{width:auto;height:35px;}.css-t4a06n,[data-css-t4a06n]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;margin-right:1rem;}@media (max-width: 779px){.css-t4a06n,[data-css-t4a06n]{display:none;}}.css-1e8x600,[data-css-1e8x600]{margin-right:0.5rem;}.css-1og5p3u,[data-css-1og5p3u]{color:#61dafb;}.css-15dgx4v,[data-css-15dgx4v]{color:#ddd;transition:color 200ms ease-out;-webkit-transition:color 200ms ease-out;-moz-transition:color 200ms ease-out;}.css-15dgx4v:hover,[data-css-15dgx4v]:hover{color:#ffffff;}.css-lcvzl3,[data-css-lcvzl3]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;}@media (max-width: 599px){.css-lcvzl3,[data-css-lcvzl3]{flex-direction:column;line-height:1.5;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}}.css-s3feo0,[data-css-s3feo0]{width:10px;height:10px;}.css-w59gkz,[data-css-w59gkz]{background:transparent;padding:0.25rem 0.5rem;border-radius:0.25rem;border:0;background-color:hsl(222, 14%, 30%);color:#ddd;cursor:pointer;transition:color 200ms ease-out;margin-left:2rem;font-size:14px;-webkit-transition:color 200ms ease-out;-moz-transition:color 200ms ease-out;}.css-w59gkz:hover,[data-css-w59gkz]:hover{color:#ffffff;}.css-p5tzjw,[data-css-p5tzjw]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:flex-end;flex-grow:1;-webkit-box-pack:end;-webkit-justify-content:flex-end;-webkit-flex-grow:1;}.css-lpiycv,[data-css-lpiycv]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;height:100%;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-o6savx,[data-css-o6savx]{display:var(--banner-display);height:var(--banner-height-normal);font-size:18px;}@media (max-width: 979px){.css-o6savx,[data-css-o6savx]{font-size:16px;}}@media (max-width: 599px){.css-o6savx,[data-css-o6savx]{height:var(--banner-height-small);font-size:14px;}}.css-1ookbab,[data-css-1ookbab]{vertical-align:-2px;display:inline-block;margin-left:0.5rem;color:inherit;}.css-hobwqm,[data-css-hobwqm]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:row;align-items:center;color:#ffffff;transition:color 0.2s ease-out;padding-left:15px;padding-right:15px;font-weight:300;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-webkit-transition:color 0.2s ease-out;-moz-transition:color 0.2s ease-out;}.css-hobwqm:focus,[data-css-hobwqm]:focus{outline:0;background-color:#373940;color:#ffffff;}@media (min-width: 0px) and (max-width: 599px){.css-hobwqm,[data-css-hobwqm]{padding-left:8px;padding-right:8px;}}@media (min-width: 600px) and (max-width: 979px){.css-hobwqm,[data-css-hobwqm]{padding-left:10px;padding-right:10px;}}@media (min-width: 1280px){.css-hobwqm,[data-css-hobwqm]{padding-left:20px;padding-right:20px;font-size:18px;}.css-hobwqm:hover:not(:focus),[data-css-hobwqm]:hover:not(:focus){color:#61dafb;}}.css-7dpbpx,[data-css-7dpbpx]{width:100%;appearance:none;background:transparent;border:0;color:#ffffff;font-size:18px;font-weight:300;font-family:inherit;position:relative;padding:4px 4px 4px 29px;background-image:url(/search.svg);background-size:16px 16px;background-repeat:no-repeat;background-position-y:center;background-position-x:4px;-webkit-appearance:none;-moz-appearance:none;}.css-7dpbpx:focus,[data-css-7dpbpx]:focus{outline:0;background-color:#373940;border-radius:0.25rem;}@media (max-width: 1179px){.css-7dpbpx,[data-css-7dpbpx]{font-size:16px;width:16px;transition:width 0.2s ease, padding 0.2s ease;padding-left:16px;-webkit-transition:width 0.2s ease, padding 0.2s ease;-moz-transition:width 0.2s ease, padding 0.2s ease;}.css-7dpbpx:focus,[data-css-7dpbpx]:focus{padding-left:29px;width:8rem;outline:none;}}.css-7vmqep,[data-css-7vmqep]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex:0 0 auto;flex-direction:row;align-items:center;padding-left:0.25rem;padding-right:0.25rem;-webkit-flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}@media (max-width: 1179px){.css-7vmqep,[data-css-7vmqep]{justify-content:flex-end;margin-right:10px;-webkit-box-pack:end;-webkit-justify-content:flex-end;}}@media (min-width: 1180px){.css-7vmqep,[data-css-7vmqep]{min-width:100px;width:calc(100% / 5);}}.css-c4d79v,[data-css-c4d79v]{fill:currentColor;}.css-19vhmgv,[data-css-19vhmgv]{margin-left:5px;vertical-align:-2px;color:#6d6d6d;}.css-15lkjjo,[data-css-15lkjjo]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;flex-grow:1;flex-shrink:0;flex-basis:auto;justify-content:stretch;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-flex-grow:1;-webkit-flex-shrink:0;-webkit-flex-basis:auto;-webkit-box-pack:stretch;-webkit-justify-content:stretch;-webkit-box-align:start;-webkit-align-items:flex-start;}.css-1q9mcvr,[data-css-1q9mcvr]{flex-wrap:wrap;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;}@media (max-width: 979px){.css-1q9mcvr,[data-css-1q9mcvr]{width:100%;}}@media (min-width: 1280px){.css-1q9mcvr,[data-css-1q9mcvr]{width:calc(100% / 3 * 2);padding-left:40px;}}.css-1izr7si,[data-css-1izr7si]{max-width:160px;height:auto;}.css-1yy5aal,[data-css-1yy5aal]{color:#999;padding-top:15px;}.css-1tq073i,[data-css-1tq073i]{padding-top:40px;display:block !important;}@media (min-width: 1280px){.css-1tq073i,[data-css-1tq073i]{width:calc(100% / 3);order:-1;-webkit-order:-1;}}@media (min-width: 980px){.css-1tq073i,[data-css-1tq073i]{order:-1;width:calc(100% / 3);-webkit-order:-1;}}@media (max-width: 979px){.css-1tq073i,[data-css-1tq073i]{text-align:center;width:100%;padding-top:40px;}}.css-17njq4x,[data-css-17njq4x]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:row;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;}.css-vn0yrr,[data-css-vn0yrr]{background-color:#20232a;color:#ffffff;padding-top:10px;padding-bottom:50px;}@media (min-width: 2000px){.css-vn0yrr,[data-css-vn0yrr]{padding-top:40px;}}@media print{.css-vn0yrr,[data-css-vn0yrr]{display:none;}}.css-1m3wp4q,[data-css-1m3wp4q]{display:-webkit-inline-box; display: -moz-inline-box; display: -ms-inline-flexbox; display: -webkit-inline-flex; display: inline-flex;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-12bsqfj,[data-css-12bsqfj]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;align-items:flex-start;width:50%;padding-top:40px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;}@media (min-width: 2000px){.css-12bsqfj,[data-css-12bsqfj]{padding-top:0;width:25%;}}.css-krwajx,[data-css-krwajx]{color:#999;font-size:14px;font-weight:700;line-height:3;text-transform:uppercase;text-align:start;letter-spacing:0.08em;}.css-8l81zy,[data-css-8l81zy]{line-height:2;}.css-8l81zy:hover,[data-css-8l81zy]:hover{color:#61dafb;}.css-83uoqv,[data-css-83uoqv]{vertical-align:-2px;display:inline-block;margin-left:5px;color:#6d6d6d;}.css-15weewl,[data-css-15weewl]{line-height:25px;}.css-15weewl .gatsby-highlight,[data-css-15weewl] .gatsby-highlight{margin-top:25px;margin-left:-30px;margin-right:-30px;margin-bottom:25px;padding-left:15px;padding-right:15px;}.css-15weewl a:not(.anchor):not(.gatsby-resp-image-link),[data-css-15weewl] a:not(.anchor):not(.gatsby-resp-image-link){background-color:rgba(187,239,253,0.3);border-bottom:1px solid rgba(0,0,0,0.2);color:#1a1a1a;}.css-15weewl a:not(.anchor):not(.gatsby-resp-image-link):hover,[data-css-15weewl] a:not(.anchor):not(.gatsby-resp-image-link):hover{background-color:#bbeffd;border-bottom-color:#1a1a1a;}.css-15weewl > p:first-child,[data-css-15weewl] > p:first-child{font-size:18px;font-weight:300;color:#6d6d6d;}.css-15weewl > p:first-child a,[data-css-15weewl] > p:first-child a, .css-15weewl > p:first-child strong, [data-css-15weewl] > p:first-child strong{font-weight:400;}.css-15weewl p,[data-css-15weewl] p{margin-top:30px;font-size:17px;line-height:1.7;max-width:42em;}.css-15weewl p:first-of-type,[data-css-15weewl] p:first-of-type{margin-top:15px;}.css-15weewl p:first-child,[data-css-15weewl] p:first-child{margin-top:0;}.css-15weewl h3 + p,[data-css-15weewl] h3 + p, .css-15weewl h3 + p:first-of-type, [data-css-15weewl] h3 + p:first-of-type{margin-top:20px;}.css-15weewl p > code,[data-css-15weewl] p > code, .css-15weewl li > code, [data-css-15weewl] li > code{background:rgba(255,229,100,0.2);color:#1a1a1a;}.css-15weewl p > code,[data-css-15weewl] p > code, .css-15weewl li > code, [data-css-15weewl] li > code, .css-15weewl p > a > code, [data-css-15weewl] p > a > code, .css-15weewl li > a > code, [data-css-15weewl] li > a > code{padding:0 3px;font-size:0.94em;word-break:break-word;}.css-15weewl hr,[data-css-15weewl] hr{height:1px;margin-bottom:-1px;border:none;border-bottom:1px solid #ececec;margin-top:40px;}.css-15weewl hr:first-child,[data-css-15weewl] hr:first-child{margin-top:0;}.css-15weewl h1,[data-css-15weewl] h1{line-height:1.2;}.css-15weewl h2::before,[data-css-15weewl] h2::before{content:" ";display:block;border-bottom:1px solid #ececec;padding-top:44px;margin-bottom:40px;}.css-15weewl h2,[data-css-15weewl] h2{line-height:1.2;}.css-15weewl h2:first-child::before,[data-css-15weewl] h2:first-child::before{content:" ";display:block;border-bottom:0;padding-top:40px;margin-top:-80px;}.css-15weewl hr + h2,[data-css-15weewl] hr + h2{border-top:0;margin-top:0;}.css-15weewl h3::before,[data-css-15weewl] h3::before{content:" ";display:block;padding-top:90px;margin-top:-45px;}.css-15weewl h2 + h3::before,[data-css-15weewl] h2 + h3::before, .css-15weewl h2 + h3:first-of-type::before, [data-css-15weewl] h2 + h3:first-of-type::before{content:" ";display:block;padding-top:60px;margin-top:-30px;}.css-15weewl h4::before,[data-css-15weewl] h4::before{content:" ";display:block;padding-top:100px;margin-top:-50px;}.css-15weewl h4,[data-css-15weewl] h4{font-size:20px;color:#6d6d6d;line-height:1.3;font-weight:400;}.css-15weewl h4 + p,[data-css-15weewl] h4 + p{margin-top:20px;}.css-15weewl ol,[data-css-15weewl] ol, .css-15weewl ul, [data-css-15weewl] ul{margin-top:20px;font-size:16px;color:#1a1a1a;padding-left:20px;}.css-15weewl ol p,[data-css-15weewl] ol p, .css-15weewl ul p, [data-css-15weewl] ul p, .css-15weewl ol p:first-of-type, [data-css-15weewl] ol p:first-of-type, .css-15weewl ul p:first-of-type, [data-css-15weewl] ul p:first-of-type{font-size:16px;margin-top:0;line-height:1.2;}.css-15weewl ol li,[data-css-15weewl] ol li, .css-15weewl ul li, [data-css-15weewl] ul li{margin-top:10px;}.css-15weewl ol li.button-newapp,[data-css-15weewl] ol li.button-newapp, .css-15weewl ul li.button-newapp, [data-css-15weewl] ul li.button-newapp{margin-top:0;}.css-15weewl ol ol,[data-css-15weewl] ol ol, .css-15weewl ul ol, [data-css-15weewl] ul ol, .css-15weewl ol ul, [data-css-15weewl] ol ul, .css-15weewl ul ul, [data-css-15weewl] ul ul{margin-left:20px;margin-top:10px;}.css-15weewl img,[data-css-15weewl] img{max-width:100%;}.css-15weewl ol,[data-css-15weewl] ol{list-style:decimal;}.css-15weewl ul,[data-css-15weewl] ul{list-style:disc;}.css-15weewl blockquote,[data-css-15weewl] blockquote{background-color:rgba(255,229,100,0.3);border-left-color:#ffe564;border-left-width:9px;border-left-style:solid;padding:20px 45px 20px 26px;margin-bottom:30px;margin-top:20px;margin-left:-30px;margin-right:-30px;}.css-15weewl blockquote p,[data-css-15weewl] blockquote p{margin-top:15px;}.css-15weewl blockquote p:first-of-type,[data-css-15weewl] blockquote p:first-of-type{font-weight:700;margin-top:0;}.css-15weewl blockquote p:nth-of-type(2),[data-css-15weewl] blockquote p:nth-of-type(2){margin-top:0;}.css-15weewl blockquote .gatsby-highlight,[data-css-15weewl] blockquote .gatsby-highlight{margin-left:0;}.css-15weewl .gatsby-highlight + blockquote,[data-css-15weewl] .gatsby-highlight + blockquote{margin-top:40px;}.css-15weewl .gatsby-highlight + h4::before,[data-css-15weewl] .gatsby-highlight + h4::before{content:" ";display:block;padding-top:85px;margin-top:-60px;}@media (max-width: 599px){.css-15weewl .gatsby-highlight,[data-css-15weewl] .gatsby-highlight{margin-left:-20px;margin-right:-20px;border-radius:0;}.css-15weewl h3,[data-css-15weewl] h3{overflow-wrap:break-word;word-break:break-word;}.css-15weewl blockquote,[data-css-15weewl] blockquote{margin-left:-20px;margin-right:-20px;}}@media (min-width: 1280px){.css-15weewl > p:first-child,[data-css-15weewl] > p:first-child{font-size:24px;}.css-15weewl h1,[data-css-15weewl] h1{font-size:60px;}.css-15weewl h2,[data-css-15weewl] h2{font-size:35px;}.css-15weewl h3,[data-css-15weewl] h3{font-size:25px;line-height:1.3;}}@media (max-width: 979px){.css-15weewl p,[data-css-15weewl] p{font-size:16px;margin-top:25px;}.css-15weewl h2,[data-css-15weewl] h2{font-size:20px;}}@media (min-width: 0px) and (max-width: 599px){.css-15weewl h1,[data-css-15weewl] h1{font-size:30px;}}@media (min-width: 600px) and (max-width: 1279px){.css-15weewl h1,[data-css-15weewl] h1{font-size:45px;}}.css-159p4b7,[data-css-159p4b7]{color:#61dafb;text-align:center;margin:0;font-size:45px;letter-spacing:0.01em;}@media (min-width: 0px) and (max-width: 599px){.css-159p4b7,[data-css-159p4b7]{font-size:30px;}}@media (min-width: 1280px){.css-159p4b7,[data-css-159p4b7]{font-size:60px;}}.css-1s44ra,[data-css-1s44ra]{padding-top:15px;text-align:center;font-size:24px;letter-spacing:0.01em;font-weight:200;}@media (min-width: 0px) and (max-width: 599px){.css-1s44ra,[data-css-1s44ra]{font-size:16px;max-width:12em;margin-left:auto;margin-right:auto;}}@media (min-width: 1280px){.css-1s44ra,[data-css-1s44ra]{padding-top:20px;font-size:30px;}}.css-v4xx2e,[data-css-v4xx2e]{padding-top:40px;flex-wrap:wrap;justify-content:center;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;-webkit-box-pack:center;-webkit-justify-content:center;}@media (min-width: 1280px){.css-v4xx2e,[data-css-v4xx2e]{padding-top:65px;}}.css-13azwyo,[data-css-13azwyo]{position:relative;}.css-1ihkopo,[data-css-1ihkopo]{padding-top:45px;padding-bottom:10px;}@media (min-width: 600px){.css-1ihkopo,[data-css-1ihkopo]{padding-top:60px;padding-bottom:70px;}}@media (min-width: 1280px){.css-1ihkopo,[data-css-1ihkopo]{padding-top:95px;padding-bottom:85px;max-width:1500px;margin-left:auto;margin-right:auto;position:relative;}.css-1ihkopo::before,[data-css-1ihkopo]::before{content:" ";position:absolute;top:0;left:0;bottom:0;right:0;}}.css-17t02fm,[data-css-17t02fm]{background-color:#282c34;color:#ffffff;}.css-1xm4gxl.css-1xm4gxl,[data-css-1xm4gxl][data-css-1xm4gxl]{margin-bottom:20px;color:#6d6d6d;padding-top:0;font-weight:300;font-size:20px;}@media (min-width: 1280px){.css-1xm4gxl.css-1xm4gxl,[data-css-1xm4gxl][data-css-1xm4gxl]{font-size:24px;}}.css-1vcfx3l,[data-css-1vcfx3l]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;flex:0 1 33%;margin-left:40px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-flex:0 1 33%;}.css-1vcfx3l:first-of-type,[data-css-1vcfx3l]:first-of-type{margin-left:0;}@media (max-width: 779px){.css-1vcfx3l,[data-css-1vcfx3l]{display:inline-block;vertical-align:top;margin-left:0;white-space:normal;width:75%;margin-right:20px;padding-bottom:40px;}.css-1vcfx3l:first-of-type,[data-css-1vcfx3l]:first-of-type{margin-left:10px;margin-top:0;}}.css-5uoymd,[data-css-5uoymd]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;}@media (max-width: 779px){.css-5uoymd,[data-css-5uoymd]{display:block;white-space:nowrap;}}.css-18jayfr,[data-css-18jayfr]{margin-top:20px;margin-bottom:15px;}@media (min-width: 780px){.css-18jayfr,[data-css-18jayfr]{margin-top:60px;margin-bottom:65px;}}@media (max-width: 779px){.css-18jayfr,[data-css-18jayfr]{margin-top:0;margin-bottom:0;overflow-x:auto;padding-top:30px;-webkit-overflow-scrolling:touch;position:relative;mask-image:-webkit-linear-gradient(to right, transparent, white 10px, white 90%, transparent); mask-image: -moz-linear-gradient(to right, transparent, white 10px, white 90%, transparent); mask-image: linear-gradient(to right, transparent, white 10px, white 90%, transparent);-webkit-mask-image:-webkit-linear-gradient(to right, transparent, white 10px, white 90%, transparent); -webkit-mask-image: -moz-linear-gradient(to right, transparent, white 10px, white 90%, transparent); -webkit-mask-image: linear-gradient(to right, transparent, white 10px, white 90%, transparent);}}.css-gw4hsb,[data-css-gw4hsb]{height:1px;margin-bottom:-1px;border:none;border-bottom:1 solid #ececec;}.css-17jiu04.css-17jiu04,[data-css-17jiu04][data-css-17jiu04]{margin-bottom:20px;}.css-11zf7qr,[data-css-11zf7qr]{margin-top:20px;margin-bottom:15px;}@media (min-width: 780px){.css-11zf7qr,[data-css-11zf7qr]{margin-top:60px;margin-bottom:65px;}}.css-19z06ao,[data-css-19z06ao]{flex-wrap:wrap;justify-content:center;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;-webkit-box-pack:center;-webkit-justify-content:center;}.css-14dg8zm,[data-css-14dg8zm]{background:#282c34;color:#ffffff;padding-top:45px;padding-bottom:25px;}.css-g1v4tt,[data-css-g1v4tt]{width:100%;margin-top:var(--banner-height-normal);}@media (max-width: 599px){.css-g1v4tt,[data-css-g1v4tt]{margin-top:var(--banner-height-small);}}.css-1k80xq8,[data-css-1k80xq8]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:row;flex-grow:0;flex-shrink:1;flex-basis:auto;justify-content:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-flex-grow:0;-webkit-flex-shrink:1;-webkit-flex-basis:auto;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-1ezwgyu:first-child,[data-css-1ezwgyu]:first-child{text-align:right;padding-right:7px;padding-left:7px;}.css-1ezwgyu:nth-child(2),[data-css-1ezwgyu]:nth-child(2){padding-right:7px;padding-left:7px;}@media (min-width: 600px) and (max-width: 1279px){.css-1ezwgyu,[data-css-1ezwgyu]{padding-left:20px;}}@media (min-width: 1280px){.css-1ezwgyu,[data-css-1ezwgyu]{padding-left:40px;}}@media (max-width: 599px){.css-1ezwgyu:first-child,[data-css-1ezwgyu]:first-child{margin-bottom:10px;}.css-1ezwgyu:nth-child(2),[data-css-1ezwgyu]:nth-child(2){margin-bottom:10px;}}@media (min-width: 600px){.css-1ezwgyu:nth-child(2),[data-css-1ezwgyu]:nth-child(2){padding-left:15px;}}.css-1053yfl,[data-css-1053yfl]{display:inline-block;font-size:16px;background-color:#61dafb;color:#000000;padding:10px 25px;white-space:nowrap;transition:background-color 0.2s ease-out;-webkit-transition:background-color 0.2s ease-out;-moz-transition:background-color 0.2s ease-out;}.css-1053yfl:hover,[data-css-1053yfl]:hover{background-color:#ffffff;}@media (min-width: 1280px){.css-1053yfl,[data-css-1053yfl]{font-size:20px;padding-top:15px;padding-bottom:15px;}}.css-13foh4g,[data-css-13foh4g]{display:inline-block;font-size:16px;color:#61dafb;transition:color 0.2s ease-out;-webkit-transition:color 0.2s ease-out;-moz-transition:color 0.2s ease-out;}.css-13foh4g:hover,[data-css-13foh4g]:hover{color:#ffffff;}@media (min-width: 1280px){.css-13foh4g,[data-css-13foh4g]{font-size:20px;}}.css-b7q1rs,[data-css-b7q1rs]{margin-left:10px;}.css-7ddkg0,[data-css-7ddkg0]{flex:0 0 33%;-webkit-flex:0 0 33%;}.css-7ddkg0 h3,[data-css-7ddkg0] h3{color:#282c34;max-width:11em;padding-top:0;}.css-7ddkg0 p,[data-css-7ddkg0] p{margin-top:15px;margin-right:40px;line-height:1.7;}@media (max-width: 1279px){.css-7ddkg0,[data-css-7ddkg0]{margin-bottom:20px;}}@media (min-width: 1280px){.css-7ddkg0 p,[data-css-7ddkg0] p{margin-top:25px;}}.css-1hlq8ls,[data-css-1hlq8ls]{margin-top:40px;}.css-1hlq8ls:first-child,[data-css-1hlq8ls]:first-child{margin-top:0;}.css-1hlq8ls .react-live,[data-css-1hlq8ls] .react-live{width:100%;}@media (min-width: 1280px){.css-1hlq8ls,[data-css-1hlq8ls]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:row;margin-top:80px;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;}}@media (max-width: 979px){.css-1hlq8ls,[data-css-1hlq8ls]{display:block;}}</style>
<script async="" src="https://www.google-analytics.com/analytics.js"></script>
<script src="https://hm.baidu.com/hm.js?c88f5803e0859af7a24814bbb4b85791"></script>
<script id="glamor-ids">
// <![CDATA[
window._glamor = ["1tv5sxm","190hivd","184keb2","4ivotw","79txt3","zvm479","1rsw1pf","1upvlu3","6oo1gu","nypjs8","iiezwn","19rsoyj","1loxuh3","tctv7l","w4tulb","t4a06n","1e8x600","1og5p3u","15dgx4v","lcvzl3","s3feo0","w59gkz","p5tzjw","lpiycv","o6savx","1ookbab","hobwqm","7dpbpx","7vmqep","c4d79v","19vhmgv","15lkjjo","1q9mcvr","1izr7si","1yy5aal","1tq073i","17njq4x","vn0yrr","1m3wp4q","12bsqfj","krwajx","8l81zy","83uoqv","15weewl","159p4b7","1s44ra","v4xx2e","13azwyo","1ihkopo","17t02fm","1xm4gxl","1vcfx3l","5uoymd","18jayfr","gw4hsb","17jiu04","11zf7qr","19z06ao","14dg8zm","g1v4tt","1k80xq8","1ezwgyu","1053yfl","13foh4g","b7q1rs","7ddkg0","1hlq8ls"]
// ]]>
</script>
<style type="text/css">
.anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
}
h1 .anchor svg,
h2 .anchor svg,
h3 .anchor svg,
h4 .anchor svg,
h5 .anchor svg,
h6 .anchor svg {
visibility: hidden;
}
h1:hover .anchor svg,
h2:hover .anchor svg,
h3:hover .anchor svg,
h4:hover .anchor svg,
h5:hover .anchor svg,
h6:hover .anchor svg,
h1 .anchor:focus svg,
h2 .anchor:focus svg,
h3 .anchor:focus svg,
h4 .anchor:focus svg,
h5 .anchor:focus svg,
h6 .anchor:focus svg {
visibility: visible;
}
/* ----------------------------gallery-box------------------------------------ */
#mainnav.active {
background: #2d2e32 !important;
transition: all .4s;
}
#mainnav {
transition: all .4s;
}
.gallery-box {
width: 100%;
overflow: hidden;
padding: 0 0 50px 0;
}
.gallery {
width: 100%;
margin: 0 auto;
}
.gallery-num {
width: 100%;
overflow: hidden;
}
.gallery-num ul {
width: 100%;
overflow: hidden;
}
.gallery-num ul li {
float: left;
width: 33%;
text-align: center;
border-right: 1px solid #666;
}
.gallery-num ul li:last-child {
border: none;
}
.gallery-num ul li h6 span.timer {
font-size: 32px;
font-family: "PingFang SC", "Microsoft Yahei", "Helvetica Neue", "Hiragino Sans GB", tahoma, arial, 宋体, sans-serif;
font-weight: bold;
color: #000;
}
.gallery-num ul li h6 span {
font-size: 30px;
color: #000;
text-transform: uppercase;
margin-left: 6px;
}
.gallery-num ul li p {
font-size: 18px;
color: #000;
margin-top: 20px;
width: 80%;
margin-left: 10%;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
ul {
padding: 0;
margin-top: 0;
margin-bottom: 1rem;
list-style-type: none;
}
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
ul.side-nav.full,
ul.side-nav.fixed {
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.08), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}
.navBox .navList{
list-style: none; /*去掉小圆点*/
width: 100%;
/* height: 100%; */
}
</style>
<script>
document.addEventListener("DOMContentLoaded", function(event) {
var hash = window.decodeURI(location.hash.replace('#', ''))
if (hash !== '') {
var element = document.getElementById(hash)
if (element) {
var offset = element.offsetTop
// Wait for the browser to finish rendering before scrolling.
setTimeout((function() {
window.scrollTo(0, offset - 0)
}), 0)
}
}
})
</script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?c88f5803e0859af7a24814bbb4b85791";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<link rel="preconnect" href="https://www.google-analytics.com" />
<link rel="dns-prefetch" href="https://www.google-analytics.com" />
<link rel="alternate" type="application/rss+xml" href="/feed.xml" />
<title>iAdminOS 开源插件化后台管理系统</title>
<link data-react-helmet="true" rel="canonical" href="https://zh-hans.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" href="https://reactjs.org/" hreflang="x-default" />
<link data-react-helmet="true" rel="alternate" hreflang="en" href="https://reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="ar" href="https://ar.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="az" href="https://az.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="es" href="https://es.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="fr" href="https://fr.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="hu" href="https://hu.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="it" href="https://it.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="ja" href="https://ja.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="ko" href="https://ko.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="mn" href="https://mn.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="pl" href="https://pl.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="pt-br" href="https://pt-br.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="ru" href="https://ru.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="tr" href="https://tr.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="uk" href="https://uk.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="zh-hans" href="https://zh-hans.reactjs.org/" />
<link data-react-helmet="true" rel="alternate" hreflang="zh-hant" href="https://zh-hant.reactjs.org/" />
<meta data-react-helmet="true" property="og:title" content="React 官方中文文档 – 用于构建用户界面的 JavaScript 库" />
<meta data-react-helmet="true" property="og:type" content="website" />
<meta data-react-helmet="true" property="og:url" content="https://zh-hans.reactjs.org/" />
<meta data-react-helmet="true" property="og:image" content="https://reactjs.org/logo-og.png" />
<meta data-react-helmet="true" property="og:description" content="A JavaScript library for building user interfaces" />
<meta data-react-helmet="true" property="fb:app_id" content="623268441017527" />
<link rel="icon" href="/favicon-32x32.png?v=f4d46f030265b4c48a05c999b8d93791" type="image/png" />
<link rel="manifest" href="/manifest.webmanifest" />
<meta name="theme-color" content="#20232a" />
<link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png?v=f4d46f030265b4c48a05c999b8d93791" />
<link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png?v=f4d46f030265b4c48a05c999b8d93791" />
<link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png?v=f4d46f030265b4c48a05c999b8d93791" />
<link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png?v=f4d46f030265b4c48a05c999b8d93791" />
<link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png?v=f4d46f030265b4c48a05c999b8d93791" />
<link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png?v=f4d46f030265b4c48a05c999b8d93791" />
<link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png?v=f4d46f030265b4c48a05c999b8d93791" />
<link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png?v=f4d46f030265b4c48a05c999b8d93791" />
<link as="script" rel="preload" href="/webpack-runtime-b2017cfbe9d68fd625a9.js" />
<link as="script" rel="preload" href="/styles-fb708593b484b04b1765.js" />
<link as="script" rel="preload" href="/framework-eb4d2c0bb77aadad79ec.js" />
<link as="script" rel="preload" href="/app-b4bc0103d69cd40ecae2.js" />
<link as="script" rel="preload" href="/fc233f00-cba3d9005c3896f6d5d4.js" />
<link as="script" rel="preload" href="/commons-907f0e21fc880d0bc872.js" />
<link as="script" rel="preload" href="/3e8f09252b6028beb8baf8cc63801156f5861675-a30b52c415707d90ab94.js" />
<link as="script" rel="preload" href="/component---src-pages-index-js-9bcbf5e2031beaccecbf.js" />
<link as="fetch" rel="preload" href="/page-data/index/page-data.json" crossorigin="anonymous" />
<link as="fetch" rel="preload" href="/page-data/app-data.json" crossorigin="anonymous" />
<style type="text/css" data-glamor=""></style>
<style id="nprogress-styles">
#nprogress {
pointer-events: none;
}
#nprogress .bar {
background: #61dafb;
position: fixed;
z-index: 1031;
top: 0;
left: 0;
width: 100%;
height: 2px;
}
#nprogress .peg {
display: block;
position: absolute;
right: 0px;
width: 100px;
height: 100%;
box-shadow: 0 0 10px #61dafb, 0 0 5px #61dafb;
opacity: 1.0;
-webkit-transform: rotate(3deg) translate(0px, -4px);
-ms-transform: rotate(3deg) translate(0px, -4px);
transform: rotate(3deg) translate(0px, -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: solid 2px transparent;
border-top-color: #61dafb;
border-left-color: #61dafb;
border-radius: 50%;
-webkit-animation: nprogress-spinner 400ms linear infinite;
animation: nprogress-spinner 400ms linear infinite;
}
.nprogress-custom-parent {
overflow: hidden;
position: relative;
}
.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
position: absolute;
}
@-webkit-keyframes nprogress-spinner {
0% {
-webkit-transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
}
}
@keyframes nprogress-spinner {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
</style>
<script async="" src="https://unpkg.com/babel-standalone@6.26.0/babel.min.js"></script>
<link rel="prefetch" href="/page-data/community/support.html/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/blog/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/languages/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/tutorial/tutorial.html/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/tutorial/tutorial.html/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/docs/getting-started.html/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/docs/getting-started.html/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/versions/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/component---src-pages-versions-js-7ade23f7e28390160958.js" />
<link rel="prefetch" href="/component---src-templates-community-js-7790fab2f4f28d929cfa.js" />
<link rel="prefetch" href="/component---src-pages-languages-js-66a2c2bf68cd309bf760.js" />
<link rel="prefetch" href="/component---src-templates-docs-js-c2ef419b527e2889dfef.js" />
<link rel="prefetch" href="/component---src-templates-docs-js-c2ef419b527e2889dfef.js" />
<link rel="prefetch" href="/component---src-templates-tutorial-js-ecef377e07c1456b09a3.js" />
<link rel="prefetch" href="/component---src-templates-tutorial-js-ecef377e07c1456b09a3.js" />
<link rel="prefetch" href="/page-data/docs/hello-world.html/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/docs/accessibility.html/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/docs/react-api.html/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/docs/hooks-intro.html/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/docs/testing.html/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/docs/concurrent-mode-intro.html/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/docs/how-to-contribute.html/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/docs/faq-ajax.html/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/blog/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/page-data/acknowledgements.html/page-data.json" crossorigin="anonymous" as="fetch" />
<link rel="prefetch" href="/component---src-pages-acknowledgements-html-js-99c1d5f19339f84ab8d5.js" />
<script charset="utf-8" src="/1ed44328c19c4a4d76fd533f20afa4a4705f4d6f-03376ae30134e25124bc.js"></script>
<script charset="utf-8" src="/component---src-templates-docs-js-c2ef419b527e2889dfef.js"></script>
<script charset="utf-8" src="/component---src-templates-tutorial-js-ecef377e07c1456b09a3.js"></script>
</head>
<body>
<script>
(function() {
/*
BE CAREFUL!
This code is not compiled by our transforms
so it needs to stay compatible with older browsers.
*/
var activeBanner = null;
var snoozeStartDate = null;
var today = new Date();
function addTimes(date, days) {
var time = new Date(date);
time.setDate(time.getDate() + days);
return time;
}
activeBanner = {
storageId: 'reactjs_banner_2020survey',
normalHeight: 50,
smallHeight: 75,
campaignStartDate: '2020-10-05Z', // the Z is for UTC
campaignEndDate: '2020-10-19Z', // the Z is for UTC
snoozeForDays: 7,
};
if (activeBanner) {
try {
if (localStorage[activeBanner.storageId]) {
snoozeStartDate = new Date(
parseInt(localStorage.getItem(activeBanner.storageId), 10),
);
}
} catch (err) {
// Ignore.
}
try {
// If it's too early or long past the campaign, don't show the banner:
if (
today < new Date(activeBanner.campaignStartDate) ||
today > new Date(activeBanner.campaignEndDate)
) {
activeBanner = null;
// If we're in the campaign window, but the snooze has been set and it hasn't expired:
} else if (
snoozeStartDate &&
addTimes(snoozeStartDate, activeBanner.snoozeForDays) >= today
) {
activeBanner = null;
}
} catch (err) {
// Ignore.
}
}
function updateStyles() {
if (activeBanner) {
document.documentElement.style.setProperty('--banner-display', 'block');
document.documentElement.style.setProperty('--banner-height-normal', activeBanner.normalHeight + 'px');
document.documentElement.style.setProperty('--banner-height-small', activeBanner.smallHeight + 'px');
} else {
document.documentElement.style.setProperty('--banner-display', 'none');
document.documentElement.style.setProperty('--banner-height-normal', '0px');
document.documentElement.style.setProperty('--banner-height-small', '0px');
}
}
updateStyles();
window.__dismissBanner = function() {
if (activeBanner) {
try {
localStorage.setItem(activeBanner.storageId, Date.now().toString());
} catch (err) {
// Ignore.
}
// Don't show for next navigations within the session.
activeBanner = null;
updateStyles();
}
};
})();
</script>
<div id="___gatsby">
<div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper">
<div class="css-190hivd">
<header class="css-19rsoyj">
<div class="css-tctv7l">
<div class="css-iiezwn">
<a aria-current="page" class="css-4ivotw" href="/"><img src="./logo.png" alt="" style="width: 120px;"></a>
<nav class="css-79txt3">
<a target="_blank" class="css-hobwqm" href="/docs/">文档</a>
<a class="css-hobwqm" href="./market.html">组件市场</a>
<a class="css-hobwqm" href="http://demo.iadminos.com">演示</a>
<a class="css-hobwqm" href="https://gitee.com/iadminos/i-admin-os">下载</a>
</nav>
<form class="css-7vmqep">
<span class="algolia-autocomplete" style="position: relative; display: inline-block; direction: ltr;"><input type="search" id="algolia-doc-search" placeholder="搜索" aria-label="在文档中搜索..." class="css-7dpbpx ds-input" autocomplete="off" spellcheck="false" role="combobox" aria-autocomplete="list" aria-expanded="false" aria-labelledby="algolia-doc-search" aria-owns="algolia-autocomplete-listbox-0" style="position: relative; vertical-align: top;" dir="auto" /><pre aria-hidden="true" style="position: absolute; visibility: hidden; white-space: pre; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; font-size: 18px; font-style: normal; font-variant: normal; font-weight: 300; word-spacing: 0px; letter-spacing: normal; text-indent: 0px; text-rendering: optimizelegibility; text-transform: none;"></pre><span class="ds-dropdown-menu" style="position: absolute; top: 100%; z-index: 100; display: none; left: 0px; right: auto;" role="listbox" id="algolia-autocomplete-listbox-0">
<div class="ds-dataset-1"></div></span></span>
</form>
<div class="css-nypjs8">
<a class="css-zvm479" href="#">v
<!-- -->1.0.1</a>
<a href="https://gitee.com/iadminos/i-admin-os" target="_blank" rel="noopener" class="css-6oo1gu">Gitee
<svg x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" class="css-19vhmgv">
<path fill="currentColor" d="
M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,
0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z
"></path>
<polygon fill="currentColor" points="
45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,
14.9 62.8,22.9 71.5,22.9
"></polygon>
</svg></a>
</div>
</div>
</div>
</header>
<div class="css-1tv5sxm css-15lkjjo">
<div class="css-g1v4tt">
<header class="css-17t02fm">
<div class="css-1ihkopo">
<div class="css-13azwyo">
<div class="css-tctv7l">
<h1 class="css-159p4b7">iAdminOS</h1>
<p class="css-1s44ra">开源组件化后台管理系统</p>
<div class="css-v4xx2e css-1k80xq8">
<div class="css-1ezwgyu">
<a class="css-1053yfl" href="http://demo.iadminos.com/">在线演示</a>
</div>
<div class="css-1ezwgyu">
<a class="css-13foh4g" href="/docs/#/quickstart">入门教程
<svg height="12" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 4.53657 8.69699" class="css-b7q1rs">
<path d="
M.18254,8.697a.18149.18149,0,0,1-.12886-.31034L4.09723,4.34126.05369.29954a.18149.18149,
0,0,1,.2559-.2559L4.4838,4.21785a.18149.18149,0,0,1,0,.2559L.30958,8.648A.18149.18149,
0,0,1,.18254,8.697Z
" fill="currentColor"></path>
</svg></a>
</div>
</div>
</div>
</div>
</div>
</header>
<div class="css-tctv7l">
<div class="css-15weewl">
<section class="css-18jayfr">
<div class="css-5uoymd">
<div class="css-1vcfx3l">
<h3 class="css-1xm4gxl">多语言</h3>
<div>
<p>Java、PHP、Node.js等多语言覆盖。</p>
<p>管理后台从配置文件到图形化,借助FaaS一键部署安装使用</p>
</div>
</div>
<div class="css-1vcfx3l">
<h3 class="css-1xm4gxl">插件化</h3>
<div>
<p>丰富的应用插件市场:身份SSO、消息中台、数据报表、财务中心、API网关……</p>
<p>组件化开发,一站式接入管理更多云服务、serverless资源</p>
</div>
</div>
<div class="css-1vcfx3l">
<h3 class="css-1xm4gxl">数据安全</h3>
<div>
<p>iAdminOS坚持开源,保障企业数据资产的绝对安全可控。</p>
<p>以企业组织管理后台为中心,管理一切SaaS/PaaS/IaaS资源</p>
</div>
</div>
</div>
</section>
<hr class="css-gw4hsb" />
<div class="gallery-box">
<div class="gallery">
<div class="gallery-num navBox">
<ul class="navList">
<li>
<h6 class="rollnum-num rollnum-num3">
<span>5076</span>
</h6>
<p>
</p>
<p>
用户数
</p>
</li>
<li>
<h6 class="rollnum-num rollnum-num4">
<span>766</span>
</h6>
<p>
</p>
<p>
插件数
</p>
</li>
<li>
<h6 class="rollnum-num rollnum-num2">
<span>21747</span>
</h6>
<p>
</p>
<p>
映射数
</p>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<section class="css-14dg8zm">
<div class="css-tctv7l">
<div class="css-19z06ao css-1k80xq8">
<div class="css-1ezwgyu">
<a class="css-1053yfl" href="/docs/#/quickstart">快速开始</a>
</div>
<div class="css-1ezwgyu">
<a class="css-13foh4g" href="/docs/#/quickstart">入门教程
<svg height="12" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 4.53657 8.69699" class="css-b7q1rs">
<path d="
M.18254,8.697a.18149.18149,0,0,1-.12886-.31034L4.09723,4.34126.05369.29954a.18149.18149,
0,0,1,.2559-.2559L4.4838,4.21785a.18149.18149,0,0,1,0,.2559L.30958,8.648A.18149.18149,
0,0,1,.18254,8.697Z
" fill="currentColor"></path>
</svg></a>
</div>
</div>
</div>
</section>
</div>
</div>
<footer class="css-vn0yrr">
<div class="css-tctv7l">
<div class="css-17njq4x">
<div class="css-1q9mcvr">
<div class="css-12bsqfj">
<div class="css-1m3wp4q">
<div class="css-krwajx">
文档
</div>
<a class="css-8l81zy" href="/docs/#/quickstart">安装</a>
</div>
</div>
<div class="css-12bsqfj">
<div class="css-1m3wp4q">
<div class="css-krwajx">
社区
</div>
<a href="https://gitee.com/iadminos/i-admin-os" target="_blank" rel="noopener" class="css-8l81zy">Gitee
<svg x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" class="css-83uoqv">
<path fill="currentColor" d="
M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,
0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z
"></path>
<polygon fill="currentColor" points="
45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,
14.9 62.8,22.9 71.5,22.9
"></polygon>
</svg></a>
<!--
<a href="https://stackoverflow.com/questions/tagged/reactjs" target="_blank" rel="noopener" class="css-8l81zy">Stack Overflow
<svg x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" class="css-83uoqv">
<path fill="currentColor" d="
M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,
0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z
"></path>
<polygon fill="currentColor" points="
45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,
14.9 62.8,22.9 71.5,22.9
"></polygon>
</svg></a>
<a href="https://reactjs.org/community/support.html#popular-discussion-forums" target="_blank" rel="noopener" class="css-8l81zy">Discussion 论坛
<svg x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" class="css-83uoqv">
<path fill="currentColor" d="
M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,
0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z
"></path>
<polygon fill="currentColor" points="
45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,
14.9 62.8,22.9 71.5,22.9
"></polygon>
</svg></a>
<a href="https://www.facebook.com/react" target="_blank" rel="noopener" class="css-8l81zy">Facebook
<svg x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" class="css-83uoqv">
<path fill="currentColor" d="
M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,
0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z
"></path>
<polygon fill="currentColor" points="
45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,
14.9 62.8,22.9 71.5,22.9
"></polygon>
</svg></a>
<a href="https://twitter.com/reactjs" target="_blank" rel="noopener" class="css-8l81zy">Twitter
<svg x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" class="css-83uoqv">
<path fill="currentColor" d="
M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,
0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z
"></path>
<polygon fill="currentColor" points="
45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,
14.9 62.8,22.9 71.5,22.9
"></polygon>
</svg></a>
-->
</div>
</div>
<div class="css-12bsqfj">
<div class="css-1m3wp4q">
<!--
<div class="css-krwajx">
Community
</div>
<a href="https://github.com/facebook/react/blob/master/CODE_OF_CONDUCT.md" class="css-8l81zy">Code of Conduct
<svg x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" class="css-83uoqv">
<path fill="currentColor" d="
M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,
0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z
"></path>
<polygon fill="currentColor" points="
45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,
14.9 62.8,22.9 71.5,22.9
"></polygon>
</svg></a>
<a class="css-8l81zy" href="/community/support.html">社区资源</a>
-->
</div>
</div>
<div class="css-12bsqfj">
<div class="css-1m3wp4q">
<!--
<div class="css-krwajx">
其他
</div>
<a class="css-8l81zy" href="/blog">博客</a>
<a href="https://opensource.facebook.com/legal/terms" class="css-8l81zy">Terms
<svg x="0px" y="0px" viewbox="0 0 100 100" width="15" height="15" class="css-83uoqv">
<path fill="currentColor" d="
M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,
0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z
"></path>
<polygon fill="currentColor" points="
45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,
14.9 62.8,22.9 71.5,22.9
"></polygon>
</svg></a>
-->
</div>
</div>
</div>
<section class="css-1tq073i">
<img src="./logo.png" alt="" style="width: 120px;">
<p class="css-1yy5aal">Copyright &copy; 2020 iAdminOS Inc. <a href="https://beian.miit.gov.cn/" target="_blank">浙ICP备19021730号-5 </a></p>
</section>
</div>
</div>
</footer>
</div>
</div>
<div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div>
</div>
<script>
if(true) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
}
if (typeof ga === "function") {
ga('create', 'UA-41298772-1', 'auto', {});
}</script>
<script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/";/*]]>*/</script>
<script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-ecc6e43965b3d365850d.js"],"app":["/app-b4bc0103d69cd40ecae2.js"],"component---src-pages-404-js":["/component---src-pages-404-js-dc2d3db5b58ed3161987.js"],"component---src-pages-acknowledgements-html-js":["/component---src-pages-acknowledgements-html-js-99c1d5f19339f84ab8d5.js"],"component---src-pages-blog-all-html-js":["/component---src-pages-blog-all-html-js-ff3a6804977126f37ef8.js"],"component---src-pages-docs-error-decoder-html-js":["/component---src-pages-docs-error-decoder-html-js-50d67c67480a2ce83d9a.js"],"component---src-pages-index-js":["/component---src-pages-index-js-9bcbf5e2031beaccecbf.js"],"component---src-pages-jsx-compiler-html-js":["/component---src-pages-jsx-compiler-html-js-9375e47f015bc289e845.js"],"component---src-pages-languages-js":["/component---src-pages-languages-js-66a2c2bf68cd309bf760.js"],"component---src-pages-versions-js":["/component---src-pages-versions-js-7ade23f7e28390160958.js"],"component---src-templates-blog-js":["/component---src-templates-blog-js-c42515e8559e61b1bb8a.js"],"component---src-templates-codepen-example-js":["/component---src-templates-codepen-example-js-3932ae4f8447dfb87d48.js"],"component---src-templates-community-js":["/component---src-templates-community-js-7790fab2f4f28d929cfa.js"],"component---src-templates-docs-js":["/component---src-templates-docs-js-c2ef419b527e2889dfef.js"],"component---src-templates-tutorial-js":["/component---src-templates-tutorial-js-ecef377e07c1456b09a3.js"]};/*]]>*/</script>
<script src="/polyfill-ecc6e43965b3d365850d.js" nomodule=""></script>
<script src="/component---src-pages-index-js-9bcbf5e2031beaccecbf.js" async=""></script>
<script src="/3e8f09252b6028beb8baf8cc63801156f5861675-a30b52c415707d90ab94.js" async=""></script>
<script src="/commons-907f0e21fc880d0bc872.js" async=""></script>
<script src="/fc233f00-cba3d9005c3896f6d5d4.js" async=""></script>
<script src="/app-b4bc0103d69cd40ecae2.js" async=""></script>
<script src="/framework-eb4d2c0bb77aadad79ec.js" async=""></script>
<script src="/styles-fb708593b484b04b1765.js" async=""></script>
<script src="/webpack-runtime-b2017cfbe9d68fd625a9.js" async=""></script>
<script src="https://unpkg.com/docsearch.js@2.4.1/dist/cdn/docsearch.min.js"></script>
</body>
</html>
1
https://gitee.com/iadminos/i-admin-os-www.git
git@gitee.com:iadminos/i-admin-os-www.git
iadminos
i-admin-os-www
iAdminOS-www
master

搜索帮助