diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index dfe0770..0000000 --- a/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 5bdf3a5..0000000 --- a/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -node_modules -.DS_Store -lib/core/metadata.js -lib/core/MetadataBlog.js -website/translated_docs -website/build/ -website/yarn.lock -website/node_modules - -website/i18n/* -!website/i18n/en.json -/.idea diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index e7e9d11..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# Default ignored files -/workspace.xml diff --git a/README.md b/README.md deleted file mode 100644 index 9b69328..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -# docs diff --git a/css/main.css b/css/main.css new file mode 100644 index 0000000..34c5d80 --- /dev/null +++ b/css/main.css @@ -0,0 +1 @@ +a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}body{color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;word-wrap:break-word}*{box-sizing:border-box}strong{font-weight:600}[type=checkbox]{box-sizing:border-box;padding:0}a,a:hover{color:#1e88e5;text-decoration:none}a:active,a:hover{outline-width:0}a:not([href]){color:inherit;text-decoration:none}p{margin-bottom:1em;margin-top:0}h1,h2,h3,h4,h5,h6{color:inherit;font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:1.5em}h1{font-size:32px}h2{font-size:24px}h3{font-size:20px}h4{font-size:16px}h5{font-size:14px}h6{font-size:13.6px}ol,ul{margin-bottom:1em;margin-top:0;padding-left:2em}ol ol,ul ol{list-style-type:lower-roman}ol ol,ol ul,ul ol,ul ul{margin-bottom:0;margin-top:0}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}li{word-wrap:break-all}li>p{margin-top:1em}li+li{margin-top:.25em}img{border-style:none;box-sizing:content-box;max-width:100%}img[align=right]{padding-left:1.25em}img[align=left]{padding-right:1.25em}table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:16px;margin-top:0;overflow:auto;width:100%}table tr{background-color:transparent;border-top:1px solid #dfe2e5}table tr:nth-child(2n){background-color:#f6f8fa}table td,table th{border:1px solid #dfe2e5;padding:6px 13px}table th{background-color:inherit;font-weight:600}table td,table th{color:inherit}blockquote{color:#6a737d;font-size:16px;margin:0;margin-bottom:16px;padding:0 1em}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}code{background-color:rgba(27,31,35,.05);border-radius:3px;color:inherit;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:85%;margin:0;padding:3.2px 6.4px}pre{margin-bottom:16px}pre code{background-color:transparent;border:0;display:inline;font-size:85%;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0;white-space:pre;word-break:normal;word-wrap:normal}kbd{background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1;color:#444d56;display:inline-block;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:68.75%;line-height:10px;padding:3px 5px;vertical-align:middle}hr{border:1px solid #dfe2e5;box-sizing:content-box;margin:1.5em 0;overflow:hidden;padding:0}hr:after,hr:before{content:"";display:table}hr:after{clear:both}body{min-height:100vh;text-rendering:optimizeLegibility}@media only screen and (min-width:736px){body{display:flex;flex-direction:column}}article:after,article:before{content:"";display:table}article:after{clear:both}article>:first-child{margin-top:0}article>:last-child{margin-bottom:0}article iframe,article p img{display:block;margin-left:auto;margin-right:auto;max-width:100%}.anchor{display:block;position:relative;top:-80px}.hash-link{line-height:1;margin-left:-20px;opacity:0;padding-right:4px;transition:opacity .3s}.hash-link:hover{opacity:1!important;transition:none}.hash-link .hash-link-icon{vertical-align:middle}.button{border:1px solid #1e88e5;border-radius:3px;color:#1e88e5;display:inline-block;font-size:14px;font-weight:400;line-height:1.2em;padding:10px;text-decoration:none!important;text-transform:uppercase;transition:background .3s,color .3s}.button:hover{background:#1e88e5;color:#fff}h1:hover .hash-link,h2:hover .hash-link,h3:hover .hash-link,h4:hover .hash-link{opacity:.5;transition:none}blockquote{background-color:rgba(255,229,100,.3);border-left:8px solid #ffe564;padding:15px 30px 15px 15px}.wrapper{margin:0 auto;max-width:1100px;padding:0 20px}.wrapper blockquote>p:first-child{padding-top:0}.center{display:block}.center,.homeContainer{text-align:center}.homeContainer .homeWrapper{padding:2em 10px}.homeContainer .homeWrapper .wrapper{margin:0 auto;max-width:900px;padding:0 20px}.homeContainer .homeWrapper .projectLogo img{height:100px;margin-bottom:0}.homeContainer .homeWrapper #project_title{font-size:300%;letter-spacing:-.08em;line-height:1em;margin-bottom:80px}.homeContainer .homeWrapper #project_tagline{font-size:200%;letter-spacing:-.04em;line-height:1em}.projectLogo{display:none;pointer-events:none}.projectLogo img{height:100px;margin-bottom:0}.projectIntro{margin:40px 0}.projectTitle{color:#1e88e5;font-size:250%;line-height:1em}.projectTitle>small{display:block;font-weight:400;font-size:50%;line-height:1em;margin:.7em 0 1.3em}@media only screen and (min-width:480px){.projectTitle{font-size:300%;margin:.3em 0}.projectLogo img{height:200px;margin-bottom:10px}.homeContainer .homeWrapper{padding-left:10px;padding-right:10px}}@media only screen and (min-width:736px){.homeContainer .homeWrapper{position:relative}.homeContainer .homeWrapper #inner{max-width:600px;padding-right:40px}}@media only screen and (min-width:1200px){.homeContainer .homeWrapper #inner{max-width:750px}.homeContainer .homeWrapper .projectLogo{align-items:center;bottom:0;display:flex;justify-content:flex-end;left:0;padding:2em 100px 4em;position:absolute;right:0;top:0}.homeContainer .homeWrapper .projectLogo img{height:100%;max-height:250px}}@media only screen and (min-width:1500px){.homeContainer .homeWrapper #inner{max-width:1100px;padding-bottom:40px;padding-top:40px}.wrapper{max-width:1400px}}.mainContainer{flex:1 1 auto;max-width:100%;padding:48px 0}.mainContainer .wrapper{text-align:left}.mainContainer .wrapper .allShareBlock{padding:10px 0}.mainContainer .wrapper .allShareBlock .pluginBlock{margin:12px 0;padding:0}.mainContainer .wrapper .post{position:relative}.mainContainer .wrapper .post.basicPost{margin-top:30px}.mainContainer .wrapper .post .postHeader{margin-bottom:16px}.mainContainer .wrapper .post .postHeaderTitle{margin-top:0;padding:0}.mainContainer .wrapper .post .postSocialPlugins{padding-top:1em}.mainContainer .wrapper .post .docPagination{background:#1e88e5;bottom:0;left:0;position:absolute;right:0}.mainContainer .wrapper .post .docPagination .pager{display:inline-block;width:50%}.mainContainer .wrapper .post .docPagination .pagingNext{float:right;text-align:right}.mainContainer .wrapper .post .docPagination a{border:none;color:#fff;display:block;padding:4px 12px}.mainContainer .wrapper .post .docPagination a:hover{background-color:#f9f9f9;color:#393939}.mainContainer .wrapper .post .docPagination a .pagerLabel{display:inline}.mainContainer .wrapper .post .docPagination a .pagerTitle{display:none}@media only screen and (min-width:480px){.mainContainer .wrapper .post .docPagination a .pagerLabel{display:none}.mainContainer .wrapper .post .docPagination a .pagerTitle{display:inline}}@media only screen and (min-width:1024px){.mainContainer .wrapper .post{display:block}.mainContainer .wrapper .posts .post{width:100%}}.fixedHeaderContainer{background:#1e88e5;color:#fff;min-height:50px;padding:8px 0;position:fixed;width:100%;z-index:6}@media only screen and (min-width:1024px){.fixedHeaderContainer{flex-shrink:0}}.fixedHeaderContainer a{align-items:center;border:0;color:#fff;display:flex;flex-flow:row nowrap;height:34px;z-index:7}.fixedHeaderContainer header{display:flex;flex-flow:row nowrap;position:relative;text-align:left}.fixedHeaderContainer header img{height:100%;margin-right:10px}.fixedHeaderContainer header .headerTitle{font-size:1.25em;margin:0}.fixedHeaderContainer header .headerTitleWithLogo{display:block;font-size:1.25em;line-height:18px;margin:0;position:relative;z-index:6}.fixedHeaderContainer header h3{color:#fff;font-size:16px;margin:0;margin-left:10px;text-decoration:underline}@media (max-width:480px){.headerTitle{font-size:17px}.headerTitleWithLogo{display:none!important}}.promoSection{display:flex;flex-flow:column wrap;font-size:125%;line-height:1.6em;position:relative;z-index:3}.promoSection .promoRow{padding:10px 0}.promoSection .promoRow .pluginWrapper{display:block}.promoSection .promoRow .pluginWrapper.ghStarWrapper,.promoSection .promoRow .pluginWrapper.ghWatchWrapper{height:28px}.promoSection .promoRow .pluginRowBlock{display:flex;flex-wrap:wrap;justify-content:center;margin:0 -2px}.promoSection .promoRow .pluginRowBlock .pluginWrapper{padding:0 2px}.promoSection .promoRow .pluginRowBlock iframe{margin-left:2px;margin-top:5px}input[type=search]{-moz-appearance:none;-webkit-appearance:none}.navSearchWrapper{align-items:center;align-self:center;display:flex;justify-content:center;padding-left:10px;position:absolute;right:10px;top:15px}.navSearchWrapper:before{border:3px solid #e5e5e5;border-radius:50%;content:" ";display:block;height:6px;left:15px;position:absolute;top:50%;transform:translateY(-58%);width:6px;z-index:1}.navSearchWrapper:after{background:#e5e5e5;content:" ";height:7px;left:24px;position:absolute;top:55%;transform:rotate(-45deg);width:3px;z-index:1}.navSearchWrapper .aa-dropdown-menu{background:#f9f9f9;border:3px solid rgba(57,57,57,.25);color:#393939;font-size:14px;left:auto!important;line-height:1.2em;right:0!important}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--category-header{background:#1e88e5;color:#fff;font-size:14px;font-weight:400}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--highlight{background-color:#1e88e5;color:#fff}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--subcategory-column .algolia-docsearch-suggestion--highlight,.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--title .algolia-docsearch-suggestion--highlight{color:#1e88e5}.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion--subcategory-column,.navSearchWrapper .aa-dropdown-menu .algolia-docsearch-suggestion__secondary{border-color:rgba(57,57,57,.3)}input#search_input_react{background-color:rgba(0,0,0,.2);border:none;border-radius:20px;color:#fff;font-size:14px;font-weight:300;line-height:20px;outline:none;padding-left:25px;position:relative;transition:width .5s ease;width:170px}input#search_input_react:active,input#search_input_react:focus{color:#fff;width:220px}@media only screen and (max-width:735px){.navSearchWrapper{width:40%}}input::placeholder{color:#e5e5e5}.hljs{padding:1.25rem 1.5rem}.gridBlock{padding:0}.gridBlock>*{box-sizing:border-box}.gridBlock .fourByGridBlock img,.gridBlock .threeByGridBlock img,.gridBlock .twoByGridBlock img{max-width:100%}.gridBlock .gridClear{clear:both}@media only screen and (max-width:735px){.gridBlock .fourByGridBlock{flex:1 0 26%}}@media only screen and (min-width:736px){.gridBlock{display:flex;flex-direction:row;flex-wrap:wrap}.gridBlock>*{margin:0 12px}.gridBlock>:first-child{margin-left:0}.gridBlock>:last-child{margin-right:0}.gridBlock .twoByGridBlock{flex:1 0 40%}.gridBlock .threeByGridBlock{flex:1 0 26%}.gridBlock .fourByGridBlock{flex:1 0 20%}h2+.gridBlock{padding-top:20px}}@media only screen and (min-width:1400px){.gridBlock{display:flex;flex-direction:row;flex-wrap:wrap}}.alignCenter{text-align:center}.alignRight{text-align:right}.imageAlignSide{display:flex;flex-flow:row wrap}.blockImage{max-width:730px}.imageAlignSide .blockImage{flex:0 1 500px;max-width:500px}@media only screen and (max-width:735px){.imageAlignSide .blockImage{display:none}}.imageAlignSide .blockContent{flex:1 1}.imageAlignBottom .blockImage{margin:0 auto 20px;max-width:730px}.imageAlignBottom.alignCenter .blockImage{margin-left:auto;margin-right:auto}.imageAlignTop .blockImage{margin-bottom:20px;max-width:80px}.imageAlignTop.alignCenter .blockImage{margin-left:auto;margin-right:auto}.imageAlignRight .blockImage{margin-left:40px}.imageAlignLeft .blockImage{margin-right:40px}.container .gridBlock .blockContent p{padding:0}.container .wrapper .alignCenter h2{text-align:center}.container .wrapper .imageAlignSide h2{text-align:left}.container .wrapper .imageAlignSide p{margin:0;margin-bottom:40px;max-width:560px}.highlightBackground{background:rgba(153,66,79,.7);color:#fff}.highlightBackground a{font-weight:800}.container.highlightBackground .wrapper h1,.container.highlightBackground .wrapper h2,.container.highlightBackground .wrapper h3,.container.highlightBackground .wrapper h4,.container.highlightBackground .wrapper h5,.highlightBackground a{border-color:#fff;color:#fff}.lightBackground{background:#f7f7f7}.darkBackground{background:gray;color:#fff}.darkBackground a,.darkBackground code{color:#d6b3b8}.container.darkBackground .wrapper h1,.container.darkBackground .wrapper h2,.container.darkBackground .wrapper h3,.container.darkBackground .wrapper h4,.container.darkBackground .wrapper h5{border-color:#fff;color:#fff}.container.paddingAll{padding:40px}.container.paddingBottom{padding-bottom:80px}.container.paddingLeft{padding-left:40px}.container.paddingRight{padding-right:40px}.container.paddingTop{padding-top:80px}@media only screen and (max-width:735px){.container.paddingBottom{padding-bottom:40px}.container.paddingTop{padding-top:20px}}@media only screen and (max-width:1023px){.responsiveList .blockContent{position:relative}.responsiveList .blockContent>div{padding-left:20px}.responsiveList .blockContent:before{content:"\2022";position:absolute}}.navigationSlider .navSlideout{cursor:pointer;padding-top:4px;position:absolute;right:10px;top:0;transition:top .3s;z-index:5}.navigationSlider .slidingNav{bottom:auto;box-sizing:border-box;left:0;position:fixed;right:0;top:0}.navigationSlider .slidingNav.slidingNavActive{height:auto;padding-top:42px;width:300px}.navigationSlider .slidingNav ul{background:#64b5f6;box-sizing:border-box;color:#fff;display:flex;flex-wrap:nowrap;list-style:none;margin-top:50px;padding:0;width:100%}.navigationSlider .slidingNav.slidingNavActive ul{display:block}.navigationSlider .slidingNav ul li{flex:1 1 auto;margin:0;text-align:center;white-space:nowrap}.navigationSlider .slidingNav ul li a{align-items:center;box-sizing:border-box;color:#1e88e5;color:inherit;display:flex;font-size:.9em;height:auto;height:50px;justify-content:center;margin:0;padding:10px;transition:background-color .3s}.navigationSlider .slidingNav ul li.siteNavGroupActive a,.navigationSlider .slidingNav ul li.siteNavItemActive a,.navigationSlider .slidingNav ul li a:focus,.navigationSlider .slidingNav ul li a:hover{background:#1e88e5}.languages-icon{width:20px}#languages-dropdown{pointer-events:none;position:absolute;width:100%}#languages-dropdown.visible{display:flex}#languages-dropdown.hide{display:none}#languages-dropdown-items{background-color:#1e88e5;display:flex;flex-direction:column;min-width:120px;pointer-events:all}#languages li{display:block}.navPusher{left:0;min-height:100%;padding-top:100px;position:relative;z-index:3}.navPusher:after{background:rgba(0,0,0,.4);content:"";height:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .5s,width .1s .5s,height .1s .5s;width:0}@media screen and (min-width:1024px){.navPusher{display:flex;flex-direction:column;min-height:calc(100vh - 50px);padding-top:50px}.navPusher,.navPusher>:first-child{flex-grow:1}}.sliderActive .navPusher:after{height:100%;opacity:1;transition:opacity .5s;width:100%;z-index:4}@media only screen and (max-width:1024px){.reactNavSearchWrapper input#search_input_react{background-color:hsla(17,71%,82%,.25);border:none;border-radius:20px;box-sizing:border-box;color:#393939;font-size:14px;line-height:20px;outline:none;padding-left:25px;position:relative;transition:background-color .2s cubic-bezier(.68,-.55,.265,1.55),width .2s cubic-bezier(.68,-.55,.265,1.55),color .2s ease;width:100%}.reactNavSearchWrapper input#search_input_react:active,.reactNavSearchWrapper input#search_input_react:focus{background-color:#1e88e5;color:#fff}.reactNavSearchWrapper .algolia-docsearch-suggestion--subcategory-inline{display:none}.reactNavSearchWrapper>span{width:100%}.reactNavSearchWrapper .aa-dropdown-menu{background:#f9f9f9;border:0 solid #f9f9f9;border-radius:0;color:#393939;font-size:12px;line-height:2em;max-height:140px;min-width:auto;-webkit-overflow-scrolling:touch;overflow-y:scroll;padding:0;position:relative!important;width:100%}#languages-dropdown{left:0;top:50px}#languages-dropdown-items{background-color:#1e88e5;display:flex;flex-direction:row}}@media only screen and (min-width:1024px){.navSearchWrapper{padding-left:10px;position:relative;right:auto;top:auto}.navSearchWrapper .algolia-autocomplete{display:block}.navigationSlider{height:34px;margin-left:auto;position:relative}.navigationSlider .navSlideout{display:none}.navigationSlider nav.slidingNav{background:none;height:auto;position:relative;right:auto;top:auto;width:auto}.navigationSlider .slidingNav ul{background:none;display:flex;flex-flow:row nowrap;margin:0;padding:0;width:auto}.navigationSlider .slidingNav ul li a{border:0;color:hsla(0,0%,100%,.8);display:flex;font-size:16px;font-size:1em;font-weight:300;height:32px;line-height:1.2em;margin:0;padding:0;padding:6px 10px}.navigationSlider .slidingNav ul li.siteNavGroupActive a,.navigationSlider .slidingNav ul li.siteNavItemActive a,.navigationSlider .slidingNav ul li a:hover{color:#fff}}@media only screen and (max-width:735px){.navigationSlider .slidingNav ul{overflow-x:auto}.navigationSlider .slidingNav ul::-webkit-scrollbar{display:none}}.docMainWrapper .wrapper{padding-left:0;padding-right:0;padding-top:10px}@media only screen and (min-width:1024px){.docMainWrapper{width:100%}.docMainWrapper>*{margin:0 24px}.docMainWrapper>:first-child{margin-left:0}.docMainWrapper>:last-child{margin-right:0}.docMainWrapper .mainContainer{min-width:0}}.edit-page-link{float:right;font-size:10px;font-weight:400;margin-top:3px;text-decoration:none}@media only screen and (max-width:1023px){.edit-page-link{display:none}}.docs-prevnext{margin:20px 0}.docs-prevnext:after{clear:both;content:" ";display:table}.docs-next{float:right}.docs-prev{float:left}@media only screen and (max-width:735px){.docs-prevnext{height:40px}}@media only screen and (max-width:1023px){.docsNavContainer{background:#fff;left:0;position:fixed;width:100%;z-index:4}}@media only screen and (min-width:1024px){.docsNavContainer{flex:0 0 240px;height:calc(100vh - 50px);position:-webkit-sticky;position:sticky;overflow-y:auto;top:50px}}.docsSliderActive.docsNavContainer{box-sizing:border-box;height:100%;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain;padding-bottom:50px}.docsNavContainer .toc .navBreadcrumb{background-color:#f1f1f1;box-sizing:border-box;display:flex;flex-flow:row nowrap;font-size:12px;height:48px;overflow:hidden;padding:8px 20px}.docsNavContainer .toc .navWrapper{padding:0}@media only screen and (min-width:1024px){.docsNavContainer .toc .navBreadcrumb{display:none}.navBreadcrumb h2{padding:0 10px}.separateOnPageNav .docsNavContainer{flex:0 0 240px}}.navBreadcrumb a,.navBreadcrumb span{border:0;color:#393939}@media only screen and (max-width:735px){.anchor{top:-144px}}@media only screen and (min-width:1024px){.toc{padding:40px 0}}.toc section{padding:0;position:relative}.toc section .navGroups{display:none;padding:48px 20px 60px}.toc .toggleNav{color:#393939;position:relative}.toc .toggleNav .navToggle{cursor:pointer;height:32px;margin-right:10px;position:relative;text-align:left;width:18px}.toc .toggleNav .navToggle:after,.toc .toggleNav .navToggle:before{border:5px solid #393939;border-width:5px 0;content:"";height:6px;left:0;left:8px;margin-top:-8px;position:absolute;top:50%;transform:rotate(45deg);width:3px;z-index:1}.toc .toggleNav .navToggle:after{transform:rotate(-45deg)}.toc .toggleNav .navToggle i:after,.toc .toggleNav .navToggle i:before{background:transparent;border-color:transparent #393939;border-style:solid;border-width:0 5px 5px;content:"";height:0;left:2px;margin-top:-7px;opacity:1;position:absolute;top:50%;width:5px;z-index:2}.toggleNav h2 i{padding:0 4px}.toc .toggleNav .navToggle i:after{border-width:5px 5px 0;margin-top:2px}.docsSliderActive .toc .toggleNav .navToggle:after,.docsSliderActive .toc .toggleNav .navToggle:before{border-width:8px 0;height:0;margin-top:-8px}.docsSliderActive .toc .toggleNav .navToggle i{opacity:0}.docsSliderActive .tocToggler{visibility:hidden}.toc .toggleNav .navGroup{margin-bottom:16px}.toc .toggleNav .navGroup .navGroupCategoryTitle{color:#393939;font-size:18px;font-weight:500;line-height:1.2em;margin-bottom:8px;margin-top:0}.toc .toggleNav .navGroup .navListItem{margin:0}.toc .toggleNav .navGroup h3 i:not(:empty){box-sizing:border-box;color:rgba(57,57,57,.5);display:inline-block;height:16px;margin-right:10px;text-align:center;transition:color .2s;width:16px}.toc .toggleNav ul{padding:0 8px}.docsSliderActive .toc .toggleNav ul{padding-left:0}.toc .toggleNav ul li{list-style-type:none;padding:0}.toc .toggleNav ul li a{border:none;color:#717171;display:block;font-size:14px;padding:4px 0;transition:color .3s}.toc .toggleNav ul li.navListItemActive a,.toc .toggleNav ul li a:focus,.toc .toggleNav ul li a:hover{color:#1e88e5}.docsSliderActive .toc .navBreadcrumb,.tocActive .navBreadcrumb{border-bottom:1px solid #ccc;margin-bottom:20px;position:fixed;width:100%}.toc .toggleNav .navBreadcrumb h2{border:0;flex-grow:1;font-size:16px;font-weight:600;line-height:32px;margin:0;padding:0}.docsSliderActive .toc section .navGroups{display:block;padding-top:60px}.tocToggler{cursor:pointer;height:32px;line-height:32px;margin-right:-10px;padding:0 10px}.icon-toc{box-sizing:border-box;display:inline-block;line-height:normal;position:relative;top:-1px;vertical-align:middle}.icon-toc,.icon-toc:after,.icon-toc:before{background-color:currentColor;border:1px solid currentColor;border-radius:50%;box-sizing:border-box;height:4px;width:4px}.icon-toc:after,.icon-toc:before{content:"";position:absolute}.icon-toc:before{left:-1px;top:-7px}.icon-toc:after{left:-1px;top:5px}.tocActive .icon-toc{border-radius:0;height:16px;transform:rotate(45deg);width:3px}.tocActive .icon-toc:before{border-radius:0;height:3px;left:50%;top:50%;transform:translate(-50%,-50%);width:16px}.tocActive .icon-toc:after{content:""}@media only screen and (min-width:1024px){.docMainWrapper{display:flex;flex-flow:row nowrap}.docMainWrapper .wrapper{padding-top:0;padding-left:0;padding-right:0}}.onPageNav{display:none}.onPageNav::-webkit-scrollbar{display:none}.onPageNav a{color:#717171}.onPageNav ul{list-style:none}.onPageNav ul li{font-size:12px;line-height:16px;padding-bottom:8px}.onPageNav ul ul{padding:8px 0 0 20px}.onPageNav ul ul li{padding-bottom:5px}@media only screen and (min-width:1024px){.toc section .navGroups{display:block;padding:0;padding-top:8px}.navBreadcrumb h2{padding:0 10px}}@supports ((position:-webkit-sticky) or (position:sticky)){@media only screen and (max-width:1023px){.tocActive .onPageNav{background:#fff;bottom:0;display:block;left:0;overflow-y:auto;overscroll-behavior:contain;padding:0 20px;position:fixed;right:0;top:148px;z-index:2}.tocActive .navBreadcrumb h2,.tocActive .navToggle{visibility:hidden}.tocActive .onPageNav>.toc-headings{padding:12px 0}}@media only screen and (min-width:1024px){.separateOnPageNav .headerWrapper.wrapper,.separateOnPageNav .wrapper{max-width:1400px}.separateOnPageNav .toc{width:auto}.separateOnPageNav.sideNavVisible .navPusher .mainContainer{flex:1 auto;max-width:100%;min-width:0}.onPageNav{align-self:flex-start;display:block;flex:0 0 240px;max-height:calc(100vh - 90px);overflow-y:auto;position:-webkit-sticky;position:sticky;top:90px}.onPageNav>.toc-headings{border-left:1px solid #e0e0e0;padding:10px 0 2px 15px}.tocToggler{display:none}}}.blog .wrapper{max-width:1100px}.blogContainer .posts .post{border-bottom:1px solid #e0e0e0;border-radius:3px;margin-bottom:20px;padding-bottom:20px}.blogContainer .postHeader{margin-bottom:10px}.blogContainer .postHeaderTitle{margin-top:0}.blogContainer .postHeader p.post-meta{margin-bottom:10px;padding:0}.blogContainer .postHeader .authorBlock{display:flex}.blogContainer .postHeader .post-authorName{color:rgba(57,57,57,.7);display:flex;flex-direction:column;font-size:14px;font-weight:400;justify-content:center;margin-right:10px;margin-top:0;padding:0}.blogContainer .postHeader .authorPhoto{border-radius:50%;height:30px;overflow:hidden;width:30px}.blogContainer .postHeader .authorPhoto.authorPhotoBig{height:50px;width:50px}.blog-recent{margin:20px 0}.blog-recent>a{float:left}@media only screen and (max-width:735px){.blog-recent{height:40px}}.blogSocialSection{display:block;padding:36px 0}.blogSocialSection .blogSocialSectionItem{padding-bottom:5px}.fb-like{display:block;margin-bottom:20px;width:100%}.more-users{margin:0 auto;max-width:560px;text-align:center}.productShowcaseSection{padding:0 20px;text-align:center}.productShowcaseSection.paddingTop{padding-top:20px}.productShowcaseSection.paddingBottom{padding-bottom:80px}.productShowcaseSection h2{color:#1e88e5;font-size:30px;line-height:1em;margin-top:20px;padding:10px 0;text-align:center}.productShowcaseSection p{margin:0 auto;max-width:560px;padding:.8em 0}.productShowcaseSection .logos{align-items:center;display:flex;flex-flow:row wrap;justify-content:center;padding:20px}.productShowcaseSection .logos img{max-height:110px;padding:20px;width:110px}@media only screen and (max-width:735px){.productShowcaseSection .logos img{max-height:64px;padding:20px;width:64px}}.showcaseSection{margin:0 auto;max-width:900px}.showcaseSection,.showcaseSection .prose h1{text-align:center}.showcaseSection .prose{margin:0 auto;max-width:560px;text-align:center}.showcaseSection .logos{align-items:center;display:flex;flex-flow:row wrap;justify-content:center}.showcaseSection .logos img{max-height:128px;padding:20px;width:128px}@media only screen and (max-width:735px){.showcaseSection .logos img{max-height:64px;padding:20px;width:64px}}.nav-footer{background:#20232a;border:none;color:#202020;font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:24px;padding-bottom:2em;padding-top:2em;position:relative}@media only screen and (min-width:1024px){.nav-footer{flex-shrink:0}}.nav-footer .sitemap{display:flex;justify-content:space-between;margin:0 auto 3em;max-width:1080px}.nav-footer .sitemap div{flex:1}.nav-footer .sitemap .nav-home{display:table;height:72px;margin:-12px 20px 0 0;opacity:.4;padding:10px;transition:opacity .15s ease-in-out;width:72px}.nav-footer .sitemap .nav-home:focus,.nav-footer .sitemap .nav-home:hover{opacity:1}@media only screen and (max-width:735px){.nav-footer .sitemap{display:flex;flex-direction:column;margin:0 2em 3em;width:calc(100% - 4em)}.nav-footer .sitemap>div{margin-bottom:18px}}.nav-footer .sitemap a{color:hsla(0,0%,100%,.6);display:block;margin:2px -10px;padding:3px 10px}.nav-footer .sitemap a:focus,.nav-footer .sitemap a:hover,.nav-footer .sitemap h5>a:focus,.nav-footer .sitemap h5>a:hover{color:#fff;text-decoration:none}.nav-footer .sitemap h5,.nav-footer .sitemap h6{margin:0 0 10px}.nav-footer .sitemap h5,.nav-footer .sitemap h5>a,.nav-footer .sitemap h6,.nav-footer .sitemap h6>a{color:#fff}.nav-footer .sitemap h5>a,.nav-footer .sitemap h6>a{margin:0 -10px}.nav-footer .fbOpenSource{display:block;margin:1em auto;opacity:.4;transition:opacity .15s ease-in-out;width:170px}.nav-footer .fbOpenSource:hover{opacity:1}.nav-footer .copyright{color:hsla(0,0%,100%,.4);text-align:center}.nav-footer .social{padding:5px 0} \ No newline at end of file diff --git a/css/prism.css b/css/prism.css new file mode 100644 index 0000000..3a997e0 --- /dev/null +++ b/css/prism.css @@ -0,0 +1,130 @@ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ + +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + 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; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; +} + +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.number, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} \ No newline at end of file diff --git a/docs/api-v2-aboutus.html b/docs/api-v2-aboutus.html new file mode 100644 index 0000000..54b1370 --- /dev/null +++ b/docs/api-v2-aboutus.html @@ -0,0 +1,39 @@ +Codestin Search App
\ No newline at end of file diff --git a/docs/api-v2-aboutus.md b/docs/api-v2-aboutus.md deleted file mode 100644 index 0b7e96c..0000000 --- a/docs/api-v2-aboutus.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -id: api-v2-aboutus -title: 关于我们 ---- - -## 关于我们页面 - -``` -GET /api/v2/aboutus -``` - -### 响应 - -``` -Status 200 Ok -``` - -HTML 页面 diff --git a/docs/api-v2-ad.html b/docs/api-v2-ad.html new file mode 100644 index 0000000..bfe9087 --- /dev/null +++ b/docs/api-v2-ad.html @@ -0,0 +1,200 @@ +Codestin Search App
\ No newline at end of file diff --git a/docs/api-v2-ad.md b/docs/api-v2-ad.md deleted file mode 100644 index eca44e8..0000000 --- a/docs/api-v2-ad.md +++ /dev/null @@ -1,187 +0,0 @@ ---- -id: api-v2-ad -title: 广告 ---- - -- [获取所有广告位](#查询所有广告位) -- [获取一个广告位的广告列表](#获取一个广告位的广告列表) -- [批量获取广告列表](#批量获取广告列表) - -## 查询所有广告位 - -``` -GET /advertisingspace -``` - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "channel": "boot", // 广告位所属模块 - "space": "boot", // 广告位标识 - "alias": "启动图广告", // 广告位别名 - "allow_type": "image", // 广告位允许的广告类型 (当前app中只有图片类型) 多个类型将以逗号隔开 - "format": { // 广告数据格式 - "image": { - "image": "图片|string|表单描述", - "link": "链接|string|表单描述" - } - }, - "created_at": "2017-07-27 06:56:36", - "updated_at": "2017-07-27 06:56:36" - }, - { - "id": 2, - "channel": "feed", - "space": "feed:list:top", - "alias": "动态列表顶部广告", - "allow_type": "image", - "format": { - "image": { - "image": "图片|string|表单描述", - "link": "链接|string|表单描述" - } - }, - "created_at": "2017-07-27 07:04:50", - "updated_at": "2017-07-27 07:04:50" - }, - { - "id": 3, - "channel": "feed", - "space": "feed:single", - "alias": "动态详情广告", - "allow_type": "image", - "format": { - "image": { - "image": "图片|string|表单描述", - "link": "链接|string|表单描述" - } - }, - "created_at": "2017-07-27 07:04:50", - "updated_at": "2017-07-27 07:04:50" - }, - { - "id": 4, - "channel": "feed", - "space": "feed:list:analog", - "alias": "动态列表模拟数据广告", - "allow_type": "analog", - "format": { - "analog": { - "avatar": "头像图|string|表单描述", - "name": "用户名|string|表单描述", - "content": "内容|string|表单描述", - "image": "图片|string|表单描述", - "time": "时间|date|表单描述" - } - }, - "created_at": "2017-07-31 03:18:02", - "updated_at": "2017-07-31 03:18:02" - } -] -``` - -## 获取一个广告位的广告列表 - -``` -GET /advertisingspace/:space/advertising -``` - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "space_id": 1, // 广告位id - "title": "广告1", // 广告标题 - "type": "image", // 广告类型 - "data": { // 广告数据 - "image": "http://plus.bai/api/v2/files/1", // 广告图片地址 - "link": "http://www.baidu.com" // 广告链接 - }, - "sort": 2, - "created_at": "2017-07-27 15:09:15", - "updated_at": "2017-07-27 15:09:16" - }, - { - "id": 2, - "space_id": 1, - "title": "广告2", - "type": "image", - "data": { - "image": "http://plus.bai/api/v2/files/1", - "link": "http://www.baidu.com" - }, - "sort": 3, - "created_at": "2017-07-27 15:09:15", - "updated_at": "2017-07-27 15:09:16" - } -] -``` - -| 名称 | 类型 | 描述 | -|:----:|:----:|------| -| id | int | 数据id | -| space_id | int | 所属广告位id | -| title | string | 广告位标题 | -| data | array | 广告数据 参见对应广告位数据格式 | -| sort | int | 广告顺序 | - - -## 批量获取广告列表 - -``` -GET /advertisingspace/advertising -``` - - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| space | 字符串 | 广告位id,多个以逗号隔开 | - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "space_id": 1, // 广告位id - "title": "广告1", // 广告标题 - "type": "image", // 广告类型 - "data": { // 广告数据 - "image": "http://plus.bai/api/v2/files/1", // 广告图片地址 - "link": "http://www.baidu.com" // 广告链接 - }, - "sort": 2, - "created_at": "2017-07-27 15:09:15", - "updated_at": "2017-07-27 15:09:16" - }, - { - "id": 2, - "space_id": 2, - "title": "广告2", - "type": "image", - "data": { - "image": "http://plus.bai/api/v2/files/1", - "link": "http://www.baidu.com" - }, - "sort": 3, - "created_at": "2017-07-27 15:09:15", - "updated_at": "2017-07-27 15:09:16" - } -] -``` diff --git a/docs/api-v2-bootstrappers.html b/docs/api-v2-bootstrappers.html new file mode 100644 index 0000000..1010784 --- /dev/null +++ b/docs/api-v2-bootstrappers.html @@ -0,0 +1,162 @@ +Codestin Search App
\ No newline at end of file diff --git a/docs/api-v2-bootstrappers.md b/docs/api-v2-bootstrappers.md deleted file mode 100644 index 024dba0..0000000 --- a/docs/api-v2-bootstrappers.md +++ /dev/null @@ -1,140 +0,0 @@ ---- -id: api-v2-bootstrappers -title: 启动信息 ---- - -启动信息是在调用接口前的需求,可以在应用启动的时候一次性获取全部通用配置信息。 - -## 启动信息的移动端处理方式 - -移动端在版本发布支出将部分配置信息的默认配置打包写入本地.应用使用过程中更新启动信息,优先使用服务器提供的最新的信息. - -## 列出所有启动者配置 - -``` -GET /bootstrappers -``` - -#### 响应 - -``` -Status: 200 OK -``` -```json5 -{ - "server:version": "1.6.0", - "wallet:ratio": 200, // 转换显示余额的比例,百分比。(200 就表示 200%) - "wallet:recharge-type": [ // 此配置支持全平台的支付方式,不同平台更具自身平台对应值判断是非支持该支付方式。 - "alipay", // "支付宝 APP 支付", - "alipay_wap", // "支付宝手机网页支付", - "alipay_pc_direct", // "支付宝电脑网站支付", - "alipay_qr", // "支付宝扫码支付", - "wx", // "微信 APP 支付", - "wx_wap", // "微信 WAP 支付", - "applepay_upacp" // "Apple Pay" - ], - "wallet:cash": { - "open": true - }, - "wallet:recharge": { - "open": true - }, - "wallet:transform": { - "open": true - }, - "currency:cash": { - "open": true - }, - "currency:recharge": { - "open": true - }, - "currency:recharge": { - "open": true, - "IAP_only": true, - }, - "ad":[ - { - "id":1, - "title":"广告1", - "type":"image", - "data":{ - "image":"https://avatars0.githubusercontent.com/u/5564821?v=3&s=460", - "link":"https://github.com/zhiyicx/thinksns-plus" - } - }, - { - "id":2, - "title":"广告2", - "type":"markdown", - "data":"# 广告2\n我是广告2" - }, - { - "id":3, - "title":"广告3", - "type":"html", - "data":"

广告3

我不管我不管

" - }, - { - "id":4, - "title":"广告4", - "type":"user:id", - "data":"1" - } - ], - "site": { - - "reserved_nickname": "root,admin", - "client_email": "admin@123.com", - "gold": { - "status": false - }, - "reward": { - "status": false, - "amounts": "5,10,15" - }, - "user_invite_template": "我发现了一个全平台社交系统ThinkSNS+,快来加入吧:http://t.cn/RpFfbbi" - }, - "registerSettings": { - "showTerms": false, - "registerMode": "all", - "completeData": true, - "accountType": "all", - "content": "# 服务条款及隐私政策", - "type": "mobile-only", - "method": "invited" - }, - "im:helper-user": 1, - "pay-validate-user-password": false, // 是否用户在支付时输入密码,true 为需要,false 为不需要 -} -``` -## 参数详解 - -| 参数名 | 参数含义 | 枚举 | 备注 | -| :----: | :----: | :----: | :----: | -| server:version | 服务端版本号 | | string 类型 | -| wallet | 钱包相关 | | | -| wallet:ratio | 显示金额与服务端金额的转换比例 | | 显示金额 = 服务端金额 / wallet:ratio | -| wallet:cash | 钱包提现的开关选项 | | | -| wallet:recharge | 钱包充值的开关选项 | | | -| wallet:transform | 钱包余额转换积分的开关选项 | | | -| currency:cash | 积分提现的开关选项 | | | -| currency:recharge.open | 积分充值的开关选项 | | | -| currency:recharge.IAP_only | IOS端只允许IAP充值的开关选项 | | | -| ad | 广告位相关 | | | -| site | 系统配置相关 | | 类型:json对象 | -| site.gold:status | 是否开启积分系统 | true:开启,false:关闭 | 控制前端展示相应的积分模块,类型:Boolean | -| site.reward.status | 是否开启打赏 | true:开启,false:关闭 | 控制平台的打赏开关, 类型:Boolean | -| site.reward.amounts | 打赏金额配置 | '5,10,15'... | 打赏金额配置,用半角逗号分隔 | -| site.gold_name | 积分的展示名称 | | 积分在前端显示的名称 | -| site.gold_name.name | 积分昵称 | 金币,豆子,贝壳... | | -| site.gold_name.unit | 积分昵称的单位 | 个,枚,粒 | | -| site.reserved_nickname | 站点预留昵称 | 'admin,root'... | 注册时不能够使用的昵称,用半角逗号分隔 | -| site.user_invite_template | 邀请注册的短信模板 | | 类型:string | -| registerSettings | 注册相关 | | | -| registerSettings.open | 是否开放注册 | true:开放,false:关闭 | | -| registerSettings.showTerms | 注册时展示服务条款及隐私政策 | true:展示,false:不展示 | 类型:Boolean | -| registerSettings.completeData | 注册完成后是否需要立即完善资料 | true:需要,false:不需要 | 类型:Boolean | -| registerSettings.content | 用户服务条款及隐私政策 | | 类型:string,格式:markdown | -| registerSettings.type | 用户注册方式 | invited: 仅邀请, all: 全部, thirdPart: 第三方 | 注册方式控制类型:string | -| registerSettings.method | 用户注册类型 | mobile-only: 仅手机, mail-only: 仅邮箱,all: 邮箱或手机 | 类型:string | -| im:helper-user | 聊天小助手用户 ID | | Int | diff --git a/docs/api-v2-core-comment.html b/docs/api-v2-core-comment.html new file mode 100644 index 0000000..2906441 --- /dev/null +++ b/docs/api-v2-core-comment.html @@ -0,0 +1,69 @@ +Codestin Search App
\ No newline at end of file diff --git a/docs/api-v2-core-comment.md b/docs/api-v2-core-comment.md deleted file mode 100644 index 18db068..0000000 --- a/docs/api-v2-core-comment.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: api-v2-core-comment -title: 评论 ---- - -## 获取所有评论 - -``` -GET /comments -``` - -请求查询参数: - -| 名字 | 类型 | 描述 | -|----|----|----| -| `limit` | `integer` | **可选**,本次请求需要返回的数据条数。 | -| `index` | `integer` | **可选**,查询开始的评论位置,来源响应 `id` 字段。 | -| `direction` | `string` | **可选**,数据排序方向,以 `id` 进行排序,支持 `asc` 或 `desc`,默认 `desc`。 | -| `author` | `integer` | **可选**,需要筛选的评论作者,传递用户 ID。 | -| `for_user` | `integer` | **可选**,需要获取关于某用户的评论,传递用户 ID。| -| `for_type` | `string` | **可选**,获取关于某用户评论的方式,默认 `all`,支持 `all: 全部`、`target: 评论我的`和 `reply: 回复我的`。| -| `resourceable_id` | `integer` or `string` | **可选**,需要以资源 ID 为条件查询的评论,多个以 `,` 进行分割。| -| `resourceable_type` | `string` | **可选,如果 `resourceable_id` 存在则必须** ,资源类型标识。| -| `id` | `integer` or `string` | **可选**,多个评论 ID 使用 `,` 进行分割;如果存在本参数,除了 `direction` 外,其他参数均失效。 | - -响应: - -``` -Status: 200 OK -``` - -```json5 -[ - { - "id": 2, // 评论 ID - "user_id": 1, // 评论作者用户 ID - "target_user": 1, // 接收评论用户 ID - "body": "\u00ad@用户4\u00ad你好", // 被回复的用户 ID - "resourceable": { // 可资源化的标识 - "type": "feeds", - "id": 3 - }, - "created_at": "2018-08-15T05:57:01Z" // 评论创建时间 - } -] -``` diff --git a/docs/api-v2-core-file-storage.html b/docs/api-v2-core-file-storage.html new file mode 100644 index 0000000..672c826 --- /dev/null +++ b/docs/api-v2-core-file-storage.html @@ -0,0 +1,126 @@ +Codestin Search App
\ No newline at end of file diff --git a/docs/api-v2-core-file-storage.md b/docs/api-v2-core-file-storage.md deleted file mode 100644 index 9227d02..0000000 --- a/docs/api-v2-core-file-storage.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -id: api-v2-core-file-storage -title: 文件存储 ---- - -## 厂商标识 - -| 标识 | 厂商 | -|----|----| -| `local` | 本地系统 | -| `aliyun-oss` | 阿里云 OSS | - -## 频道标识 - -| 标识 | 描述 | -|----|----| -| `public` | 用于公开图片,例如用户头像,或者不需要付费的任何图片使用 `public` 作为频道 | - -## 创建上传任务 - -``` -/api/v2/storage -``` - -请求内容参数: - -| 参数 | 类型 | 描述 | -|----|----|----| -| `filename` | `string` | **必须**,文件原始名称(需要带上文件拓展名) | -| `hash` | `string` | **必须**,文件的 MD5 算法进行计算的值,采用 `32` 位算法字符 | -| `size` | `integer` | **必须**,文件内容大小 | -| `mime_type` | `string` | **必须**,文件 MIME 类型 | -| `storage` | `array` | **必须**,文件存储信息 | -| `storage.channel` | `string` | **必须**,允许的「[频道标识](#频道标识)」 | - -响应: - -``` -Status: 201 Created -``` -```json5 -{ - "uri": "https://seven-local.oss-cn-beijing.aliyuncs.com/2018/09/05/TxgUMmw25De0t1PCiXkqpMqVAvWFCFFWlNKwd8Xl4V0mxyDvb7ISj0PmTUFH5PJH.png?OSSAccessKeyId=LTAIqgpxMlsPodLB&Expires=1536141182&Signature=EuCsfHaiGnkhDQ4D8wys%2FU7pYtQ%3D", // 上传文件的请求地址 - "method": "PUT", // 上传文件的请求方式 - "headers": { // 上传文件时候,headers 必须的键值 - "Content-Disposition": "attachment;filename=demo.png", - "Content-Md5": "UC57soIyuC7SPBgHe47MNA==", - "Content-Length": 802930, - "Content-Type": "image/png" - }, - "form": null, // 上传时候的表单,如果是 NULL 则表示整个 Body 是二进制文件流,如果是对象,则构造 `application/form-data` 表单对象 - "file_key": null, // 如果存在 `form` 表单信息,文件流所使用的 key 名称 - "node": "public:2018/09/05/TxgUMmw25De0t1PCiXkqpMqVAvWFCFFWlNKwd8Xl4V0mxyDvb7ISj0PmTUFH5PJH.png" // 文件上传完成后所使用的文件节点 -} -``` - -## 文件附带信息 - -这里是指使用文件对象的附带信息。例如用户资料种的 `avatar` 字段: - -```json5 -{ - /// ... - "avatar": { - "url": "http://127.0.0.1:8000/storage/public:MjAxOC8wOS8wNS9UeGdVTW13MjVEZTB0MVBDaVhrcXBNcVZBdldGQ0ZGV2xOS3dkOFhsNFYwbXh5RHZiN0lTajBQbVRVRkg1UEpILnBuZw==", // 文件请求地址,GET 方式 - "vendor": "aliyun-oss", // 厂商名称 - "mime": "image/png", // 文件 MIME - "size": 802930, // 文件尺寸 - "dimension": { // 如果文件是图片,将返回文件的尺寸信息 - "width": 2800, // 图片宽度 - "height": 1867 // 图片高度 - } - }, - /// ... -} -``` - -## 文件处理规则 - -文件处理规则是在得到文件请求地址后,使用「查询参数」`rule` 进行传递参数。这里的参数是根据 `vendor` 自动客户端自行调整的。 - -### 本地存储(local) - -本地存储仅支持「**图片**」处理,其他文件一律不处理。规则如下: - -| 名称 | 描述 | -|----|----| -| `w` | **可选**,指定图片宽度 | -| `h` | **可选**,指定图片高度 | -| `q` | **可选**,指定图片质量,`0` - `90` | -| `b` | **可选**,指定图片高斯模糊程度,`0` - `100` | - -参数和值使用 `_` 进行链接,多个参数使用 `,` 进行分割,例如指定图片宽度为 200,规则为 `w_200`, -多个参数,例如指定宽高和模糊:`w_100,h_100,b_60`。 - -拼接出来的请求完整 URL 如: - -``` -http://127.0.0.1:8000/storage/public:MjAxOC8wOS8wNS9UeGdVTW13MjVEZTB0MVBDaVhrcXBNcVZBdldGQ0ZGV2xOS3dkOFhsNFYwbXh5RHZiN0lTajBQbVRVRkg1UEpILnBuZw==?rule=w_100,h_100,b_60 -``` - -### 其他厂商 - -- [阿里云 OSS - 图片处理](https://help.aliyun.com/document_detail/44686.html) diff --git a/docs/api-v2-currency.html b/docs/api-v2-currency.html new file mode 100644 index 0000000..ad45d1d --- /dev/null +++ b/docs/api-v2-currency.html @@ -0,0 +1,397 @@ +Codestin Search App
\ No newline at end of file diff --git a/docs/api-v2-currency.md b/docs/api-v2-currency.md deleted file mode 100644 index 6debf42..0000000 --- a/docs/api-v2-currency.md +++ /dev/null @@ -1,415 +0,0 @@ ---- -id: api-v2-currency -title: 积分 ---- - -# 积分部分 - -- [获取积分配置](#get-currency-config) -- [积分流水](#orders) -- [发起充值](#create-order) -- [取回凭据](#order-retrieve) -- [充值回调](#webhook) -- [发起提现](#create-cash) -- [发起 IAP(in-App Purchase) 充值](#create-apple-iap) -- [验证 IAP 订单](#verify-apple-iap) -- [获取苹果IAP商品列表](#get-apple-iap-plist) -- [积分商城(待开发)](#currency-shop) -- [IAP帮助页面](#iap-help) - - -## 获取积分配置 - -``` -GET /currency -``` - -### 响应 - -``` -Http Status 200 -``` - -```json -{ - "recharge-ratio": 1, - "recharge-options": "100, 500, 1000, 2000, 5000, 10000", - "recharge-max": 10000000, - "recharge-min": 100, - "recharge-rule": "123123", - "cash-max": 10000000, - "cash-min": 100, - "rule": "123123", - "cash-rule": "123123", - "apple-IAP-rule": "12312", - "cash": [ - "alipay", - "wechat" - ], - "recharge-type": [ - "alipay", - "alipay_pc_direct", - "applepay_upacp" - ] -} -``` - -| 名称 | 类型 | 描述 | -|:----:|:----:|:-----| -| recharge-ratio | int | 兑换比例,人民币一分钱可兑换的积分数量 | -| recharge-options | string | 充值选项,人民币分单位 | -| recharge-max | int | 单笔最高充值额度 | -| recharge-min | int | 单笔最小充值额度 | -| cash-max | int | 单笔最高提现额度 | -| cash-min | int | 单笔最小提现额度 | -| rule | string | 积分规则 | -| recharge-rule | string | 积分充值规则 | -| cash-rule | string | 积分提现规则 | -| apple-IAP-rule | string | 苹果IAP积分充值规则 | -| cash | array | 允许的提现方式 | -| recharge-type | array | 允许的充值方式 | - - -## 积分流水 - -``` -GET /currency/orders -``` - -### 可选参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|:-----| -| limit | int | 数据返回条数 | -| after | int | 翻页数据id | -| action | string | 筛选类型 `recharge` - 充值记录 `cash` - 提现记录 默认为全部| -| type | int | 收入类型 `1` - 收入, `-1` - 支出 默认为全部 | - -### 响应 - -``` -Http Status 200 -``` - -```json -[ - { - "id": 11, - "owner_id": 1, - "title": "积分充值", - "body": "充值积分:200积分", - "type": 1, - "target_type": "recharge", - "target_id": "0", - "currency": 1, - "amount": 200, - "state": 0, - "created_at": "2018-01-18 07:57:21", - "updated_at": "2018-01-18 07:57:21" - }, - { - "id": 4, - "owner_id": 1, - "title": "积分提取", - "body": "提取积分:200积分", - "type": -1, - "target_type": "cash", - "target_id": "0", - "currency": 1, - "amount": 200, - "state": 0, - "created_at": "2018-01-18 06:56:25", - "updated_at": "2018-01-18 06:56:25" - } -] -``` - -### 可选参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|:-----| -| id | int | 数据id | -| owner_id | int | 用户(所属者)id | -| title | string | 记录标题 | -| body | string | 记录信息 | -| type | int | 增减类型 `1` - 收入、 `-1` - 支出 | -| target_type | string | 操作类型 目前有: `default` - 默认操作、`commodity` - 购买积分商品、`user` - 用户到用户流程(如采纳、付费置顶等)、`task` - 积分任务、`recharge` - 充值、`cash` - 积分提取 | -| target_id | string | 当操作类型为`user`时,为用户id| -| currency | int | 后台预设积分类型id,当前需求中暂无该需求,默认为1,类型为`积分` | -| amount | int | 积分额 | -| state | int | 订单状态 `0` - 等待、`1` - 完成、`-1` - 失败| - - - -## 发起充值 - -``` -POST /currency/recharge -``` - -### 输入参数 - -| 字段 | 必须 | 类型 | 描述 | -|----|:----:|:----:|:----:| -| type | 是 | string | 充值方式 (见「启动信息接口」或者「钱包信息」) | -| amount | 是 | int | 用户充值金额,单位为真实货币「分」单位,充值完成后会根据积分兑换比例增加相应数量的积分 | -| extra | 否 | object,array | 拓展信息字段,见 [支付渠道-extra-参数说明](https://www.pingxx.com/api?language=PHP#支付渠道-extra-参数说明) | - -#### 响应 - -``` -Status: 201 Created -``` -```json -{ - "order": { - "id": 1, - "owner_id": 1, - "target_type": "recharge_ping_p_p", - "target_id": 1, - "title": "充值", - "body": "积分充值", - "type": -1, - "amount": 500, - "state": 0, - "created_at": "2018-01-04 07:29:57", - "updated_at": "2018-01-04 07:29:57" - }, // 钱包记录数据信息 - "pingpp_order": { // Ping++ 凭据 - "id": "ch_08anD0a9yjPCLyvbTODqXrnT", - "object": "charge", - "created": 1496819712, - "livemode": false, - "paid": false, - "refunded": false, - "app": "app_5anXP4ezfXvL8m5e", - "channel": "applepay_upacp", - "order_no": "C0000000000000000008", - "client_ip": "127.0.0.1", - "amount": 500, - "amount_settle": 500, - "currency": "cny", - "subject": "余额充值", - "body": "积分余额充值", - "extra": {}, - "time_paid": null, - "time_expire": 1496906112, - "time_settle": null, - "transaction_no": null, - "refunds": { - "object": "list", - "url": "/v1/charges/ch_08anD0a9yjPCLyvbTODqXrnT/refunds", - "has_more": false, - "data": [] - }, - "amount_refunded": 0, - "failure_code": null, - "failure_msg": null, - "metadata": {}, - "credential": { - "object": "credential", - "applepay_upacp": { - "tn": "201706071515122891443", - "mode": "00", - "merchant_id": "Your app merchant id" - } - }, - "description": null - } -} -``` - -### Type 场景 - -| name | 描述 | -|----|----| -| applepay_upacp | Apple Pay (仅对 iOS 有效) | -| alipay | App 发起支付宝支付选项 | -| alipay_wap | 手机网页发起支付宝支付 | -| alipay_pc_direct | PC 网页发起支付宝支付 | -| alipay_qr | 支付宝扫码支付,前度生成二维码 | -| wx | App 发起微信支付 | -| wx_wap | 手机网页发起微信支付 | - - -## 取回凭据 - -``` -GET /api/v2/currency/orders/{order} -``` - -#### 响应 - -``` -HTTP Status 200 -``` - -```json -{ - "id": 11, - "owner_id": 1, - "title": "积分充值", - "body": "充值积分:200积分", - "type": 1, - "target_type": "recharge", - "target_id": "0", - "currency": 1, - "amount": 200, - "state": 0, - "created_at": "2018-01-18 07:57:21", - "updated_at": "2018-01-18 07:57:21" -} -``` - -## 回调通知 - -``` -POST /api/v2/currency/webhooks -``` - -供给ping++平台回调通知调用的接口 - - -## 发起提现 - -``` -POST /api/v2/currency/cash -``` - -### 传入参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|:-----| -| amount | int | 提取积分,发起该操作后会根据积分兑换比例取人民币分单位整数后扣减相应积分 | - -### 响应 - -``` -Http Status 201 -``` - -```json -{ - "message": [ - "操作成功" - ] -} -``` - -## 发起IAP充值 - -``` -POST /currency/recharge/apple-iap -``` - -### 输入参数 - -| 字段 | 必须 | 类型 | 描述 | -|----|:----:|:----:|:----:| -| amount | 是 | int | 用户充值金额,单位为真实货币「分」单位,充值完成后会根据积分兑换比例增加相应数量的积分 | - - -#### 响应 - -``` -HTTP Status 201 -``` - -```json -{ - "id": 11, - "owner_id": 1, - "title": "积分充值", - "body": "充值积分:200积分", - "type": 1, - "target_type": "recharge", - "target_id": "0", - "currency": 1, - "amount": 200, - "state": 0, - "created_at": "2018-01-18 07:57:21", - "updated_at": "2018-01-18 07:57:21" -} -``` - - - -## 验证 IAP 充值 - -``` -POST /currency/orders/:order/apple-iap/verify -``` - -## 输入参数 - -| 字段 | 类型 | 描述 | -|:----:|:-----|:-----| -| receipt | array | 数组格式的收据编码 | - -### 响应 - -``` -HTTP Status 200 -``` - -```json -{ - "id": 11, - "owner_id": 1, - "title": "积分充值", - "body": "充值积分:200积分", - "type": 1, - "target_type": "recharge", - "target_id": "0", - "currency": 1, - "amount": 200, - "state": 0, - "created_at": "2018-01-18 07:57:21", - "updated_at": "2018-01-18 07:57:21" -} -``` - - -## 获取苹果IAP商品列表 - -``` -GET /currency/apple-iap/products -``` - - -### 响应 - -```json -[ - { - "product_id": "1", - "name": "积分1", - "apple_id": "11211", - "amount": "600" - } -] -``` - -### 返回参数 - -| 名称 | 类型 | 描述 | -|:----:|:-----|:-----| -| product_id | string | 商品id | -| name | string | 商品名称 | -| apple_id | string | | -| amount | string | 商品金额 | - - -## 积分商城 - -``` -GET /currency/shop -``` - - - -## IAP 帮助页面 - -``` -GET /currency/apple-iap/help -``` diff --git a/docs/api-v2-easemob.html b/docs/api-v2-easemob.html new file mode 100644 index 0000000..d065e74 --- /dev/null +++ b/docs/api-v2-easemob.html @@ -0,0 +1,407 @@ +Codestin Search App
\ No newline at end of file diff --git a/docs/api-v2-easemob.md b/docs/api-v2-easemob.md deleted file mode 100644 index 0c6d63b..0000000 --- a/docs/api-v2-easemob.md +++ /dev/null @@ -1,418 +0,0 @@ ---- -id: api-v2-easemob -title: 环信 ---- - -- [注册环信用户](#注册环信用户) -- [重置用户环信密码](#重置用户环信密码) -- [获取环信用户密码](#获取环信用户密码) -- [环信群组管理](#环信群组管理) - -## 注册环信用户 - -- [注册单个环信用户](#注册单个环信用户) -- [批量注册环信用户](#批量注册环信用户); -- [为未注册环信用户注册环信](#为未注册环信用户注册环信); - -``` -POST /easemob/register/:user_id -``` - -##### 响应 - -``` -Status: 201 OK -``` - -### 批量注册环信用户 - -``` -POST /easemob/register -``` - -#### 参数 - -| 字段 | 类型 | 描述 | -|:----:|:----:|----| -| user_ids | 字符串 | 多个以英文 "," 隔开 | - -##### 响应 - -``` -Status: 201 OK -``` - -### 为未注册环信用户注册环信 - -``` -POST /easemob/register-old-users -``` - -##### 响应 - -``` -Status: 201 OK -``` - - -## 重置用户环信密码 - -``` -PUT /easemob/password -``` - -##### 响应 - -``` -Status: 201 OK -``` - -## 获取环信用户密码 - -``` -GET /easemob/password -``` - -##### 响应 - -``` -Status: 201 OK -``` - -```json -{ - "message": [ - "成功" - ], - "im_pwd_hash": "2daefb9dcd6d7d7898b62cf85d0a9fc3" -} -``` - -| 名称 | 描述 | -|:----:|----| -| im_pwd_hash | 环信登录密码 | - - -## 环信群组管理 - -- [获取群信息](#获取群信息); -- [创建群组](#创建群组) -- [修改群信息](#修改群信息); -- [删除群组](#删除群组); -- [批量获取群头像](#批量获取群头像); -- [批量添加群成员](#批量添加群成员); -- [批量移除群成员](#批量移除群成员); - -## 获取群信息 - -``` -GET /easemob/group -``` - -#### 参数 - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| im_group_id | Integer/String | | 必须,群组ID,如果多个以英文 "," 隔开 | - -##### 响应 - -``` -Status: 200 OK -``` - -```json -[ - { - "id": "36036128342017", - "name": "花儿巷", - "description": "来自花儿巷的朋友", - "membersonly": false, - "allowinvites": true, - "maxusers": 300, - "owner": "1", - "created": 1513765130162, - "custom": "", - "affiliations_count": 5, - "affiliations": [ - { - "id": 1, - "name": "root", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-12-17 14:34:13", - "updated_at": "2017-12-17 14:34:13", - "is_owner": 1, - "avatar": null, - "bg": null, - "verified": null, - "extra": null, - "certification": null - }, - { - "id": 2, - "name": "well", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-12-18 07:30:39", - "updated_at": "2017-12-18 07:30:39", - "is_owner": 0, - "avatar": null, - "bg": null, - "verified": null, - "extra": null, - "certification": null - }, - { - "id": 4, - "name": "上档次", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-12-19 02:36:00", - "updated_at": "2017-12-19 06:14:12", - "is_owner": 0, - "avatar": null, - "bg": null, - "verified": null, - "extra": null, - "certification": null - }, - { - "id": 5, - "name": "明夜", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-12-19 02:41:59", - "updated_at": "2017-12-19 06:24:25", - "is_owner": 0, - "avatar": null, - "bg": null, - "verified": null, - "extra": null, - "certification": null - }, - { - "id": 7, - "name": "红玫王", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-12-19 05:31:08", - "updated_at": "2017-12-19 05:46:01", - "is_owner": 0, - "avatar": null, - "bg": null, - "verified": null, - "extra": null, - "certification": null - } - ], - "public": true, - "group_face": "" - } -] -``` - -| 名称 | 描述 | -|:----:|----| -| id | 群组ID | -| name | 群组名称 | -| description | 群组描述 | -| membersonly | 加入群组是否需要群主或者群管理员审批。true:是,false:否 | -| allowinvites | 是否允许群成员邀请别人加入此群。 true:允许群成员邀请人加入此群,false:只有群主才可以往群里加人 | -| maxusers | 群成员上限,创建群组的时候设置 | -| owner | 群主的环信 uid | -| created | 群组创建时间 | -| affiliations_count | 现有成员总数 | -| public | 群组类型:true:公开群,false:私有群 | -| group_face | 群组头像 | -| affiliations.id | 用户uid | -| affiliations.name | 用户昵称 | -| affiliations.bio | 用户描述 | -| affiliations.sex | 用户性别,0 - Unknown, 1 - 男, 2 - 女 | -| affiliations.location | 用户的位置信息 | -| affiliations.created_at | 用户注册时间 | -| affiliations.updated_at | 用户核心资料更新时间 | -| affiliations.is_owner | 是否是群主,0-否,1-是 | -| affiliations.avatar | 用户头像接口地址 | -| affiliations.bg | 用户背景图片地址 | -| affiliations.verified | 用户的认证信息 | -| affiliations.certification | 用户认证分类 | - -## 创建群组 - -``` -POST /easemob/group -``` - -#### 参数 - -| 参数 | 类型 | 枚举 | 描述 | -|:----:|:----:|:----:|----| -| groupname | String | | 必须,群组名称 | -| desc | String | | 必须,群组描述 | -| public | Boolean | 1:公开,0:不公开 | 是否是公开群,默认是1 | -| maxusers | Integer | | 群组成员最大数(包括群主),值为数值类型,默认值200,最大值2000 | -| members_only | Boolean | 1:是,0:否 | 加入群是否需要群主或者群管理员审批,默认是0 | -| allowinvites | Boolean | 1:是,0:否 | 是否允许群成员邀请别人加入此群。 1:允许群成员邀请人加入此群,0:只有群主或者管理员才可以往群里加人。 | -| members | String | | 群组成员,多个以英文 "," 隔开 | - -##### 响应 - -``` -Status: 201 OK -``` - -```json -{ - "message": [ - "成功" - ], - "im_group_id": "39992137154562" -} -``` - -| 名称 | 描述 | -|:----:|----| -| im_group_id | 群组ID | - -## 修改群信息 - -``` -PATCH /easemob/group -``` - -#### 参数 - -| 参数 | 类型 | 枚举 | 描述 | -|:----:|:----:|:----:|----| -| im_group_id | Integer | | 必须,群组ID | -| groupname | String | | 必须,群组名称 | -| desc | String | | 必须,群组描述 | -| public | Boolean | 1:公开,0:不公开 | 是否是公开群,默认是1 | -| maxusers | Integer | | 群组成员最大数(包括群主),值为数值类型,默认值200,最大值2000 | -| members_only | Boolean | 1:是,0:否 | 加入群是否需要群主或者群管理员审批,默认是0 | -| allowinvites | Boolean | 1:是,0:否 | 是否允许群成员邀请别人加入此群。 1:允许群成员邀请人加入此群,0:只有群主或者管理员才可以往群里加人。 | -| group_face | Integer | | 群组头像 | -| new_owner_user | Integer | | 新群组管理员 | - -##### 响应 - -``` -Status: 201 OK -``` - -```json -{ - "groupname": "花儿巷", - "desc": "来自花儿巷的朋友", - "public": true, - "maxusers": 300, - "members_only": false, - "allowinvites": true, - "group_face": "", - "im_group_id": "36036128342017" -} -``` - -| 名称 | 描述 | -|:----:|----| -| groupname | 群组名称 | -| desc | 群组描述 | -| public | 是否是公开群 | -| maxusers | 群组最大成员数 | -| group_face | 群组头像 | -| im_group_id | 群组ID | - -## 删除群组 - -``` -DELETE /easemob/group -``` - -#### 参数 - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| im_group_id | Integer | 必须,群组ID | - -##### 响应 - -``` -Status: 204 OK -``` - -## 批量获取群头像 - -``` -GET /easemob/group/face -``` - -#### 参数 - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| im_group_id | String | 必须,群组ID,多个以英文 "," 隔开 | - -##### 响应 - -``` -Status: 200 OK -``` - -```json -[ - { - "im_group_id": "36036128342017", - "group_face": 0 - } -] -``` - -| 名称 | 描述 | -|:----:|----| -| im_group_id | 群组ID | -| group_face | 群组头像 | - -## 批量添加群成员 - -``` -POST /easemob/group/member -``` - -#### 参数 - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| im_group_id | Integer | 必须,群组ID | -| members | String | 必须,群组成员,多个以英文 "," 隔开 | - -##### 响应 - -``` -Status: 201 OK -``` - -## 批量移除群成员 - -``` -DELETE /easemob/group/member -``` - -#### 参数 - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| im_group_id | Integer | 必须,群组ID | -| members | String | 必须,群组成员,多个以英文 "," 隔开 | - -##### 响应 - -``` -Status: 204 OK -``` - diff --git a/docs/api-v2-feeds-collect.html b/docs/api-v2-feeds-collect.html new file mode 100644 index 0000000..264b528 --- /dev/null +++ b/docs/api-v2-feeds-collect.html @@ -0,0 +1,82 @@ +Codestin Search App
\ No newline at end of file diff --git a/docs/api-v2-feeds-collect.md b/docs/api-v2-feeds-collect.md deleted file mode 100644 index eaf691f..0000000 --- a/docs/api-v2-feeds-collect.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -id: api-v2-feeds-collect -title: 收藏 ---- - -- [收藏](#收藏) -- [取消收藏](#取消收藏) -- [收藏列表](#收藏列表) - -## 收藏 - -``` -POST /feeds/:feed/collections -``` - -#### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "收藏成功" - ] -} -``` - -## 取消收藏 - -``` -DELETE /feeds/:feed/uncollect -``` - -#### Response - -``` -Status: 204 No Centent -``` - -## 收藏列表 - -``` -GET /feeds/collections -``` - -### Parameters - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 可选,默认值 20 ,获取条数 | -| offset | Integer | 可选,偏移量,用于翻页,传入已请求过的数据总数 | -| user | Integer | type = `users` 时可选,默认值为当前用户id | - -> 列表为倒序 - -#### Response - -``` -Status: 200 OK -``` -```json5 -[ - {...} // 数据参考动态单条内容 -] -``` - -> `feed_content` 字段在列表中,如果是收费动态则只返回 100 个文字。 diff --git a/docs/api-v2-feeds-comment-pay.html b/docs/api-v2-feeds-comment-pay.html new file mode 100644 index 0000000..eacb5b7 --- /dev/null +++ b/docs/api-v2-feeds-comment-pay.html @@ -0,0 +1,53 @@ +Codestin Search App
\ No newline at end of file diff --git a/docs/api-v2-feeds-comment-pay.md b/docs/api-v2-feeds-comment-pay.md deleted file mode 100644 index 1bf587e..0000000 --- a/docs/api-v2-feeds-comment-pay.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -id: api-v2-feeds-comment-pay -title: 设置评论收费 ---- - -``` -PATCH /feeds/:feed/comment-paid -``` - -## Input -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| amount | Integer | 收费金额 | - -#### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "设置成功" - ], - "paid_node": 11 -} -``` diff --git a/docs/api-v2-feeds-comments.html b/docs/api-v2-feeds-comments.html new file mode 100644 index 0000000..9289714 --- /dev/null +++ b/docs/api-v2-feeds-comments.html @@ -0,0 +1,174 @@ +Codestin Search App
\ No newline at end of file diff --git a/docs/api-v2-feeds-comments.md b/docs/api-v2-feeds-comments.md deleted file mode 100644 index aa138ab..0000000 --- a/docs/api-v2-feeds-comments.md +++ /dev/null @@ -1,158 +0,0 @@ ---- -id: api-v2-feeds-comments -title: 评论 ---- - -- [Send comment](#send-comment) -- [Get all comments](#get-all-comments) -- [Get a single comment](#get-a-single-comment) -- [Delete comment](#delete-comment) - -## Send comment - -``` -POST /feeds/:feed/comments -``` - -#### Input - -| Name | Type | Description -|:----:|:----:|----| -| body | String | Comment body. | -| reply_user | Integer | Reply comment to users. | - -##### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ], - "comment": { - "user_id": 1, - "reply_user": 0, - "target_user": 1, - "body": "我是第三条评论", - "commentable_type": "feeds", - "commentable_id": 1, - "updated_at": "2017-07-20 08:53:24", - "created_at": "2017-07-20 08:53:24", - "id": 3 - } -} -``` - -## Get all comments - -``` -GET /feeds/:feed/comments -``` - -#### Parameters - -| Name | Type | Description | -|:----:|:----:|----| -| limit | Integer | List comments limit, By default `20`. | -| after | Integer | The integer ID of the last Comment that you've seen. | - -##### Response - -``` -Status: 200 OK -``` -```json -{ - "pinneds": [ - { - "id": 2, - "user_id": 1, - "target_user": 1, - "reply_user": 0, - "body": "我是第一条评论", - "commentable_id": 1, - "commentable_type": "feeds", - "created_at": "2017-07-20 08:35:18", - "updated_at": "2017-07-20 08:35:18" - } - ], - "comments": [ - { - "id": 3, - "user_id": 1, - "target_user": 1, - "reply_user": 0, - "body": "我是第三条评论", - "commentable_id": 1, - "commentable_type": "feeds", - "created_at": "2017-07-20 08:53:24", - "updated_at": "2017-07-20 08:53:24" - } - ] -} -``` - -| Name | Description | -|:----:|----| -| pinneds | Pinned comments list. | -| comment | Comments list. | -| *.id | The `ID` of the comment. | -| *.user_id | Commentator. | -| *.target_user | Own dynamic publisher. | -| *.reply_user | Reverted to the user. | -| *.body | The `body` of the comment. | -| *.commentable_id | Feeds id. | -| *.commentable_type | Commentable type. | -| *.created_at | Comment release time. | -| *.updated_at | Comment update time. | - -## Get a single comment - -``` -GET /feeds/:feed/comments/:comment -``` - -##### Response - -``` -Status: 200 OK -``` -```json -{ - "id": 1, - "user_id": 1, - "target_user": 1, - "reply_user": 0, - "body": "我是第一条评论", - "commentable_id": 1, - "commentable_type": "feeds", - "created_at": "2017-07-20 08:34:41", - "updated_at": "2017-07-20 08:34:41" -} -``` - -| Name | Description | -|:----:|----| -| id | The `ID` of the comment. | -| user_id | Commentator. | -| target_user | Own dynamic publisher. | -| reply_user | Reverted to the user. | -| body | The `body` of the comment. | -| commentable_id | Feeds id. | -| commentable_type | Commentable type. | -| created_at | Comment release time. | -| updated_at | Comment update time. | - -## Delete comment - -``` -DELETE /feeds/:feed/comments/:comment -``` - -##### Response - -``` -Status: 204 No Content -``` diff --git a/docs/api-v2-feeds-create.html b/docs/api-v2-feeds-create.html new file mode 100644 index 0000000..8c45f4b --- /dev/null +++ b/docs/api-v2-feeds-create.html @@ -0,0 +1,86 @@ +Codestin Search App
\ No newline at end of file diff --git a/docs/api-v2-feeds-create.md b/docs/api-v2-feeds-create.md deleted file mode 100644 index 7e74f47..0000000 --- a/docs/api-v2-feeds-create.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -id: api-v2-feeds-create -title: 发布动态 ---- - -``` -POST /feeds -``` - -### Input - -| Name | Type | Description | -|:----:|:----:|----| -| feed_content | string | 分享内容。**如果存在附件,则为可选,否则必须存在** | -| feed_from | integer | 客户端标识,1-PC、2-Wap、3-iOS、4-android、5-其他 | -| feed_mark | mixed | 客户端请求唯一标识 | -| feed_latitude | string | 纬度,**当经度, GeoHash 任意一个存在,则本字段必须存在** | -| feed_longtitude | string | 经度,**当纬度, GeoHash 任意一个存在,则本字段必须存在** | -| feed_geohash | string | GeoHash,**当纬度、经度 任意一个存在,则本字段必须存在** | -| amount | inteter | 动态收费,**不存在表示不收费,存在表示收费。**| -| images | array | 结构:`{ id: , amount: , type: }`,**amount 为可选,id 必须存在,amount 为收费金额,单位分, type 为收费方式** | -| `topics` | `Array` | **可选**,需要关联的话题 ID 数组。 | -| `topics.*` | `integer` | **如果 `topics` 存在则必须**,话题 ID。 | -| `repostable_type` | `string` | **可选,如果 `repostable_id` 存在则必须**,转发资源类型标识。 | -| `repostable_id` | `integer` | **可选,如果 `repostable_type` 存在则必须**,转发资源 ID。 | - - -### Example -```json5 -{ - "feed_content": "内容", - "feed_from": "5", - "feed_mark": "xxxxx1", - "images": [ - { - "id": 1 - }, - { - "id": 1 - "amount": 100, - "type": "read" - } - ], - "feed_latitude": "12.32132123", - "feed_longtitude": "32.33332123", - "feed_geohash": "GdUDHyfghjd==", - "amount": 450, - "topics": [1, 2, 3] -} -``` - -### Response - -``` -Status: 201 Created -``` -```json5 -{ - "message": [ - "发布成功" - ], - "id": 1 -} -``` diff --git a/docs/api-v2-feeds-currency.html b/docs/api-v2-feeds-currency.html new file mode 100644 index 0000000..43c5075 --- /dev/null +++ b/docs/api-v2-feeds-currency.html @@ -0,0 +1,109 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-feeds-currency.md b/docs/api-v2-feeds-currency.md deleted file mode 100644 index 450b60f..0000000 --- a/docs/api-v2-feeds-currency.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -id: api-v2-feeds-currency -title: 积分部分新增接口 ---- - -- [删除动态](#删除动态) -- [申请动态置顶](#申请动态置顶) -- [申请动态评论置顶](#申请动态评论置顶) -- [通过评论置顶](#通过评论置顶) -- [拒绝评论置顶](#拒绝评论置顶) - -## 删除动态 - -``` -DELETE /feeds/:feed/currency -``` - -#### Response - -``` -Status: 204 No Content -``` - -## 申请动态置顶 - -``` -POST /feeds/:feed/currency-pinneds -``` - -#### Input - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| amount | Integer | 必须,置顶总价格,积分。 | -| day | Integer | 必须,置顶天数。| -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -#### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "申请成功" - ] -} -``` - -## 申请动态评论置顶 - -``` -POST /feeds/:feed/comments/:comment/currency-pinneds -``` - -#### Input - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| amount | Integer | 必须,置顶总价格,积分。 | -| day | Integer | 必须,置顶天数。| -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -#### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "申请成功" - ] -} -``` - -## 通过评论置顶 - -``` -PATCH /feeds/:feed/comments/:comment/currency-pinneds/:pinned -``` - -#### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "置顶成功" - ] -} -``` - -## 拒绝评论置顶 - -``` -DELETE /user/feed-comment-currency-pinneds/:pinned -``` - -#### Response - -``` -Status: 204 No Centent -``` diff --git a/docs/api-v2-feeds-delete.html b/docs/api-v2-feeds-delete.html new file mode 100644 index 0000000..18c7c25 --- /dev/null +++ b/docs/api-v2-feeds-delete.html @@ -0,0 +1,37 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-feeds-delete.md b/docs/api-v2-feeds-delete.md deleted file mode 100644 index a20c2b9..0000000 --- a/docs/api-v2-feeds-delete.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -id: api-v2-feeds-delete -title: 删除动态 ---- - -``` -DELETE /feeds/:feed/currency -``` - -#### Response - -``` -Status: 204 No Content -``` diff --git a/docs/api-v2-feeds-get.html b/docs/api-v2-feeds-get.html new file mode 100644 index 0000000..f4cf450 --- /dev/null +++ b/docs/api-v2-feeds-get.html @@ -0,0 +1,226 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-feeds-get.md b/docs/api-v2-feeds-get.md deleted file mode 100644 index cfc3f4f..0000000 --- a/docs/api-v2-feeds-get.md +++ /dev/null @@ -1,207 +0,0 @@ ---- -id: api-v2-feeds-get -title: 获取动态 ---- - -## 单条 - -``` -GET /feeds/:feed -``` - -#### Response - -``` -Status: 201 OK -``` -```json5 -{ - "id": 13, - "created_at": "2017-06-21 01:54:52", - "updated_at": "2017-06-21 01:54:52", - "deleted_at": null, - "user_id": 1, // 发布动态的用户 - "feed_content": "动态内容", // 内容 - "feed_from": 2, - "like_count": 0, // 点赞数 - "feed_view_count": 0, // 查看数 - "feed_comment_count": 0, // 评论数 - "feed_latitude": null, // 纬度 - "feed_longtitude": null, // 经度 - "feed_geohash": null, // GeoHash - "audit_status": 1, // 审核状态 - "feed_mark": 12, - "has_like": true, // 是否点赞 - "has_collect": false, // 用户是否收藏当前动态 - "paid_node": { - "paid": true, // 当前用户是否已经付费 - "node": 9, // 付费节点 - "amount": 20 // 付费金额 - }, - "comment_paid_node": { // 评论收费信息. - "paid": true, - "node": 11, - "amount": 50 - }, - "reward": { - "count": 3, // 被打赏次数 - "amount": "600" // 被打赏总金额 - }, - "images": [ // 图片 - { - "file": 4, // 文件 file_with 标识 不收费图片只存在 file 这一个字段。 - "size": null, // 图像尺寸,非图片为 null,图片没有尺寸也为 null, - "amount": 100, // 收费多少 - "type": "download", // 收费方式 - "paid": false, // 当前用户是否购买 - "paid_node": 10 付费节点 - }, - { - "file": 5, - "size": '1930x1930' // 当图片有尺寸的时候采用 width x height 格式返回。 - } - ], - "likes": [ - { - "id": 2, - "user_id": 1, - "target_user": 1, - "likeable_id": 1, - "likeable_type": "feeds", - "created_at": "2017-07-12 08:09:07", - "updated_at": "2017-07-12 08:09:07" - } - ], - "topics": [ // 话题数据 - { - "id": 1, // 话题 ID - "name": "第一个话题" // 话题名称 - } - ], - "repostable_type": null, // 转发资源类型 - "repostable_id": null, // 转发资源 ID -} -``` - -##### Not paid - -```json5 -{ - "message": [ - "请购买动态" - ], - "paid_node": 9, // 付费节点 - "amount": 20 // 动态价格 -} -``` - -## 批量 - -``` -GET /feeds -``` - -### Parameters - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 可选,默认值 20 ,获取条数 | -| after | Integer | 可选,上次获取到数据最后一条 ID,用于获取该 ID 之后的数据。 | -| type | String | 可选,默认值 new,可选值 `new` 、`hot` 、 `follow` 、`users` | -| search | String | type = `new`时可选,搜索关键字 | -| user | Integer | type = `users` 时可选,默认值为当前用户id | -| screen | string | type = `users` 时可选,`paid`-付费动态 `pinned` - 置顶动态 | -| `id` | `integer` or `string` | **可选**,按照动态 ID 获取动态列表。 | -| `hot` | `integer` | **可选,仅 `type=hot` 时有效**,用于热门数据翻页标记!上次获取数据最后一条的 `hot` 值 | - -> 列表为倒序 - -#### Response - -``` -Status: 200 OK -``` -```json5 -{ - "ad": null, - "pinned": [...], // 置顶动态列表 - "feeds": [ - { - "id": 1, - "user_id": 1, - "feed_content": "12312312312", - "feed_from": 1, - "like_count": 0, - "feed_view_count": 4, - "feed_comment_count": 3, - "feed_latitude": "", - "feed_longtitude": "", - "feed_geohash": "", - "audit_status": 1, - "feed_mark": 12312312, - "pinned": 1, - "pinned_amount": 0, - "created_at": "2017-08-01 16:46:19", - "updated_at": "2017-08-05 03:29:55", - "deleted_at": null, - "comments": [ - { - "id": 4, - "user_id": 1, - "target_user": 1, - "reply_user": 0, - "body": "辣鸡啊啊啊啊", - "commentable_id": 1, - "commentable_type": "feeds", - "created_at": "2017-08-05 03:29:55", - "updated_at": "2017-08-05 03:29:55", - "pinned": true - } - ], - "has_collect": false, - "has_like": false, - "images": [], - "paid_node": null, - "topics": [ // 话题数据 - { - "id": 1, // 话题 ID - "name": "第一个话题" // 话题名称 - } - ] - } - ] -} -``` - -### 返回参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| id | int | 动态数据id | -| user_id | int | 发布者id | -| feed_content | string | 动态内容 | -| feed_from | int | 动态来源 1:pc 2:h5 3:ios 4:android 5:其他 | -| like_count | int | 点赞数 | -| feed_view_count | int | 查看数 | -| feed_comment_count | int | 评论数 | -| feed_latitude | string | 纬度 | -| feed_longtitude | string | 经度 | -| feed_geohash | string | GEO | -| audit_status | int | 审核状态 | -| feed_mark | int | 标记 | -| pinned | int | 置顶标记 | -| pinned_amount | int | 置顶金额 | -| comments | array | 动态评论 列表中返回五条 | -| comments.id | int | 评论id | -| comments.user_id | int | 评论者id | -| comments.target_user | int | 资源作者id | -| comments.reply_user | int | 被回复者id | -| comments.body | string | 评论内容 | -| comments.pinned | bool | 评论置顶标记 不存在则为普通评论 | -| has_collect | bool | 是否已收藏 | -| has_like | bool | 是否已赞 | -| images | array | 图片信息 同单条动态数据结构一致 | -| paid_node | array | 付费节点信息 同单条动态数据结构一致 不存在时为null | -| `topics` | `Array` | 参考「动态详情」,内容一致。 | - -> `feed_content` 字段在列表中,如果是收费动态则只返回 100 个文字。 diff --git a/docs/api-v2-feeds-likes.html b/docs/api-v2-feeds-likes.html new file mode 100644 index 0000000..cba37e3 --- /dev/null +++ b/docs/api-v2-feeds-likes.html @@ -0,0 +1,137 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-feeds-likes.md b/docs/api-v2-feeds-likes.md deleted file mode 100644 index b014186..0000000 --- a/docs/api-v2-feeds-likes.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -id: api-v2-feeds-likes -title: 喜欢 ---- - -- [点喜欢](#点喜欢) -- [取消喜欢](#取消喜欢) -- [喜欢的人列表](#喜欢的人列表) - -## 点喜欢 - -``` -POST /feeds/:feed/like -``` - -#### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ] -} -``` - -#### 通知类型 - -```json5 -{ - "channel": "feed:digg", // 通知关键字 - "target": 325, // 动态id - "content": "@2222 点喜欢了你的动态", - "extra": { - "user_id": 2 // 点喜欢者id - } -} -``` - -#### 用户收到的点喜欢 - -```json5 - { - "id": 7, - "user_id": 2, - "target_user": 2, - "likeable_id": 327, - "likeable_type": "feeds", - "created_at": "2017-07-14 07:35:38", - "updated_at": "2017-07-14 07:35:38", - "likeable": { - ... // 动态内容 参考单条动态内容 - } - } -``` -## 取消喜欢 - -``` -DELETE /feeds/:feed/unlike -``` - -#### Response - -``` -Status: 204 Not Content -``` - -## 喜欢的人列表 - -``` -GET /feeds/:feed/likes -``` - -### Parameters - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 获取条数,默认 20 | -| after | Integer | `id` 获取之后数据,默认 0 | - -#### Response - -``` -Status: 200 OK -``` - -```json -[ - { - "id": 3, - "user_id": 2, - "target_user": 1, - "likeable_id": 1, - "likeable_type": "feeds", - "created_at": "2017-07-12 08:09:07", - "updated_at": null, - "user": { - "id": 2, - "name": "test1", - "bio": "0", - "sex": 0, - "location": "0", - "created_at": "2017-06-12 07:38:55", - "updated_at": "2017-06-12 07:38:55", - "following": true, - "follower": false, - "avatar": null, - "bg": null, - "verified": null, - "extra": null - } - } -] -``` -| 字段 | 描述 | -|:-----|:-----| -| id | 喜欢 ID | -| user_id | 点喜欢用户 ID | -| target_user | 接收喜欢用户 ID | -| likeable_id | 喜欢的资源 ID,配置 `likeable_type` 表示不同资源 | -| likeable_type | 喜欢的资源类型。 | -| created_at | 点喜欢时间 | -| updated_at | 更新时间 | -| user | 点喜欢的用户资料,结构参考 「用户信息」接口说明。 | diff --git a/docs/api-v2-feeds-pinned.html b/docs/api-v2-feeds-pinned.html new file mode 100644 index 0000000..6e4ecf4 --- /dev/null +++ b/docs/api-v2-feeds-pinned.html @@ -0,0 +1,206 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-feeds-pinned.md b/docs/api-v2-feeds-pinned.md deleted file mode 100644 index 09cff37..0000000 --- a/docs/api-v2-feeds-pinned.md +++ /dev/null @@ -1,208 +0,0 @@ ---- -id: api-v2-feeds-pinned -title: 置顶 ---- - -- [动态置顶](#动态置顶) -- [评论置顶](#评论置顶) -- [动态评论置顶审核列表](#动态评论置顶审核列表) -- [评论置顶审核通过](#评论置顶审核通过) -- [拒绝动态评论置顶申请](#拒绝动态评论置顶申请) -- [删除动态置顶评论](#删除动态置顶评论) - -## 动态置顶 - -``` -POST /feeds/:feed/pinneds -``` - -#### Input - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| amount | Integer | 必须,置顶总价格,单位分。 | -| day | Integer | 必须,置顶天数。| -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -#### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "申请成功" - ] -} -``` - -## 评论置顶 - -``` -POST /feeds/:feed/comments/:comment/pinneds -``` - -#### Input - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| amount | Integer | 必须,置顶总价格,单位分。 | -| day | Integer | 必须,置顶天数。| -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -#### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "申请成功" - ] -} -``` - -#### 通知类型 - -```json5 -{ - "channel": "feed:pinned-comment", // 通知关键字 - "target": 332, // 动态id - "content": "@3 在你的动态中申请置顶评论《特殊时期上市日期》", - "extra": { - "user_id": 3 // 用户id - } -} -``` - -## 动态评论置顶审核列表 - -``` -GET /user/feed-comment-pinneds -``` - -### Parameters - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 获取的条数, 默认 20 | -| after | Integer | 上次请求列表倒叙最后一条 ID | - -#### Response - -``` -Status: 200 OK -``` -```json5 -[ - { - "id": 4, - "channel": "comment", - "target": 1, - "user_id": 1, - "amount": 1, - "day": 3, - "expires_at": null, - "created_at": "2017-07-21 03:47:09", - "updated_at": "2017-07-21 03:47:09", - "target_user": 1, - "raw": 1, - "feed": { - "id": 1, - "user_id": 1, - "feed_content": "动态内容", - "feed_from": 1, - "like_count": 1, - "feed_view_count": 0, - "feed_comment_count": 6, - "feed_latitude": null, - "feed_longtitude": null, - "feed_geohash": null, - "audit_status": 1, - "feed_mark": 1, - "pinned": 0, - "created_at": "2017-06-27 07:04:32", - "updated_at": "2017-07-20 08:53:24", - "deleted_at": null, - "pinned_amount": 0, - "images": [], - "paid_node": null - }, - "comment": { - "id": 1, - "user_id": 1, - "target_user": 1, - "reply_user": 0, - "body": "我是第一条评论", - "commentable_id": 1, - "commentable_type": "feeds", - "created_at": "2017-07-20 08:34:41", - "updated_at": "2017-07-20 08:34:41" - } - } -] -``` - -> 状态以 `expires_at` 为准,`null` 状态为待审核,存在时间,标记为 **已处理** - -#### 返回参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|------| -| id | int | 审核记录id | -| channel | string | 审核标识,该接口列表中 总为`comment` | -| target | int | 目标id,`channel` = `comment`时,该值为评论id | -| user_id | int | 申请用户id | -| amount | int | 申请金额 | -| day | int | 申请置顶天数 | -| expires_at | date | 置顶到期时间,未被处理时该值为`null`。审核通过时,该值为当前处理时间加上置顶天数的时间,不通过时,该值为当前处理时间 | -| target_user | int | 申请目标,该接口中为动态的发布者 | -| raw | int | 动态id | -| feed | array/null | 动态资源数据,参考动态列表 | -| comment | array/null | 评论资源数据,参考评论列表 | - - -## 评论置顶审核通过 - -``` -PATCH /feeds/:feed/comments/:comment/pinneds/:pinned -``` - -#### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "置顶成功" - ] -} -``` - -## 拒绝动态评论置顶申请 - -``` -DELETE /user/feed-comment-pinneds/:pinned -``` - -#### Response - -``` -Status: 204 No Centent -``` - -## 删除动态置顶评论 - -``` -DELETE /feeds/:feed/comments/:comment/unpinned -``` - -#### Response - -``` -Status: 204 No Centent -``` diff --git a/docs/api-v2-feeds-rank.html b/docs/api-v2-feeds-rank.html new file mode 100644 index 0000000..6151c7c --- /dev/null +++ b/docs/api-v2-feeds-rank.html @@ -0,0 +1,113 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-feeds-rank.md b/docs/api-v2-feeds-rank.md deleted file mode 100644 index 67de812..0000000 --- a/docs/api-v2-feeds-rank.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -id: api-v2-feeds-rank -title: 排行榜 ---- - -- [获取动态排行](#获取动态排行) - -## 获取动态排行 - -根据一定时间内的动态获得的点赞量进行的排序 - -``` -GET /feeds/ranks -``` - -## 传入参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| limit | int | - | 数据返回条数 默认10条 | -| type | string | - | 筛选类型 `day` - 日排行 `week` - 周排行 `month` - 月排行 | -| offset | int | - | 偏移量 默认为0 | - -## 响应 - -``` -Http Status 200 Ok -``` - -```json5 -[ - { - "id": 3, - "name": "root2", - "following": false, - "follower": false, - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 3, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19, - "count": 7, - "rank": 1 - } - }, - { - "id": 2, - "name": "root1", - "following": false, - "follower": false, - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 2, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19, - "count": 1, - "rank": 2 - } - } -] -``` - -### 返回参数 -| 名称 | 类型 | 说明 | -|:----:|:-----|------| -| extra.count | int | 点赞数 | -| extra.rank | int | 排行 | - -> 其他数据结构参考「用户」接口用户资料 diff --git a/docs/api-v2-feeds-report.html b/docs/api-v2-feeds-report.html new file mode 100644 index 0000000..fad0afc --- /dev/null +++ b/docs/api-v2-feeds-report.html @@ -0,0 +1,53 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-feeds-report.md b/docs/api-v2-feeds-report.md deleted file mode 100644 index f36593f..0000000 --- a/docs/api-v2-feeds-report.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: api-v2-feeds-report -title: 举报 ---- - -## 举报一个动态 - -``` -POST /feeds/:feed/reports -``` - -### 可选参数 - -| 名称 | 描述 | -|:----:|:-----| -| reason | 举报理由 | - -### 响应 - -``` -Http Status 201 -``` - -```json -{ - "message": [ - "操作成功" - ] -} -``` diff --git a/docs/api-v2-feeds-reward.html b/docs/api-v2-feeds-reward.html new file mode 100644 index 0000000..3565eae --- /dev/null +++ b/docs/api-v2-feeds-reward.html @@ -0,0 +1,239 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-feeds-reward.md b/docs/api-v2-feeds-reward.md deleted file mode 100644 index 4b3151d..0000000 --- a/docs/api-v2-feeds-reward.md +++ /dev/null @@ -1,235 +0,0 @@ ---- -id: api-v2-feeds-reward -title: 打赏 ---- - -- [打赏动态](#打赏动态) -- [新版打赏动态](#新版打赏动态) -- [动态打赏列表](#动态打赏列表) - -## 打赏动态 - -``` -POST /feeds/{feed}/rewards -``` - -### Parameters - -| name | type | must | description | -|----------|:--------:|:--------:|:--------:| -| amount | int | yes | 打赏金额 | -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -### Response - -Headers - -``` -Status: 201 Created -``` - -Body - -```json5 -{ - "message": [ - "打赏成功" - ] -} -``` - -## 打赏动态 - -``` -POST /feeds/{feed}/rewards -``` - -### Parameters - -| name | type | must | description | -|----------|:--------:|:--------:|:--------:| -| amount | int | yes | 打赏金额 | -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -### Response - -Headers - -``` -Status: 201 Created -``` - -Body - -```json5 -{ - "message": [ - "打赏成功" - ] -} -``` - -## 新版打赏动态 - -``` -POST /feeds/{feed}/new-rewards -``` - -### Parameters - -| name | type | must | description | -|----------|:--------:|:--------:|:--------:| -| amount | int | yes | 打赏金额 | -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -### Response - -Headers - -``` -Status: 201 Created -``` - -Body - -```json5 -{ - "message": [ - "打赏成功" - ] -} -``` - -## 动态打赏列表 - -``` -GET /feeds/{feed}/rewards -``` - -### Parameters - -| name | type | must | description | -|----------|:--------:|:--------:|:--------:| -| limit | int | no | 列表返回数据条数 | -| offset | int | no | 数据偏移量,翻页时传入 | -| order | string | no | 排序 正序-asc 倒序desc | -| order_type | string | no | 排序规则 date-按时间 amount-按金额 | - -### Response - -Headers - -``` -Status: 200 OK -``` - -Body - -```json5 -[ - { - "id": 6, - "user_id": 1, - "target_user": 1, - "amount": 200, - "rewardable_id": 1, - "rewardable_type": "feeds", - "created_at": "2017-08-01 08:55:49", - "updated_at": "2017-08-01 08:55:49", - "user": { - "id": 1, - "name": "root", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-07-31 03:16:19", - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 1, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-07-31 06:06:58", - "feeds_count": 0 - } - } - }, - { - "id": 5, - "user_id": 1, - "target_user": 1, - "amount": 200, - "rewardable_id": 1, - "rewardable_type": "feeds", - "created_at": "2017-08-01 08:54:29", - "updated_at": "2017-08-01 08:54:29", - "user": { - "id": 1, - "name": "root", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-07-31 03:16:19", - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 1, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-07-31 06:06:58", - "feeds_count": 0 - } - } - }, - { - "id": 4, - "user_id": 1, - "target_user": 1, - "amount": 200, - "rewardable_id": 1, - "rewardable_type": "feeds", - "created_at": "2017-08-01 08:46:22", - "updated_at": "2017-08-01 08:46:22", - "user": { - "id": 1, - "name": "root", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-07-31 03:16:19", - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 1, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-07-31 06:06:58", - "feeds_count": 0 - } - } - } -] -``` - -| 名称 | 描述 | -|:----:|------| -| id | 打赏记录id | -| user_id | 打赏用户id | -| target_user | 打赏目标用户id | -| amount | 打赏金额 | -| user | 打赏用户信息 | -| user.name | 打赏用户名称 | -| user.avatar | 打赏用户头像 | - diff --git a/docs/api-v2-feeds-topics.html b/docs/api-v2-feeds-topics.html new file mode 100644 index 0000000..c826b8b --- /dev/null +++ b/docs/api-v2-feeds-topics.html @@ -0,0 +1,191 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-feeds-topics.md b/docs/api-v2-feeds-topics.md deleted file mode 100644 index af378ea..0000000 --- a/docs/api-v2-feeds-topics.md +++ /dev/null @@ -1,202 +0,0 @@ ---- -id: api-v2-feeds-topics -title: 话题 ---- - -话题为新 API 规范产物,服务器返回的时间均以 `ISO 8601` Zulu 格式 `yyy-mm-ddThh-ii-ssZ` 格式返回。 - -## List all topics(获取全部话题) - -``` -GET /feed/topics -``` - -请求查询参数: - -| Name | Type | Description | -|:----|:----|:----| -| `q` | `string` | 搜索关键词,允许任何字符串。 | -| `limit` | `integer` | 本次请求请求的数据条数,默认 `15` 条,允许的范围 `1 - 100`。 | -| `direction` | `string` | 用于基于数据 `id` 字段的排序方向设置,允许 `asc` 或者 `desc`,默认 `desc` | -| `index` | `integer` | 数据查询定位值,来源于数据 `id` 字段。 | -| `only` | `string` | **可选**,该字段只有一个固定值 `hot`,当出现 `only` 值的时候其他参数全部失效,转而 API 只返回热门话题数据。 | - -响应: - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, // 话题 ID, 主要用于查询定位。 - "name": "Plus", // 话题名称 - "logo": {...}, // 参考 https://slimkit.github.io/docs/api-v2-core-file-storage.html#文件附带信息 - "created_at": "2018-07-23T15:04:23Z" // Zulu 格式,话题创建时间 - }, - // ... -] -``` - -## Create an topic(创建一个话题) - -``` -POST /feed/topics -``` - -请求内容参数: - -| Name | Type | Description | -|:----|:----|:----| -| `name` | `string` | **必须**,话题名称最长 `100` 个字。 | -| `desc` | `string` | **可选**,话题描述最长 `500` 个字。 | -| `logo` | `FILE_STORAGE_NODE` | **可选**,话题 Logo 调用[文件存储](api-v2-core-file-storage.md)接口返回的 `node` 标识。 | - -响应: - -``` -Status: 201 Created -``` -```json -{ - "id": 1 // 话题创建成功后的 ID 标识 -} -``` - -## Follow a topic(关注一个话题) - -``` -PUT /user/feed-topics/:topicID -``` - -响应: - -``` -Status: 204 No Content -``` - -## Unfollow a topic(取消关注一个话题) - -``` -DELETE /user/feed-topics/:topicID -``` - -响应: - -``` -Status: 204 No Content -``` - -## Edit an topic(编辑一个话题) - -``` -PATCH /feed/topics/:topicID -``` - -请求内容参数: - -| Name | Type | Description | -|:----|:----|:----| -| `desc` | `string` | **可选**,话题描述最长 `500` 个字。 | - `logo` | `FILE_STORAGE_NODE` | **可选**,话题 Logo 调用[文件存储](api-v2-core-file-storage.md)接口返回的 `node` 标识。 | - - -响应: - -``` -Status: 204 No Content -``` - -## Get a single topic(获取一个话题详情) - -``` -GET /feed/topics/:topicID -``` - -> 如果携带 `Authorization` 则会返回关注状态,否则不会返回! - -响应: - -``` -Status: 200 OK -``` -```json -{ - "id": 1, // 话题 ID - "name": "Plus", // 话题名称 - "logo": null, - "desc": "啊哈哈", // 话题描述 - "creator_user_id": 1, // 话题创建者 User ID - "feeds_count": 2, // 话题下有都少动态 - "followers_count": 1, // 有多少人关注了这个话题 - "has_followed": true, // 当前 Authorization 用户是否关注了话题 - "participants": [2, 3, 5] // 最多三个,参与者需求,按照参与时间倒序! -} -``` - -## List feeds for a topic(获取话题下的动态列表) - -``` -GET /feed/topics/:topicID/feeds -``` - -请求查询参数: - -| Name | Type | Description | -|:----|:----|:----| -| `limit` | `integer` | 本次请求请求的数据条数,默认 `15` 条,允许的范围 `1 - 100`。 | -| `direction` | `string` | 用于基于数据 `index` 字段的排序方向设置,允许 `asc` 或者 `desc`,默认 `desc` | -| `index` | `integer` | 数据查询定位值,来源于数据 `index` 字段。 | - -响应: - -``` -Status: 200 OK -``` -> `Body` 部分和《[动态获取](api-v2-feeds-get.md)》接口保持一直。 -> 保持数据格式一致的做法是为了避免新内容造成客户端重写 Controller 考虑,相比其他接口,本接口数据内容会多出一个 `index` 字段。 - -## List participants for a topic(获取话题下的参与者列表) - -``` -GET /feed/topics/:topicID/participants -``` - -请求查询参数: - -| Name | Type | Description | -|:----|:----|:----| -| `limit` | `integer` | 本次请求的数据条数,默认 `15` 条,允许的范围 `1 - 100`。 | -| `offset`| `integer` | 本次请求的数据偏移两,默认 `0` 条。 | - -响应: - -``` -Status: 200 OK -``` -```json -[ - 1, // 用户 ID - 2, - 3, - /// ... -] -``` - -## Report a topic(举报一个话题) - -``` -PUT /user/report-feed-topics/:topicID -``` - -请求内容参数: - -| Name | Type | Description | -|:----|:----|:----| -| `message` | `string` | **必须**,举报理由,不得超过 255 个字。 | - -响应: - -``` -Status: 204 No Content -``` diff --git a/docs/api-v2-files.html b/docs/api-v2-files.html new file mode 100644 index 0000000..c276570 --- /dev/null +++ b/docs/api-v2-files.html @@ -0,0 +1,112 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-files.md b/docs/api-v2-files.md deleted file mode 100644 index 10409a6..0000000 --- a/docs/api-v2-files.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -id: api-v2-files -title: 文件 ---- - -- [上传检查](#上传检查) -- [上传文件](#上传文件) -- [获取文件](#获取文件) - -## 上传检查 - -在上传一个文件前对文件进行检查,并创建一个 File with,如果文件存在,当文件存在,则创建一个 with id,不存在抛出 `404`。 - -``` -GET /files/uploaded/:hash -``` - -##### 响应 - -``` -Status: 200 OK -``` -```json -{ - "message": "获取成功", - "id": 1 -} -``` - -## 上传文件 - -``` -POST /files -``` - -## 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| file | File | 待上传的文件 | - -#### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "上传成功" - ], - "id": 1 -} -``` - -## 获取文件 - -``` -GET /files/:file -``` - -> 这里的 :file 虽然叫做文件,实际是系统中的 file_with 标识,例如上传返回的都是 file_with 标识。 - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:---:|----| -| w | float | 需要获取的图片宽度,小数点后两位。| -| h | float | 需要获取的图片高度,小数点后两位。| -| q | integer | 可选,`1` <= `q` <= 100,可以和 `w`、`h` 配合使用,也可以单独使用,该参数表示图片质量 | -| b | Integer | 可选,范围 `0` - `100` ,表示需要高斯模糊的程度。 | -| json | mixed | 可选,不存在的情况下资源会使用 `302` 网络状态重定向到真实地址,如果存在则以 `json` 格式返回地址 | - -> `q` 参数在「本地 CDN 驱动」中,只针对 `jpeg/jpg` 图像有效,因为 `png` 未无损图像。 -> `w` & `h` 可以任意传一个,但是推荐都传递,只传一边的情况,则满足传递转换边,另一边按照图片比例自动设置。 - -#### 响应 - -``` -Status: 200 OK -``` - -##### 如果是 `json` - -``` -{ - "url": "https://plus.io/storage/2017/cc/2.png" -} -``` - -#### 常规 - -``` -Status: 302 Found -``` - -#### 储存转换规则 - -不传递 `w`、`h` 的情况下,服务器会返回原是图片,如果传递,服务器则会拿出原始图像尺寸与获取尺寸进行计算,如果传递的获取最短边高于原图对应边,则直接返回原图,短于原图边的情况下取得获取边的最短边,并将对边使用原图尺寸自动设置尺寸。 - -> 在获取尺寸短于原图尺寸的情况下,处理后的图片永远只会满足获取遍的最低边,另一边自动尺寸,按照原图比例转换。 - -#### q 质量 - -`q` 参数值针对 `jpeg/jpg` 有效,服务器会有修正值 `90` 高于 `90` 的质量处理都将按照 `90` 进行处理。 - diff --git a/docs/api-v2-group-category.html b/docs/api-v2-group-category.html new file mode 100644 index 0000000..714550d --- /dev/null +++ b/docs/api-v2-group-category.html @@ -0,0 +1,61 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-group-category.md b/docs/api-v2-group-category.md deleted file mode 100644 index a4fe521..0000000 --- a/docs/api-v2-group-category.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -id: api-v2-group-category -title: 分类 ---- - -- [获取全部圈子分类](#获取全部圈子分类) - -## 获取全部圈子分类 - -``` -GET /categories -``` - -### 响应 - -``` -status 200 -``` - -```json -[ - { - "id": 1, - "name": "123123", - "sort_by": 1000, - "created_at": "2017-11-27 10:06:38", - "updated_at": "2017-11-27 10:06:40" - } -] -``` - -### 返回参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -| name | string | 圈子分类名称 | -| sort_by | int | 圈子排序权重 | diff --git a/docs/api-v2-group-currency.html b/docs/api-v2-group-currency.html new file mode 100644 index 0000000..1606469 --- /dev/null +++ b/docs/api-v2-group-currency.html @@ -0,0 +1,117 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-group-currency.md b/docs/api-v2-group-currency.md deleted file mode 100644 index 6414fb4..0000000 --- a/docs/api-v2-group-currency.md +++ /dev/null @@ -1,124 +0,0 @@ ---- -id: api-v2-group-currency -title: 圈子部分积分相关新增接口 ---- - -- [加入圈子](#加入圈子) -- [审核圈子加入请求](#审核圈子加入请求) -- [申请帖子置顶](#申请帖子置顶) -- [通过帖子置顶](#通过帖子置顶) -- [拒绝帖子置顶](#拒绝帖子置顶) -- [帖子评论申请置顶](#帖子评论申请置顶) -- [通过帖子评论申请置顶](#通过帖子评论申请置顶) -- [拒绝帖子评论申请置顶](#拒绝帖子评论申请置顶) - -## 加入圈子 - -``` -PUT /currency-groups/:group -``` - -### 响应 - -``` -status 201 -``` - -## 审核圈子加入请求 - -``` -PATCH /currency-groups/:group/members/:member/audit -``` - -### 参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|status|int| 1-允许 2-拒绝| - -## 申请帖子置顶 - -``` -POST /currency-pinned/posts/:post -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|amount|integer| 必须 置顶金额| -|day|integer|必须 置顶天数| -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -### 响应 - -``` -status 201 -``` - -## 通过帖子置顶 - -``` -PATCH /currency-pinned/posts/:post/accept -``` - -### 响应 - -``` -status 201 -``` - -## 拒绝帖子置顶 - -``` -PATCH /currency-pinned/posts/:post/reject -``` - -### 响应 - -``` -status 201 -``` - -## 帖子评论申请置顶 - -``` -POST /currency-pinned/comments/:comment -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|amount|integer| 必须 置顶金额| -|day|integer|必须 置顶天数| - -### 响应 - -``` -status 201 -``` - -## 通过帖子评论申请置顶 - -``` -PATCH /currency-pinned/comments/:comment/accept -``` - -### 响应 - -``` -status 201 -``` - -## 拒绝帖子评论申请置顶 - -``` -PATCH /currency-pinned/comments/:comment/reject -``` - -### 响应 - -``` -status 201 -``` diff --git a/docs/api-v2-group-group.html b/docs/api-v2-group-group.html new file mode 100644 index 0000000..01aecb9 --- /dev/null +++ b/docs/api-v2-group-group.html @@ -0,0 +1,492 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-group-group.md b/docs/api-v2-group-group.md deleted file mode 100644 index 70540a7..0000000 --- a/docs/api-v2-group-group.md +++ /dev/null @@ -1,528 +0,0 @@ ---- -id: api-v2-group-group -title: 圈子 ---- - -- [分类下圈子列表](#分类下圈子列表) -- [全部圈子列表](#全部圈子列表) -- [推荐圈子列表](#推荐圈子列表) -- [我的圈子列表](#我的圈子列表) -- [用户圈子列表](#用户圈子列表) -- [圈子详情](#圈子详情) -- [圈子总数](#圈子总数) -- [加入圈子](#加入圈子) -- [设置圈子权限](#设置圈子权限) -- [退出圈子](#退出圈子) -- [附近圈子](#附近圈子) -- [创建圈子](#创建圈子) -- [修改圈子](#修改圈子) -- [获取圈子协议](#获取圈子协议) - -### 响应内容 - -```json5 -[ - { - "id": 4, - "name": "赛事圈子", - "user_id": 1, - "category_id": 1, - "location": null, - "longitude": null, - "latitude": null, - "geo_hash": null, - "allow_feed": 0, - "mode": "public", - "permissions": "member,administrator,founder", - "money": 0, - "summary": "赛事圈子", - "notice": "赛事圈子", - "users_count": 0, - "posts_count": 0, - "audit": 1, - "created_at": "2017-11-28 09:45:17", - "updated_at": "2017-11-28 09:45:17", - "join_income_count": 0, - "pinned_income_count": 0, - "excellen_posts_count": 0, // 精华贴数量 - "joined": { - "id": 11,// 成员唯一id - "group_id": 3,// 所属圈子id - "user_id": 1,// 用户Id - "audit": 2,// 0 待审核 1已审核 2驳回 - "role": "member",// 角色 member-普通成员 administrator - 管理者 founder - 创建者 - "disabled": 0,// 是否被拉黑禁用 1-禁用 0-正常 - "created_at": "2017-12-01 03:42:44", - "updated_at": "2017-12-01 04:01:34" - }, - "avatar": null, - "im_group_id": null, // 圈子绑定的群聊 ID - }, -] -``` - -### 返回参数 -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|id|integer| 圈子唯一id| -|name|string|圈子名称| -|user_id|integer|所属用户id| -|category_id|integer|圈子所属分类id| -|location|string|圈子位置| -|longitude|string|经度| -|latitude|string|纬度| -|geo_hash|string|geoHash| -|allow_feed|integer|是否允许同步动态,0 不允许 1允许| -|mode|string|圈子类型:public: 公开,private:私有,paid:付费的| -|permissions|string|发帖权限:member,administrator,founder 所有,administrator,founder 管理员和圈主,founder圈主| -|money|string|如果 mode 为 paid 用于标示收费金额| -|summary|string|简介| -|notice|string|公告| -|users_count|integer|成员统计| -|posts_count|integer|帖子统计| -|audit|integer|审核状态:0 未审核 1 通过 2 拒绝 | -|created_at|string|创建时间| -|update_at|string|更新时间| -|join_income_count|integer|加圈收益统计| -|pinned_income_count|integer|置顶收益统计| -|joined|object|是否加入:null未加入| -|avatar|地址|头像地址| - -## 分类下圈子列表 - -``` -GET /categories/:category/groups -``` - -### 响应 - -``` -status 200 -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|limit|integer| 默认 15 ,数据返回条数 默认为15| -|offset|integer|默认 0 ,数据偏移量,传递之前通过接口获取的总数。| - -## 全部圈子列表 - -``` -GET /groups -``` - -### 响应 - -``` -status 200 -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|limit|integer| 默认 15 ,数据返回条数 默认为15| -|offset|integer|默认 0 ,数据偏移量,传递之前通过接口获取的总数。| -|keyword|string|用于搜索圈子,按圈名搜索| -|category_id|integer|圈子分类id| -| `id` | `string` | 按照圈子 ID 返回列表,多个圈子 ID 可用半角 `,` 进行分割。 | - -## 推荐圈子列表 - -``` -GET /recommend/groups -``` - -### 响应 -``` -status 200 -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|limit|integer| 默认 20 ,数据返回条数 默认为20| -|offset|integer|默认 0 ,数据偏移量,传递之前通过接口获取的总数。| -|type|string|random 随机获取| - -## 我的圈子列表 - - -``` -GET /user-groups -``` - -### 响应 -``` -status 200 -``` -```json5 -[ - { - "id": 1, - "name": "圈子1", - "user_id": 1, - "category_id": 1, - "location": null, - "longitude": null, - "latitude": null, - "geo_hash": null, - "allow_feed": 0, - "mode": "public", - "money": 0, - "summary": "111", - "notice": "2222", - "permissions": "member,administrator,founder", - "users_count": 1, - "posts_count": 0, - "audit": 1, - "im_group_id": null, - "excellen_posts_count": 0, - "created_at": "2018-08-28 04:03:25", - "updated_at": "2018-08-28 04:03:25", - "deleted_at": null, - "joined": null, - "join_at": "2018-08-28T04:01:25Z", // 待审核独有,申请加入时间! - "avatar": "http://localhost:8000/storage/group/avatars/000/000/000/01.png?v=1534836577" - } -] -``` -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|limit|integer| 默认 20 ,数据返回条数 默认为20| -|offset|integer|默认 0 ,数据偏移量,传递之前通过接口获取的总数。| -|type|string|默认: join, join 我加入 audit 待审核 allow_post 可以发帖的| - -## 用户圈子列表 - -``` -GET /api/v2/plus-group/groups/users -``` - -## 输入 -| 名称 | 描述 | -|:----:|:-----| -| user_id | 用户id | -| type | 查询类型,目前只有`join`,用户加入的圈子 | - - -## 圈子详情 - -``` -GET /groups/:group -``` - -### 响应 -``` -status 200 -``` - -```json5 -{ - "id": 1, - "name": "垃圾", - "user_id": 1, - "category_id": 1, - "location": "啦啦啦", - "longitude": "1.1", - "latitude": "1.1", - "geo_hash": "1212", - "allow_feed": 0, - "mode": "paid", - "money": 200, - "summary": "简介", - "notice": "公告", - "permissions": "member,administrator,founder", - "users_count": 1, - "posts_count": 0, - "audit": 1, - "created_at": "2017-11-27 10:26:47", - "updated_at": "2017-12-04 01:26:10", - "deleted_at": null, - "im_group_id": null, // 圈子绑定的群聊 ID - "join_income_count": "200", - "pinned_income_count": 0, - "excellen_posts_count": 0, // 精华贴数量 - "joined": { - "id": 2, - "group_id": 1, - "user_id": 1, - "audit": 1, - "role": "founder", - "disabled": 0, - "created_at": "2017-11-27 17:28:06", - "updated_at": "2017-11-27 17:28:06" - }, - "avatar": null, - "user": { - "id": 1, - "name": "root", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-11-09 08:17:26", - "updated_at": "2017-11-09 08:17:26", - "avatar": "http://127.0.0.1/duibi/thinksns-plus/public/api/v2/users/1/avatar", - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 4, - "comments_count": 4, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-11-29 06:50:57", - "feeds_count": 9, - "questions_count": 0, - "answers_count": 0, - "checkin_count": 0, - "last_checkin_count": 0, - "live_zans_count": 0, - "live_zans_remain": 0, - "live_time": 0 - } - }, - "tags": [ - { - "id": 50, - "name": "动漫", - "tag_category_id": 5, - "weight": 15 - } - ], - "category": { - "id": 1, - "name": "123123", - "sort_by": 1000, - "status": 0, - "created_at": "2017-11-27 10:06:38", - "updated_at": "2017-11-27 10:06:40" - }, - "founder": { - "id": 2, - "group_id": 1, - "user_id": 1, - "audit": 1, - "role": "founder", - "disabled": 0, - "created_at": "2017-11-27 17:28:06", - "updated_at": "2017-11-27 17:28:06", - "user": { - "id": 1, - "name": "root", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-11-09 08:17:26", - "updated_at": "2017-11-09 08:17:26", - "avatar": "http://127.0.0.1/duibi/thinksns-plus/public/api/v2/users/1/avatar", - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 4, - "comments_count": 4, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-11-29 06:50:57", - "feeds_count": 9, - "questions_count": 0, - "answers_count": 0, - "checkin_count": 0, - "last_checkin_count": 0, - "live_zans_count": 0, - "live_zans_remain": 0, - "live_time": 0 - } - } - } -} -``` - -### 返回参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -| blacklist_count | int | 黑名单人数 | -| pinned_income_count | int | 圈子内置顶总收入,分单位,当前用户为圈主时存在该字段 | -| join_income_count | int | 圈子加人总收入,分单位,当前用户为圈主时存在该字段 | -| tags | array | 圈子标签列表 | -| category | array | 圈子所属分类信息 | -| user | array | 圈子创建者用户信息 | -| founder | array | 圈主信息 | -| founder.user | array | 圈主用户信息 | - - -## 圈子总数 - -``` -GET /groups/count -``` - -### 响应 - -``` -status 200 -``` - -```json -{ - "count": 100 -} -``` - -## 加入圈子 - -``` -PUT /groups/:group -``` - -### 响应 - -``` -status 201 -``` - -## 设置圈子权限 - -``` -PATCH /groups/:group/permissions -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|permissions|array| ['member', 'administrator','founder'] 所有,['administrator', 'founder'] 管理员和圈主,[ 'founder'] 圈主| - -### 响应 - -``` -status 201 -``` - - -## 退出圈子 - -``` -DELETE /groups/:group/exit -``` - -### 响应 - -``` -status 204 no content -``` - -## 附近圈子 - -``` -GET /round/groups -``` - -### 响应 - -``` -status 200 -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|limit|integer| 默认 15 ,数据返回条数| -|offset|integer|默认 0 ,数据偏移量,传递之前通过接口获取的总数。| -|longitude|strig|必须 经度| -|latitude|strig|必须 纬度| - -## 创建圈子 - -``` -POST /categories/:category/groups -``` - -### 参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|avatar|file| 必须 圈子头像| -|name|string|必须 圈子名称| -|summary|string|圈子简介| -|notice|string|圈子公告| -|tags|array| 必须 圈子标签 格式:[{id:1},{id:3}...]| -|mode|string|必须 圈子类别 public: 公开,private:私有,paid:付费的| -|money|int|收费圈子进圈金额,如果 mode 为 paid 必须存在| -|allow_feed|int|是否允许同步动态 同步需要传 1| -|permissions|string|发帖权限:member,administrator,founder 所有,administrator,founder 管理员和圈主,administrator圈主| -|location|string|地区,当经度 纬度, GeoHash 任意一个存在,则本字段必须存在| -|latitude|string|纬度,当经度 地区,GeoHash 任意一个存在,则本字段必须存在| -|longitude|string|经度,当纬度 地区 GeoHash 任意一个存在,则本字段必须存在| -|geo_hash|string|geoHash,当纬度 地区 经度 任意一个存在,则本字段必须存在| - -### 响应 -``` -status 201 -``` - -## 修改圈子 - -``` -POST /groups/:group -``` - -### 参数 - -``` -同创建,有修改项则传 -``` - -### 响应 -``` -status 201 -``` - -## 获取圈子协议 - -``` -GET /groups/protocol -``` - -### 响应 - -``` -status 200 -``` - -```json -{ - "protocol": "" // 协议内容,默认为'' -} -``` - -## 圈子绑定群聊 ID - -``` -PUT /group/groups/:groupID/bind-im-group -``` - -变量: - -| 变量 | 描述 | -| `groupID` | 圈子 ID | - -表单传递参数: - -| 参数 | 类型 | 描述 | -|----|-----|-----| -| `id` | `string` | 群聊 ID,环信的群组 ID | - -响应: - -``` -Status: 204 No Content -``` diff --git a/docs/api-v2-group-manage.html b/docs/api-v2-group-manage.html new file mode 100644 index 0000000..4d8bcae --- /dev/null +++ b/docs/api-v2-group-manage.html @@ -0,0 +1,196 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-group-manage.md b/docs/api-v2-group-manage.md deleted file mode 100644 index f3a9319..0000000 --- a/docs/api-v2-group-manage.md +++ /dev/null @@ -1,209 +0,0 @@ ---- -id: api-v2-group-manage -title: 圈子 · 管理 ---- - -- [圈子收入记录](#圈子收入记录) -- [移除圈子成员](#移除圈子成员) -- [设置成员为管理员](#设置成员为管理员) -- [移除一个成员的管理员角色](#移除一个成员的管理员角色) -- [将一个成员加入黑名单](#将一个成员加入黑名单) -- [将一个成员移除黑名单](#将一个成员移除黑名单) -- [审核圈子加入请求](#审核圈子加入请求) -- [更改圈子发帖权限](#更改圈子发帖权限) -- [转让圈子](#转让圈子) - -## 圈子收入记录 - -``` -GET /groups/:group/incomes -``` - -### 参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|limit|integer| 默认 15 ,数据返回条数 默认为15| -|after|integer|默认 0 ,翻页标识。| -|start|integer|秒级时间戳,起始筛选时间 | -|end|integer|秒级时间戳,结束筛选时间| -|type|string|默认 all, all-全部 join-成员加入 pinned-帖子置顶| - -### 响应 - -``` -status 200 -``` - -```json -[ - { - "id": 1, - "group_id": 1, - "subject": "root加入圈子费用", - "type": 1, - "amount": 200, - "user_id": 1, - "created_at": "2017-12-04 01:26:10", - "updated_at": "2017-12-04 01:26:10", - "user": { - "id": 1, - "name": "root", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-11-09 08:17:26", - "updated_at": "2017-11-09 08:17:26", - "avatar": "http://127.0.0.1/duibi/thinksns-plus/public/api/v2/users/1/avatar", - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 4, - "comments_count": 4, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-11-29 06:50:57", - "feeds_count": 9, - "questions_count": 0, - "answers_count": 0, - "checkin_count": 0, - "last_checkin_count": 0, - "live_zans_count": 0, - "live_zans_remain": 0, - "live_time": 0 - } - } - } -] -``` - -#### 返回参数 - -| 名称 | 类型 | 说明 | -|:----:|:------|:-----| -| id | int | 收入记录id | -| group_id | int | 所属圈子id | -| subject | string | 收入说明 | -| type | int | 1-加入圈子收入 2-帖子置顶收入 | -| amount | int | 收入金额,分单位 | -| user_id | int | 来源用户id | -| user | array | 来源用户信息 | - -## 移除圈子成员 - -``` -DELETE /groups/:group/members/:member -``` - -### 响应 - -``` -status 204 -``` - -## 设置成员为管理员 - -``` -PUT /groups/:group/managers/:member -``` - -### 响应 - -``` -status 201 -``` - -## 移除一个成员的管理员角色 - -``` -DELETE /groups/:group/managers/:member -``` - -### 响应 - -``` -status 204 -``` - -## 将一个成员加入黑名单 - -``` -PUT /groups/:group/blacklist/:member -``` - -### 响应 - -``` -status 201 -``` - -## 将一个成员移除黑名单 - -``` -DELETE /groups/:group/blacklist/:member -``` - -### 响应 - -``` -status 204 -``` - -## 审核圈子加入请求 - -``` -PATCH /groups/:group/members/:member/audit -``` - -### 参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|status|int| 1-允许 2-拒绝| - - -## 更改圈子发帖权限 - -``` -PATCH /groups/:group/permissions -``` - -### 参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|permissions|array| 'member' - 允许成员发帖, 'administrator' - 允许管理员发帖, 'founder' - 允许圈主发帖| - - -### 响应 - -``` -status 201 -``` - -## 转让圈子 - -``` -PATCH /groups/:group/owner -``` - -### 参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -| target | int | 被转让用户id | - -### 响应 - -``` -Status 201 -``` - -```json -{ - "message": [ - "操作成功" - ] -} -``` diff --git a/docs/api-v2-group-member.html b/docs/api-v2-group-member.html new file mode 100644 index 0000000..580ea66 --- /dev/null +++ b/docs/api-v2-group-member.html @@ -0,0 +1,204 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-group-member.md b/docs/api-v2-group-member.md deleted file mode 100644 index fdcb12e..0000000 --- a/docs/api-v2-group-member.md +++ /dev/null @@ -1,190 +0,0 @@ ---- -id: api-v2-group-member -title: 圈子 · 成员 ---- - -- [某个圈子成员列表](#某个圈子成员列表) -- [圈子审核成员记录列表](#圈子审核成员记录列表) -- [圈子成员角色统计](#圈子成员角色统计) - -## 某个圈子成员列表 - -``` -GET /groups/:group/members -``` - -### 响应 - -``` -status 200 -``` - -### 参数说明 -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|limit|integer| 默认 15 ,数据返回条数 默认为15| -|after|inegter|默认 0,翻页标示| -|name|string|成员名搜索成员,仅搜索传| -|type|string|默认 all, all-所有, manager-管理员(包含圈主), member-成员, blacklist-黑名单, audit - 带审核,audit_user - 审核通过且未被拉黑成员| - -```json -{ - { - "id": 4,// 成员唯一id - "group_id": 3,// 圈子唯一id - "user_id": 2,// 用户id - "audit": 0, // 0 待审核 1 已审核 2已驳回 - "role": "founder",// 角色,member - 成员 administrator - 管理者、founder - 创建者 - "disabled": 0,// 是否拉黑 1拉黑 - "created_at": null, - "updated_at": null, - "user": { - "id": 2, - "name": "大牛", - "bio": "策四", - "sex": 2, - "location": null, - "created_at": "2017-10-23 01:17:34", - "updated_at": "2017-12-01 03:46:14", - "avatar": "http://thinksns-plus.dev/api/v2/users/2/avatar", - "bg": null, - "verified": { - "type": "user", - "icon": "http://thinksns-plus.dev/storage/certifications/000/000/0us/er.png", - "description": "认证测试" - }, - "extra": { - "user_id": 2, - "likes_count": 10, - "comments_count": 40, - "followers_count": 3, - "followings_count": 5, - "updated_at": "2017-11-16 08:24:44", - "feeds_count": 25, - "questions_count": 16, - "answers_count": 16, - "checkin_count": 7, - "last_checkin_count": 1 - } - } - } -} -``` - -## 圈子审核成员记录列表 - -``` -GET /user-group-audit-members -``` - -### 响应 - -``` -status 200 -``` - -### 参数说明 -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|limit|integer| 默认 15 ,数据返回条数 默认为15| -|after|inegter|默认 0,翻页标示, 传入记录id| - -```json -[ - { - "id": 5, // 记录id - "group_id": 56, // 圈子id - "user_id": 18, // 用户id - "member_id": 225, // 成员id - "status": 0, // 记录处理状态 0-待审核 1-通过 2-拒绝 - "auditer": null, // 审核人员id,未审核时为null - "audit_at": null, // 审核时间,未审核时为null - "created_at": "2017-12-22 06:21:24", - "updated_at": "2017-12-22 06:21:24", - "user": { //申请用户信息 - "id": 18, - "name": "仨仨仨仨仨", - "location": null, - "sex": 1, - "bio": "没有", - "created_at": "2017-04-10 02:10:22", - "updated_at": "2017-11-10 09:54:09", - "avatar": null, - "bg": null, - "verified": { - "type": "user", - "icon": null, - "description": "玄奘普法" - }, - "extra": { - "user_id": 18, - "likes_count": 52, - "comments_count": 84, - "followers_count": 24, - "followings_count": 18, - "updated_at": "2017-12-20 15:03:57", - "feeds_count": 17, - "questions_count": 10, - "answers_count": 14, - "checkin_count": 2, - "last_checkin_count": 1, - "live_zans_count": 0, - "live_zans_remain": 0, - "live_time": 0 - } - }, - "audit_user": null, // 审核者用户信息 - "member_info": { // 申请人成员信息,在申请人退圈等操作后为null - "id": 225, - "group_id": 56, - "user_id": 18, - "audit": 0, - "role": "member", - "disabled": 0, - "created_at": "2017-12-22 06:21:24", - "updated_at": "2017-12-22 06:21:24" - }, - "group": { // 所属圈子信息 - "id": 56, - "name": "CC收费", - "user_id": 36, - "category_id": 4, - "location": null, - "longitude": null, - "latitude": null, - "geo_hash": null, - "allow_feed": 0, - "mode": "paid", - "money": null, - "summary": "哈哈哈哈,我是阿尔丹", - "notice": null, - "permissions": "member,administrator,founder", - "users_count": 1, - "posts_count": 0, - "audit": 1, - "created_at": "2017-12-21 07:30:51", - "updated_at": "2017-12-22 06:24:32", - "deleted_at": null, - "avatar": "http://test-plus.zhibocloud.cn/storage/group/avatars/000/000/000/56.jpeg" - } - } -] -``` -## 圈子成员角色统计 - -``` -GET /groups/:group/role/count -``` - -### 响应 - -``` -status 200 -``` - -```json -{ - "member_count": 0, // 成员数量 - "admin_count": 0 // 管理员数量 -} -``` diff --git a/docs/api-v2-group-posts-collection.html b/docs/api-v2-group-posts-collection.html new file mode 100644 index 0000000..64efdc4 --- /dev/null +++ b/docs/api-v2-group-posts-collection.html @@ -0,0 +1,65 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-group-posts-collection.md b/docs/api-v2-group-posts-collection.md deleted file mode 100644 index d6c6efc..0000000 --- a/docs/api-v2-group-posts-collection.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -id: api-v2-group-posts-collection -title: 帖子 · 收藏 ---- - -- [帖子收藏](#帖子收藏) -- [帖子取消收藏](#帖子取消收藏) -- [用户帖子收藏列表](#用户帖子收藏列表) - -## 帖子收藏 - -``` -POST /group-posts/:post/collections -``` - -### 响应 - -``` -status 204 -``` - -## 帖子取消收藏 - -``` -DELETE /group-posts/:post/uncollect -``` - -### 响应 - -``` -status 204 -``` - -## 用户帖子收藏列表 - -``` -GET /user-post-collections -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|limit|integer| 默认 15 ,数据返回条数 默认为15| -|offset|integer|默认 0 ,数据偏移量,传递之前通过接口获取的总数。| - -### 响应 - -``` -status 200 -``` diff --git a/docs/api-v2-group-posts-comments.html b/docs/api-v2-group-posts-comments.html new file mode 100644 index 0000000..fcbc057 --- /dev/null +++ b/docs/api-v2-group-posts-comments.html @@ -0,0 +1,151 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-group-posts-comments.md b/docs/api-v2-group-posts-comments.md deleted file mode 100644 index f27808f..0000000 --- a/docs/api-v2-group-posts-comments.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -id: api-v2-group-posts-comments -title: 帖子 · 评论 ---- - -- [帖子评论列表](#帖子评论列表) -- [评论帖子](#评论帖子) -- [删除评论](#删除评论) - - -## 帖子评论列表 - -``` -get /group-posts/:post/comments -``` - -### 响应 - -``` -status 200 -``` - -### 参数说明 -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|limit|integer| 默认 20 ,数据返回条数 默认为20| -|after|inegter|可选,上次获取到数据最后一条 ID,用于获取该 ID 之后的数据。| - -```json -{ - "pinneds": [],// 置顶评论列表,同comments结构一样 - "comments": [ // 帖子评论 - { - "id": 65, // 评论唯一id - "user_id": 1,//评论人id - "target_user": 1,// 目标用户 - "reply_user": 0,// 回复的用户 - "body": "测试", // 内容 - "commentable_id": 121,// 资源id - "commentable_type": "group-posts",// 资源类型 - "created_at": "2017-11-30 03:04:03", - "updated_at": "2017-11-30 03:04:03", - "user": {// 回复用户信息 - "id": 1, - "name": "admin", - "bio": null, - "sex": 2, - "location": "四川省 巴中市 南江县", - "created_at": "2017-10-23 01:17:34", - "updated_at": "2017-11-15 07:36:17", - "avatar": "http://thinksns-plus.dev/api/v2/users/1/avatar", - "bg": null, - "verified": { - "type": "user", - "icon": "http://thinksns-plus.dev/storage/certifications/000/000/0us/er.png", - "description": "1111" - }, - "extra": { - "user_id": 1, - "likes_count": 5, - "comments_count": 13, - "followers_count": 0, - "followings_count": 6, - "updated_at": "2017-11-30 03:04:06", - "feeds_count": 33, - "questions_count": 2, - "answers_count": 0, - "checkin_count": 7, - "last_checkin_count": 1 - } - }, - "reply": {//被回复用户信息 - "id": 1, - "name": "admin", - "bio": null, - "sex": 2, - "location": "四川省 巴中市 南江县", - "created_at": "2017-10-23 01:17:34", - "updated_at": "2017-11-15 07:36:17", - "avatar": "http://thinksns-plus.dev/api/v2/users/1/avatar", - "bg": null, - "verified": { - "type": "user", - "icon": "http://thinksns-plus.dev/storage/certifications/000/000/0us/er.png", - "description": "1111" - }, - "extra": { - "user_id": 1, - "likes_count": 5, - "comments_count": 13, - "followers_count": 0, - "followings_count": 6, - "updated_at": "2017-11-30 03:04:06", - "feeds_count": 33, - "questions_count": 2, - "answers_count": 0, - "checkin_count": 7, - "last_checkin_count": 1 - } - }, - - }, - ] -} -``` - -## 评论帖子 - -``` -POST /group-posts/:post/comments -``` - -### 响应 - -``` -status 201 -``` - -### 参数说明 -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|body|string| 必须 评论内容 最大长度225| -|reply_user|inegter|回复的用户的id| - -## 删除评论 - -``` -DELETE /group-posts/:post/comments/:comment -``` - -#### 响应 - -``` -status 204 not content -``` diff --git a/docs/api-v2-group-posts-likes.html b/docs/api-v2-group-posts-likes.html new file mode 100644 index 0000000..8c83645 --- /dev/null +++ b/docs/api-v2-group-posts-likes.html @@ -0,0 +1,109 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-group-posts-likes.md b/docs/api-v2-group-posts-likes.md deleted file mode 100644 index 75c1550..0000000 --- a/docs/api-v2-group-posts-likes.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -id: api-v2-group-posts-likes -title: 帖子 · 喜欢 ---- - -- [帖子喜欢列表](#帖子喜欢列表) -- [帖子喜欢](#帖子喜欢) -- [帖子取消喜欢](#帖子取消喜欢) - - -## 帖子喜欢列表 - -``` -GET /group-posts/:post/likes - -``` - -### 参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|limit|integer| 默认 15 ,数据返回条数 默认为15| -|after|integer|默认 0 ,翻页标识。| - -### 响应 - -``` -status 200 -``` - -```json -[ - { - "id": 152, - "user_id": 1,// 攒点用户 - "target_user": 1,// 喜欢目标用户 - "likeable_id": 4,// 资源唯一id - "likeable_type": "group-posts",// 喜欢资源类型 - "created_at": "2017-12-04 01:32:36", - "updated_at": "2017-12-04 01:32:36", - "user": { - "id": 1, - "name": "admin", - "bio": null, - "sex": 2, - "location": "四川省 巴中市 南江县", - "created_at": "2017-10-23 01:17:34", - "updated_at": "2017-11-15 07:36:17", - "following": false, - "follower": false, - "avatar": "http://thinksns-plus.dev/api/v2/users/1/avatar", - "bg": null, - "verified": { - "type": "user", - "icon": "http://thinksns-plus.dev/storage/certifications/000/000/0us/er.png", - "description": "1111" - }, - "extra": { - "user_id": 1, - "likes_count": 6, - "comments_count": 13, - "followers_count": 0, - "followings_count": 6, - "updated_at": "2017-12-04 01:32:36", - "feeds_count": 33, - "questions_count": 2, - "answers_count": 0, - "checkin_count": 7, - "last_checkin_count": 1 - } - } - } -] -``` - -## 帖子喜欢 - -``` -POST /group-posts/:post/likes -``` - -### 响应 - -``` -status 201 -``` - -## 帖子取消喜欢 - -``` -DELETE /group-posts/:post/likes -``` - -### 响应 - -``` -status 204 -``` diff --git a/docs/api-v2-group-posts-pinned.html b/docs/api-v2-group-posts-pinned.html new file mode 100644 index 0000000..7c4c044 --- /dev/null +++ b/docs/api-v2-group-posts-pinned.html @@ -0,0 +1,325 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-group-posts-pinned.md b/docs/api-v2-group-posts-pinned.md deleted file mode 100644 index 6eb4ec4..0000000 --- a/docs/api-v2-group-posts-pinned.md +++ /dev/null @@ -1,340 +0,0 @@ ---- -id: api-v2-group-posts-pinned -title: 帖子 · 置顶 ---- - -- [帖子申请置顶列表](#帖子申请置顶列表) -- [申请帖子置顶](#申请帖子置顶) -- [通过帖子置顶](#通过帖子置顶) -- [拒绝帖子置顶](#拒绝帖子置顶) -- [帖子评论申请置顶列表](#帖子评论申请置顶列表) -- [帖子评论申请置顶](#帖子评论申请置顶) -- [通过帖子评论申请置顶](#通过帖子评论申请置顶) -- [拒绝帖子评论申请置顶](#拒绝帖子评论申请置顶) -- [圈主和管理员置顶帖子](#圈主和管理员置顶帖子) -- [圈主和管理员取消置顶帖子](#圈主和管理员取消置顶帖子) - -## 帖子申请置顶列表 - -``` -GET /pinned/posts -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|limit|integer| 默认 15 ,数据返回条数 默认为15| -|after|integer|默认 0 ,数据偏移量,传递之前通过接口获取的总数。| -|group|integer|默认 全部,某个圈子置顶帖子需传圈子id| - -### 响应 - -``` -status 200 -``` - -```json -[ - { - "id": 3, - "channel": "post", - "raw": 0, - "target": 2, - "user_id": 1, - "target_user": 1, - "amount": 200, - "day": 1, - "expires_at": null, - "status": 0, - "created_at": "2017-11-30 10:42:14", - "updated_at": "2017-11-30 10:42:14", - "user": { - "id": 1, - "name": "root", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-11-09 08:17:26", - "updated_at": "2017-11-09 08:17:26", - "avatar": "http://127.0.0.1/duibi/thinksns-plus/public/api/v2/users/1/avatar", - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 4, - "comments_count": 4, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-11-29 06:50:57", - "feeds_count": 9, - "questions_count": 0, - "answers_count": 0, - "checkin_count": 0, - "last_checkin_count": 0, - "live_zans_count": 0, - "live_zans_remain": 0, - "live_time": 0 - } - }, - "post": { - "id": 2, - "group_id": 1, - "user_id": 1, - "title": "123123", - "body": "士大夫", - "summary": "123123", - "likes_count": 4, - "comments_count": 1, - "views_count": 0, - "created_at": "2017-11-27 11:20:07", - "updated_at": "2017-11-29 06:50:57" - } - } -] -``` - -### 返回参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:----:|:-----| -| id | int | 数据id | -|channel | string | 置顶类型 有`comment` 评论置顶和`post`帖子置顶两种,该接口中始终为`post`| -| raw | int | 当`channel` 为`comment`时为帖子id,该接口中始终为0 | -| target | int | 帖子id | -| user_id | int | 申请人id | -| target_user | int | 申请对方id,该接口中始终等于当前认证用户id | -| amount | int | 置顶金额,分单位 | -| day | int | 置顶天数 | -| expires_at | date | 置顶过期时间 (被拒绝时为拒绝处理的操作时间)| -| status | int | 处理状态 0-待审核 1-已通过 2-已拒绝 | -| created_at | date | 数据创建时间,可视为用户申请时间 | -| user | array | 申请者用户信息,参考对应用户数据 | -| post | array | 申请的帖子信息,参考帖子数据 | - -## 申请帖子置顶 - -``` -POST /pinned/posts/:post -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|amount|integer| 必须 置顶金额| -|day|integer|必须 置顶天数| - -### 响应 - -``` -status 201 -``` - -## 通过帖子置顶 - -``` -PATCH /pinned/posts/:post/accept -``` - -### 响应 - -``` -status 201 -``` - -## 拒绝帖子置顶 - -``` -PATCH /pinned/posts/:post/reject -``` - -### 响应 - -``` -status 201 -``` - -## 帖子评论申请置顶列表 - -``` -GET /pinned/comments -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|limit|integer| 默认 15 ,数据返回条数 默认为15| -|after|integer|默认 0 ,数据偏移量,传递之前通过接口获取的总数。| -|post|integer|默认 全部,某个帖子下的评论置顶需传帖子id| - -### 响应 - -``` -status 200 -``` - -```json -[ - { - "id": 4, - "channel": "comment", - "raw": 1, - "target": 4, - "user_id": 1, - "target_user": 1, - "amount": 200, - "day": 1, - "expires_at": "2017-12-02 01:57:30", - "status": 1, - "created_at": "2017-12-01 01:56:35", - "updated_at": "2017-12-01 01:57:30", - "comment": { - "id": 4, - "user_id": 1, - "target_user": 1, - "reply_user": 0, - "body": "", - "commentable_id": 1, - "commentable_type": "group-posts", - "created_at": "2017-11-27 03:31:38", - "updated_at": "2017-11-27 03:31:38" - }, - "user": { - "id": 1, - "name": "root", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-11-09 08:17:26", - "updated_at": "2017-11-09 08:17:26", - "avatar": "http://127.0.0.1/duibi/thinksns-plus/public/api/v2/users/1/avatar", - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 4, - "comments_count": 4, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-11-29 06:50:57", - "feeds_count": 9, - "questions_count": 0, - "answers_count": 0, - "checkin_count": 0, - "last_checkin_count": 0, - "live_zans_count": 0, - "live_zans_remain": 0, - "live_time": 0 - } - }, - "post": { - "id": 1, - "group_id": 1, - "user_id": 1, - "title": "123123", - "body": "士大夫", - "summary": "", - "likes_count": 4, - "comments_count": 1, - "views_count": 0, - "created_at": "2017-11-27 11:20:07", - "updated_at": "2017-11-29 06:50:57" - } - } -] -``` - -### 返回参数说明 - - -| 名称 | 类型 | 说明 | -|:----:|:----:|:-----| -| id | int | 数据id | -|channel | string | 置顶类型 有`comment` 评论置顶和`post`帖子置顶两种,该接口中始终为`comment`| -| raw | int | 当`channel` 为`comment`时为帖子id,该接口中始终为对应的帖子id | -| target | int | 帖子id | -| user_id | int | 申请人id | -| target_user | int | 申请对方id,该接口中始终等于当前认证用户id | -| amount | int | 置顶金额,分单位 | -| day | int | 置顶天数 | -| expires_at | date | 置顶过期时间 (被拒绝时为拒绝处理的操作时间)| -| status | int | 处理状态 0-待审核 1-已通过 2-已拒绝 | -| created_at | date | 数据创建时间,可视为用户申请时间 | -| user | array | 申请者用户信息,参考对应用户数据 | -| post | array | 对应的帖子信息,参考帖子数据 | -| comment | array | 申请置顶的评论信息,参考评论数据 | - - -## 帖子评论申请置顶 - -``` -POST /pinned/comments/:comment -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|amount|integer| 必须 置顶金额| -|day|integer|必须 置顶天数| - -### 响应 - -``` -status 201 -``` - -## 通过帖子评论申请置顶 - -``` -PATCH /pinned/comments/:comment/accept -``` - -### 响应 - -``` -status 201 -``` - -## 拒绝帖子评论申请置顶 - -``` -PATCH /pinned/comments/:comment/reject -``` - -### 响应 - -``` -status 201 -``` - -## 圈主和管理员置顶帖子 - -``` -POST /pinned/posts/:post/create -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|day|integer|必须 置顶天数| - -### 响应 - -``` -status 201 -``` -## 圈主和管理员取消置顶帖子 - -``` -PATCH /pinned/posts/:post/cancel -``` - -### 响应 - -``` -status 201 -``` diff --git a/docs/api-v2-group-posts-reward.html b/docs/api-v2-group-posts-reward.html new file mode 100644 index 0000000..8f56aec --- /dev/null +++ b/docs/api-v2-group-posts-reward.html @@ -0,0 +1,128 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-group-posts-reward.md b/docs/api-v2-group-posts-reward.md deleted file mode 100644 index 8255ac8..0000000 --- a/docs/api-v2-group-posts-reward.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -id: api-v2-group-posts-reward -title: 帖子 · 打赏 ---- - -- [帖子打赏列表](#帖子打赏列表) -- [帖子打赏](#帖子搭赏) -- [新版帖子打赏](#新版帖子打赏) - - -## 帖子点赞列表 - -``` -GET /group-posts/:post/rewards - -``` - -### 参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|limit|integer| 默认 15 ,数据返回条数 默认为15| -|offset|integer|默认 0 ,翻页标识。| -|order|string| 默认 desc, asc 升序 desc 降序| -|order_type|string|默认 date, amount 打赏金额 date 打赏时间| - -### 响应 - -``` -status 200 -``` - -```json -[ - { - "id": 24,// 打赏金唯一id - "user_id": 1,// 打赏用户id - "target_user": 1,// 目标用户id - "amount": 20,// 打赏金额 - "rewardable_id": 4,// 资源id - "rewardable_type": "group-posts",// 资源类型 - "created_at": "2017-12-04 03:17:54", - "updated_at": "2017-12-04 03:17:54", - "user": { - "id": 1, - "name": "admin", - "bio": null, - "sex": 2, - "location": "四川省 巴中市 南江县", - "created_at": "2017-10-23 01:17:34", - "updated_at": "2017-11-15 07:36:17", - "avatar": "http://thinksns-plus.dev/api/v2/users/1/avatar", - "bg": null, - "verified": { - "type": "user", - "icon": "http://thinksns-plus.dev/storage/certifications/000/000/0us/er.png", - "description": "1111" - }, - "extra": { - "user_id": 1, - "likes_count": 5, - "comments_count": 13, - "followers_count": 0, - "followings_count": 6, - "updated_at": "2017-12-04 01:46:57", - "feeds_count": 33, - "questions_count": 2, - "answers_count": 0, - "checkin_count": 7, - "last_checkin_count": 1 - } - } - } -] -``` - -## 帖子打赏 - -``` -POST /group-posts/:post/rewards -``` - -### 参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|amount|integer|必须 打赏金额| - -### 响应 - -``` -status 201 -``` - -## 新版帖子打赏 - -``` -POST /group-posts/:post/new-rewards -``` - -### 参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|amount|integer|必须 打赏金额| - -### 响应 - -``` -status 201 -``` diff --git a/docs/api-v2-group-posts.html b/docs/api-v2-group-posts.html new file mode 100644 index 0000000..ac63728 --- /dev/null +++ b/docs/api-v2-group-posts.html @@ -0,0 +1,410 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-group-posts.md b/docs/api-v2-group-posts.md deleted file mode 100644 index 52ab867..0000000 --- a/docs/api-v2-group-posts.md +++ /dev/null @@ -1,421 +0,0 @@ ---- -id: api-v2-group-posts -title: 帖子 ---- - -- [圈子帖子列表](#圈子帖子列表) -- [圈子帖子详情](#圈子帖子详情) -- [圈子帖子创建](#圈子帖子创建) -- [圈子帖子更新](#圈子帖子更新) -- [圈子帖子删除](#圈子帖子删除) -- [我的帖子列表](#我的帖子列表) -- [全部帖子列表包含搜索](#全部帖子列表包含搜索) - -## 圈子帖子列表 - -``` -GET /groups/:group/posts -``` - -### 响应 - -``` -status 200 -``` -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|type | string| 默认:latest_post, latest_post 最新帖子,latest_reply最新回复| -|limit|integer| 默认 15 ,数据返回条数 默认为15| -|offset|integer|默认 0 ,数据偏移量,传递之前通过接口获取的总数。| -| `excellent` | `any` | **可选**,不传递,表示获取全部帖子,传递 `1` 表示获取精华帖子。 | - -```json -[ - { - "id": 88, - "group_id": 1, - "user_id": 1, - "title": "内容标题", - "summary": "帖子介绍", - "likes_count": 0, - "comments_count": 0, - "views_count": 0, - "liked":true, - "collected":true, - "created_at": "2017-11-28 07:12:20", - "updated_at": "2017-11-28 07:12:20", - "excellent_at": "2018-08-22T06:27:15Z", // 如果存在,则表示精华 - "images": [ - { - "id": 113, - "size": "397x246" - }, - { - "id": 115, - "size": "397x246" - } - ], - "user": { - "id": 1, - "name": "admin", - "bio": null, - "sex": 2, - "location": "四川省 巴中市 南江县", - "created_at": "2017-10-23 01:17:34", - "updated_at": "2017-11-15 07:36:17", - "avatar": "http://thinksns-plus.dev/api/v2/users/1/avatar", - "bg": null, - "verified": { - "type": "user", - "icon": "http://thinksns-plus.dev/storage/certifications/000/000/0us/er.png", - "description": "1111" - }, - "extra": { - "user_id": 1, - "likes_count": 5, - "comments_count": 3, - "followers_count": 0, - "followings_count": 6, - "updated_at": "2017-11-27 07:25:04", - "feeds_count": 8, - "questions_count": 2, - "answers_count": 0, - "checkin_count": 7, - "last_checkin_count": 1 - } - } - } -] -``` - -### 返回参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -| gourp_id | int | 所属圈子 | -| user_id | int | 发布者 | -| title | string | 标题 | -| summary | string | 列表专用字段,概述,简短内容 | -| likes_count | int | 喜欢数量统计 | -| comments_count | int | 评论数量统计 | -| views_count | int | 查看数量统计 | -|collected|bool|是否收藏true or false| -|liked|bool|是否点赞true or false| -|images|array|附件| - -## 圈子帖子详情 - -``` -GET /groups/:group/posts/:post -``` - -### 响应 - -``` -status 200 -``` - -```json -{ - "id": 81, - "group_id": 1, - "user_id": 1, - "title": "这是帖11", - "body": "这是帖子", - "summary": "", - "likes_count": 0, - "comments_count": 0, - "views_count": 0, - "created_at": "2017-11-28 06:46:02", - "updated_at": "2017-11-28 07:16:46", - "excellent_at": "2018-08-22T06:27:15Z", // 如果存在,则表示精华 - "liked": false, - "collected": false, - "reward_amount": 0, - "reward_number": 0, - "group": { - "id": 1, - "name": "哈哈哈", - "user_id": 1, - "category_id": 1, - "location": null, - "longitude": null, - "latitude": null, - "geo_hash": null, - "allow_feed": 0, - "mode": "public", - "money": 0, - "summary": "简介\n", - "notice": "这是公告", - "users_count": 1, - "posts_count": 47, - "audit": 1, - "created_at": null, - "updated_at": "2017-11-28 07:12:20" - }, - "user": { - "id": 1, - "name": "admin", - "bio": null, - "sex": 2, - "location": "四川省 巴中市 南江县", - "created_at": "2017-10-23 01:17:34", - "updated_at": "2017-11-15 07:36:17", - "avatar": "http://thinksns-plus.dev/api/v2/users/1/avatar", - "bg": null, - "verified": { - "type": "user", - "icon": "http://thinksns-plus.dev/storage/certifications/000/000/0us/er.png", - "description": "1111" - }, - "extra": { - "user_id": 1, - "likes_count": 5, - "comments_count": 3, - "followers_count": 0, - "followings_count": 6, - "updated_at": "2017-11-27 07:25:04", - "feeds_count": 8, - "questions_count": 2, - "answers_count": 0, - "checkin_count": 7, - "last_checkin_count": 1 - } - } -} -``` -### 返回参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -| gourp_id | int | 所属圈子 | -| user_id | int | 发布者 | -| title | string | 标题 | -| body | string | markdown 内容 | -| summary | string | 列表专用字段,概述,简短内容 | -| likes_count | int | 喜欢数量统计 | -| comments_count | int | 评论数量统计 | -| views_count | int | 查看数量统计 | -| reward_amount | int | 打赏金额统计 | -| reward_number | int | 打赏人数统计 | -|collected|bool|是否收藏true or false| -|liked|bool|是否点赞true or false| - -## 圈子帖子创建 - -### 参数说明 - -``` -POST /groups/:group/posts -``` - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -| title | int | 必须 帖子标题 | -| body | int | 必须 帖子内容 | -| summary | string | 必须 允许为空 列表专用字段,概述,简短内容| -| images | array | 文件id,例如[1,2,3],当summay为空时必须传| -| sync_feed | int | 同步至动态,同步需要传sync_feed = 1 | -| feed_from | int | 设备标示 同步动态需要传 1:pc 2:h5 3:ios 4:android 5:其他| -### 响应 - -``` -status 201 -``` - -```json -{ - "message": "操作成功", - "post": { - "title": "这是帖11", - "body": "这是帖子", - "summary": "12321321", - "user_id": 1, - "group_id": 1, - "updated_at": "2017-11-28 09:45:17", - "created_at": "2017-11-28 09:45:17", - "id": 121 - } -} -``` -## 圈子帖子更新 - -### 参数说明 - -``` -PUT /groups/:group/posts/:post -``` - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -| title | int | 必须 帖子标题 | -| body | int | 必须 帖子内容 | -| summary | string | 必须 允许为空 列表专用字段,概述,简短内容| -| images | array | 文件id,例如[1,2,3],当summay为空时必须传| -| sync_feed | int | 同步至动态,同步需要传sync_feed = 1 | -| feed_from | int | 设备标示 同步动态需要传 1:pc 2:h5 3:ios 4:android 5:其他| - -### 响应 - -``` -status 201 -``` - -```json -{ - "message": "操作成功", - "post": { - "title": "这是帖11", - "body": "这是帖子", - "summary": "12321321", - "user_id": 1, - "group_id": 1, - "updated_at": "2017-11-28 09:45:17", - "created_at": "2017-11-28 09:45:17", - "id": 121 - } -} -``` -## 圈子帖子删除 -``` -DELETE /groups/:group/posts/:post -``` - -### 响应 - -``` -status 204 No Content -``` - -## 我的帖子列表 - -``` -GET /user-group-posts -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|type | string| 默认:1 , 1-发布的 2- 已置顶 3-置顶待审| -|limit|integer| 默认 15 ,数据返回条数 默认为15| -|offset|integer|默认 0 ,数据偏移量,传递之前通过接口获取的总数。| - -### 响应 - -``` -status 200 -``` - -## 全部帖子列表包含搜索 - -``` -GET /group-posts -``` - -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|keyword | string| 搜索关键词,模糊匹配圈子名称| -|group_id | integer| 获取某个圈子下面的全部帖子| -|limit|integer| 默认 15 ,数据返回条数 默认为15| -|offset|integer|默认 0 ,数据偏移量,传递之前通过接口获取的总数。| - -### 响应 - -``` -status 200 -``` - -## 批量获取帖子简单数据 - -``` -GET /group/simple-posts -``` - -请求查询参数: - -| 名称 | 类型 | 描述 | -|----|----|----| -| `id` | `string` | 需要获取的帖子 ID, 多个使用半角 `,` 进行分割 | - -响应: - -``` -Status: 200 OK -``` -```json5 -[ - { - "id": 1, // 帖子 ID - "group_id": 1, // 所属圈子 ID - "title": "帖子标题", // 帖子标题 - "summary": "帖子内容", // 帖子列表语言内容数据 - "image": 1, // 图片 ID - } -] -``` - -## 设置帖子精华 -## 帖子取消精华 - -``` -PUT /api/v2/group/posts/:postId/toggle-excellent -``` - -变量: - -| 变量 | 描述 | -| `postId` | 帖子 ID。| - -响应: - -``` -Status: 204 No Content -``` - -## 预览帖子列表接口 - -这个接口用于用户未加入圈子时展示 - -``` -GET group/groups/:groupId/preview-posts -``` - -变量: - -| 变量 | 描述 | -|----|----| -| `groupId` | 圈子 ID | - -响应: - -``` -Status: 200 OK -``` -```json5 -[ - { - "id": 1, // 帖子 ID - "group_id": 1, // 所属圈子 ID - "user_id": 1, // 帖子发布者 - "title": "haha", // 帖子标题 - "summary": "1", // 列表描述内容 - "likes_count": 0, // 点赞量 - "comments_count": 0, // 帖子评论量 - "views_count": 0, // 帖子阅读量 - "created_at": "2018-08-22T06:27:15Z", // 帖子发布时间 - "excellent_at": "2018-08-22T06:27:15Z", // 如果存在,则表示精华 - "images": [ - { - "id": 1, - "size": "160x160" - } - ], - "comments": [] // 参考评论资源返回(服用的代码,批量获取评论接口返回结构) - } -] -``` diff --git a/docs/api-v2-group-report.html b/docs/api-v2-group-report.html new file mode 100644 index 0000000..f011c56 --- /dev/null +++ b/docs/api-v2-group-report.html @@ -0,0 +1,209 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-group-report.md b/docs/api-v2-group-report.md deleted file mode 100644 index 835e158..0000000 --- a/docs/api-v2-group-report.md +++ /dev/null @@ -1,207 +0,0 @@ ---- -id: api-v2-group-report -title: 圈子 · 举报 ---- - -- [举报列表](#举报列表) -- [帖子举报](#帖子举报) -- [评论举报](#评论举报) -- [举报通过](#举报通过) -- [举报拒绝](#举报拒绝) -- [举报圈子](#举报圈子) - - -## 举报列表 - -``` -GET /reports -``` - -### 响应 - -``` -status 200 -``` - -### 参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|start|integer|秒级时间戳,起始筛选时间 | -|end|integer|秒级时间戳,结束筛选时间| -|group_id | integer| 必须 圈子id| -|status | integer| 状态 默认全部,0-未处理 1-已处理 2-已驳回| -|limit|integer| 默认 15 ,数据返回条数| -|after|integer|默认 0 ,翻页标示| - -```json -[ - { - "id": 1,// 举报唯一id - "user_id": 1,// 举报人id - "target_id": 1,// 被举报人 id - "group_id": 1,// 圈子id - "resource_id": 67,// type: post-帖子id comment-评论id - "content": "哈哈",// 举报内容 - "type": "comment",// 举报类型 post 帖子举报 comment 评论举报 - "status": 1, // 举报状态 0 待审核 1 已审核 2 已驳回 - "cause": null,// 驳回原因 - "handler": 2,// 审核处理人 id - "created_at": "2017-11-30 10:21:52", - "updated_at": "2017-12-01 06:11:24", - "resource": {// 当资源被删除时为null,不为null 如果type是comment commentable_id 为帖子id,type是post 帖子信息 - "id": 67, - "user_id": 1, - "target_user": 1, - "reply_user": 1, - "body": "123123", - "commentable_id": 121, - "commentable_type": "group-posts", - "created_at": "2017-12-05 07:03:01", - "updated_at": "2017-12-05 07:03:01" - },// 被举报的资源信息 - "user": {// 举报人信息 - "id": 1, - "name": "admin", - "bio": null, - "sex": 2, - "location": "四川省 巴中市 南江县", - "created_at": "2017-10-23 01:17:34", - "updated_at": "2017-11-15 07:36:17", - "avatar": "http://thinksns-plus.dev/api/v2/users/1/avatar", - "bg": null, - "verified": { - "type": "user", - "icon": "http://thinksns-plus.dev/storage/certifications/000/000/0us/er.png", - "description": "1111" - }, - "extra": { - "user_id": 1, - "likes_count": 5, - "comments_count": 13, - "followers_count": 0, - "followings_count": 6, - "updated_at": "2017-11-30 03:04:06", - "feeds_count": 33, - "questions_count": 2, - "answers_count": 0, - "checkin_count": 7, - "last_checkin_count": 1 - } - }, - "target": { // 被举报人信息 - "id": 1, - "name": "admin", - "bio": null, - "sex": 2, - "location": "四川省 巴中市 南江县", - "created_at": "2017-10-23 01:17:34", - "updated_at": "2017-11-15 07:36:17", - "avatar": "http://thinksns-plus.dev/api/v2/users/1/avatar", - "bg": null, - "verified": { - "type": "user", - "icon": "http://thinksns-plus.dev/storage/certifications/000/000/0us/er.png", - "description": "1111" - }, - "extra": { - "user_id": 1, - "likes_count": 5, - "comments_count": 13, - "followers_count": 0, - "followings_count": 6, - "updated_at": "2017-11-30 03:04:06", - "feeds_count": 33, - "questions_count": 2, - "answers_count": 0, - "checkin_count": 7, - "last_checkin_count": 1 - } - } - } -] -``` - -## 帖子举报 - -``` -POST /reports/posts/:post -``` - -### 响应 - -``` -status 201 -``` -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|content | string| 必须 举报内容| - -## 评论举报 - -``` -POST /reports/comments/:comment -``` - -### 响应 - -``` -status 201 -``` -### 参数说明 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -|content | string| 必须 举报内容| - -## 举报通过 - -``` -PATCH /reports/:report/accept -``` - -### 响应 - -``` -status 201 -``` - -## 举报拒绝 - -``` -PATCH /reports/:report/reject -``` - -### 响应 - -``` -status 201 -``` - -## 举报圈子 - -``` -POST /groups/:group/reports -``` - -### 可选参数 - -| 名称 | 描述 | -|:----:|:-----| -| reason | 举报理由 | - -### 响应 - -``` -Http Status 201 -``` - -```json -{ - "message": [ - "操作成功" - ] -} -``` diff --git a/docs/api-v2-group.html b/docs/api-v2-group.html new file mode 100644 index 0000000..656a4cc --- /dev/null +++ b/docs/api-v2-group.html @@ -0,0 +1,39 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-group.md b/docs/api-v2-group.md deleted file mode 100644 index 6d97a67..0000000 --- a/docs/api-v2-group.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: api-v2-group -title: 概述 ---- - -除了在 ThinkSNS Plus 核心 API 版本选择的时候需要加入 `v2` 前缀,「圈子」拓展包为了与其他应用区别,也加入了一个特殊前缀叫做 `plus-group`,从而,你的完整地址前缀就是 `/api/v2/plus-grouo` - -我们以获取所有「圈子分类」接口为例: - -``` -/api/v2/plus-group/categroies -``` - -> 在「圈子」API 列表中,将不会再提及 `plus-group` 前缀。 - diff --git a/docs/api-v2-jwt-authorization.html b/docs/api-v2-jwt-authorization.html new file mode 100644 index 0000000..6cc941a --- /dev/null +++ b/docs/api-v2-jwt-authorization.html @@ -0,0 +1,99 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-jwt-authorization.md b/docs/api-v2-jwt-authorization.md deleted file mode 100644 index 8fee094..0000000 --- a/docs/api-v2-jwt-authorization.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -id: api-v2-jwt-authorization -title: Json Web Token 授权 ---- - -- [用户登录](#login) -- [用户退出](#logout) -- [刷新 Token](#refresh) - - -## 用户登录 - -``` -POST /auth/login -``` - -### 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| login | 字符串 | **必须**,用户认证字段,可以是 `name` 、 `email` 和 `phone` 。 | -| password | 字符串 | **可选**,用户密码。 | -| `verifiable_code` | `string` | **可选**,登录验证码。 | - -> `password` 或者 `verifiable_code` 必须选择一个,如果选择 `verifiable_code` 进行登录。那么 `login` 字段只能是 `phone` 或者 `email`。 - -### 响应 - -``` -Status: 20o OK -``` -```json -{ - "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vcGx1cy5pby9hcGkvdjIvYXV0aC9sb2dpbiIsImlhdCI6MTUxNTU3NDE0MSwiZXhwIjoxNTE1NTc3NzQxLCJuYmYiOjE1MTU1NzQxNDEsImp0aSI6Imx1MWtFcDd1UjZpWnoxV3giLCJzdWIiOjEsInBydiI6IjQ4ZTQ1MzgzMWNlYmE1ZTU3YTQ3NWU2ODY0OWNmZGVlNmU5N2Q4ZDIifQ.0_u1dgb-rSr2o7nIx4Q1n1NNcr1LMAtgTbKsFFdUvmg", - "token_type": "bearer", - "expires_in": 60, - "refresh_ttl": 20160 -} -``` - -| 字段 | 描述 | -|:----:|----| -| access_token | 授权 Token | -| token_type | Token 类型 | -| expires_in | 过期时间,单位分 | -| refresh_ttl | 刷新过期时间,单位分 | - - -## 用户退出 - -``` -POST|PUT|PATCH|GET /auth/logout -``` - -> 需要 `认证` - -### 响应 - -``` -Status: 200 OK -``` -```json -{ - "message": "退出成功" -} -``` - - -## 刷新 Token - -``` -POST|PUT|PATCH|GET /auth/refresh -``` - -> 需要 `认证` - -### 响应 - -见 [用户登录](#login) diff --git a/docs/api-v2-location.html b/docs/api-v2-location.html new file mode 100644 index 0000000..30596e6 --- /dev/null +++ b/docs/api-v2-location.html @@ -0,0 +1,106 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-location.md b/docs/api-v2-location.md deleted file mode 100644 index 1cacecb..0000000 --- a/docs/api-v2-location.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -id: api-v2-location -title: 位置 ---- - -## 搜索位置 - -``` -GET /locations/search -``` - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| name | 字符串 | 位置关键词。 | - -##### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "items": [ - { - "id": 2508, - "name": "成都市", - "pid": 2507, - "extends": "", - "created_at": "2017-06-02 08:44:10", - "updated_at": "2017-06-02 08:44:10" - } - ], - "tree": { - "id": 2507, - "name": "四川省", - "pid": 1, - "extends": "", - "created_at": "2017-06-02 08:44:10", - "updated_at": "2017-06-02 08:44:10", - "parent": { - "id": 1, - "name": "中国", - "pid": 0, - "extends": "3", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-06-02 08:43:54", - "parent": null - } - } - } -] -``` - -| 字段 | 描述 | -|:----:|----| -| items | 搜索的选中地址的下一级所有地区列表。 | -| tree | 搜索的选中地区树。 | -| tree.parent | 父级地区数据。 | -| *.name | 地区名称 | - -> 如果搜索的地区树达到三级,则 `items` 为 `null`。 - - -## 热门城市 - -``` -GET /locations/hots -``` - -### 响应 - -```json5 -[ - "中国 四川省 成都市", - "中国 北京 北京", - "中国 浙江省 温州市" -] -``` - -> 后台自由填写的字符串构成的数组 diff --git a/docs/api-v2-music-collection.html b/docs/api-v2-music-collection.html new file mode 100644 index 0000000..3ab8427 --- /dev/null +++ b/docs/api-v2-music-collection.html @@ -0,0 +1,97 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-music-collection.md b/docs/api-v2-music-collection.md deleted file mode 100644 index cf50b2f..0000000 --- a/docs/api-v2-music-collection.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -id: api-v2-music-collection -title: 收藏 ---- - -- [收藏列表](#get-collections) -- [添加收藏](#add-collection) -- [取消收藏](#cancel-collction) - - -## 获取用户收藏的专辑 - -``` -GET /music/collections -``` - -#### Response - -``` -Status: 200 OK -``` -```json5 -[ - { - "id": 2, // 专辑id - "created_at": "2017-03-15 17:04:31", - "updated_at": "2017-06-27 18:40:56", - "title": "少女情怀总是诗", // 专辑名称 - "intro": "耶嘿 杀乌鸡", // 专辑简介 - "storage": { // 专辑封面 - "id": 108, // 封面图片id - "size": "3024x3024" // 图片尺寸 - }, - "taste_count": 845, // 播放数 - "share_count": 21, // 分享数 - "comment_count": 97, // 评论数 - "collect_count": 9, // 收藏数 - "paid_node": { // 专辑为免费时 该字段为null - "paid": true, // 是否已付费 - "node": 1, // 付费节点 - "amount": 200 // 付费金额 - } - } -] -``` - -### Parameters - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 可选,默认值 20 ,获取条数 | -| max_id | Integer | 可选,上次获取到数据最后一条 ID,用于获取该 ID 之后的数据。 | - - -## 收藏专辑 - -``` -POST /music/specials/{special}/collection -``` - -### Response - -``` -Status: 201 Created -``` - -```json5 -{ - "message": [ - "收藏成功" - ] -} -``` - - -## 取消收藏 - -``` -DELETE /music/specials/{special}/collection -``` - -### Response - -``` -Status: 204 No Content -``` \ No newline at end of file diff --git a/docs/api-v2-music-comment.html b/docs/api-v2-music-comment.html new file mode 100644 index 0000000..610a43b --- /dev/null +++ b/docs/api-v2-music-comment.html @@ -0,0 +1,184 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-music-comment.md b/docs/api-v2-music-comment.md deleted file mode 100644 index 5467b15..0000000 --- a/docs/api-v2-music-comment.md +++ /dev/null @@ -1,187 +0,0 @@ ---- -id: api-v2-music-comment -title: 评论 ---- - -- [音乐评论列表](#music-comments) -- [专辑评论列表](#special-comments) -- [添加音乐评论](#add-music-comment) -- [添加专辑评论](#add-special-comment) -- [删除音乐评论](#delete-music-comment) -- [删除专辑评论](#delete-special-comment) - - -## 音乐评论列表 - -``` -GET /music/{music}/comments -``` - -### Parameters - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 可选,默认值 15 ,获取条数 | -| max_id | Integer | 可选,上次获取到数据最后一条 ID,用于获取该 ID 之后的数据。 | - -#### Response - -``` -Status: 200 OK -``` - -```json5 -[ - { - "id": 2, - "commentable_type": "musics", // 资源标识 - "commentable_id": 1, // 资源id - "user_id": 1, // 评论者 - "target_user": 0, // 资源作者 - "reply_user": 0, // 回复者 - "created_at": "2017-07-24 15:09:27", - "updated_at": "2017-07-24 15:09:28", - "body": "啦啦啦啦啦" // 评论内容 - } -] -``` - - -## 专辑评论列表 - -``` -GET /music/specials/{special}/comments -``` - -### Parameters - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 可选,默认值 15 ,获取条数 | -| max_id | Integer | 可选,上次获取到数据最后一条 ID,用于获取该 ID 之后的数据。 | - -#### Response - -``` -Status: 200 OK -``` - -```json5 -[ - { - "id": 1, - "commentable_type": "music_specials", // 资源标识 - "commentable_id": 1, - "user_id": 1, - "target_user": 0, - "reply_user": 0, - "created_at": "2017-07-24 15:09:27", - "updated_at": "2017-07-24 15:09:28", - "body": "辣鸡啊" - } -] -``` - - -## 添加音乐评论 - -``` -POST /music/{music}/comments -``` - -### Parameters - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| body | string | 评论内容 | -| reply_user | Integer | 被回复者 默认为0 | - -#### Response - -``` -Status: 201 Created -``` - -```json5 -{ - "message": [ - "操作成功" - ], - "comment": { // 评论信息 - "user_id": 1, - "reply_user": 0, - "target_user": 0, - "body": "辣鸡啊啊啊啊", - "commentable_type": "musics", - "commentable_id": 1, - "updated_at": "2017-07-24 09:12:03", - "created_at": "2017-07-24 09:12:03", - "id": 13 - } -} -``` - - -## 添加专辑评论 - -``` -POST /music/specials/{special}/comments -``` - -### Parameters - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| body | string | 评论内容 | -| reply_user | Integer | 被回复者 默认为0 | - -#### Response - -``` -Status: 200 OK -``` - -```json5 -{ - "message": [ - "操作成功" - ], - "comment": { // 评论信息 - "user_id": 1, - "reply_user": 0, - "target_user": 0, - "body": "因吹斯听", - "commentable_type": "music_specials", - "commentable_id": 1, - "updated_at": "2017-07-24 09:12:03", - "created_at": "2017-07-24 09:12:03", - "id": 13 - } -} -``` - - -## 删除音乐评论 - -``` -DELETE /music/{music}/comments/{comment} -``` - -#### Response - -``` -Status: 204 No Content -``` - - -## 删除专辑评论 - -``` -DELETE /music/specials/{special}/comments/{comment} -``` - -#### Response - -``` -Status: 204 No Conetent -``` \ No newline at end of file diff --git a/docs/api-v2-music-like.html b/docs/api-v2-music-like.html new file mode 100644 index 0000000..397148b --- /dev/null +++ b/docs/api-v2-music-like.html @@ -0,0 +1,56 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-music-like.md b/docs/api-v2-music-like.md deleted file mode 100644 index 063b19c..0000000 --- a/docs/api-v2-music-like.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -id: api-v2-music-like -title: 点赞 ---- - -- [点赞](#like) -- [取消点赞](#cancel-like) - - -## 点赞 - -``` -POST /music/{music}/like -``` - -### Reponse - -``` -Status 201 Created -``` - -```json5 -{ - "message": [ - "点赞成功" - ] -} -``` - - -## 取消点赞 - -``` -DELETE /music/{music}/like -``` - -### Reponse - -``` -Status 204 No Content -``` \ No newline at end of file diff --git a/docs/api-v2-music-special.html b/docs/api-v2-music-special.html new file mode 100644 index 0000000..bafe0a2 --- /dev/null +++ b/docs/api-v2-music-special.html @@ -0,0 +1,211 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-music-special.md b/docs/api-v2-music-special.md deleted file mode 100644 index 5dd7555..0000000 --- a/docs/api-v2-music-special.md +++ /dev/null @@ -1,208 +0,0 @@ ---- -id: api-v2-music-special -title: 专辑 ---- - -- [专辑列表](#get-specials) -- [已购买的专辑列表](#get-paid-specials) -- [专辑详情](#show-special) -- [增加专辑分享数](#refresh-special-share-count) - - -## 专辑列表 - -``` -GET /music/specials -``` - - -## 已购买的专辑列表 - -``` -GET /music-specials/paids -``` - -#### Response - -``` -Status: 201 OK -``` -```json5 -[ - { - "id": 2, // 专辑id - "created_at": "2017-03-15 17:04:31", - "updated_at": "2017-06-27 18:40:56", - "title": "少女情怀总是诗", // 专辑标题 - "intro": "耶嘿 杀乌鸡", // 专辑简介 - "storage": { // 专辑封面图 - "id": 108, // 图片id - "size": "3024x3024" // 图片尺寸 - }, - "taste_count": 845, // 播放数 - "share_count": 21, // 分享数 - "comment_count": 97, // 评论数 - "collect_count": 9, // 收藏数 - "has_collect": true, // 是否已收藏 - "paid_node": { // 付费节点 为null则是免费 - "paid": true, // 是否已付费 - "node": 1, // 付费节点 - "amount": 200 // 付费金额 - } - }, - { - "id": 1, - "created_at": "2017-03-15 17:01:17", - "updated_at": "2017-07-20 03:39:00", - "title": "干了这碗鸡血时速八千", - "intro": "听听歌 抖抖腿", - "storage": { - "id": 108, - "size": "3024x3024" - }, - "taste_count": 1556, - "share_count": 23, - "comment_count": 137, - "collect_count": 12, - "has_collect": false, - "paid_node": null - } -] -``` - -### Parameters - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 可选,默认值 20 ,获取条数 | -| max_id | Integer | 可选,上次获取到数据最后一条 ID,用于获取该 ID 之后的数据。 | -| `id` | `array` | **可选**,批量获取专辑。| - -E.g: - -``` -/music-specials?id[]=1&id[]=2&id[]=3 -``` - -> 列表为倒序 - - -## 获取专辑详情 - -``` -GET /music/specials/{special} -``` - -#### Response - -``` -Status: 201 OK -``` -```json5 -{ - "id": 2, - "created_at": "2017-03-15 17:04:31", - "updated_at": "2017-06-27 18:40:56", - "title": "少女情怀总是诗", - "intro": "耶嘿 杀乌鸡", - "storage": { - "id": 108, - "size": "3024x3024" - }, - "taste_count": 845, - "share_count": 21, - "comment_count": 97, - "collect_count": 9, - "paid_node": { - "paid": true, - "node": 1, - "amount": 200 - }, - "has_collect": true, // 以上数据参见专辑列表 - "musics": [ // 音乐数据参见音乐详情 - { - "id": 7, - "created_at": "2017-04-17 15:27:59", - "updated_at": "2017-07-06 03:53:04", - "deleted_at": null, - "title": "umbrella", - "singer": { - "id": 2, - "created_at": "2017-03-16 17:22:18", - "updated_at": "2017-03-16 17:22:20", - "name": "佚名", - "cover": { - "id": 1, - "size": "370x370" - } - }, - "storage": { - "id": 112 - }, - "last_time": 300, - "lyric": null, - "taste_count": 0, - "share_count": 0, - "comment_count": 0, - "has_like": true - }, - { - "id": 3, - "created_at": "2017-03-16 17:21:09", - "updated_at": "2017-07-06 08:01:18", - "deleted_at": null, - "title": "别碰我的人", - "singer": { - "id": 1, - "created_at": "2017-03-16 17:22:04", - "updated_at": "2017-03-16 17:22:08", - "name": "群星", - "cover": { - "id": 1, - "size": "370x370" - } - }, - "storage": { // 音乐付费时 - "id": 133, - "amount": "200", - "type": "download", - "paid": "false", - "paid_node": "12" - }, - "last_time": 200, - "lyric": null, - "taste_count": 297, - "share_count": 0, - "comment_count": 23, - "has_like": true - } - ] -} -``` - -##### Not paid - -```json5 -{ - "message": [ - "请购买专辑" - ], - "paid_node": 9, // 付费节点 - "amount": 20 // 动态价格 -} -``` - - -## 增加专辑分享数 - -供移动端分享专辑时调用,统计专辑分享数 - -``` -PATCH /music/specials/{special}/share -``` - -#### Response - -``` -Status: 204 No Content -``` diff --git a/docs/api-v2-music.html b/docs/api-v2-music.html new file mode 100644 index 0000000..dfe6506 --- /dev/null +++ b/docs/api-v2-music.html @@ -0,0 +1,198 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-music.md b/docs/api-v2-music.md deleted file mode 100644 index 6416016..0000000 --- a/docs/api-v2-music.md +++ /dev/null @@ -1,192 +0,0 @@ ---- -id: api-v2-music -title: 音乐 ---- - -- [获取音乐详情](#show-music) -- [获取已购买的音乐](#get-paid-music) -- [增加音乐分享数](#refresh-music-share-count) -- [批量获取音乐](#list-songs) - - - -## 批量获取音乐 - -``` -GET /music/songs -``` - -请求参数: - -| 参数 | 类型 | 描述 | -|----|----|----| -| `limit` | `integer` | **可选**,指定获取的数量。| -| `after` | `integer` | **可选**,获取某ID之后数据 | -| `id` | `array` | **可选**,获取指定列表音乐 | - -响应: - -```json5 -Status: 200 OK -[ - { - "id":1, - "title":"兰花指", - "singer":1, - "storage":{ - "id":2 - }, - "last_time":234, - "lyric":"哈哈哈", - "taste_count":0, - "share_count":0, - "comment_count":0, - "sort":0, - "created_at":"2019-02-28 03:46:56", - "updated_at":"2019-02-28 03:46:56", - "deleted_at":null, - "has_like":false - } -] -``` - - -## 获取音乐详情 - -``` -GET /music/{music} -``` - -#### Response - -``` -Status: 201 OK -``` -```json5 -{ - "id": 1, // 音乐id - "created_at": "2017-03-16 17:11:26", - "updated_at": "2017-07-20 03:39:00", - "deleted_at": null, - "title": "水手公园", // 音乐标题 - "singer": { // 歌手信息 - "id": 1, // 歌手id - "created_at": "2017-03-16 17:22:04", - "updated_at": "2017-03-16 17:22:08", - "name": "群星", // 歌手名称 - "cover": { // 歌手图片 - "id": 108, // 图片id - "size": "3024x3024" // 图片尺寸 - } - }, - "storage": { // 音乐附件信息 - "id": 105, // 附件id - "amount": 100, // 付费金额 音乐免费时该字段不存在 - "type": "download", // 付费类型 音乐免费时该字段不存在 - "paid": true, // 是否已付费 音乐免费时 该字段不存在 - "paid_node": 2 // 付费节点 音乐免费时 该字段不存在 - }, - "last_time": 180, // 歌曲时间(app暂时自行下载解析时间) - "lyric": "lalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallalalaallal", // 歌词 - "taste_count": 314, // 播放数 - "share_count": 0, // 分享数 - "comment_count": 12, // 评论数 - "has_like": true // 是否已赞 -} -``` - - -## 获取已购买的音乐 - -``` -GET /music/paids -``` - -### 输入参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 可选,默认值 20 ,获取条数 | -| max_id | Integer | 可选,上次获取到数据最后一条 ID,用于获取该 ID 之后的数据。 | - -### 响应 - -``` -Status 200 Ok -``` - -```json5 -[ // 音乐数据参见音乐详情 - { - "id": 7, - "created_at": "2017-04-17 15:27:59", - "updated_at": "2017-07-06 03:53:04", - "deleted_at": null, - "title": "umbrella", - "singer": { - "id": 2, - "created_at": "2017-03-16 17:22:18", - "updated_at": "2017-03-16 17:22:20", - "name": "佚名", - "cover": { - "id": 1, - "size": "370x370" - } - }, - "storage": { - "id": 112 - }, - "last_time": 300, - "lyric": null, - "taste_count": 0, - "share_count": 0, - "comment_count": 0, - "has_like": true - }, - { - "id": 3, - "created_at": "2017-03-16 17:21:09", - "updated_at": "2017-07-06 08:01:18", - "deleted_at": null, - "title": "别碰我的人", - "singer": { - "id": 1, - "created_at": "2017-03-16 17:22:04", - "updated_at": "2017-03-16 17:22:08", - "name": "群星", - "cover": { - "id": 1, - "size": "370x370" - } - }, - "storage": { // 音乐付费时 - "id": 133, - "amount": "200", - "type": "download", - "paid": "false", - "paid_node": "12" - }, - "last_time": 200, - "lyric": null, - "taste_count": 297, - "share_count": 0, - "comment_count": 23, - "has_like": true - } -] -``` - - -## 增加音乐分享数 - -供移动端分享音乐时调用,统计音乐分享数 - -``` -PATCH /music/{music}/share -``` - -#### Response - -``` -Status: 204 No Content -``` \ No newline at end of file diff --git a/docs/api-v2-news-cates.html b/docs/api-v2-news-cates.html new file mode 100644 index 0000000..363eb07 --- /dev/null +++ b/docs/api-v2-news-cates.html @@ -0,0 +1,109 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-news-cates.md b/docs/api-v2-news-cates.md deleted file mode 100644 index 5c7cd81..0000000 --- a/docs/api-v2-news-cates.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -id: api-v2-news-cates -title: 分类 ---- - -- [获取资讯分类](#获取资讯分类) -- [订阅分类](#订阅分类) - -# 获取资讯分类 - -返回全部资讯分类和已订阅的分类,在未登录或未订阅状态下已订阅分类随机返回5个分类 - -``` -GET /news/cates -``` - -### Response - -Headers - -``` -Status: 200 OK -``` - -Body - -```json5 -{ - "my_cates": [ - { - "id": 1, - "name": "热门" - }, - { - "id": 2, - "name": "娱乐" - }, - { - "id": 3, - "name": "体育" - }, - //... - ], - "more_cates": [ - { - "id": 6, - "name": "社会" - }, - { - "id": 7, - "name": "股票" - }, - { - "id": 8, - "name": "艺术" - }, - //... - ] -} -``` -### prams -| 参数 | 说明 | -| :---: | :---: | -| my_cates | 我订阅的资讯分类 | -| more_cates | 其他未订阅的资讯分类 | - -## 订阅分类 - -``` -PATCH /news/categories/follows -``` - -## 请求字段 - -| name | type | must | description | -|----------|:--------:|:--------:|:--------:| -| follows | string | yes | 订阅的资讯分类 多个以逗号隔开| - -### HTTP Status Code - -201 Created - -## 返回体 - -```json5 -{ - "message": [ - "订阅成功" - ] -} -``` diff --git a/docs/api-v2-news-collections.html b/docs/api-v2-news-collections.html new file mode 100644 index 0000000..8217958 --- /dev/null +++ b/docs/api-v2-news-collections.html @@ -0,0 +1,117 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-news-collections.md b/docs/api-v2-news-collections.md deleted file mode 100644 index 5432c22..0000000 --- a/docs/api-v2-news-collections.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -id: api-v2-news-collections -title: 收藏 ---- - -- [收藏资讯](#收藏资讯) -- [取消收藏资讯](#取消收藏资讯) -- [获取收藏资讯](#获取收藏资讯) - -## 收藏资讯 - -``` -POST /news/{news}/collections -``` -### Response - -Headers - -``` -Status: 201 Created -``` - -## 取消收藏资讯 - -``` -DELETE /news/{news}/collections -``` - -### Response - -Headers - -``` -Status: 204 No Content -``` - -## 获取收藏资讯 - -``` -GET /news/collections -``` - -### 可选参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| limit | int | - | 数据返回条数 | -| after | int | - | 数据翻页标识 | - -### Response - -Headers - -``` -Status: 200 Ok -``` - -```json5 -[ - { - "id": 2, - "title": "asdasdasdad", - "subject": "阿拉拉啊拉", - "created_at": "2017-08-02 03:28:38", - "updated_at": "2017-08-03 07:53:34", - "from": "原创", - "author": "root", - "user_id": 1, - "hits": 5, - "has_collect": true, - "has_like": false, - "category": { - "id": 1, - "name": "1121", - "rank": 0 - }, - "image": { - "id": 2, - "size": "370x370" - } - } -] -``` - -### 返回参数 - -| 名称 | 类型 | 说明 | -|:----:|:----:|------| -| id | int | 数据id | -| title | string | 资讯标题 | -| subject | string | 副标题 | -| from | string | 来源 | -| author | string | 作者 | -| user_id | int | 发布者id | -| hits | int | 点击数 | -| has_collect | bool | 当前用户是否已收藏 | -| has_like | bool | 当前用户是否已点赞 | -| category | array | 所属分类信息 | -| category.id | int | 所属分类id | -| category.name | string | 所属分类名称 | -| category.rank | int | 所属分类排序 | -| image | array | 资讯封面信息 | -| image.id | int | 资讯封面附件id | -| image.size | string | 资讯封面尺寸 | diff --git a/docs/api-v2-news-comments.html b/docs/api-v2-news-comments.html new file mode 100644 index 0000000..269fbf2 --- /dev/null +++ b/docs/api-v2-news-comments.html @@ -0,0 +1,152 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-news-comments.md b/docs/api-v2-news-comments.md deleted file mode 100644 index 69fbb72..0000000 --- a/docs/api-v2-news-comments.md +++ /dev/null @@ -1,132 +0,0 @@ ---- -id: api-v2-news-comments -title: 评论 ---- - -- [评论一条资讯](#评论一条资讯) -- [获取一条资讯的评论列表](#获取一条咨询的评论列表) -- [删除一条资讯评论](#删除一条资讯评论) - -## 评论一条资讯 - -``` -POST /news/{news}/comments -``` - -## 参数 -| 名称 | 描述 | -|:----:|------| -| body | 评论内容 | -| reply_user | 被回复用户id 默认为0 | - -### Response - -Headers - -``` -Status: 201 Created -``` -```json5 -{ - "message": [ - "操作成功" - ], - "comment": { - "user_id": 1, - "reply_user": 0, - "target_user": 1, - "body": "baishi", - "commentable_type": "news", - "commentable_id": 2, - "updated_at": "2017-08-10 09:31:58", - "created_at": "2017-08-10 09:31:58", - "id": 5 - } -} -``` -| 名称 | 描述 | -|:----:|------| -| message | 消息 | -| comment | 评论信息 | -| comment.id | 评论id | -| comment.user_id | 评论者id | -| comment.target_user | 资讯发布者id | -| comment.reply_user | 被回复者id | -| comment.body | 评论内容 | - - - -## 获取一条资讯的评论列表 - -``` -GET /news/{news}/comments -``` - -## 参数 -| 名称 | 类型 | 必须 | 说明 | -|:-----:|:-----|:----:|------| -| limit | int | - | 数据返回条数 | -| after | int | - | 数据翻页标识 | - -### Response - -Headers - -``` -Status: 200 OK -``` -```json5 -{ - "pinneds": [], - "comments": [ - { - "id": 2389, - "user_id": 215, - "target_user": 0, - "reply_user": 0, - "created_at": "2017-07-12 01:13:45", - "updated_at": "2017-07-12 01:13:45", - "commentable_type": "news", - "commentable_id": 31, - "body": "而且其实我想把这篇资讯分享到我的动态,然而……" - }, - { - "id": 2388, - "user_id": 215, - "target_user": 0, - "reply_user": 0, - "created_at": "2017-07-12 01:13:01", - "updated_at": "2017-07-12 01:13:01", - "commentable_type": "news", - "commentable_id": 31, - "body": "我下拉到底部后,评论编辑窗口不见了……," - } - ] -} -``` - -### 返回参数 - -| 名称 | 描述 | -|:----:|------| -| pinneds | 置顶评论 | -| comments | 评论列表 | -| id | 评论id | -| user_id | 评论者id | -| target_user | 资讯发布者id | -| reply_user | 被回复者id | -| body | 评论内容 | - -## 删除一条资讯评论 - -``` -DELETE /news/{news}/comments/{comment} -``` - -### Response - -Headers - -``` -Status: 204 No Content -``` diff --git a/docs/api-v2-news-contribute.html b/docs/api-v2-news-contribute.html new file mode 100644 index 0000000..865095c --- /dev/null +++ b/docs/api-v2-news-contribute.html @@ -0,0 +1,202 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-news-contribute.md b/docs/api-v2-news-contribute.md deleted file mode 100644 index 711c121..0000000 --- a/docs/api-v2-news-contribute.md +++ /dev/null @@ -1,193 +0,0 @@ ---- -id: api-v2-news-contribute -title: 投稿 ---- - -- [提交投稿](#提交投稿) -- [修改投稿](#修改投稿) -- [删除投稿](#删除投稿) -- [申请退款](#申请退款) -- [获取用户投稿列表](#获取用户投稿列表) - -## 提交投稿 - -``` -POST /news/categories/:category/news -``` - -#### Input - -| 字段 | 类型 | 描述 | -|:----:|:----:|----| -| title | String | **必须**,标题,最长 20 个字。 | -| subject | String | 主题,副标题,概述,最长 200 个字。 | -| content | String | **必须**,内容。 | -| image | Integer | 缩略图。 | -| tags | string,array | **必须** 标签id,多个id以逗号隔开或传入数组形式 | -| from | String | 资讯来源。 | -| author | String | 作者 | -| text_content | string | 纯文本字段 | -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -> 用户投稿时,用户输入`摘要`和`正文` - -> 数据提交到服务端时,将用户输入的`摘要`填写到`subject`字段, 将用户输入的`正文`按照**markdown**格式填写到`content`字段 - -> 前端渲染正文时,使用**markdown**格式渲染`subject`字段和`content`字段 - -##### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "投稿成功" - ] -} -``` - -## 修改投稿 - -``` -PATCH /news/categories/:category/news/:news -``` - -#### Input - -| 字段 | 类型 | 描述 | -|:----:|:----:|----| -| title | String | 标题,最长 20 个字。 | -| subject | String | 主题,副标题,概述,最长 200 个字。 | -| content | String | 内容。 | -| tags | string,array | 标签id,多个id以逗号隔开或传入数组形式 | -| image | Integer | 缩略图。 | -| from | String | 资讯来源。 | -| author | String | 作者 | -| text_content | string | 纯文本字段 | - -##### Response - -``` -Status: 204 No Content -``` - -## 删除投稿 - -``` -DELETE /news/categories/:category/news/:news -``` - -#### Response - -``` -Status: 204 No Content -``` - -已发布时需要提交删除申请 - -``` -Status: 201 Created -``` - -## 申请退款 - -``` -PUT /news/categories/:category/news/:news -``` - -#### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "申请成功" - ] -} -``` - -## 获取用户投稿列表 - -``` -GET /user/news/contributes -``` - -#### 请求参数 - -| 名称 | 类型 | 描述 | -|:-----:|:----:|-----| -| limit | Integer | 获取条数,默认 20 | -| after | Integer | 上次获取列表最小的 ID。默认 0 | -| type | Integer | 筛选类型 0-已发布 1-待审核 3-被驳回 默认为全部 | -| user | Integer | 查询用户id,只能查看他人已发布的资讯 | - -##### Response - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "created_at": "2017-07-24 07:33:36", - "updated_at": "2017-07-24 07:33:36", - "title": "haha", - "content": "### Title @![image](1) \r\n @[image](xx)", - "digg_count": 0, - "comment_count": 0, - "hits": 0, - "from": "原创", - "is_recommend": 0, - "subject": "我是测试的概述", - "author": "Seven", - "audit_status": 1, - "audit_count": 0, - "user_id": 1, - "contribute_amount": 0, - "has_collect": false, - "has_like": false, - "category": { - "id": 1, - "name": "c1", - "rank": 0 - }, - "image": { - "id": 13, - "size": "1932x1932" - }, - "tags": [] - } -] -``` - -| 名称 | 描述 | -|:----:|----| -| id | 投稿,资讯ID | -| created_at | 创建时间 | -| updated_at | 更新时间 | -| title | 标题 | -| subject | 副标题,主题,概述 | -| content | 内容 | -| digg_count | 点赞,喜欢数量统计 | -| comment_count | 评论数 | -| hits | 阅读数 | -| from | 来源 | -| is_recommend | 是否被推荐 | -| author | 作者 | -| audit_status | 状态,0 正常,1 代审核, 3 驳回,5 退款中 | -| audit_count | 审核次数 | -| contribute_amount | 投稿支付了多少钱 | -| has_collect | 是否已收藏 | -| has_like | 是否已点赞 | -| category | 分类信息 | -| image | 缩略图信息 | -| category.id | 分类 ID | -| category.name | 分类名称 | -| image.id | file with ID | -| image.size | 图像尺寸,数据异常或者该附件为非图像,则为 null | -| tags | 标签列表 | diff --git a/docs/api-v2-news-currency.html b/docs/api-v2-news-currency.html new file mode 100644 index 0000000..5563e49 --- /dev/null +++ b/docs/api-v2-news-currency.html @@ -0,0 +1,187 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-news-currency.md b/docs/api-v2-news-currency.md deleted file mode 100644 index f872200..0000000 --- a/docs/api-v2-news-currency.md +++ /dev/null @@ -1,169 +0,0 @@ ---- -id: api-v2-news-currency -title: 资讯部分积分相关新增接口 ---- - -- [付费投稿](#付费投稿) -- [申请资讯置顶](#申请资讯置顶) -- [申请资讯评论置顶](#申请资讯评论置顶) -- [通过评论置顶](#通过评论置顶) -- [拒绝评论置顶](#拒绝评论置顶) - -## 付费投稿 - -``` -POST /news/categories/:category/currency-news -``` - -#### Input - -| 字段 | 类型 | 描述 | -|:----:|:----:|----| -| title | String | **必须**,标题,最长 20 个字。 | -| subject | String | 主题,副标题,概述,最长 200 个字。 | -| content | String | **必须**,内容。 | -| image | Integer | 缩略图。 | -| tags | string,array | **必须** 标签id,多个id以逗号隔开或传入数组形式 | -| from | String | 资讯来源。 | -| author | String | 作者 | -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -> 用户投稿时,用户输入`摘要`和`正文` - -> 数据提交到服务端时,将用户输入的`摘要`填写到`subject`字段, 将用户输入的`正文`按照**markdown**格式填写到`content`字段 - -> 前端渲染正文时,使用**markdown**格式渲染`subject`字段和`content`字段 - -##### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "投稿成功" - ] -} -``` - -# 申请资讯置顶 - -## API -``` -POST /news/{news}/currency-pinneds -``` - -### prams -| 参数 | 说明 | -| :---: | :---: | -| news | 资讯id | - -### 传入参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| day | int | Y | 申请置顶天数 | -| amout | int | Y | 申请置顶金额,积分 | -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -### Response - -Headers - -``` -Status: 201 OK -``` -```json5 -{ - "message": [ - "申请成功" - ] -} -``` - - -# 申请资讯评论置顶 - -## API -``` -POST /news/{news}/comments/{comment}/currency-pinneds -``` - -### prams -| 参数 | 说明 | -| :---: | :---: | -| news | 资讯id | -| comment| 评论id | - -### 传入参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| day | int | Y | 申请置顶天数 | -| amout | int | Y | 申请置顶金额,积分 | -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -### Response - -Headers - -``` -Status: 201 OK -``` -```json5 -{ - "message": [ - "申请成功" - ] -} -``` - -# 通过评论置顶 - -### API -``` -PATCH /news/{news}/comments/{comment}/currency-pinneds/{pinned} -``` - -### prams -| 参数 | 说明 | -| :---: | :---: | -| news | 资讯id | -| comment| 评论id | -| pinned | 获取的申请评论置顶中的id [查看](top-comments-list.md) | - -### Response - -Headers - -``` -Status: 201 OK -``` -```json5 -{ - "message": [ - "申请成功" - ] -} -``` - -# 拒绝评论置顶 - -### API -``` -PATCH /news/{news}/comments/{comment}/currency-pinneds/{pinned}/reject -``` - -### prams -| 参数 | 说明 | -| :---: | :---: | -| pinned | 获取的申请评论置顶中的id [查看](top-comments-list.md) | - -### Response - -Headers - -``` -Status: 204 No Content -``` diff --git a/docs/api-v2-news-get.html b/docs/api-v2-news-get.html new file mode 100644 index 0000000..842b8f4 --- /dev/null +++ b/docs/api-v2-news-get.html @@ -0,0 +1,320 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-news-get.md b/docs/api-v2-news-get.md deleted file mode 100644 index f275b8b..0000000 --- a/docs/api-v2-news-get.md +++ /dev/null @@ -1,300 +0,0 @@ ---- -id: api-v2-news-get -title: 获取 ---- - -- [获取资讯列表](#获取资讯列表) -- [获取置顶资讯列表](#获取置顶资讯列表) -- [获取资讯详情](#获取资讯详情) -- [获取一条资讯的相关资讯](#获取一条资讯的相关资讯) - -## 获取资讯列表 - -``` -GET /news -``` - -### 传入参数 - -| 名称 | 说明 | -|:----:|------| -| limit | 数据返回条数 默认为20 | -| after | 数据翻页标识 | -| key | 搜索关键字 | -| cate_id | 分类id | -| recommend | 推荐筛选 =1为筛选推荐资讯列表 | -| `id` | 需要按照 ID 获取的资讯 ID,多个使用半角 `,` 进行分割 | - -#### Response - -``` -Status: 200 OK -``` -```json -[ - { - "id": 2, - "title": "asdasdasdad", - "subject": "阿拉拉啊拉", - "created_at": "2017-08-02 03:28:38", - "updated_at": "2017-08-02 09:08:51", - "from": "原创", - "author": "root", - "user_id": 1, - "hits": 10, - "has_collect": false, - "has_like": false, - "category": { - "id": 1, - "name": "1121", - "rank": 0 - }, - "image": { - "id": 2, - "size": "370x370" - } - }, - { - "id": 1, - "title": "123", - "subject": "0", - "created_at": "2017-07-31 11:56:32", - "updated_at": "2017-07-31 06:31:31", - "from": "原创", - "author": "root", - "user_id": 1, - "hits": 5, - "has_collect": false, - "has_like": false, - "category": { - "id": 1, - "name": "1121", - "rank": 0 - }, - "image": { - "id": 1, - "size": "100x100" - } - } -] -``` - -### 返回参数 - -| 名称 | 类型 | 说明 | -|:----:|:----:|------| -| id | int | 数据id | -| title | string | 资讯标题 | -| subject | string | 副标题 | -| from | string | 来源 | -| author | string | 作者 | -| user_id | int | 发布者id | -| hits | int | 点击数 | -| has_collect | bool | 当前用户是否已收藏 | -| has_like | bool | 当前用户是否已点赞 | -| category | array | 所属分类信息 | -| category.id | int | 所属分类id | -| category.name | string | 所属分类名称 | -| category.rank | int | 所属分类排序 | -| image | array/null | 资讯封面信息 为null时表示该资讯无缩略图| -| image.id | int | 资讯封面附件id | -| image.size | string | 资讯封面尺寸 | - -## 获取置顶资讯列表 - -``` -GET /news/categories/pinneds -``` - -### 传入参数 - -| 名称 | 说明 | -|:----:|------| -| cate_id | 分类id | - -### Response - -``` -Status: 200 OK -``` -> 返回数据体 同资讯列表 - -## 获取资讯详情 - -``` -GET /news/{news} -``` - -### Response - -``` -Status: 200 OK -``` -```json5 -{ - "id": 2, - "created_at": "2017-08-02 03:28:38", - "updated_at": "2017-08-02 09:08:51", - "title": "asdasdasdad", - "content": "@![辣鸡啊](3) adasd image @![辣鸡啊](4)", - "digg_count": 0, - "comment_count": 0, - "hits": 4, - "from": "原创", - "is_recommend": 0, - "subject": "阿拉拉啊拉", - "author": "root", - "audit_status": 0, - "audit_count": 0, - "user_id": 1, - "contribute_amount": 100, - "has_collect": false, - "has_like": false, - "is_pinned": false, - "category": { - "id": 1, - "name": "1121", - "rank": 0 - }, - "image": { - "id": 2, - "size": "370x370" - }, - "tags": [ - { - "id": 2, - "name": "标签2", - "tag_category_id": 1 - }, - { - "id": 1, - "name": "标签1", - "tag_category_id": 1 - } - ] -} -``` - -### 返回参数 -| 名称 | 类型 | 说明 | -|:----:|:----|------| -| id | int | 资讯id | -| title | string | 标题 | -| content | text | 资讯内容 markdown格式 含自定义标签() | -| digg_count | int | 点赞数 | -| comment_count | int | 评论数 | -| hits | int | 点击量 | -| from | string | 来源 | -| is_recommend | int | 是否为推荐 | -| subject | string | 副标题 | -| author | string | 作者 | -| audit_status | int | 审核状态
0-正常
1-待审核
2-草稿
3-驳回
4-删除
5-退款中| -| audit_count | int | 审核驳回次数 | -| user_id | int | 发布者id | -| contribute_amount | int | 投稿金额 | -| has_collect | bool | 当前用户是否已收藏 | -| has_like | bool | 当前用户是否已点赞 | -| is_pinned | bool | 是否已置顶 1-已置顶 | -| category | array | 所属分类信息 | -| category.id | int | 所属分类id | -| category.name | string | 所属分类名称 | -| category.rank | int | 所属分类排序 | -| image | array | 资讯封面信息 | -| image.id | int | 资讯封面附件id | -| image.size | string | 资讯封面尺寸 | -| tags | array | 标签列表 | -| tags.id | int | 标签id | -| tags.name | string | 标签名称 | -| tags.tag_category_id | int | 标签分类id | - -## 获取一条资讯的相关资讯 - -``` -GET /news/{news}/correlations -``` - -### 可选参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| limit | int | - | 返回关联数据条数 | - -### Response - -``` -Status: 200 OK -``` -```json5 -[ - { - "id": 4, - "title": "标题", - "subject": "llaa", - "created_at": "2017-08-07 09:31:00", - "updated_at": "2017-08-08 06:41:51", - "from": "原创", - "author": "root", - "user_id": 1, - "hits": 34, - "has_collect": false, - "has_like": false, - "category": { - "id": 1, - "name": "1121", - "rank": 0 - }, - "image": { - "id": 2, - "size": "370x370" - } - }, - { - "id": 1, - "title": "123", - "subject": "0", - "created_at": "2017-07-31 11:56:32", - "updated_at": "2017-08-08 01:58:07", - "from": "222", - "author": "111", - "user_id": 1, - "hits": 3, - "has_collect": false, - "has_like": false, - "category": { - "id": 1, - "name": "1121", - "rank": 0 - }, - "image": { - "id": 1, - "size": "100x100" - } - }, - { - "id": 2, - "title": "asdasdasdad", - "subject": "阿拉拉啊拉", - "created_at": "2017-08-02 03:28:38", - "updated_at": "2017-08-03 07:53:34", - "from": "原创", - "author": "root", - "user_id": 1, - "hits": 5, - "has_collect": false, - "has_like": false, - "category": { - "id": 1, - "name": "1121", - "rank": 0 - }, - "image": { - "id": 2, - "size": "370x370" - } - } -] -``` - -### 返回参数 - -> 同获取资讯列表 diff --git a/docs/api-v2-news-likes.html b/docs/api-v2-news-likes.html new file mode 100644 index 0000000..2c22493 --- /dev/null +++ b/docs/api-v2-news-likes.html @@ -0,0 +1,108 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-news-likes.md b/docs/api-v2-news-likes.md deleted file mode 100644 index 1a1a593..0000000 --- a/docs/api-v2-news-likes.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -id: api-v2-news-likes -title: 喜欢 ---- - -- [喜欢资讯](#喜欢资讯) -- [取消喜欢资讯](#取消喜欢资讯) -- [资讯喜欢列表](#资讯喜欢列表) - -## 喜欢资讯 - -``` -POST /news/{news}/likes -``` -### Response - -Headers - -``` -Status: 201 Created -``` - -## 取消喜欢资讯 - -``` -DELETE /news/{news}/likes -``` - -### Response - -Headers - -``` -Status: 204 No Content -``` - -## 资讯喜欢列表 - -``` -GET /news/{news}/likes -``` - -### Response - -Headers - -``` -Status: 200 Ok -``` - -```json5 -[ - { - "id": 5, - "user_id": 1, - "target_user": 1, - "likeable_id": 4, - "likeable_type": "news", - "created_at": "2017-08-08 02:25:34", - "updated_at": "2017-08-08 02:25:34", - "user": { - "id": 1, - "name": "baishi", - "bio": null, - "sex": 1, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-08-09 10:09:28", - "following": false, - "follower": false, - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19 - } - } - } -] -``` - -### 返回参数 - -| 名称 | 类型 | 说明 | -|:-----|:-----|:-----| -| user_id | int | 喜欢用户id | -| target_user | int | 被喜欢用户id | -| likeable_id | int | 被喜欢资源id | -| created_at | date | 喜欢时间 | -| user | array | 用户信息 | diff --git a/docs/api-v2-news-pinneds.html b/docs/api-v2-news-pinneds.html new file mode 100644 index 0000000..d8977fa --- /dev/null +++ b/docs/api-v2-news-pinneds.html @@ -0,0 +1,296 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-news-pinneds.md b/docs/api-v2-news-pinneds.md deleted file mode 100644 index 97fca63..0000000 --- a/docs/api-v2-news-pinneds.md +++ /dev/null @@ -1,291 +0,0 @@ ---- -id: api-v2-news-pinneds -title: 置顶 ---- - -- [申请资讯置顶](#申请资讯置顶) -- [查看申请置顶的资讯列表](#查看申请置顶的资讯列表) -- [申请资讯评论置顶](#申请资讯评论置顶) -- [查看申请置顶的评论列表](#查看资讯中申请置顶的评论列表) -- [审核评论置顶](#审核评论置顶) -- [拒绝评论置顶](#拒绝待审核评论置顶) -- [取消置顶](#取消评论置顶) - -# 申请资讯置顶 - -## API -``` -POST /news/{news}/pinneds -``` - -### prams -| 参数 | 说明 | -| :---: | :---: | -| news | 资讯id | - -### 传入参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| day | int | Y | 申请置顶天数 | -| amout | int | Y | 申请置顶金额 | -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -### Response - -Headers - -``` -Status: 201 OK -``` -```json5 -{ - "message": [ - "申请成功" - ] -} -``` - -| 只有资讯创建者才有资格发起审核 - -# 查看申请置顶的资讯列表 - -| 查看当前用户所有申请置顶的资讯 - -### 参数说明 -| 参数 | 说明 | -| :---: | :---: | -| limit | 选填,每页数量 默认15 | -| after | 首次获取不填, 分页查询必填,分页参数,当前页数据的最小id | - -``` -GET /news/pinneds -``` - -### Response - -Headers - -``` -Status: 200 OK -``` -```json5 -[ - { - "id": 13, - "created_at": "2017-07-27 09:10:04", - "updated_at": "2017-07-27 09:10:04", // 当state为1 或 2时,此项为审核者操作时间 - "channel": "news", - "state": 1, // 审核是否通过 1: 通过, 0: 待审核, 2: 被拒绝 - "raw": 0, - "target": 1, - "user_id": 2, - "target_user": 0, - "amount": 50, - "day": 5, - "cate_id": null, - "expires_at": "2017-07-25 00:00:00" // 当state为1是此项为置顶过期时间 - } -] -``` - -# 申请资讯评论置顶 - -## API -``` -POST /news/{news}/comments/{comment}/pinneds -``` - -### prams -| 参数 | 说明 | -| :---: | :---: | -| news | 资讯id | -| comment| 评论id | - -### 传入参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| day | int | Y | 申请置顶天数 | -| amout | int | Y | 申请置顶金额 | - -### Response - -Headers - -``` -Status: 201 OK -``` -```json5 -{ - "message": [ - "申请成功" - ] -} -``` - -# 查看资讯中申请置顶的评论列表 - -| 查看当前用户发布的资讯中所有申请置顶的评论列表 - -### 参数说明 -| 参数 | 说明 | -| :---: | :---: | -| limit | 选填,每页数量 默认15 | -| after | 首次获取不填, 分页查询必填,分页参数,当前页数据的最小id | - -``` -GET /news/comments/pinneds -``` - -### Response - -Headers - -``` -Status: 200 OK -``` -```json5 -[ - { - "id": 12, - "created_at": "2017-07-27 08:43:33", - "updated_at": "2017-07-27 08:44:20", // 当state为1 或 2时,此项为审核者操作时间 - "channel": "news:comment", - "state": 1, // 审核是否通过 1: 通过, 0: 待审核, 2: 被拒绝 - "raw": 1, - "target": 1, - "user_id": 2, - "target_user": 2, - "amount": 50, - "day": 5, - "cate_id": null, - "expires_at": "2017-08-01 08:44:20", // 当state为1是此项为置顶过期时间 - "news": { - "id": 1, - "created_at": "2017-07-25 00:00:00", - "updated_at": "2017-07-27 08:58:02", - "title": "资讯标题", - "content": "阿斯顿发生地方爱上地方爱上地方阿斯顿", - "digg_count": 0, - "comment_count": 1, - "hits": 1, - "from": "1", - "is_recommend": 1, - "subject": "潇洒地方", - "author": "哈哈哈", - "audit_status": 0, - "audit_count": 0, - "user_id": 2, - "category": { - "id": 1, - "name": "分类1", - "rank": 0 - }, - "image": { - "id": 1, - "size": "1920x1080" - }, - "pinned": { - "id": 13, - "created_at": "2017-07-27 09:10:04", - "updated_at": "2017-07-27 09:10:04", - "channel": "news", - "state": 1, - "raw": 0, - "target": 1, - "user_id": 2, - "target_user": 0, - "amount": 50, - "day": 5, - "cate_id": null, - "expires_at": "2017-07-25 00:00:00" - } - }, - "comment": { - "id": 1, - "user_id": 2, - "target_user": 2, - "reply_user": 0, - "body": "sldkfjalksdjflakjsdflkajsd", - "commentable_id": 1, - "commentable_type": "news", - "created_at": "2017-07-25 00:00:00", - "updated_at": "2017-07-25 00:00:00" - } - } -] -``` - -| 判断是否通过审核根据 expires_at 字段是否为空进行判断,如果该字段的值小于或者等于当前时间,要么是审核不通过,要么是置顶已经过期 - -# 审核评论置顶 - -### API -``` -PATCH /news/{news}/comments/{comment}/pinneds/{pinned} -``` - -### prams -| 参数 | 说明 | -| :---: | :---: | -| news | 资讯id | -| comment| 评论id | -| pinned | 获取的申请评论置顶中的id [查看](top-comments-list.md) | - -### Response - -Headers - -``` -Status: 201 OK -``` -```json5 -{ - "message": [ - "申请成功" - ] -} -``` - -# 拒绝待审核评论置顶 - -### API -``` -PATCH /news/{news}/comments/{comment}/pinneds/{pinned}/reject -``` - -### prams -| 参数 | 说明 | -| :---: | :---: | -| pinned | 获取的申请评论置顶中的id [查看](top-comments-list.md) | - -### Response - -Headers - -``` -Status: 204 No Content -``` - -# 取消评论置顶 - -### API -``` -DELETE /news/{news}/comments/{comment}/pinneds/{pinned} -``` - -### prams -| 参数 | 说明 | -| :---: | :---: | -| news | 资讯id | -| comment| 评论id | -| pinned | 获取的申请评论置顶中的id [查看](top-comments-list.md) | - -### Response - -Headers - -``` -Status: 204 No Content -``` diff --git a/docs/api-v2-news-ranks.html b/docs/api-v2-news-ranks.html new file mode 100644 index 0000000..405722a --- /dev/null +++ b/docs/api-v2-news-ranks.html @@ -0,0 +1,91 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-news-ranks.md b/docs/api-v2-news-ranks.md deleted file mode 100644 index c661487..0000000 --- a/docs/api-v2-news-ranks.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -id: api-v2-news-ranks -title: 排行榜 ---- - -- [获取资讯排行](#获取资讯排行) - -## 获取资讯排行 - -根据一定时间内的资讯获得的浏览量量进行的排序 - -``` -GET /news/ranks -``` - -## 传入参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| limit | int | - | 数据返回条数 默认10条 | -| type | string | - | 筛选类型 `day` - 日排行 `week` - 周排行 `month` - 月排行 | -| offset | int | - | 偏移量 默认为0 | - -## 响应 - -``` -Http Status 200 Ok -``` - -```json5 -[ - { - "id": 1, - "name": "baishi", - "following": false, - "follower": false, - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19, - "count": 53, - "rank": 1 - } - } -] -``` - -### 返回参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|------| -| extra.count | int | 点击量 | -| extra.rank | int | 排行 | - -> 其他数据结构参考「用户」接口用户资料 diff --git a/docs/api-v2-news-report.html b/docs/api-v2-news-report.html new file mode 100644 index 0000000..453a731 --- /dev/null +++ b/docs/api-v2-news-report.html @@ -0,0 +1,56 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-news-report.md b/docs/api-v2-news-report.md deleted file mode 100644 index 49b8a0b..0000000 --- a/docs/api-v2-news-report.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -id: api-v2-news-report -title: 举报 ---- - -- [举报一个资讯](#举报一个资讯) - -## 举报一个资讯 - -``` -POST /news/:news/reports -``` - -### 可选参数 - -| 名称 | 描述 | -|:----:|:-----| -| reason | 举报理由 | - -### 响应 - -``` -Http Status 201 -``` - -```json -{ - "message": [ - "操作成功" - ] -} -``` diff --git a/docs/api-v2-news-reward.html b/docs/api-v2-news-reward.html new file mode 100644 index 0000000..619b863 --- /dev/null +++ b/docs/api-v2-news-reward.html @@ -0,0 +1,227 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-news-reward.md b/docs/api-v2-news-reward.md deleted file mode 100644 index 56f53b4..0000000 --- a/docs/api-v2-news-reward.md +++ /dev/null @@ -1,220 +0,0 @@ ---- -id: api-v2-news-reward -title: 打赏 ---- - -- [打赏资讯](#打赏资讯) -- [新版打赏资讯](#新版打赏资讯) -- [资讯打赏列表](#资讯打赏列表) -- [资讯打赏统计](#资讯打赏统计) - -## 打赏资讯 - -``` -POST /news/{news}/rewards -``` - -### Parameters - -| name | type | must | description | -|----------|:--------:|:--------:|:--------:| -| amount | int | yes | 打赏金额 | - -### Response - -Headers - -``` -Status: 201 Created -``` - -Body - -```json5 -{ - "message": [ - "打赏成功" - ] -} -``` - -## 新版打赏资讯 - -``` -POST /news/{news}/new-rewards -``` - -### Parameters - -| name | type | must | description | -|----------|:--------:|:--------:|:--------:| -| amount | int | yes | 打赏金额 | - -### Response - -Headers - -``` -Status: 201 Created -``` - -Body - -```json5 -{ - "message": [ - "打赏成功" - ] -} -``` - -## 资讯打赏列表 - -``` -GET /news/{news}/rewards -``` - -### Parameters - -| name | type | must | description | -|----------|:--------:|:--------:|:--------:| -| limit | int | no | 列表返回数据条数 | -| offset | int | no | 偏移量,翻页时传入 | -| order | string | no | 排序 正序-asc 倒序desc | -| order_type | string | no | 排序规则 date-按时间 amount-按金额 | - -### Response - -Headers - -``` -Status: 200 OK -``` - -Body - -```json5 -[ - { - "id": 1, - "user_id": 1, - "target_user": 1, - "amount": 200, - "rewardable_id": 1, - "rewardable_type": "news", - "created_at": "2017-08-01 02:13:28", - "updated_at": "2017-08-01 02:13:28", - "user": { - "id": 1, - "name": "root", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-07-31 03:16:19", - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 1, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-07-31 06:06:58", - "feeds_count": 0 - } - } - }, - { - "id": 2, - "user_id": 2, - "target_user": 1, - "amount": 210, - "rewardable_id": 1, - "rewardable_type": "news", - "created_at": "2017-08-01 02:13:28", - "updated_at": "2017-08-01 02:13:28", - "user": { - "id": 2, - "name": "root1", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-07-31 03:16:19", - "avatar": null, - "bg": null, - "verified": null, - "extra": null - } - }, - { - "id": 3, - "user_id": 3, - "target_user": 1, - "amount": 220, - "rewardable_id": 1, - "rewardable_type": "news", - "created_at": "2017-08-01 02:13:28", - "updated_at": "2017-08-01 02:13:28", - "user": { - "id": 3, - "name": "root2", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-07-31 03:16:19", - "avatar": null, - "bg": null, - "verified": null, - "extra": null - } - } -] -``` - -| 名称 | 描述 | -|:----:|------| -| id | 打赏记录id | -| user_id | 打赏用户id | -| target_user | 被打赏用户id | -| amount | 打赏金额 | -| rewardable_id | 被打赏资源id | -| rewardable_type | 被打赏资源标识 | -| user | 打赏用户信息 | -| user.name | 打赏用户名称 | -| user.avatar | 打赏用户头像 | -| user.bio | 打赏用户简介 | -| user.sex | 打赏目标性别 | -| user.location | 打赏目标地区 | -| user.bg | 打赏目标背景图片 | -| user.verified | 打赏目标认证 | -| user.extra | 打赏目标扩展字段 | - -## 资讯打赏统计 - -``` -GET /news/{news}/rewards/sum -``` - -### Response - -Headers - -``` -Status: 200 OK -``` - -```json5 -{ - "count": 3, - "amount": "630" -} -``` - -| 名称 | 描述 | -|:----:|------| -| count | 资讯打赏总记录 无记录时为0 | -| amount | 资讯打赏总额 无记录时为null | diff --git a/docs/api-v2-news.html b/docs/api-v2-news.html new file mode 100644 index 0000000..a7c06c6 --- /dev/null +++ b/docs/api-v2-news.html @@ -0,0 +1,41 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-news.md b/docs/api-v2-news.md deleted file mode 100644 index 1a5e27c..0000000 --- a/docs/api-v2-news.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: api-v2-news -title: 概述 ---- - -资讯部分具有投稿配置,配置信息会在「启动信息」接口中提供,格式如下: - -```json5 -{ - "news:contribute": { - "verified": true, // 是否开启只允许认证用户投稿 - "pay": true // 是否开启付费投稿 - }, - "news:pay_conyribute": 100, // 付费投稿金额,开启付费投稿时投稿会自动扣除 -} -``` diff --git a/docs/api-v2-notifications.html b/docs/api-v2-notifications.html new file mode 100644 index 0000000..e65fba3 --- /dev/null +++ b/docs/api-v2-notifications.html @@ -0,0 +1,186 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-notifications.md b/docs/api-v2-notifications.md deleted file mode 100644 index 412d9b6..0000000 --- a/docs/api-v2-notifications.md +++ /dev/null @@ -1,201 +0,0 @@ ---- -id: api-v2-notifications -title: 消息通知 ---- - -> 对用户发送通知时,如果配置了推送证书,将会产生推送,推送消息为通知内容,`extras`字段内容为**通知的频道标识**,如: - -``` -{ - "extras":{"channel":"news:comment"} -} -``` - -- [未读通知数量检查](#未读通知数据检查) -- [通知列表](#通知列表) -- [读取通知](#读取通知) -- [标记通知阅读](#标记通知阅读) -- [标记所有通知已读](#标记所有通知已读) -- [数据解析](#数据解析) - -## 未读通知数量检查 - -``` -HEAD /user/notifications -``` - -本接口可用于消息分组显示的客户端,可以提前得到未读消息数量,然后将 `Unread-Notification-Limit` 拼接为 `limit` 参数,type 设置为 `unread` 得到全部未读消息。 - -> 查看 [通知列表](#通知列表) 请求头 - - -## 通知列表 - -``` -GET /user/notifications -``` - -### Parameters - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 获取条数,默认 20 | -| offset | Integer | 数据偏移量,默认 0 | -| type | String | 获取通知类型,可选 `all`,`read`,`unread` 默认 `all` | -| notification | String,Array | 检索具体通知,可以是由 `,` 拼接的 IDs 组,也可以是 Array | - -#### Response - -``` -Status: 200 OK -Unread-Notification-Limit: 10 -``` -```json5 -[ - // ... - { - "id": "98aaae93-9d9e-446e-b894-691569b686b5", - "read_at": null, - "data": { - "channel": "feed:pinned", - "target": 1, - "content": "我是测试消息", - "extra": [] - }, - "created_at": "2017-07-10 04:23:08" - } -] -``` - -> `Unread-Notification-Limit` 为当前用户未读消息数量。 -> 详情数据结构参考[数据解析](#数据解析) - -## 读取通知 - -``` -GET /user/notifications/:notification -``` - -#### Response - -``` -Status: 200 OK -``` -```json -{ - "id": "98aaae93-9d9e-446e-b894-691569b686b5", - "read_at": "2017-07-10 09:31:04", - "data": { - "channel": "feed:pinned", - "target": 1, - "content": "我是测试消息", - "extra": [] - }, - "created_at": "2017-07-10 04:23:08" -} -``` - -> 读取通知详情,会使这条通知状态变为已读状态。 - -## 标记通知阅读 - -``` -PATCH /user/notifications/:notification? -``` - -> notification 为可选,为单条标记提供快捷而已。 - -### Parameters - -| 名称 | 类型 | 描述 | -|:----:|:----:|----: -| notification | String\Array | 通知ID,可以是由 `,` 拼接的 IDs 组,也可以是 Array | - -#### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ] -} -``` - -## 标记所有通知已读 - -``` -PUT /user/notifications/all -``` - -#### Response - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ] -} -``` - ---------------- - -## 数据解析 - -Example: - -```json -{ - "id": "98aaae93-9d9e-446e-b894-691569b686b5", - "read_at": null, - "data": { - "channel": "feed:pinned-comment", - "target": 1, - "content": "我是测试消息", - "extra": [] - }, - "created_at": "2017-07-10 04:23:08" -} -``` - -#### id - -通知ID - -#### read_at - -消息阅读时间,如果是未读消息,则值为 `null` - -#### created_at - -消息创建时间 - -#### data - -消息数据详情 - -##### channel - -通知来源频道,客户端需要根据 `data.channel` 值进行独立解析。已知频道: - -- feed:comment 动态被评论 -- feed:reply-comment 动态评论被回复 -- feed:pinned-comment 动态评论申请置顶 -- feed:digg 动态被点赞 - -##### target - -根据 `data.channel` 的目标标识,例如 `channel=feed:comment` 则表示 `target` 为 动态 ID。 - -##### content - -消息内容 - -##### extra - -为 `Array|Object` 类型,来自 `channel` 标识的额外数据,具体参见不同标识详情进行解析使用。 diff --git a/docs/api-v2-overview.html b/docs/api-v2-overview.html new file mode 100644 index 0000000..bd9808f --- /dev/null +++ b/docs/api-v2-overview.html @@ -0,0 +1,175 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-overview.md b/docs/api-v2-overview.md deleted file mode 100644 index da02b38..0000000 --- a/docs/api-v2-overview.md +++ /dev/null @@ -1,186 +0,0 @@ ---- -id: api-v2-overview -title: 概述 ---- - -- [选择版本](#current-version) -- [媒体类型](#media-types) -- [架构](#schema) -- [时区](#timezone) -- [参数](#parameters) -- [HTTP 重定向](#http-redirects) -- [HTTP 动词](#http-verbs) -- [速率限制](#rate-limiting) -- [授权](#authorization) -- [自定义的 Markdown 标签](#customize-the-markdown-tag); -- [消息列举](#messages) - -## 选择版本 - -当前接口情况下,所有的请求都应该发送到 `/api/v2` 上。 - -## 媒体类型 - -API 在大多数情况下会直接给出 **JSON** 格式的数据,但是一些通用异常处理,例如「验证错误」的返回,会依据请求环境选择,所以客户端在调用接口的时候应当在请求头重设置 **媒体类型** 。 - -想要 API 在正常情况下都给出 **JSON** 数据,应当在请求头中设置 `Accept` ,并且其值应该为 `application/json`: - -```shell -curl -v -H "Accept: application/json" https://plus.io/api/v2/bootstrappers -``` - -## 架构 - -所有的数据都应该使用 **JSON** 来进行传输交换。 - -可选字段在大多数时候允许值为 `null`, 但是不建议这么做,一些接口是强制性的要求省略字段,所以可选字段在为空的情况下可以不用传递。 - -## 时区 - -所有的时间都会是 **UTC** 格式: - -> YYYY-MM-DD HH:MM:SS - -## 参数 - -许多 API 采用可选参数,对于 GET 请求任何参数都可以在 URL 中传递: - -```shell -curl -i "https://plus.io/api/v2/users?user=1" -``` - -对于 POST 、 PATCH 、 PUT 和 DELETE 请求, URL 中没有包含的参数应该为请求体的 JSON,其中,请求头应该设置 `Content-Type` 为 `application/json` : - -```shell -curl -i -d '{"login": ":username", "password": ":password"}' https://plus.io/api/v2/tokens -``` - -## HTTP 重定向 - -API 会在适当的情况下使用 HTTP 重定向,客户端应该假设任何请求都有可能导致重定向。接收 HTTP 重定向不是错误,所以客户端应该遵循该重定向的要求。重定向具有一个 `Location` 响应头标记,该标记为客户端应该重新请求的新 URI。 - -| 状态码 | 描述 | -|:----|----| -| 301 | 永久重定向。你所发出的 URI 被 `Location` 所指定的 URI 所取代,以后所有对于这个资源的请求都会被标记到这个新的 URI 上。 | -| 302, 307 | 临时重定向。这个请求应该请求 `Location` 所指定的新 URI 上,但是客户端应该继续使用原来的 URI 进行资源请求。 | - -## HTTP 动词 - -在允许的情况下,API 为每个动作使用适当的 HTTP 动词。 - -| 动词 | 描述 | -|:----:|----| -| HEAD | 可以针对任何资源发出HTTP头信息。 | -| GET | 用于获取一个资源 | -| POST |用于创建一个资源 | -| PATCH | 用于更新部分资源,PATCH 可以接受一个或者多个来更新某个资源。 | -| PUT | 用于整体替换、创建或者使用集合,对于没有 body 的 PUT 请求,请确保请求头 `Content-Length` 设置为零。 | -| DELETE | 用于删除一个资源。 | - -## 速率限制 - -任何 API 请求的 HTTP 头都会返回你当前的速率限制情况: - -```shell -curl -i https://plus.io/api/v2/users/1 -HTTP/1.1 200 OK -Date: Mon, 01 Jul 2017 17:27:06 GMT -Status: 200 OK -X-RateLimit-Limit: 60 -X-RateLimit-Remaining: 56 -``` - -| 请求头字段 | 描述 | -|:----:|----| -| X-RateLimit-Limit | 允许每分钟最大的请求数量总数。 | -| X-RateLimit-Remaining | 你当前请求后剩余的请求数率数量。 | - -速率的间隔刷新时间为一分钟。 - -## 授权 - -一旦用户使用授权凭证,下一步应该使用令牌来请求用户信息,以便可以将其显示为“已登陆”。 - -要使用 HTTP 认证,你应该设置请求头的 `Authorization`: - -``` -Authorization: Bearer {TOKEN} -``` - -或者你可以使用请求参数来包含令牌: - -``` -https://plus.io/api/v2/user?token={TOKEN} -``` - -在请求需要授权的接口时,若返回`Http Status`为`401`即为授权失效,此时需要刷新授权,若刷新授权失败,则说明该授权失效,需要重新获取授权。 - -## 自定义的 Markdown 标签 - -| 标签 | 描述 | -|:----:|----| -| `@![title](file id)` | 改造自 `![title](url)`, 增加 `@` 前缀来表示为系统图片附件,而 `url` 更改为文件 ID。 | - - -## 消息列举 - -正确情况有以下三种情况: - -第一种: -```json -{ "message": "This is a message." } -``` - -第二种: -```json -{ "message": [ "This is a message array item." ] } -``` - -第三种: -```json -{ ... } -``` - -> 第三种是获取数据常用情况,`...` 代表的就是实际数据。 - -错误消息响应体: - -第一种: -```json -{ "message": "this is a message." } -``` - -第二种: -```json -{ "message": [ "This is amessage array item." ] } -``` - -第三种: -```json -{ - "key": [ "value" ], - "key2": [ "value", "value2" ] -} -``` - -第四种: -```json -{ - "message": "This is a message", - "errors": { - "key1": [ "value1" ], - "key2": [ "value1", "value2" ] - } -} -``` - -第五种(这种情况,移动端可以当「第一种」处理,并抛弃掉其他字段,这种情况的出现是由于服务器需要 debug): -```json -{ - "message": "xxx", - "file": "xxx", - "line": 100, - "trace": [] -} -``` - diff --git a/docs/api-v2-plus-pay.html b/docs/api-v2-plus-pay.html new file mode 100644 index 0000000..74d7bd3 --- /dev/null +++ b/docs/api-v2-plus-pay.html @@ -0,0 +1,366 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-plus-pay.md b/docs/api-v2-plus-pay.md deleted file mode 100644 index bf7c54c..0000000 --- a/docs/api-v2-plus-pay.md +++ /dev/null @@ -1,386 +0,0 @@ ---- -id: api-v2-plus-pay -title: Plus Pay(新钱包-支付工具) ---- - -和用户余额相关的信息,余额单位都是按照 CNY 的「分」作为单位。 - -新版钱包部分只提供跟真实金额有关的操作,充值相关操作暂只对接ping++支付平台 - -## 敏感操作 - -部分接口将被设置为敏感操作接口,此类接口需要额外传入当前账户密码`password`作为账户凭据验证 - -### 接口 - -- [钱包流水](#钱包流水) -- [提现列表](#提现列表) -- [发起提现](#发起提现) -- [发起充值](#发起充值) -- [取回凭据](#取回凭据) -- [回调通知](#回调通知) -- [转账](#转账) -- [转换积分](#转换积分) - -### 钱包流水 - -``` -GET /api/v2/plus-pay/orders -``` - -### 可选参数 - -| 参数 | 类型 | 说明 | -|:----:|:----:|:-----| -| limit | int | 可以设置获取数量 | -| after | int | 获取更多数据,上一次获取列表的最后一条 ID | -| action | string | income - 收入 expenses - 支出 | - -### 响应 - -``` -Status 200 -``` - -```json -[ - { - "id": 1, - "owner_id": 1, - "target_type": "user", - "target_id": "2", - "title": "转账", - "body": null, - "type": -1, - "amount": 1000, - "state": 1, - "created_at": "2018-01-02 02:26:33", - "updated_at": "2018-01-02 02:26:33" - }, - { - "id": 6, - "owner_id": 1, - "target_type": "widthdraw", - "target_id": "0", - "title": "提现", - "body": null, - "type": -1, - "amount": 1000, - "state": 1, - "created_at": "2018-01-02 06:00:58", - "updated_at": "2018-01-02 06:00:58" - }, - { - "id": 19, - "owner_id": 1, - "target_type": "recharge_ping_p_p", - "target_id": "0", - "title": "充值", - "body": "余额充值", - "type": 1, - "amount": 1000, - "state": 0, - "created_at": "2018-01-04 07:29:03", - "updated_at": "2018-01-04 07:29:03" - } -] -``` - -#### 返回参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -| id | int | 记录id | -| owner_id | int | 所属者id | -| target_type | string | 操作类型 `recharge_ping_p_p` - 充值, `widthdraw` - 提现, `user` - 转账, `reward` - 打赏 | -| target_id | string | 账户 | -| title | string | 标题 | -| body | string | 内容 | -| type | int | `1` - 收入 `-1` - 支出 | -| amount | int | 金额,分单位 | -| state | int | 订单状态,0: 等待,1:成功,-1: 失败 | - -### 提现列表 - -``` -GET /api/v2/plus-pay/cashes -``` - -#### 请求参数 - -| 参数 | 类型 | 说明 | -|:----:|:----:|:-----| -| limit | int | 可以设置获取数量 | -| after | int | 获取更多数据,上一次获取列表的最后一条 ID | - -#### Headers - -``` -Status: 200 OK -``` - -#### Body - -```json5 -[ - { - "id": 4, // 提现记录ID - "value": 10, // 提现金额 - "type": "alipay", // 提现方式 - "account": "xxx@alipay.com", // 提现账户 - "status": 0, // 提现状态, 0 - 待审批,1 - 已审批,2 - 被拒绝 - "remark": null, // 备注,审批或者拒绝的时候由管理填写 - "created_at": "2017-06-01 09:30:22" // 申请时间 - }, - { - "id": 3, - "value": 10, - "type": "wechat", - "account": "xxxx", - "status": 0, - "remark": null, - "created_at": "2017-06-01 09:29:09" - } -] -``` - -### 发起提现 - -``` -POST /api/v2/plus-pay/cashes -``` - -#### 请求参数 - -| 名称 | 类型 | 描述 | -|----|:----:|:----:| -| value | int | 用户需要提现的金额 | -| type | string | 用户提现账户方式 | -| account | string | 用户提现账户 | - -```json -{ - "value": 100, - "type": "alipay" - "account": "xxx@alipay.com" -} -``` - -##### Headers - -``` -Status: 201 Created -``` - -##### Body - -```json -{ - "value": [ - "请输入提现金额", // 用户没用输入 - "发送的数据错误", // 发送错误的数据给服务器(非正整数) - "输入的提现金额不合法", // 发送给服务器小于 1 - "提现金额超出账户余额", // 用户提现金额超出余额 - ], - "type": [ - "请选择提现方式", // 没有发送提现方式 - "你选择的提现方式不支持" // 提现的方式后台设置不允许提现 - ], - "account": [ - "请输入你的提现账户" // 没有输入账户 - ], - "message": [ - "申请提现成功", // 成功 - "申请失败" // 失败 - ] -} -``` - -### 发起充值 - -接口使用统一的接口对接所有的充值,对接第三发平台为 Ping++,请先阅读 Ping++ 官方文档。 - -``` -POST /api/v2/plus-pay/recharge -``` - -### 输入 - -| 字段 | 必须 | 类型 | 描述 | -|----|:----:|:----:|:----:| -| type | 是 | string | 充值方式 (见「启动信息接口」或者「钱包信息」) | -| amount | 是 | int | 用户充值金额,单位为真实货币「分」单位 | -| extra | 否 | object,array | 拓展信息字段,见 [支付渠道-extra-参数说明](https://www.pingxx.com/api?language=PHP#支付渠道-extra-参数说明) | - -```json -{ - "type": "alipay_wap", - "amount": 100, // 表示 1.00 - "extra": { - "success_url": "https://plus.io/web/recharge" // 这个字段只是示例,这是 支付宝 wap 支付独有参数。 - } -} -``` - -#### 响应 - -``` -Status: 201 Created -``` -```json -{ - "order": { - "id": 1, - "owner_id": 1, - "target_type": "recharge_ping_p_p", - "target_id": 1, - "title": "充值", - "body": "余额充值", - "type": -1, - "amount": 500, - "state": 0, - "created_at": "2018-01-04 07:29:57", - "updated_at": "2018-01-04 07:29:57" - }, // 钱包记录数据信息 - "pingpp_order": { // Ping++ 凭据 - "id": "ch_08anD0a9yjPCLyvbTODqXrnT", - "object": "charge", - "created": 1496819712, - "livemode": false, - "paid": false, - "refunded": false, - "app": "app_5anXP4ezfXvL8m5e", - "channel": "applepay_upacp", - "order_no": "a0000000000000000008", - "client_ip": "127.0.0.1", - "amount": 500, - "amount_settle": 500, - "currency": "cny", - "subject": "余额充值", - "body": "账户余额充值", - "extra": {}, - "time_paid": null, - "time_expire": 1496906112, - "time_settle": null, - "transaction_no": null, - "refunds": { - "object": "list", - "url": "/v1/charges/ch_08anD0a9yjPCLyvbTODqXrnT/refunds", - "has_more": false, - "data": [] - }, - "amount_refunded": 0, - "failure_code": null, - "failure_msg": null, - "metadata": {}, - "credential": { - "object": "credential", - "applepay_upacp": { - "tn": "201706071515122891443", - "mode": "00", - "merchant_id": "Your app merchant id" - } - }, - "description": null - } -} -``` - -#### Type 场景 - -| name | 描述 | -|----|----| -| applepay_upacp | Apple Pay (仅对 iOS 有效) | -| alipay | App 发起支付宝支付选项 | -| alipay_wap | 手机网页发起支付宝支付 | -| alipay_pc_direct | PC 网页发起支付宝支付 | -| alipay_qr | 支付宝扫码支付,前度生成二维码 | -| wx | App 发起微信支付 | -| wx_wap | 手机网页发起微信支付 | - - -### 取回凭据 - -``` -GET /api/v2/plus-pay/orders/{order} -``` - -#### 响应 - -``` -HTTP Status 200 -``` - -```json -{ - "id": 1, - "owner_id": 1, - "target_type": "recharge_ping_p_p", - "target_id": 1, - "title": "充值", - "body": "余额充值", - "type": -1, - "amount": 500, - "state": 0, - "created_at": "2018-01-04 07:29:57", - "updated_at": "2018-01-04 07:29:57" -} -``` - -### 回调通知 - -``` -POST /api/v2/plus-pay/webhooks -``` - -供给ping++平台回调通知调用的接口 - - -### 转账 - -``` -POST /api/v2/plus-pay/transfer -``` - -### 输入参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -| user | int | 用户id | -| amount | int | 转账金额,分单位 | - -### 响应 - -``` -Status 201 -``` - -```json -{ - "message": ['转账成功'] -} -``` - -## 转换积分 - -``` -POST /plus-pay/transform -``` - -### 输入参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|:-----| -| amount | int | 转账金额,分单位 | - -### 响应 - -``` -Status 201 -``` - -```json -{ - "message": ['操作成功'] -} -``` diff --git a/docs/api-v2-purchase.html b/docs/api-v2-purchase.html new file mode 100644 index 0000000..18c18a0 --- /dev/null +++ b/docs/api-v2-purchase.html @@ -0,0 +1,78 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-purchase.md b/docs/api-v2-purchase.md deleted file mode 100644 index c9ccef7..0000000 --- a/docs/api-v2-purchase.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -id: api-v2-purchase -title: 支付能力 ---- - -## 查询付费节点信息 - -查询信息还会返回当前认证用户的付费状态 - -``` -GET /purchases/:node -``` - -#### 响应 - -``` -Status: 200 OK -``` - -```json5 -{ - "id": 9, // 付费节点 ID - "channel": "feed", // 来自付费频道(应用) - "raw": "13", // 频道关联 ID,例如频道是 feed 则字段就是 动态ID,如果是 file 则就是 file_with - "subject": "购买动态《第12条测试?》", // 收费标题 - "body": "购买动态《第12条测试?》", // 收费内容 - "amount": 20, // 金额 - "user_id": 1, // 发布节点用户 - "extra": null, // 拓展信息,例如 channel 是 file 的时候字段则为 read 或者 download - "created_at": "2017-06-21 01:54:52", - "updated_at": "2017-06-21 01:54:52", - "paid": true // 当前认证用户是否付费了该节点,如果认证用户是发布者,则直接是 true -} -``` - -## 付费节点支付 - -钱包支付节点 - -``` -POST /purchases/:node -``` -使用积分支付付费节点 - -``` -POST /currency/purchases/:node -``` - -请求内容参数: - -| 参数 | 类型 | 描述 | -|----|----|----| -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -#### 响应 - -``` -Status: 201 Created -``` -``` -{ - "message": [ - "支付成功" - ] -} -``` \ No newline at end of file diff --git a/docs/api-v2-question-answer-answer.html b/docs/api-v2-question-answer-answer.html new file mode 100644 index 0000000..0139010 --- /dev/null +++ b/docs/api-v2-question-answer-answer.html @@ -0,0 +1,467 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-question-answer-answer.md b/docs/api-v2-question-answer-answer.md deleted file mode 100644 index b5f8dc7..0000000 --- a/docs/api-v2-question-answer-answer.md +++ /dev/null @@ -1,469 +0,0 @@ ---- -id: api-v2-question-answer-answer -title: 回答 ---- - -- [获取回答列表](#获取回答列表) -- [获取一个回答详情](#获取一个回答详情) -- [回答一个提问](#回答一个提问) -- [采纳一个回答](#采纳一个回答) -- [更新一个回答](#更新一个回答) -- [删除一个回答](#删除一个回答) -- [获取用户发布的回答列表](#获取用户发布的回答列表) - -## 获取回答列表 - -``` -GET /questions/:question/answers -``` - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 默认 `20` ,获取列表条数,修正值 `1` - `30`。 | -| offset | integer | 默认 `0` ,数据偏移量,传递之前通过接口获取的总数。 | -| order_type | String | 默认 `default`, `default` - 默认排序(按照点赞数)、 `time` - 按照发布时间倒序。 | - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "question_id": 1, - "user_id": 1, - "body": "笑嘻嘻,我是回答。", - "anonymity": 0, - "adoption": 0, - "invited": 0, - "comments_count": 0, - "rewards_amount": 0, - "rewarder_count": 0, - "likes_count": 0, - "liked": false, - "collected": false, - "rewarded": false, - "created_at": "2017-08-01 03:40:54", - "updated_at": "2017-08-01 03:40:54", - "user": { - "id": 1, - "name": "Seven", - "bio": "Seven 的个人传记", - "sex": 2, - "location": "成都 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-25 03:59:39", - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": "http://plus.io/storage/user-bg/000/000/000/01.png", - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 8, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-08-01 06:06:37", - "feeds_count": 0, - "questions_count": 5, - "answers_count": 3 - } - } - } -] -``` - -| 字段 | 描述 | -|:----:|----| -| id | 回答唯一标识 ID 。 | -| question_id | 回答所属问题标识 ID 。 | -| user_id | 发布回答用户标识ID,如果 `anonymity` 为 `1` 则只为 `0` 。 | -| body | 回答的内容,markdown 。 | -| anonymity | 是否是匿名回答 。 | -| adoption | 是否是采纳答案。 | -| invited | 是否该回答是被邀请的人的回答。 | -| comments_count | 评论总数统计。 | -| rewards_amount | 回答打赏总额统计。 | -| rewarder_count | 打赏的人总数统计。 | -| likes_count | 回答喜欢总数统计。 | -| views_count | 回答浏览量统计。 | -| created_at | 回答创建时间。 | -| updated_at | 回答更新时间。 | -| liked | 是否喜欢这个回答。 | -| collected | 是否已收藏这个回答。 | -| rewarded | 是否已打赏这个问题。 | -| user | 回答的用户资料,参考「用户」文档,如果 `anonymity` 为 `1` 则不存在这个字段或者为 `null` 。 | - -## 获取一个回答详情 - -``` -GET /question-answers/:answer -``` - -#### 响应 - -``` -Status: 200 -``` -```json -{ - "id": 1, - "question_id": 1, - "user_id": 1, - "body": "笑嘻嘻,我是回答。", - "anonymity": 0, - "adoption": 0, - "invited": 0, - "comments_count": 0, - "rewards_amount": 0, - "rewarder_count": 0, - "likes_count": 0, - "created_at": "2017-08-01 03:40:54", - "updated_at": "2017-08-01 03:40:54", - "liked": false, - "collected": false, - "rewarded": false, - "likes": [], - "rewarders": [], - "question": { - "id": 1, - "user_id": 1, - "subject": "第一个提问?", - "body": null, - "anonymity": 0, - "amount": 0, - "automaticity": 1, - "look": 1, - "excellent": 0, - "status": 0, - "comments_count": 0, - "answers_count": 3, - "watchers_count": 0, - "likes_count": 0, - "view_count": 0, - "has_adoption": true, - "created_at": "2017-07-28 08:38:54", - "updated_at": "2017-08-01 06:03:21", - "user": { - "id": 1, - "name": "Seven", - "bio": "Seven 的个人传记", - "sex": 2, - "location": "成都 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-25 03:59:39", - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": "http://plus.io/storage/user-bg/000/000/000/01.png", - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 8, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-08-01 06:06:37", - "feeds_count": 0, - "questions_count": 5, - "answers_count": 3 - } - } - }, - "user": { - "id": 1, - "name": "Seven", - "bio": "Seven 的个人传记", - "sex": 2, - "location": "成都 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-25 03:59:39", - "following": false, - "follower": false, - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": "http://plus.io/storage/user-bg/000/000/000/01.png", - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 8, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-08-01 06:06:37", - "feeds_count": 0, - "questions_count": 5, - "answers_count": 3 - } - } -} -``` -| 字段 | 描述 | -|:----:|----| -| id | 回答唯一标识 ID 。 | -| question_id | 回答所属问题标识 ID 。 | -| user_id | 发布回答用户标识ID,如果 `anonymity` 为 `1` 则只为 `0` 。 | -| body | 回答的内容,markdown 。 | -| anonymity | 是否是匿名回答 。 | -| adoption | 是否是采纳答案。 | -| invited | 是否该回答是被邀请的人的回答。 | -| comments_count | 评论总数统计。 | -| rewards_amount | 回答打赏总额统计。 | -| rewarder_count | 打赏的人总数统计。 | -| likes_count | 回答喜欢总数统计。 | -| views_count | 回答浏览量统计。 | -| created_at | 回答创建时间。 | -| updated_at | 回答更新时间。 | -| text_body | 回答内容纯文字字段,用于列表显示 | -| user | 回答的用户资料,参考「用户」文档,如果 `anonymity` 为 `1` 则不存在这个字段或者为 `null` 。 | -| liked | 是否喜欢这个回答。 | -| collected | 是否已收藏这个回答。 | -| rewarded | 是否已打赏这个问题。 | -| likes | 喜欢列表,参考「回答喜欢」文档。 | -| rewarders | 打赏用户列表,参考「回答打赏」文档。 | -| question | 问题基础数据,参考「问题」文档。 | -| question.has_adoption | 问题是否已有采纳 true 为所属问题已有采纳 | -| could | **是否已围观,对于需要围观的答案,会返回本字段为 true 或者 false 来表示用户是否需要付费,对于普通答案不返回这个字段。** | - -## 回答一个提问 - -``` -POST /questions/:question/answers -``` - -#### 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----|----| -| body | String | **必须**,回答的内容,markdown。 | -| text_body | string | 纯文字回答内容,用于列表显示 | -| anonymity | Enum: `0` , `1` | 是否匿名。 | - -#### 响应 - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ], - "answer": { - "question_id": 1, - "user_id": 1, - "body": "哈哈,可以的。", - "text_body": "", - "anonymity": 1, - "invited": 0, - "updated_at": "2017-08-01 06:03:21", - "created_at": "2017-08-01 06:03:21", - "id": 3 - } -} -``` - -## 采纳一个回答 - -``` -PUT /questions/:question/adoptions/:answer -``` - -#### 响应 - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ] -} -``` - -## 更新一个回答 - -``` -PATCH /question-answers/:answer -``` - -#### 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| anonymity | `1` or `0` | **如果 `body` 字段不传,则本字段必须存在**,是否匿名。 | -| body | String | **如果 `anonymity` 不传,则本字段必须存在**, 回答详情。 | - -#### 响应 - -``` -Status: 201 OK -``` -```json -{ - "message": [ - "操作成功" - ] -} -``` - -## 删除一个回答 - -``` -DELETE /question-answers/:answer -``` - -#### 响应 - -``` -Status: 204 No Content -``` - -## 获取用户发布的回答列表 - -``` -GET /user/question-answer -``` - -### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|------| -| limit | int | 数据返回条数 | -| after | int | 翻页标识 | -| user_id | int | 用户id 不传默认为当前用户 | -| type | string | 数据筛选类型 `all` - 全部,`adoption` - 被采纳的,`invitation` - 被邀请的,`other` - 其他, 默认为全部 | - -#### 响应 - -``` -Status: 200 Ok -``` - -```json5 -[ - { - "id": 6, - "question_id": 4, - "user_id": 1, - "body": "baishi", - "anonymity": 0, - "adoption": 0, - "invited": 0, - "comments_count": 0, - "rewards_amount": 0, - "rewarder_count": 0, - "likes_count": 0, - "created_at": "2017-08-17 07:04:07", - "updated_at": "2017-08-17 07:04:07", - "liked": false, - "collected": false, - "rewarded": false, - "user": { - "id": 1, - "name": "baishi", - "bio": null, - "sex": 1, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-08-09 10:09:28", - "avatar": null, - "bg": null, - "verified": { - "type": "user", - "icon": null, - "description": "高水准" - }, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19 - } - } - }, - { - "id": 5, - "question_id": 4, - "user_id": 1, - "body": "baishi", - "anonymity": 0, - "adoption": 0, - "invited": 0, - "comments_count": 0, - "rewards_amount": 0, - "rewarder_count": 0, - "likes_count": 0, - "created_at": "2017-08-17 07:01:34", - "updated_at": "2017-08-17 07:01:34", - "liked": false, - "collected": false, - "rewarded": false, - "user": { - "id": 1, - "name": "baishi", - "bio": null, - "sex": 1, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-08-09 10:09:28", - "avatar": null, - "bg": null, - "verified": { - "type": "user", - "icon": null, - "description": "高水准" - }, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19 - } - } - } -] -``` - -> 数据结构同答案列表 - -## 获取转发的回答列表 - -``` -GET /qa/reposted-answers -``` - -请求查询参数: - -| 名称 | 类型 | 描述 | -|----|----|----| -| `id` | `string` | **必须**,获取的问题 ID,多个采用 `,` 进行分割。 | - -响应: - -``` -Status: 200 OK -``` -```json5 -[ - { - "id": 1, // 回答 ID - "body": "haha\n", // 回答内容,前 100 字 - "question": { - "id": 1, // 问题 ID - "subject": "问题1" // 问题标题 - } - } -] -``` diff --git a/docs/api-v2-question-answer-comments.html b/docs/api-v2-question-answer-comments.html new file mode 100644 index 0000000..cb47124 --- /dev/null +++ b/docs/api-v2-question-answer-comments.html @@ -0,0 +1,207 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-question-answer-comments.md b/docs/api-v2-question-answer-comments.md deleted file mode 100644 index 8480433..0000000 --- a/docs/api-v2-question-answer-comments.md +++ /dev/null @@ -1,195 +0,0 @@ ---- -id: api-v2-question-answer-comments -title: 评论 ---- - -- [获取问题评论列表](#获取问题评论列表) -- [获取回答评论列表](#获取回答评论列表) -- [评论问题](#评论问题) -- [评论答案](#评论答案) -- [删除问题评论](#删除问题评论) -- [删除回答评论](#删除回答评论) - -## 获取问题评论列表 - -``` -GET /questions/:question/comments -``` - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 默认 `20` ,获取列表条数,修正值 `1` - `30`。 | -| after | integer | 默认 `0` ,筛选偏移, 上一次获取的评论列表中最后一条的id | - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 19, - "user_id": 2, - "target_user": 2, - "reply_user": 0, - "body": "这里是问题的评论", - "commentable_id": 1, - "commentable_type": "questions", - "created_at": "2017-08-07 09:09:01", - "updated_at": "2017-08-07 09:09:01" - } -] -``` - -| 字段 | 描述 | -|:----:|----| -| id | 回答唯一标识 ID 。 $after参数的源| -| user_id | 发布评论用户标识ID | -| body | 评论的内容,markdown 。 | -| commentable_id | 问题的id 。 | -| commentable_type | 评论的对象 questions: 问题 | -| reply_user | 被回复的用户 | -| target_user | 问题发起者 | - -## 获取回答评论列表 - -``` -GET /question-answers/:answer/comments -``` -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 默认 `20` ,获取列表条数,修正值 `1` - `30`。 | -| after | integer | 默认 `0` ,筛选偏移, 上一次获取的评论列表中最后一条的id | - -#### 响应 - -``` -Status: 200 -``` -```json -[ - { - "id": 22, - "user_id": 2, - "target_user": 1, - "reply_user": 1, - "body": "llllllllasdfasdfasdfasdf", - "commentable_id": 1, - "commentable_type": "question-answers", - "created_at": "2017-08-07 09:43:08", - "updated_at": "2017-08-07 09:43:08" - } -] -``` -| 字段 | 描述 | -|:----:|----| -| id | 回答唯一标识 ID 。 $after参数的源| -| user_id | 发布评论用户标识ID | -| body | 评论的内容,markdown 。 | -| commentable_id | 问题的id 。 | -| commentable_type | 评论的对象 questions: 问题 | -| reply_user | 被回复的用户 | -| target_user | 问题发起者 | - -## 评论问题 - -``` -POST /questions/:question/comments -``` - -#### 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----|----| -| body | String | **必须**,回答的内容,markdown。 | -| reply_user | integer | 选填, 被回复用户的ID | - -#### 响应 - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ], - "comment": { - "user_id": 2, - "target_user": 2, - "reply_user": 1, - "body": "llllllllasdfasdfasdfasdf", - "commentable_type": "questions", - "commentable_id": 1, - "updated_at": "2017-08-07 09:48:33", - "created_at": "2017-08-07 09:48:33", - "id": 23 - } -} -``` - -## 评论答案 - -``` -POST /question-answers/:answer/comments -``` - -#### 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----|----| -| body | String | **必须**,回答的内容,markdown。 | -| reply_user | integer | 选填, 被回复用户的ID | - -#### 响应 - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ], - "comment": { - "user_id": 2, - "target_user": 1, - "reply_user": 1, - "body": "llllllllasdfasdfasdfasdf", - "commentable_type": "question-answers", - "commentable_id": 1, - "updated_at": "2017-08-07 09:55:50", - "created_at": "2017-08-07 09:55:50", - "id": 24 - } -} -``` - -## 删除问题评论 - -``` -DELETE /questions/:question/comments/:answer -``` - -### 响应 - -``` -Status: 204 No Content -``` - -### 删除回答评论 - -``` -DELETE /question-answers/:answer/comments/:comment -``` - -### 响应 - -``` -Status: 204 No Content - diff --git a/docs/api-v2-question-answer-onlookers.html b/docs/api-v2-question-answer-onlookers.html new file mode 100644 index 0000000..22e7701 --- /dev/null +++ b/docs/api-v2-question-answer-onlookers.html @@ -0,0 +1,59 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-question-answer-onlookers.md b/docs/api-v2-question-answer-onlookers.md deleted file mode 100644 index 5789e54..0000000 --- a/docs/api-v2-question-answer-onlookers.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -id: api-v2-question-answer-onlookers -title: 回答 · 围观 ---- - -- [围观一个答案](#围观一个答案) - -## 围观一个答案 - -``` -POST /api/v2/question-answers/:answer/onlookers -``` - -请求参数: - -| 参数 | 类型 | 说明 | -|----|----|----| -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -### 响应 - -``` -Http Status 201 Created -``` - -```json5 -{ - "message": [ - "操作成功" - ], - "answer": { - ... // 回答内容 - } -} -``` diff --git a/docs/api-v2-question-answer-question.html b/docs/api-v2-question-answer-question.html new file mode 100644 index 0000000..ccdb323 --- /dev/null +++ b/docs/api-v2-question-answer-question.html @@ -0,0 +1,737 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-question-answer-question.md b/docs/api-v2-question-answer-question.md deleted file mode 100644 index 8fa3311..0000000 --- a/docs/api-v2-question-answer-question.md +++ /dev/null @@ -1,737 +0,0 @@ ---- -id: api-v2-question-answer-question -title: 问题 ---- - -- [发布问题](#发布问题) -- [更新问题](#更新问题) -- [设置问题悬赏](#设置问题悬赏) -- [获取问题列表](#获取问题列表) -- [获取一个问题详情](#获取一个问题详情) -- [删除一个问题](#删除一个问题) -- [获取用户发布的问题列表](#获取用户发布的问题列表) - -## 发布问题 - -``` -POST /questions -``` - -#### 输入 - -| 字段 | 类型 | 描述 | -|:----:|:----:|----| -| subject | 字符串 | **必须**,问题主题或者说标题,不能超过 255 **字节** ,必须以 `?` 结尾。(不区分全角或者半角) | -| topics | 数组 | **必须**,绑定的话题,数组子节点必须符合 `{ "id": 1 }` 的格式。 | -| body | 字符串 | 问题描述。 | -| anonymity | 枚举:`0` 或者 `1` | 作者是否匿名发布。 | -| amount | 数字 | 问题价值,悬赏金额 | -| look | 枚举:`0` 或者 `1` | 是否开启围观,当问题有采纳或者邀请人已回答,则对外部观众自动开启围观。设置围观必须设置悬赏金额。 | -| invitations | 数组 | 邀请回答,问题邀请回答的人,数组子节点必须符合 `{ "user": 1 }` 的格式,切不能存在自己。 | -| automaticity | 枚举:`0` 或者 `1` | 邀请悬赏自动入账,只邀请一个人的情况下,允许悬赏金额自动入账到被邀请回答者钱包中。 | -| text_body | 字符串 | 纯文字回答内容,用于列表显示 | -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -#### 响应 - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ], - "question": { - "subject": "再测试一个问题?", - "body": null, - "anonymity": 1, - "amount": 0, - "automaticity": 0, - "look": 0, - "user_id": 1, - "updated_at": "2017-08-01 06:06:37", - "created_at": "2017-08-01 06:06:37", - "text_body": "12312", - "id": 2 - } -} -``` - -## 更新问题 - -``` -PATCH /questions/:question -``` - -#### 输入 - -| 字段 | 类型 | 描述 | -|:----:|:----:|----| -| subject | 字符串 | **当 `body` / `anonymity` / `topics` / `amount` 不存在时,`subject` 为必须**,问题主题或者说标题,不能超过 255 **字节** ,必须以 `?` 结尾。(不区分全角或者半角) | -| body | 字符串 | **当 `subject` / `anonymity` / `topics` / `amount` 不存在时,`body` 为必须**,问题描述。 | -| anonymity | `1` or `0` | **当 `subject` / `body` / `topics` / `amount` 不存在时,`anonymity` 为必须**,是否匿名。 | -| topics | 数组 | **当 `subject` / `anonymity` / `body` / `amount` 不存在时,`topics` 为必须**,问题关联话题,数组子节点必须符合 `{ "id": 1 }` 的格式。 | -| ammount | int | **当 `subject` / `anonymity` / `body` / `topics` 不存在时,`amount` 为必须**,悬赏金额。 | -| text_body | 字符串 | 纯文字回答内容,用于列表显示 | - -#### 响应 - -``` -Status: 204 No Content -``` - -## 设置问题悬赏 - -在没有采纳和邀请且未设置悬赏金额时,问题作者重新设置问题的悬赏 - -``` -PATCH /questions/:question/amount -``` - -### 输入 - -| 字段 | 类型 | 描述 | -|:----:|:----:|------| -| amount | int | 悬赏金额 | - -### 响应 - -``` -Status: 204 No Content -``` - -## 获取问题列表 - -获取所有问题列表 - -``` -GET /questions -``` - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| type | 枚举:`all`、`new`、`hot`、`reward`、`excellent` | 默认值 `new`, `all` - 全部、`new` - 最新、`hot` - 热门、`reward` - 悬赏、`excellent` - 精选 `follow` - 关注 。 | -| limit | Integer | 默认 `20` ,获取列表条数,修正值 `1` - `30`。 | -| offset | integer | 默认 `0` ,数据偏移量,传递之前通过接口获取的总数。 | -| subject | string | 标题搜索关键字。 | -| `id` | `string` | 按照问题 ID 返回问题列表,多个采用半角 `,` 进行分割。 | - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 5, - "user_id": 1, - "subject": "32?", - "body": "1212", - "anonymity": 0, - "amount": 200, - "automaticity": 1, - "look": 1, - "excellent": 0, - "status": 0, - "comments_count": 0, - "answers_count": 0, - "watchers_count": 0, - "likes_count": 0, - "views_count": 10, - "created_at": "2017-08-21 08:39:42", - "updated_at": "2017-08-22 03:17:13", - "answer": null, - "user": { - "id": 1, - "name": "baishi", - "bio": null, - "sex": 1, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-08-09 10:09:28", - "avatar": null, - "bg": null, - "verified": { - "type": "user", - "icon": null, - "description": "啦啦啦啦" - }, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19 - } - } - }, - { - "id": 4, - "user_id": 1, - "subject": "啊撒大声地", - "body": "啊撒大声地", - "anonymity": 0, - "amount": 200, - "automaticity": 1, - "look": 1, - "excellent": 0, - "status": 0, - "comments_count": 2, - "answers_count": 19, - "watchers_count": 0, - "likes_count": 0, - "views_count": 1, - "created_at": "2017-08-09 10:33:22", - "updated_at": "2017-08-17 07:05:06", - "answer": { - "id": 7, - "question_id": 4, - "user_id": 1, - "body": "baishi", - "anonymity": 0, - "adoption": 0, - "invited": 1, - "comments_count": 0, - "rewards_amount": 32, - "rewarder_count": 1, - "likes_count": 0, - "created_at": "2017-08-17 07:05:06", - "updated_at": "2017-08-17 07:17:26", - "liked": false, - "collected": false, - "rewarded": false, - "could": false, - "user": { - "id": 1, - "name": "baishi", - "bio": null, - "sex": 1, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-08-09 10:09:28", - "avatar": null, - "bg": null, - "verified": { - "type": "user", - "icon": null, - "description": "啦啦啦啦" - }, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19 - } - } - }, - "user": { - "id": 1, - "name": "baishi", - "bio": null, - "sex": 1, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-08-09 10:09:28", - "avatar": null, - "bg": null, - "verified": { - "type": "user", - "icon": null, - "description": "啦啦啦啦" - }, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19 - } - } - } -] -``` - -### 返回参数说明 - - -| 字段 | 描述 | -|:----:|----| -| id | 问题唯一 ID 。 | -| user_id | 发布的用户 ID,如果是 `anonymity` 是 `1` 则该字段为 `0`。 | -| subject | 问题标题。 | -| body | 问题详情,markdown,如果没有详情为 `null`。 | -| anonymity | 是否匿名,`1` 代表匿名发布,匿名后不会返回任何用户信息。 | -| amount | 问题价值,悬赏金额,`0` 代表非悬赏。 | -| automaticity | 是否自动入账。客户端无用,邀请回答后端判断逻辑使用。 | -| look | 是否开启了围观。 | -| excellent | 是否属于精选问题。 | -| status | 问题状态,0 - 未解决,1 - 已解决, 2 - 问题关闭 。 | -| comments_count | 问题评论总数统计。 | -| answers_count | 问题答案数量统计。 | -| watchers_count | 问题关注的人总数统计。 | -| likes_count | 喜欢问题的人总数统计。 | -| views_count | 问题查看数量统计。 | -| text_body | 问题内容纯文字字段,用于列表显示 | -| created_at | 问题创建时间。 | -| updated_at | 问题修改时间。 | -| answer | 问题的最新一条回答,具体数据结构参考「回答」文档,问题没有回答时该字段为null。 | -| answer.cloud | 该回答是否需要围观,所属问题开启围观时会存在,为 `false` 时回答内容返回为`null` | -| user | 用户资料,如果是 `anonymity` 是 `1` 则该字段不存在。 | - - -获取某个话题下的问题列表 - -``` -GET /question-topics/:topic/questions -``` - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| type | 枚举:`all`、`new`、`hot`、`reward`、`excellent` | 默认值 `new`, `all` - 全部、`new` - 最新、`hot` - 热门、`reward` - 悬赏、`excellent` - 精选 。 | -| limit | Integer | 默认 `20` ,获取列表条数,修正值 `1` - `30`。 | -| offset | integer | 默认 `0` ,数据偏移量,传递之前通过接口获取的总数。 | -| subject | string | 标题搜索关键字。 | - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 2, - "user_id": 0, - "subject": "再测试一个问题?", - "body": null, - "anonymity": 1, - "amount": 0, - "automaticity": 0, - "look": 0, - "excellent": 0, - "status": 0, - "comments_count": 0, - "answers_count": 0, - "watchers_count": 0, - "likes_count": 0, - "views_count": 0, - "created_at": "2017-08-01 06:06:37", - "updated_at": "2017-08-01 06:06:37" - }, - { - "id": 1, - "user_id": 1, - "subject": "第一个提问?", - "body": null, - "anonymity": 0, - "amount": 0, - "automaticity": 0, - "look": 0, - "excellent": 0, - "status": 0, - "comments_count": 0, - "answers_count": 3, - "watchers_count": 0, - "likes_count": 0, - "views_count": 0, - "created_at": "2017-07-28 08:38:54", - "updated_at": "2017-08-01 06:03:21", - "user": { - "id": 1, - "name": "Seven", - "bio": "Seven 的个人传记", - "sex": 2, - "location": "成都 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-25 03:59:39", - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": "http://plus.io/storage/user-bg/000/000/000/01.png", - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 8, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-08-01 06:06:37", - "feeds_count": 0, - "questions_count": 5, - "answers_count": 3 - } - } - } -] -``` - -> 字段注明情查看 「[获取一个问题详情](#获取一个问题详情)」,列表值返回一部分主要数据。 - -## 获取一个问题详情 - -``` -GET /questions/:question -``` - -#### 响应 - -``` -Status: 200 OK -``` -```json -{ - "id": 1, - "user_id": 1, - "subject": "第一个提问?", - "body": null, - "anonymity": 0, - "amount": 0, - "automaticity": 1, - "look": 1, - "excellent": 0, - "status": 0, - "comments_count": 0, - "answers_count": 3, - "watchers_count": 0, - "likes_count": 0, - "views_count": 0, - "created_at": "2017-07-28 08:38:54", - "updated_at": "2017-08-01 06:03:21", - "my_answer": null, - "watched": false, - "invitation_answers": [ - { - "id": 2, - "question_id": 1, - "user_id": 2, - "body": null, - "anonymity": 0, - "adoption": 0, - "invited": 1, - "comments_count": 0, - "rewards_amount": 0, - "rewarder_count": 0, - "likes_count": 0, - "created_at": "2017-08-01 03:44:04", - "updated_at": "2017-08-01 03:44:04", - "could": false, - "onlookers_count": 1, - "onlookers_total": 10, - "user": { - "id": 2, - "name": "test1", - "bio": "0", - "sex": 0, - "location": "0", - "created_at": "2017-06-12 07:38:55", - "updated_at": "2017-06-12 07:38:55", - "avatar": null, - "bg": null, - "verified": null, - "extra": null - } - } - ], - "adoption_answers": [ - { - "id": 3, - "question_id": 1, - "user_id": 1, - "body": "终于回答成功", - "anonymity": 1, - "adoption": 1, - "invited": 0, - "comments_count": 0, - "rewards_amount": 0, - "rewarder_count": 0, - "likes_count": 0, - "created_at": "2017-08-01 06:03:21", - "updated_at": "2017-08-01 06:03:21", - "could": true, - "user": { - "id": 1, - "name": "Seven", - "bio": "Seven 的个人传记", - "sex": 2, - "location": "成都 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-25 03:59:39", - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": "http://plus.io/storage/user-bg/000/000/000/01.png", - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 8, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-08-01 06:06:37", - "feeds_count": 0, - "questions_count": 5, - "answers_count": 3 - } - } - } - ], - "topics": [ - { - "id": 1, - "name": "PHP", - "description": "我是PHP", - "questions_count": 5, - "experts_count": 1, - "follows_count": 0, - "avatar": null - } - ], - "invitations": [ - { - "id": 2, - "name": "test1", - "bio": "0", - "sex": 0, - "location": "0", - "created_at": "2017-06-12 07:38:55", - "updated_at": "2017-06-12 07:38:55", - "avatar": null, - "bg": null, - "verified": null, - "extra": null - } - ], - "user": { - "id": 1, - "name": "Seven", - "bio": "Seven 的个人传记", - "sex": 2, - "location": "成都 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-25 03:59:39", - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": "http://plus.io/storage/user-bg/000/000/000/01.png", - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 8, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-08-01 06:06:37", - "feeds_count": 0, - "questions_count": 5, - "answers_count": 3 - } - } -} -``` - -| 字段 | 描述 | -|:----:|----| -| id | 问题唯一 ID 。 | -| user_id | 发布的用户 ID,如果是 `anonymity` 是 `1` 则该字段为 `0`。 | -| subject | 问题标题。 | -| body | 问题详情,markdown,如果没有详情为 `null`。 | -| anonymity | 是否匿名,`1` 代表匿名发布,匿名后不会返回任何用户信息。 | -| amount | 问题价值,悬赏金额,`0` 代表非悬赏。 | -| automaticity | 是否自动入账。客户端无用,邀请回答后端判断逻辑使用。 | -| look | 是否开启了围观。 | -| excellent | 是否属于精选问题。 | -| status | 问题状态,0 - 未解决,1 - 已解决, 2 - 问题关闭 。 | -| comments_count | 问题评论总数统计。 | -| answers_count | 问题答案数量统计。 | -| watchers_count | 问题关注的人总数统计。 | -| likes_count | 喜欢问题的人总数统计。 | -| views_count | 问题查看数量统计。 | -| created_at | 问题创建时间。 | -| updated_at | 问题修改时间。 | -| my_answer | 我的回答,数据结构参考回答列表,没有时为null | -| watched | 用户是否关注这个问题。 | -| invitation_answers | 问题邀请用户回答的答案列表,具体数据结构参考「回答」文档。 | -| invitation_answers.onlookers_count | 该回答被围观人数 | -| invitation_answers.onlookers_total | 被围观总金额 | -| invitation_answers.cloud | 该回答是否需要围观,所属问题开启围观时会存在,为 `false` 时回答内容返回为`null` | -| adoption_answers | 问题采纳的答案列表,具体数据结构参考「回答」文档。 | -| topics | 问题话题列表,参考「话题」文档。 | -| invitations | 问题邀请回答的用户列表,参考「用户」文档。 | -| user | 用户资料,如果是 `anonymity` 是 `1` 则该字段不存在。 | - -> 如果匿名提问是当前请求的认证用户所发布,则返回用户信息。 - -## 删除一个问题 - -``` -DELETE /questions/:question -``` - -#### 响应 - -``` -Status: 204 No Content -``` - -## 获取用户发布的问题列表 - -``` -GET /api/v2/user/questions -``` - -### 输入 -| 名称 | 类型 | 描述 | -|:----:|:----:|------| -| limit | int | 数据条数 | -| after | int | 翻页标识 | -| user_id | int | 用户id 不传默认为当前用户 | -| type | string | 数据筛选类型 `all`-全部 `invitation`-邀请 `reward`-悬赏 `other`-其他 默认全部| - -### 响应 - -``` -Status 200 Ok -``` - -```json5 -[ - { - "id": 5, - "user_id": 1, - "subject": "32?", - "body": "1212", - "anonymity": 0, - "amount": 200, - "automaticity": 1, - "look": 1, - "excellent": 0, - "status": 0, - "comments_count": 0, - "answers_count": 0, - "watchers_count": 0, - "likes_count": 0, - "views_count": 10, - "created_at": "2017-08-21 08:39:42", - "updated_at": "2017-08-22 03:17:13", - "answer": null, - "user": { - "id": 1, - "name": "baishi", - "bio": null, - "sex": 1, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-08-09 10:09:28", - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19 - } - } - }, - { - "id": 4, - "user_id": 1, - "subject": "啊撒大声地", - "body": "啊撒大声地", - "anonymity": 0, - "amount": 200, - "automaticity": 1, - "look": 1, - "excellent": 0, - "status": 0, - "comments_count": 2, - "answers_count": 19, - "watchers_count": 0, - "likes_count": 0, - "views_count": 1, - "created_at": "2017-08-09 10:33:22", - "updated_at": "2017-08-17 07:05:06", - "answer": { - "id": 7, - "question_id": 4, - "user_id": 1, - "body": "baishi", - "anonymity": 0, - "adoption": 0, - "invited": 1, - "comments_count": 0, - "rewards_amount": 32, - "rewarder_count": 1, - "likes_count": 0, - "created_at": "2017-08-17 07:05:06", - "updated_at": "2017-08-17 07:17:26", - "user": { - "id": 1, - "name": "baishi", - "bio": null, - "sex": 1, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-08-09 10:09:28", - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19 - } - } - }, - "user": { - "id": 1, - "name": "baishi", - "bio": null, - "sex": 1, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-08-09 10:09:28", - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19 - } - } - } -] -``` - -> 其他部分数据格式同问题列表 diff --git a/docs/api-v2-question-answer-ranks.html b/docs/api-v2-question-answer-ranks.html new file mode 100644 index 0000000..e1491fd --- /dev/null +++ b/docs/api-v2-question-answer-ranks.html @@ -0,0 +1,203 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-question-answer-ranks.md b/docs/api-v2-question-answer-ranks.md deleted file mode 100644 index efe59ae..0000000 --- a/docs/api-v2-question-answer-ranks.md +++ /dev/null @@ -1,180 +0,0 @@ ---- -id: api-v2-question-answer-ranks -title: 排行榜 ---- - -- [获取解答排行](#获取解答排行) -- [获取问答达人排行](#获取问答达人排行) -- [获取社区专家排行](#获取社区专家排行) - -## 获取解答排行 - -根据一定时间内发布的回答数进行的排序 - -``` -GET /question-ranks/answers -``` - -## 传入参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| limit | int | - | 数据返回条数 默认10条 | -| type | string | - | 筛选类型 `day` - 日排行 `week` - 周排行 `month` - 月排行 | -| offset | int | - | 偏移量 默认为0 | - -## 响应 - -``` -Http Status 200 Ok -``` - -```json5 -[ - { - "id": 1, - "name": "baishi", - "following": false, - "follower": false, - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19, - "count": 53, - "rank": 1 - } - } -] -``` - -### 返回参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|------| -| extra.count | int | 回答数 | -| extra.rank | int | 排行 | - -> 其他数据结构参考「用户」接口用户资料 - -## 获取问答达人排行 - -根据全站回答收到的点赞数进行的排序 - -``` -GET /question-ranks/likes -``` - -## 传入参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| limit | int | - | 数据返回条数 默认10条 | -| offset | int | - | 偏移量 默认为0 | - -## 响应 - -``` -Http Status 200 Ok -``` - -```json5 -```json5 -[ - { - "id": 1, - "name": "baishi", - "following": false, - "follower": false, - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19, - "count": 53, - "rank": 1 - } - } -] -``` - -### 返回参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|------| -| extra.count | int | 点赞数 | -| extra.rank | int | 排行 | - -> 其他数据结构参考「用户」接口用户资料 - -## 获取社区专家排行 - -根据话题下的专家收入进行的排行 - -``` -GET /question-ranks/experts -``` - -## 传入参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| limit | int | - | 数据返回条数 默认10条 | -| offset | int | - | 偏移量 默认为0 | - -### 响应 - -``` -Status: 200 Ok -``` - -```json5 -```json5 -[ - { - "id": 1, - "name": "baishi", - "following": false, - "follower": false, - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19, - "rank": 1 - } - } -] -``` - -### 返回参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|------| -| extra.rank | int | 排行 | - -> 其他数据结构参考「用户」接口用户资料 diff --git a/docs/api-v2-question-answer-report.html b/docs/api-v2-question-answer-report.html new file mode 100644 index 0000000..4a8ecb7 --- /dev/null +++ b/docs/api-v2-question-answer-report.html @@ -0,0 +1,60 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-question-answer-report.md b/docs/api-v2-question-answer-report.md deleted file mode 100644 index 1d2c081..0000000 --- a/docs/api-v2-question-answer-report.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -id: api-v2-question-answer-report -title: 举报 ---- - -- [举报一个问题](#举报一个问题) -- [举报一条回答](#举报一条回答) - -## 举报一个问题 - -``` -POST /questions/:question/reports -``` - -## 举报一条回答 - -``` -POST /question-answers/:answer/reports -``` - -### 可选参数 - -| 名称 | 描述 | -|:----:|:-----| -| reason | 举报理由 | - -### 响应 - -``` -Http Status 201 -``` - -```json -{ - "message": [ - "操作成功" - ] -} -``` diff --git a/docs/api-v2-question-answer-reward.html b/docs/api-v2-question-answer-reward.html new file mode 100644 index 0000000..3a9b0c6 --- /dev/null +++ b/docs/api-v2-question-answer-reward.html @@ -0,0 +1,150 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-question-answer-reward.md b/docs/api-v2-question-answer-reward.md deleted file mode 100644 index fbe15ee..0000000 --- a/docs/api-v2-question-answer-reward.md +++ /dev/null @@ -1,130 +0,0 @@ ---- -id: api-v2-question-answer-reward -title: 回答 · 打赏 ---- - -- [打赏一个回答](#打赏一个回答) -- [新版打赏一个回答](#新版打赏一个回答) -- [获取回答打赏列表](#获取回答打赏列表) - -## 打赏一个回答 - -``` -POST /api/v2/question-answers/:answer/rewarders -``` - -#### 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| amount | Integer | **必须**,用户要打赏的金额。 | -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -#### 响应 - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ] -} -``` - -## 新版打赏一个回答 - -``` -POST /api/v2/question-answers/:answer/new-rewards -``` - -#### 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| amount | Integer | **必须**,用户要打赏的金额。 | -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -#### 响应 - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ] -} -``` - -## 获取回答打赏列表 - -``` -GET /api/v2/question-answers/:answer/rewarders -``` - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| type | 枚举:`time`、`amount` | 默认值 `time`, `time` - 按照打赏时间倒序,`amount` - 按照金额倒序。 | -| limit | Integer | 默认 `20` ,获取列表条数,修正值 `1` - `30`。 | -| offset | integer | 默认 `0` ,数据偏移量,传递之前通过接口获取的总数。 | - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "user_id": 1, - "target_user": 1, - "amount": 10, - "rewardable_id": 1, - "rewardable_type": "question-answers", - "created_at": "2017-08-04 08:59:40", - "updated_at": "2017-08-04 08:59:40", - "user": { - "id": 1, - "name": "Seven", - "bio": "Seven 的个人传记", - "sex": 2, - "location": "成都 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-25 03:59:39", - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": "http://plus.io/storage/user-bg/000/000/000/01.png", - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 8, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-08-01 06:06:37", - "feeds_count": 0, - "questions_count": 5, - "answers_count": 3 - } - } - } -] -``` - -| 字段 | 描述 | -|:----:|-----| -| id | 打赏的唯一标识。 | -| user_id | 打赏的人用户ID | -| target_user | 接收打赏金额的用户 | -| amount | 搭讪的金额。 | -| rewardable_id | 可被打赏资源ID,例如在问到中 `rewardable_type` 为 `question-answers` 资源ID就代表问题回答ID。 | -| rewardable_type | 可被打赏资源。 | -| created_at | 打赏时间。 | -| updated_at | 打赏更新时间。 | -| user | 打赏用户资料。 | - diff --git a/docs/api-v2-question-answer-topic.html b/docs/api-v2-question-answer-topic.html new file mode 100644 index 0000000..fdff43a --- /dev/null +++ b/docs/api-v2-question-answer-topic.html @@ -0,0 +1,323 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-question-answer-topic.md b/docs/api-v2-question-answer-topic.md deleted file mode 100644 index 2ba87e3..0000000 --- a/docs/api-v2-question-answer-topic.md +++ /dev/null @@ -1,321 +0,0 @@ ---- -id: api-v2-question-answer-topic -title: 话题 ---- - -- [获取全部话题](#获取全部话题) -- [获取认证用户关注的话题或者专家话题](#获取认证用户关注的话题或者专家话题) -- [获取一个话题](#获取一个话题) -- [关注一个话题](#关注一个话题) -- [取消关注一个话题](#取消关注一个话题) -- [获取话题下专家列表](#获取话题下专家列表) -- [批量获取专家列表](#批量获取专家列表) -- [申请创建一个话题](#申请创建一个话题) - -## 获取全部话题 - -``` -GET /question-topics -``` - -#### 请求参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | 数字 | 这次请求获取的条数,默认为 `20` 条,为了避免过大或者错误查询,设置了一个修正值,最大 `50` 最小 `1` 。 | -| offset | 数字 | 数据偏移量,用于翻页 | -| follow | 任意 | 是否检查当前用户是否关注了某话题,默认为不检查,如果传递 `follow` 切拥有任意值(空除外),都会检查当前用户与话题的关注关系。 | -| name | 字符串 | 用语搜索话题,传递话题名称关键词。 | - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "name": "PHP", - "description": "我是PHP", - "questions_count": 0, - "follows_count": 0, - "has_follow": false, - "avatar": null - } -] -``` - -| 字段 | 描述 | -|:----:|----| -| id | 话题ID | -| name | 话题名称 | -| description | 话题描述 | -| questions_count | 话题下的问题数量统计 | -| follows_count | 话题下的关注用户统计 | -| avatar | 话题头像,如果存在则为「字符串」,否则固定值 `null` | -| has_follow | 当「请求参数」传递了 `follow` 才会出现 `has_follow` 字段,布尔值,`true` 表示当前用户关注了这个话题,`false` 反之。 | - -## 获取认证用户关注的话题或者专家话题 - -``` -GET /user/question-topics -``` - -#### 请求参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | 数字 | 这次请求获取的条数,默认为 `20` 条,为了避免过大或者错误查询,设置了一个修正值,最大 `50` 最小 `1` 。 | -| after | 数字 | 获取 `id` 之后的数据,要获取某条话题之后的数据,传递该话题 ID。 | -| type | 枚举:`follow` / `expert` | 默认值为 `follow` 代表用户关注的话题列表,如果值为 `expert` 则获取该用户的专家话题(哪些话题下是专家)。 | - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "name": "PHP", - "description": "我是PHP", - "questions_count": 0, - "follows_count": 0, - "avatar": null - } -] -``` -| 字段 | 描述 | -|:----:|----| -| id | 话题ID | -| name | 话题名称 | -| description | 话题描述 | -| questions_count | 话题下的问题数量统计 | -| follows_count | 话题下的关注用户统计 | -| avatar | 话题头像,如果存在则为「字符串」,否则固定值 `null` | - -## 获取一个话题 - -``` -GET /question-topics/:topic -``` - -#### 响应 - -``` -Status: 200 OK -``` -```json -{ - "id": 1, - "name": "PHP", - "description": "我是PHP", - "questions_count": 5, - "experts_count": 1, - "follows_count": 0, - "has_follow": false, - "avatar": null, - "experts": [ - { - "id": 2, - "name": "test1", - "bio": "0", - "sex": 0, - "location": "0", - "created_at": "2017-06-12 07:38:55", - "updated_at": "2017-06-12 07:38:55", - "avatar": null, - "bg": null, - "verified": null, - "extra": null - } - ] -} -``` - -| 字段 | 描述 | -|:----:|------| -| id | 话题的唯一标识。 | -| name | 话题名称。 | -| description | 话题详细描述。 | -| questions_count | 话题下的问题数量。 | -| experts_count | 话题下的专家数量。 | -| follows_count | 话题的关注者数量。 | -| has_follow | 当前用户是否关注了话题。 | -| avatar | 话题头像,如果没有头像则为 `null`,存在则为一个 URI。 | -| experts | 话题下的专家预览。按照设计图,返回五个用户。 | - - -## 关注一个话题 - -``` -PUT /user/question-topics/:topic -``` - -#### 响应 - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ] -} -``` - -## 取消关注一个话题 - -``` -DELETE /user/question-topics/:topic -``` - -#### 响应 - -``` -Status: 204 No Content -``` - -## 获取话题下专家列表 - -``` -GET /question-topics/:topic/experts -``` - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|------| -| after | Integer | 上一次请求获取的最后一条 ID,或者指定某条 ID 之后的数据。 | - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "name": "Seven", - "bio": "Seven 的个人传记", - "sex": 2, - "location": "成都 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-25 03:59:39", - "following": false, - "follower": false, - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": "http://plus.io/storage/user-bg/000/000/000/01.png", - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 8, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-08-01 06:06:37", - "feeds_count": 0, - "questions_count": 5, - "answers_count": 3 - }, - "tags": [ - { - "id": 1, - "name": "标签1", - "tag_category_id": 1 - } - ] - } -] -``` - -> 列表资料参见「用户资料」相关文档,这里多的数据为 `tags` 用户标签,用户标签字段说明参见「用户标签」相关文档。 - -## 批量获取专家列表 - -``` -GET /question-experts -``` - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|------| -| offset | Integer | 偏移量 | -| topics | string | 话题id,多个以逗号隔开 | -| keyword | string | 搜索关键字 | - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "name": "Seven", - "bio": "Seven 的个人传记", - "sex": 2, - "location": "成都 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-25 03:59:39", - "following": false, - "follower": false, - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": "http://plus.io/storage/user-bg/000/000/000/01.png", - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 8, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-08-01 06:06:37", - "feeds_count": 0, - "questions_count": 5, - "answers_count": 3 - }, - "tags": [ - { - "id": 1, - "name": "标签1", - "tag_category_id": 1 - } - ] - } -] -``` - -> 列表资料同获取一个话题下专家列表,id为乱序。 - -## 申请创建一个话题 - -``` -POST /api/v2/user/question-topics/application -``` - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|------| -| name | string | 话题名称 | -| description | string | 话题描述 | - -#### 响应 - -``` -Status: 201 Created -``` - -```json5 -{ - "message": [ - "操作成功" - ] -} -``` diff --git a/docs/api-v2-question-answer-user-answer-likes.html b/docs/api-v2-question-answer-user-answer-likes.html new file mode 100644 index 0000000..f809077 --- /dev/null +++ b/docs/api-v2-question-answer-user-answer-likes.html @@ -0,0 +1,106 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-question-answer-user-answer-likes.md b/docs/api-v2-question-answer-user-answer-likes.md deleted file mode 100644 index 6ee55ab..0000000 --- a/docs/api-v2-question-answer-user-answer-likes.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -id: api-v2-question-answer-user-answer-likes -title: 用户 · 喜欢回答 ---- - -# 喜欢 - -- [喜欢一个回答](#喜欢一个回答) -- [取消喜欢一个回答](#取消喜欢一个回答) -- [一个回答的喜欢列表](#一个回答的喜欢列表) - -## 喜欢一个回答 - -``` -POST /api/v2/question-answers/:answer/likes -``` - -### 响应 - -Header 201 Created - -```json5 -{ - "message": [ - "操作成功" - ] -} -``` - -## 取消喜欢一个回答 - -``` -DELETE /api/v2/question-answers/:answer/likes -``` - -### 响应 - -Header 204 No Content - -## 一个回答的喜欢列表 - -``` -GET /api/v2/question-answers/:answer/likes -``` - -### 参数 - -| 名称 | 说明 | -|:-----:|------| -| limit | 数据返回条数 默认20 | -| after | 数据翻页标识 该倒序列表中,标识为列表数据最小id| - -### 响应 - -Header 200 OK - -```json5 -[ - { - "id": 8, - "user_id": 1, - "target_user": 1, - "likeable_id": 4, - "likeable_type": "question-answers", - "created_at": "2017-08-17 08:54:28", - "updated_at": "2017-08-17 08:54:28", - "user": { - "id": 1, - "name": "baishi", - "bio": null, - "sex": 1, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-08-09 10:09:28", - "following": false, - "follower": false, - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19 - } - } - } -] -``` diff --git a/docs/api-v2-question-answer-user-collect-answer.html b/docs/api-v2-question-answer-user-collect-answer.html new file mode 100644 index 0000000..7e50226 --- /dev/null +++ b/docs/api-v2-question-answer-user-collect-answer.html @@ -0,0 +1,142 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-question-answer-user-collect-answer.md b/docs/api-v2-question-answer-user-collect-answer.md deleted file mode 100644 index 66d4079..0000000 --- a/docs/api-v2-question-answer-user-collect-answer.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -id: api-v2-question-answer-user-collect-answer -title: 用户 · 收藏回答 ---- - -- [收藏一个回答](#收藏一个回答) -- [取消收藏一个回答](#取消收藏一个回答) -- [回答收藏列表](#回答收藏列表) - -## 收藏一个回答 - -``` -POST /api/v2/user/question-answer/collections/:answer -``` - -### 响应 - -Header 201 Created - -```json5 -{ - "message": [ - "操作成功" - ] -} -``` - -## 取消收藏一个回答 - -``` -DELETE /api/v2/user/question-answer/collections/:answer -``` - -### 响应 - -Header 204 No Content - -## 回答收藏列表 - -``` -GET /api/v2/user/question-answer/collections -``` - -### 可选参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| limit | int | - | 数据返回条数 默认20条 | -| after | int | - | 数据翻页标识 | - -### 响应 - -Header 200 Ok - -```json5 -[ - { - "id": 4, - "user_id": 1, - "collectible_id": 2, - "collectible_type": "question-answers", - "created_at": "2017-08-08 08:51:37", - "updated_at": "2017-08-08 08:51:37", - "collectible": { - "id": 2, - "question_id": 4, - "user_id": 2, - "body": null, - "anonymity": 0, - "adoption": 0, - "invited": 1, - "comments_count": 0, - "rewards_amount": 0, - "rewarder_count": 0, - "likes_count": 1, - "created_at": "2017-08-07 14:19:58", - "updated_at": "2017-08-07 06:29:40", - "could": false - } - }, - { - "id": 3, - "user_id": 1, - "collectible_id": 1, - "collectible_type": "question-answers", - "created_at": "2017-08-08 08:51:37", - "updated_at": "2017-08-08 08:51:37", - "collectible": { - "id": 1, - "question_id": 4, - "user_id": 1, - "body": "阿斯顿发生的", - "anonymity": 0, - "adoption": 0, - "invited": 0, - "comments_count": 0, - "rewards_amount": 0, - "rewarder_count": 0, - "likes_count": 1, - "created_at": "2017-08-07 14:19:58", - "updated_at": "2017-08-07 06:29:40" - } - } -] -``` - -### 返回参数 -| 名称 | 类型 | 说明 | -|:----:|:-----|------| -| id | int | 收藏记录id 用于翻页 | -| user_id | int | 收藏用户id | -| created_at | date | 收藏时间 | -| collectible | array | 收藏数据信息 | -| collectible.id | int | 回答数据id | -| collectible.question_id | int | 回答所属问题id | -| collectible.user_id | int | 回答用户id 如果为匿名回答且回答者不是当前用户,该项值为0 | -| collectible.body | string | 回答内容 需要付费围观时为null | -| collectible.anonymity | int |

是否匿名

1-匿名回答

0-非匿名回答

| -| collectible.adoption | int |

是否被采纳

1-被采纳

0-未被采纳

| -| collectible.invited | int |

是否被邀请回答

1-被邀请

0-未被邀请

| -| collectible.comments_count | int | 评论数 | -| collectible.rewards_amount | int | 被打赏总额 | -| collectible.rewarder_count | int | 打赏者统计 | -| collectible.likes_count | int | 点赞数 | -| collectible.could | bool | 是否可以查看,当收藏的回答需要付费围观时出现该字段且值为false | diff --git a/docs/api-v2-question-answer-user-marrow-question.html b/docs/api-v2-question-answer-user-marrow-question.html new file mode 100644 index 0000000..5d98b1c --- /dev/null +++ b/docs/api-v2-question-answer-user-marrow-question.html @@ -0,0 +1,47 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-question-answer-user-marrow-question.md b/docs/api-v2-question-answer-user-marrow-question.md deleted file mode 100644 index 18822d9..0000000 --- a/docs/api-v2-question-answer-user-marrow-question.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: api-v2-question-answer-user-marrow-question -title: 用户 · 申请精选 ---- - -- [为一个问题申请精选](#为一个问题申请精选) - -## 为一个问题申请精选 - -``` -POST /api/v2/user/question-application/:question -``` - -### 响应 - -``` -Http Status 201 Created -``` - -```json5 -{ - "message": [ - "操作成功" - ] -} -``` diff --git a/docs/api-v2-question-answer-user-question-watch.html b/docs/api-v2-question-answer-user-question-watch.html new file mode 100644 index 0000000..ecafb9c --- /dev/null +++ b/docs/api-v2-question-answer-user-question-watch.html @@ -0,0 +1,113 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-question-answer-user-question-watch.md b/docs/api-v2-question-answer-user-question-watch.md deleted file mode 100644 index d8af67d..0000000 --- a/docs/api-v2-question-answer-user-question-watch.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -id: api-v2-question-answer-user-question-watch -title: 用户 · 关注问题 ---- - -- [获取关注的问题列表](#获取关注的问题列表) -- [关注一个问题](#关注一个问题) -- [取消关注一个问题](#取消关注一个问题) - -## 获取关注的问题列表 - -``` -GET /api/v2/user/question-watches -``` - -#### 参数 - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 默认 `20` ,获取列表条数,修正值 `1` - `30`。 | -| offset | integer | 默认 `0` ,数据偏移量,传递之前通过接口获取的总数。 | - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "user_id": 1, - "subject": "第一个提问?", - "body": null, - "anonymity": 0, - "amount": 0, - "automaticity": 1, - "look": 1, - "excellent": 0, - "status": 0, - "comments_count": 0, - "answers_count": 3, - "watchers_count": 0, - "likes_count": 0, - "view_count": 0, - "created_at": "2017-07-28 08:38:54", - "updated_at": "2017-08-01 06:03:21", - "user": { - "id": 1, - "name": "Seven", - "bio": "Seven 的个人传记", - "sex": 2, - "location": "成都 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-25 03:59:39", - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": "http://plus.io/storage/user-bg/000/000/000/01.png", - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 8, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-08-01 06:06:37", - "feeds_count": 0, - "questions_count": 5, - "answers_count": 3 - } - } - } -] -``` - -> 数据结构参考「问题」文档。 - -## 关注一个问题 - -``` -PUT /api/v2/user/question-watches/:question -``` - -#### 响应 - -``` -Status: 204 No Content -``` - -## 取消关注一个问题 - -``` -DELETE /api/v2/user/question-watches/:question -``` - -#### 响应 - -``` -Status: 204 No Content -``` diff --git a/docs/api-v2-question-answer.html b/docs/api-v2-question-answer.html new file mode 100644 index 0000000..ada54c9 --- /dev/null +++ b/docs/api-v2-question-answer.html @@ -0,0 +1,49 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-question-answer.md b/docs/api-v2-question-answer.md deleted file mode 100644 index cc89744..0000000 --- a/docs/api-v2-question-answer.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: api-v2-question-answer -title: 概述 ---- - -问答部分具有申请精选费用配置及微观答案费用配置,配置信息会在「启动信息」接口中提供,格式如下: - -```json5 -{ - "question:apply_amount": 200, // 申请精选所需支付金额 - "question:onlookers_amount": 100 // 围观答案所需支付金额 -} -``` - -### 获取问答基础配置 - -``` -GET /api/v2/question-configs -``` - -### 响应 - -```json5 -{ - "apply_amount": 200, // 申请精选费用 - "onlookers_amount": 100, // 围观费用 - "anonymity_rule": "匿名规则12321", // 匿名规则 - "reward_rule": null, // 悬赏规则,如果存在其内容为 Markdown -} -``` diff --git a/docs/api-v2-question-currency.html b/docs/api-v2-question-currency.html new file mode 100644 index 0000000..e1bbeeb --- /dev/null +++ b/docs/api-v2-question-currency.html @@ -0,0 +1,195 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-question-currency.md b/docs/api-v2-question-currency.md deleted file mode 100644 index 9129371..0000000 --- a/docs/api-v2-question-currency.md +++ /dev/null @@ -1,210 +0,0 @@ ---- -id: api-v2-question-currency -title: 问答部分积分相关新增接口 ---- - -- [发布问题](#发布问题) -- [更新问题](#更新问题) -- [设置问题悬赏](#设置问题悬赏) -- [删除问题](#删除问题) -- [申请问题精选](#申请问题精选) -- [回答问题](#回答问题) -- [采纳答案](#采纳答案) -- [围观答案](#围观答案) - -## 发布问题 - -``` -POST /currency-questions -``` - -#### 输入 - -| 字段 | 类型 | 描述 | -|:----:|:----:|----| -| subject | 字符串 | **必须**,问题主题或者说标题,不能超过 255 **字节** ,必须以 `?` 结尾。(不区分全角或者半角) | -| topics | 数组 | **必须**,绑定的话题,数组子节点必须符合 `{ "id": 1 }` 的格式。 | -| body | 字符串 | 问题描述。 | -| anonymity | 枚举:`0` 或者 `1` | 作者是风匿名发布。 | -| amount | 数字 | 问题价值,悬赏金额,积分 | -| look | 枚举:`0` 或者 `1` | 是否开启围观,当问题有采纳或者邀请人已回答,则对外部观众自动开启围观。设置围观必须设置悬赏金额。 | -| invitations | 数组 | 邀请回答,问题邀请回答的人,数组子节点必须符合 `{ "user": 1 }` 的格式,切不能存在自己。 | -| automaticity | 枚举:`0` 或者 `1` | 邀请悬赏自动入账,只邀请一个人的情况下,允许悬赏金额自动入账到被邀请回答者钱包中。 | -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -#### 响应 - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ], - "question": { - "subject": "再测试一个问题?", - "body": null, - "anonymity": 1, - "amount": 0, - "automaticity": 0, - "look": 0, - "user_id": 1, - "updated_at": "2017-08-01 06:06:37", - "created_at": "2017-08-01 06:06:37", - "id": 2 - } -} -``` - -## 更新问题 - -``` -PATCH /currency-questions/:question -``` - -#### 输入 - -| 字段 | 类型 | 描述 | -|:----:|:----:|----| -| subject | 字符串 | **当 `body` / `anonymity` / `topics` / `amount` 不存在时,`subject` 为必须**,问题主题或者说标题,不能超过 255 **字节** ,必须以 `?` 结尾。(不区分全角或者半角) | -| body | 字符串 | **当 `subject` / `anonymity` / `topics` / `amount` 不存在时,`body` 为必须**,问题描述。 | -| anonymity | `1` or `0` | **当 `subject` / `body` / `topics` / `amount` 不存在时,`anonymity` 为必须**,是否匿名。 | -| topics | 数组 | **当 `subject` / `anonymity` / `body` / `amount` 不存在时,`topics` 为必须**,问题关联话题,数组子节点必须符合 `{ "id": 1 }` 的格式。 | -| ammount | int | **当 `subject` / `anonymity` / `body` / `topics` 不存在时,`amount` 为必须**,悬赏金额。 | - -#### 响应 - -``` -Status: 204 No Content -``` - -## 设置悬赏 - -在没有采纳和邀请且未设置悬赏金额时,问题作者重新设置问题的悬赏 - -``` -PATCH /currency-questions/:question/amount -``` - -### 输入 - -| 字段 | 类型 | 描述 | -|:----:|:----:|------| -| amount | int | 悬赏金额,积分 | - -### 响应 - -``` -Status: 204 No Content -``` - -## 删除问题 - -``` -DELETE /currency-questions/:question -``` - -#### 响应 - -``` -Status: 204 No Content -``` - -## 申请问题精选 - -``` -POST /user/currency-question-application/:question -``` - -### 响应 - -``` -Http Status 201 Created -``` - -```json5 -{ - "message": [ - "操作成功" - ] -} -``` - -## 回答问题 - -``` -POST /currency-questions/:question/answers -``` - -#### 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----|----| -| body | String | **必须**,回答的内容,markdown。 | -| anonymity | Enum: `0` , `1` | 是否匿名。 | - -#### 响应 - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ], - "answer": { - "question_id": 1, - "user_id": 1, - "body": "哈哈,可以的。", - "anonymity": 1, - "invited": 0, - "updated_at": "2017-08-01 06:03:21", - "created_at": "2017-08-01 06:03:21", - "id": 3 - } -} -``` - -## 采纳答案 - -``` -PUT /api/v2/questions/:question/currency-adoptions/:answer -``` - -#### 响应 - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "操作成功" - ] -} -``` - -## 围观答案 - -``` -POST question-answers/:answer/currency-onlookers -``` - -### 响应 - -``` -Http Status 201 Created -``` - -```json5 -{ - "message": [ - "操作成功" - ], - "answer": { - ... // 回答内容 - } -} -``` diff --git a/docs/api-v2-report.html b/docs/api-v2-report.html new file mode 100644 index 0000000..94d9e59 --- /dev/null +++ b/docs/api-v2-report.html @@ -0,0 +1,60 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-report.md b/docs/api-v2-report.md deleted file mode 100644 index bad3116..0000000 --- a/docs/api-v2-report.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -id: api-v2-report -title: 举报 ---- - -- [举报一个用户](#举报一个用户) -- [举报一条评论](#举报一条评论) - -## 举报一个用户 - -``` -POST /report/users/:user -``` - -## 举报一条评论 - -``` -POST /report/comments/:comment -``` - -### 可选参数 - -| 名称 | 描述 | -|:----:|:-----| -| reason | 举报理由 | - -### 响应 - -``` -Http Status 201 -``` - -```json -{ - "message": [ - "操作成功" - ] -} -``` diff --git a/docs/api-v2-tags.html b/docs/api-v2-tags.html new file mode 100644 index 0000000..6852cba --- /dev/null +++ b/docs/api-v2-tags.html @@ -0,0 +1,69 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-tags.md b/docs/api-v2-tags.md deleted file mode 100644 index 2fa3793..0000000 --- a/docs/api-v2-tags.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -id: api-v2-tags -title: 标签 ---- - -## 获取所有标签 - -``` -GET /tags -``` - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "name": "分类1", - "weight": 5, - "tags": [ - { - "id": 1, - "name": "标签1", - "tag_category_id": 1, - "weight": 5 - } - ] - } -] -``` - -| 字段 | 描述 | -|:----:|----| -| id | 分类 ID | -| name | 分类名称 | -| weight | 分类权重,越大越靠前 | -| tags | 分类下所有标签 | -| tags.*.id | 标签 ID | -| tags.*.name | 标签名称 | -| tags.*.tag_category_id | 如同 `id` 一样,都是分类ID。| -| tags.*.weight | 权重值,值越大排序越靠前 | diff --git a/docs/api-v2-user-message.html b/docs/api-v2-user-message.html new file mode 100644 index 0000000..96b872b --- /dev/null +++ b/docs/api-v2-user-message.html @@ -0,0 +1,80 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-user-message.md b/docs/api-v2-user-message.md deleted file mode 100644 index 21104e1..0000000 --- a/docs/api-v2-user-message.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -id: api-v2-user-message -title: 消息 ---- - -## Unread message count(未读消息统计) - -``` -GET /user/counts -``` - -响应: -``` -Status: 200 OK -``` - -```json5 -{ - "user": { // 用户相关 - "following": 1, // 用户关注者新增(粉丝新增)数量 - "liked": 0, // 被点赞数 - "commented": 0, // 被评论数 - "system": 0, // 系统消息, - "news-comment-pinned": 0, // 置顶评论消息 - "feed-comment-pinned": 0, // 动态置顶消息 - "mutual": 0, // 其他消息 - "at": 2, // At 我的消息 - } -} -``` - -## At me(@我的) - -``` -GET /user/message/atme -``` - -请求查询参数: - -| Name | Type | Description | -|:----|:----|:----| -| `limit` | `integer` | **可选**,请求的数据条数,默认 `15`,允许范围 `1 - 100`。 | -| `index` | `integer` | **可选**,数据开始查找的位置标记,默认 `0`,来源响应体的 `id` 字段。 | -| `direction` | `enum` | **可选**,以 `index` 标记开始的数据顺序,默认 `desc`,允许值:`asc`/`desc`。 | - -响应: -``` -Status: 200 OK -``` - -```json5 -[ - { - "id": 1, // 消息 ID - "user_id": 1, // 消息接收人ID(当前用户ID) - "resourceable": { // 资源 - "type": "feeds", // 资源类型 - "id": 1 // 资源ID - }, - "created_at": "2018-08-13T08:06:54Z" // 消息创建时间 - } -] -``` diff --git a/docs/api-v2-users-certification.html b/docs/api-v2-users-certification.html new file mode 100644 index 0000000..8b96178 --- /dev/null +++ b/docs/api-v2-users-certification.html @@ -0,0 +1,149 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-users-certification.md b/docs/api-v2-users-certification.md deleted file mode 100644 index bba07b9..0000000 --- a/docs/api-v2-users-certification.md +++ /dev/null @@ -1,132 +0,0 @@ ---- -id: api-v2-users-certification -title: 身份认证 ---- - -- [申请认证](#申请认证) -- [更新认证](#更新认证) -- [获取授权用户的认证信息](#获取授权用户的认证信息) - -## 申请认证 - -``` -POST /user/certification -``` - -#### 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| type | String | **必须**, 认证类型,必须是 `user` 或者 `org`。 | -| files | Array\|Object | **必须**, 认证材料文件。必须是数组或者对象,value 为 文件ID。 | -| name | String | **必须**, 如果 `type` 是 `org` 那么就是负责人名字,如果 `type` 是 `user` 则为用户真实姓名。 | -| phone | String | **必须**, 如果 `type` 是 `org` 则为负责人联系方式,如果 `type` 是 `user` 则为用户联系方式。 | -| number | String | **必须**, 如果 `type` 是 `org` 则为营业执照注册号,如果 `type` 是 `user` 则为用户身份证号码。 | -| desc | String | **必须**,认证描述。 | -| org_name | String | 如果 `type` 为 `org` 则必须,企业或机构名称。 | -| org_address | String | 如果 `type` 为 `org` 则必须,企业或机构地址。 | - -example: -```json -{ - "type": "user", - "name": "Seven", - "phone": "xxxxxxxx", - "number": "aaaaaa", - "desc": "hahahah", - "files": [ 14, 15 ] -} -``` - -##### 响应 - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "申请成功,等待审核" - ] -} -``` - -## 更新认证 - -``` -PATCH /user/certification -``` - -#### 输入 - -| Name | Type | Description | -|:----:|:----:|----| -| type | String | 认证类型,必须是 `user` 或者 `org`。 | -| files | Array\|Object | 认证材料文件。必须是数组或者对象,value 为 文件ID。 | -| name | String | 如果 `type` 是 `org` 那么就是负责人名字,如果 `type` 是 `user` 则为用户真实姓名。 | -| phone | String | 如果 `type` 是 `org` 则为负责人联系方式,如果 `type` 是 `user` 则为用户联系方式。 | -| number | String | 如果 `type` 是 `org` 则为营业执照注册号,如果 `type` 是 `user` 则为用户身份证号码。 | -| desc | String | 备注 | -| org_name | String | 企业或机构名称。 | -| org_address | String | 企业或机构地址。 | - -##### 响应 - -``` -Status: 201 Created -``` -```json -{ - "message": [ - "修改成功,等待审核" - ] -} -``` - -## 获取授权用户的认证信息 - -``` -GET /user/certification -``` - -#### 响应 - -``` -Status: 200 OK -``` -```json -{ - "id": 1, - "certification_name": "user", - "user_id": 1, - "data": { - "name": "杜伟", - "phone": "18781993582", - "number": "xxxxxxxxxx", - "desc": "hahaha", - "files": [ 12 ], - "org_name": "之一程序", - "org_address": null - }, - "examiner": 0, - "status": 0, - "created_at": "2017-07-22 06:22:49", - "updated_at": "2017-07-22 06:45:57", - "icon": null, - "category": { - "name": "user", - "display_name": "个人认证", - "description": null - } -} -``` -| 名称 | 描述 | -|:----:|----| -| certification_name | 认证类型名称 | -| data | 认证数据。 | -| examiner | 处理的用户 ID。 | -| status | 0 - 待审核, 1 - 通过, 2 - 拒绝。 | -| created_at | 申请时间。 | -| updated_at | 修改时间 | -| category | 认证分类数据。 | -| icon | 认证图标。 | diff --git a/docs/api-v2-users-checkin.html b/docs/api-v2-users-checkin.html new file mode 100644 index 0000000..cdbfa09 --- /dev/null +++ b/docs/api-v2-users-checkin.html @@ -0,0 +1,197 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-users-checkin.md b/docs/api-v2-users-checkin.md deleted file mode 100644 index 8efaef4..0000000 --- a/docs/api-v2-users-checkin.md +++ /dev/null @@ -1,195 +0,0 @@ ---- -id: api-v2-users-checkin -title: 签到 ---- - -- [签到开关状态](#签到开关状态) -- [获取签到信息](#获取签到信息) -- [签到](#签到) -- [累计签到排行榜](#累计签到排行榜) -- [新版签到](#新版签到) - -## 签到开关状态 - -签到应用具有开关性质,管理员可从后台控制签到是否被开启或者关闭,而开关会在「启动信息」接口中提供。提供格式如下: - -```json5 -{ - "checkin": true - // Or - "checkin": false -} -``` - -签到金额格式: - -```json5 -{ - "checkin:attach_balance": 0 -} -``` -> 金额为0时表示未配置 - -但是特殊情况除外,就是管理员开启了签到功能,但是并没有配置签到奖励,那么则会在「[签到](#签到)」接口中返回 HTTP Status Code 为 `403` 并提示,但是 `403` 状态还有一种情况在「[签到](#签到)」接口中返回,用户已签到也会返回 `403` 状态提示没有权限操作。 - -## 获取签到信息 - -``` -GET /user/checkin -``` - -#### 响应 - -``` -Status: 200 OK -``` -```json -{ - "rank_users": [ - { - "id": 1, - "name": "Seven", - "bio": "Seven 的个人传记", - "sex": 2, - "location": "成都 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-25 03:59:39", - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": "http://plus.io/storage/user-bg/000/000/000/01.png", - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 8, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-08-11 01:32:36", - "feeds_count": 0, - "questions_count": 5, - "answers_count": 3, - "checkin_count": 2, - "last_checkin_count": 2 - } - } - ], - "checked_in": true, - "checkin_count": 2, - "last_checkin_count": 2, - "attach_balance": 0 -} -``` - -| 字段 | 描述 | -|:----:|----| -| rank_users | 当日前五签到用户,按照签到时间顺序排列。(参考「用户资料」接口文档) | -| checked_in | 当前用户是否已签到。 | -| checkin_count | 当前用户签到总天数。 | -| last_checkin_count | 当前用户连续签到天数。 | -| attach_balance | 签到用户积分增加值,单位是真实货币「分」单位。 | - - -## 签到 - -``` -PUT /user/checkin -``` - -#### 响应 - -``` -Status: 204 No Content -``` - -## 累计签到排行榜 - -``` -GET /checkin-ranks -``` - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| offset | Integer | 数据偏移数,默认为 `0`。 | -| limit | Integer | 查询数据条数 | - -#### 响应 - -``` -Status: 200 OK -``` -``` -[ - { - "id": 1, - "name": "Seven", - "bio": "Seven 的个人传记", - "sex": 2, - "location": "成都 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-25 03:59:39", - "follwing": false, - "follower": false, - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": "http://plus.io/storage/user-bg/000/000/000/01.png", - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 8, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-08-11 01:32:36", - "feeds_count": 0, - "questions_count": 5, - "answers_count": 3, - "checkin_count": 2, - "last_checkin_count": 2 - } - }, - { - "id": 2, - "name": "test1", - "bio": null, - "sex": 0, - "location": "0", - "created_at": "2017-06-12 07:38:55", - "updated_at": "2017-06-12 07:38:55", - "follwing": true, - "follower": false, - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 2, - "likes_count": 0, - "comments_count": 0, - "followers_count": 0, - "followings_count": 0, - "updated_at": null, - "feeds_count": 0, - "questions_count": 0, - "answers_count": 0, - "checkin_count": 0, - "last_checkin_count": 0 - } - } -] -``` - -> 数据结构参考「用户」接口用户资料。 - -## 新版签到 - -增加对应的积分 - -``` -PUT /user/checkin/currency -``` - -#### 响应 - -``` -Status: 204 No Content -``` - diff --git a/docs/api-v2-users-comments.html b/docs/api-v2-users-comments.html new file mode 100644 index 0000000..4dd0f37 --- /dev/null +++ b/docs/api-v2-users-comments.html @@ -0,0 +1,99 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-users-comments.md b/docs/api-v2-users-comments.md deleted file mode 100644 index fffca6b..0000000 --- a/docs/api-v2-users-comments.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -id: api-v2-users-comments -title: 收到的评论 ---- - -``` -GET /user/comments -``` - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | 整数 |获取的条数,默认 `20`。 | -| after | 整数 | 传递上次获取的最后一条 `id`。 | - -##### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 3, - "user_id": 1, - "target_user": 1, - "reply_user": 0, - "body": "我是第三条评论", - "commentable_id": 1, - "commentable_type": "feeds", - "created_at": "2017-07-20 08:53:24", - "updated_at": "2017-07-20 08:53:24", - "commentable": { - "id": 1, - "user_id": 1, - "feed_content": "动态内容", - "feed_from": 1, - "like_count": 1, - "feed_view_count": 0, - "feed_comment_count": 6, - "feed_latitude": null, - "feed_longtitude": null, - "feed_geohash": null, - "audit_status": 1, - "feed_mark": 1, - "pinned": 0, - "created_at": "2017-06-27 07:04:32", - "updated_at": "2017-07-20 08:53:24", - "deleted_at": null, - "pinned_amount": 0, - "images": [], - "paid_node": null - } - } -] -``` - -| 字段 | 描述 | -|:----:|-----| -| id | 评论 ID。| -| user_id | 发布评论的人。| -| target_user | 接收评论的目标用户。| -| reply_user | 评论回复的人,没有回复人时该值为0 | -| body | 评论内容 | -| commentable_id | 评论来源资源 ID,根据 `commentable_type` 判断是来自何处。| -| commentable_type | 评论所属资源类型。| -| created_at | 评论创建时间。| -| updated_at | 评论更新时间。| -| commentable | 评论来源资料,如果来源被删除,则为 `null`。| diff --git a/docs/api-v2-users-feedback.html b/docs/api-v2-users-feedback.html new file mode 100644 index 0000000..a34f0cc --- /dev/null +++ b/docs/api-v2-users-feedback.html @@ -0,0 +1,126 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-users-feedback.md b/docs/api-v2-users-feedback.md deleted file mode 100644 index 3249490..0000000 --- a/docs/api-v2-users-feedback.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -id: api-v2-users-feedback -title: 反馈 ---- - -- [发送意见反馈](#发送意见反馈) -- [获取系统会话列表](#获取系统会话列表) - -## 发送意见反馈 - -``` -POST /api/v2/user/feedback -``` - -### 输入 -| 名称 | 类型 | 描述 | -|:----:|:----:|------| -| content | string | 反馈内容 | -| system_mark | int | 移动端标记,非必填 ,格式为uid+毫秒时间戳| - -### 响应 - -``` -Status 201 Created -``` - -```json5 -{ - "message": [ - "反馈成功" - ], - "data": { - "type": "feedback", - "content": "baishi", - "user_id": 1, - "system_mark": 1503369076000, - "updated_at": "2017-08-22 02:31:16", - "created_at": "2017-08-22 02:31:16", - "id": 2 - } -} -``` - -## 获取系统会话列表 - -``` -GET /api/v2/conversations -``` -## 请求方式 - -``` -GET -``` - -## 请求体 - -| name | must | description | -|----------|:--------:|:--------:| -|max_id | no | 用于分页的数据id | -|limit | no | 每页显示条数 | - -### HTTP Status Code - -200 - -## 返回体 - -``` -[ - { - "id": 2, - "type": "feedback", - "user_id": 1, - "to_user_id": 0, - "content": "baishi", - "options": null, - "system_mark": 1503369076000, - "created_at": "2017-08-22 02:31:16", - "updated_at": "2017-08-22 02:31:16" - }, - { - "id": 1, - "type": "feedback", - "user_id": 1, - "to_user_id": 0, - "content": "baishi", - "options": null, - "system_mark": 1503368650000, - "created_at": "2017-08-22 02:24:10", - "updated_at": "2017-08-22 02:24:10" - } -] -``` - -## 返回字段 - -|name | type | must | description | -|-----------|:--------:|:--------:|:-----------:| -|id | int | yes | 数据id | -|type | string | yes | 会话类型 system-系统通知 feedback-用户意见反馈 | -|user_id | int | yes | 发送者id 系统通知时为0 | -|to_user_id | int | yes | 接收者id 系统广播通知及意见反馈时为0 | -|content | Text | yes | 内容 | -|options | Text | yes | 系统通知额外扩展参数 | -|system_mark | int | yes | 移动端存储标记 | - diff --git a/docs/api-v2-users-find-people.html b/docs/api-v2-users-find-people.html new file mode 100644 index 0000000..5b6af5b --- /dev/null +++ b/docs/api-v2-users-find-people.html @@ -0,0 +1,312 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-users-find-people.md b/docs/api-v2-users-find-people.md deleted file mode 100644 index 6313fb3..0000000 --- a/docs/api-v2-users-find-people.md +++ /dev/null @@ -1,317 +0,0 @@ ---- -id: api-v2-users-find-people -title: 找人 ---- - -- [热门用户](#热门用户) -- [最新用户](#最新用户) -- [推荐用户(按标签及后台推荐)](#推荐用户) -- [搜索用户](#搜索用户) - -## 后台推荐用户 - -``` -get /user/recommends -``` - -## 输入 -> 每次最多查询200个推荐 - -#### Response - -``` -Status: 200 OK -``` -```json -[ - { - "id": 2, - "name": "wayne", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-08-06 04:46:13", - "updated_at": "2017-08-07 04:06:56", - "following": false, - "follower": false, - "avatar": "http://192.168.2.104/api/v2/users/2/avatar", - "bg": null, - "verified": null, - "extra": { - "user_id": 2, - "likes_count": 0, - "comments_count": 23, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-07 09:55:50", - "feeds_count": 0, - "questions_count": 1, - "answers_count": 0 - } - } -] -``` - -## 热门用户 - -``` -get /user/populars -``` - -## 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | integer | 每页数量 | -| offset | integer | 偏移量, 注: 此参数为之前获取数量的总和 | - -#### Response - -``` -Status: 200 OK -``` -```json -[ - { - "id": 2, - "name": "wayne", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-08-06 04:46:13", - "updated_at": "2017-08-07 04:06:56", - "following": false, - "follower": false, - "avatar": "http://192.168.2.104/api/v2/users/2/avatar", - "bg": null, - "verified": null, - "extra": { - "user_id": 2, - "likes_count": 0, - "comments_count": 23, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-07 09:55:50", - "feeds_count": 0, - "questions_count": 1, - "answers_count": 0 - } - } -] -``` - -## 最新用户 - -``` -get /user/latests -``` - -## 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | integer | 每页数量 | -| offset | integer | 偏移量, 注: 此参数为之前获取数量的总和 | - -#### Response - -``` -Status: 200 OK -``` -```json -[ - { - "id": 2, - "name": "wayne", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-08-06 04:46:13", - "updated_at": "2017-08-07 04:06:56", - "following": false, - "follower": false, - "avatar": "http://192.168.2.104/api/v2/users/2/avatar", - "bg": null, - "verified": null, - "extra": { - "user_id": 2, - "likes_count": 0, - "comments_count": 23, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-07 09:55:50", - "feeds_count": 0, - "questions_count": 1, - "answers_count": 0 - } - } -] -``` - -## 推荐用户 - -``` -get /user/find-by-tags -``` - -## 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | integer | 每页数量 | -| offset | integer | 偏移量, 注: 此参数为之前获取数量的总和 | - -> 根据用户标签来推荐用户,未登录则返回空数组 - -#### Response - -``` -Status: 200 OK -``` - -##### 未登录返回数据 -``` -[] -``` - -##### 登录后返回数据 -```json -[ - { - "id": 2, - "name": "wayne", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-08-06 04:46:13", - "updated_at": "2017-08-07 04:06:56", - "following": false, - "follower": false, - "avatar": "http://192.168.2.104/api/v2/users/2/avatar", - "bg": null, - "verified": null, - "extra": { - "user_id": 2, - "likes_count": 0, - "comments_count": 23, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-07 09:55:50", - "feeds_count": 0, - "questions_count": 1, - "answers_count": 0 - } - } -] -``` - -## 搜索用户 - -``` -get /user/search -``` - -## 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | integer | 每页数量 | -| offset | integer | 偏移量, 注: 此参数为之前获取数量的总和 | -| keyword | string | 关键字, 查找分页时也为必填项 | - -#### Request - -http://test-plus.zhibocloud.cn/api/v2/user/search?keyword=用户名 - -#### Response - -``` -Status: 200 OK -``` -```json -[ - { - "id": 2, - "name": "wayne", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-08-06 04:46:13", - "updated_at": "2017-08-07 04:06:56", - "following": false, - "follower": false, - "avatar": "http://192.168.2.104/api/v2/users/2/avatar", - "bg": null, - "verified": null, - "extra": { - "user_id": 2, - "likes_count": 0, - "comments_count": 23, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-07 09:55:50", - "feeds_count": 0, - "questions_count": 1, - "answers_count": 0 - } - } -] -``` - -## 搜索用户 - -``` -post /user/find-by-phone -``` - -## 输入 - -- 单次请求手机数量不超过100条 - -#### Request - -{ - "phones": [ - 18877778888, - 18999998888, - 17700001111 - ] -} - -#### Response - -``` -Status: 200 OK -``` -```json -[ - { - "id": 2, - "name": "wayne", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-08-06 04:46:13", - "updated_at": "2017-08-07 04:06:56", - "mobi": "18908019700", - "following": false, - "follower": false, - "avatar": "http://192.168.2.104/api/v2/users/2/avatar", - "bg": null, - "verified": null, - "extra": { - "user_id": 2, - "likes_count": 0, - "comments_count": 23, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-07 09:55:50", - "feeds_count": 0, - "questions_count": 1, - "answers_count": 0 - } - } -] -``` - -- 返回体中 手机号码字段为 [mobi] diff --git a/docs/api-v2-users-followers.html b/docs/api-v2-users-followers.html new file mode 100644 index 0000000..3c3c05a --- /dev/null +++ b/docs/api-v2-users-followers.html @@ -0,0 +1,146 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-users-followers.md b/docs/api-v2-users-followers.md deleted file mode 100644 index c6304bb..0000000 --- a/docs/api-v2-users-followers.md +++ /dev/null @@ -1,145 +0,0 @@ ---- -id: api-v2-users-followers -title: 关注 ---- - -- [列出一个用户的关注者](#列出一个用户的关注者) -- [列出用户正在关注的人](#列出用户正在关注的人) -- [关注一个用户](#关注一个用户) -- [取消关注一个用户](#取消关注一个用户) - -## 列出一个用户的关注者 - -列出一个用户的关注者: - -``` -GET /users/:user/followers -``` - -列出授权用户的关注者: - -``` -GET /user/followers -``` - -### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 获取条数,默认 20 | -| offset | Integer | 翻页偏移量,默认 0 | - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "name": "Seven", - "bio": "Seven 的个人传记", - "sex": 2, - "location": "成都 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-25 03:59:39", - "following": false, - "follower": false, - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": "http://plus.io/storage/user-bg/000/000/000/01.png", - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 8, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-08-01 06:06:37", - "feeds_count": 0, - "questions_count": 5, - "answers_count": 3 - } - } -] -``` - -## 列出用户正在关注的人 - -列出一个用户正在关注的人: - -``` -GET /users/:user/followings -``` - -列出用户授权用户正在关注的人 - -``` -GET /user/followings -``` - -### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 获取条数,默认 20 | -| offset | Integer | 翻页偏移量,默认 0 | - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "name": "Seven", - "bio": "Seven 的个人传记", - "sex": 2, - "location": "成都 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-25 03:59:39", - "following": false, - "follower": false, - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": "http://plus.io/storage/user-bg/000/000/000/01.png", - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 8, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-08-01 06:06:37", - "feeds_count": 0, - "questions_count": 5, - "answers_count": 3 - } - } -] -``` - -## 关注一个用户 - -``` -PUT /user/followings/:user -``` - -#### 响应 - -``` -Status: 204 No Content -``` - -## 取消关注一个用户 - -``` -DELETE /user/followings/:user -``` - -#### 响应 - -``` -Status: 204 No Content -``` diff --git a/docs/api-v2-users-likes.html b/docs/api-v2-users-likes.html new file mode 100644 index 0000000..e52a728 --- /dev/null +++ b/docs/api-v2-users-likes.html @@ -0,0 +1,79 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-users-likes.md b/docs/api-v2-users-likes.md deleted file mode 100644 index 0a36dbd..0000000 --- a/docs/api-v2-users-likes.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -id: api-v2-users-likes -title: 收到的喜欢 ---- - - -``` -GET /user/likes -``` - -### Parameters - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | Integer | 获取条数,默认 20 | -| after | Integer | 获取之后数据,默认 0 | - -#### Response - -``` -Status: 20 OK -``` - -```json5 -[ - { - "id": 2, // 点赞标识 - "user_id": 1, // 点赞用户 - "target_user": 1, // 接收用户(你能收到就是因为这个ID就是你) - "likeable_id": 1, // 赞来源ID - "likeable_type": "feeds", // 赞来源 feeds 表示来自动态,所以 likeable_id 就是动态ID,目前预留参数 feeds-动态 news-资讯 - "created_at": "2017-07-12 08:09:07", // 赞时间 - "updated_at": "2017-07-12 08:09:07", // 更新时间 - "likeable": { // 如同 likeable_id 这里也是根据 likeable_type 返回不同来源数据,例如为 feeds 这里则为动态数据。 - "id": 1, - "user_id": 1, - "feed_content": "动态内容", - "feed_from": 1, - "like_count": 1, - "feed_view_count": 0, - "feed_comment_count": 3, - "feed_latitude": null, - "feed_longtitude": null, - "feed_geohash": null, - "audit_status": 1, - "feed_mark": 1, - "pinned": 0, - "created_at": "2017-06-27 07:04:32", - "updated_at": "2017-07-11 09:53:21", - "deleted_at": null, - "pinned_amount": 0, - "images": [] - } - } -] -``` diff --git a/docs/api-v2-users-ranks.html b/docs/api-v2-users-ranks.html new file mode 100644 index 0000000..61e2774 --- /dev/null +++ b/docs/api-v2-users-ranks.html @@ -0,0 +1,213 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-users-ranks.md b/docs/api-v2-users-ranks.md deleted file mode 100644 index 98730f3..0000000 --- a/docs/api-v2-users-ranks.md +++ /dev/null @@ -1,188 +0,0 @@ ---- -id: api-v2-users-ranks -title: 排行榜 ---- - -- [获取全站粉丝排行](#获取全站粉丝排行) -- [获取财富达人排行](#获取财富达人排行) -- [获取全站收入排行](#获取全站收入排行) - -## 获取全站粉丝排行 - -根据全站的用户粉丝数进行的排序 - -``` -GET /ranks/followers -``` - -## 传入参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| limit | int | - | 数据返回条数 默认10条 | -| offset | int | - | 偏移量 默认为0 | - -## 响应 - -``` -Http Status 200 Ok -``` - -```json5 -[ - { - "id": 1, - "name": "baishi", - "bio": null, - "sex": 1, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-08-09 10:09:28", - "following": false, - "follower": false, - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19, - "count": 0, - "rank": 1 - } - } -] -``` - -### 返回参数 -| 名称 | 类型 | 说明 | -|:----:|:-----|------| -| extra.count | int | 粉丝数 | -| extra.rank | int | 排行 | - -> 其他数据结构参考「用户」接口用户资料 - -## 获取财富达人排行 - -根据全站的钱包余额进行的排序 - -``` -GET /ranks/balance -``` - -## 传入参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| limit | int | - | 数据返回条数 默认10条 | -| offset | int | - | 偏移量 默认为0 | - -## 响应 - -``` -Http Status 200 Ok -``` - -```json5 -[ - { - "id": 1, - "name": "baishi", - "bio": null, - "sex": 1, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-08-09 10:09:28", - "following": false, - "follower": false, - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19, - "rank": 1 - } - } -] -``` - -### 返回参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|------| -| extra.rank | int | 排行 | - -> 其他数据结构参考「用户」接口用户资料 -## 获取全站收入排行 - -根据全站的收入记录总额进行的排序 - -``` -GET /ranks/income -``` - -## 传入参数 - -| 名称 | 类型 | 必填 | 说明 | -|:----:|:-----|:----:|------| -| limit | int | - | 数据返回条数 默认10条 | -| offset | int | - | 偏移量 默认为0 | - -## 响应 - -``` -Http Status 200 Ok -``` - -```json5 -[ - { - "id": 1, - "name": "baishi", - "bio": null, - "sex": 1, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-08-09 10:09:28", - "following": false, - "follower": false, - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 1, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-17 07:05:06", - "feeds_count": 0, - "questions_count": 0, - "answers_count": 19, - "rank": 1 - } - } -] -``` - -### 返回参数 - -| 名称 | 类型 | 说明 | -|:----:|:-----|------| -| extra.rank | int | 排行 | - -> 其他数据结构参考「用户」接口用户资料 diff --git a/docs/api-v2-users-register.html b/docs/api-v2-users-register.html new file mode 100644 index 0000000..722cac8 --- /dev/null +++ b/docs/api-v2-users-register.html @@ -0,0 +1,57 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-users-register.md b/docs/api-v2-users-register.md deleted file mode 100644 index 39e2adc..0000000 --- a/docs/api-v2-users-register.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -id: api-v2-users-register -title: 注册 ---- - -``` -POST /users -``` - -### 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| name | 字符串 | **必须**,用户名 | -| phone | 字符串 | **如果 `verifiable_type` 为 `sms` 则必须**, 手机号码。 | -| email | String | **如果 `verifiable_type` 为 `mail` 则必须**, E-Mail。 | -| password | String | **可选**,密码,如果不输入密码,允许用户无密码注册。 | -| verifiable_type | 枚举: `mail` 或 `sms` | **必须**,验证码发送模式。 | -| verifiable_code | 字符串或数字 | **必须**,用户收到的验证码。 | - -#### 响应 - -``` -Status: 201 Created -``` -```json -{ - "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjEsImlzcyI6Imh0dHA6Ly9wbHVzLmlvL2FwaS92Mi90b2tlbnMiLCJpYXQiOjE1MDAzNjU5MzQsImV4cCI6MTUwMTU3NTUzNCwibmJmIjoxNTAwMzY1OTM0LCJqdGkiOiJ1aXlvdTQwNnJsdU9pa3l3In0.OTM4mbH3QW7busunRsFUsheE5vysuIfrBrwjWnd0J6k", - "ttl": 20160, - "refresh_ttl": 40320 -} -``` diff --git a/docs/api-v2-users-reward.html b/docs/api-v2-users-reward.html new file mode 100644 index 0000000..123a8d3 --- /dev/null +++ b/docs/api-v2-users-reward.html @@ -0,0 +1,80 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-users-reward.md b/docs/api-v2-users-reward.md deleted file mode 100644 index 13acf49..0000000 --- a/docs/api-v2-users-reward.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -id: api-v2-users-reward -title: 打赏用户 ---- -- [打赏一个用户](#打赏一个用户) -- [新版打赏一个用户](#新版打赏一个用户) - -## 打赏一个用户 - -``` -POST /user/:user/rewards -``` - -### 请求参数 -| 名称 | 说明 | -|:----:|------| -| amount | 金额 | -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -#### 响应 - -``` -Status: 201 Created -``` - -```json5 -{ - "message": [ - "打赏成功" - ] -} -``` - -## 新版打赏一个用户 - -``` -POST /user/:user/new-rewards -``` - -### 请求参数 -| 名称 | 说明 | -|:----:|------| -| amount | 金额 | -| `password` | `string` | **根据启动信息决定是否传递**,用户密码,支付需要用户输入密码进行付费支付。) | - -#### 响应 - -``` -Status: 201 Created -``` - -```json5 -{ - "message": [ - "打赏成功" - ] -} -``` diff --git a/docs/api-v2-users-tags.html b/docs/api-v2-users-tags.html new file mode 100644 index 0000000..984725f --- /dev/null +++ b/docs/api-v2-users-tags.html @@ -0,0 +1,77 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-users-tags.md b/docs/api-v2-users-tags.md deleted file mode 100644 index 8c1ad80..0000000 --- a/docs/api-v2-users-tags.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -id: api-v2-users-tags -title: 标签 ---- - -- [获取一个用户的标签](#获取一个用户的标签) -- [获取当前认证用户的标签](#获取当前认证用户的标签) -- [当前认证用户附加一个标签](#当前认证用户附加一个标签) -- [当前认证用户分离一个标签](#当前认证用户分离一个标签) - -## 获取一个用户的标签 - -``` -GET /users/:user/tags -``` - -## 获取当前认证用户的标签 - -``` -GET /user/tags -``` - -#### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "name": "标签1", - "tag_category_id": 1 - } -] -``` - -| 字段 | 描述 | -|:----:|----| -| id | 标签 ID。 | -| name | 标签名称 | -| tag_category_id | 标签分类 ID | - -## 当前认证用户附加一个标签 - -``` -PUT /user/tags/:tag -``` - -#### 响应 - -``` -Status: 204 No Content -``` - -## 当前认证用户分离一个标签 - -``` -DELETE /user/tags/:tag -``` - -#### 响应 - -``` -Status: 204 No Content -``` diff --git a/docs/api-v2-users-unread-notification.html b/docs/api-v2-users-unread-notification.html new file mode 100644 index 0000000..e88f784 --- /dev/null +++ b/docs/api-v2-users-unread-notification.html @@ -0,0 +1,119 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-users-unread-notification.md b/docs/api-v2-users-unread-notification.md deleted file mode 100644 index 668fac8..0000000 --- a/docs/api-v2-users-unread-notification.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -id: api-v2-users-unread-notification -title: 未读消息 ---- - -- 该未读消息接口记录不含在通知内的消息,如当前用户收到的评论、点赞和未处理的审核等,调用相应的列表和操作接口,讲自动清零 - -``` -GET /user/unread-count -``` - -#### Response - -``` -Status: 200 OK -``` -```json5 -{ - "counts": { - "user_id": 1, - "unread_comments_count": 0, - "unread_likes_count": 0, - "created_at": "2017-10-19 15:07:46", - "updated_at": "2017-10-19 15:07:46" - }, - "atme": { - "users": ["root"], // At 我的用户预览列表 - "latest_at": "2018-08-13T08:06:54Z" // 最近 at 我的时间 - }, - "comments": [ - { - "user_id": 2, - "id": 14, - "time": "2017-09-15 07:37:13", - "user": { - "id": 2, - "name": "root1", - "bio": null, - "sex": 0, - "location": null, - "created_at": "2017-07-31 03:16:19", - "updated_at": "2017-07-31 03:16:19", - "avatar": null, - "bg": null, - "verified": null, - "extra": { - "user_id": 2, - "likes_count": 2, - "comments_count": 9, - "followers_count": 0, - "followings_count": 0, - "updated_at": "2017-08-21 08:39:43", - "feeds_count": 0, - "questions_count": 1, - "answers_count": 19, - "checkin_count": 0, - "last_checkin_count": 0 - } - } - } - ], - "likes": [], - "pinneds": { - "news": { - "time": null, - "count": 0 - }, - "feeds": { - "time": "2017-09-15 10:04:19", - "count": 1 - } - }, - "system": { - ... // 参考系统消息列表接口 - } -} -``` - -### 响应 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| counts | Object | 用户未读消息统计,未产生任何记录时为null | -| counts.unread_comments_count | int | 未读评论数 | -| counts.unread_likes_count | int | 未读点赞数 | -| comments | array | 最近几条评论信息 | -| comments.time | time | 评论时间 | -| comments.user | array | 评论者信息 | -| likes | array | 最近几条点赞信息,数据格式同评论 | -| pinneds | array | 未处理审核统计, 目前可能有 `news` - 未处理的资讯评论置顶, `feeds` - 未处理的动态评论置顶 | -| pinneds.*.time | time/null | 最新一条待审核记录的时间 | -| pinneds.*.count | int | 未操作审核数 | -| system | Object | 最新的系统消息 | diff --git a/docs/api-v2-users.html b/docs/api-v2-users.html new file mode 100644 index 0000000..93d8c9a --- /dev/null +++ b/docs/api-v2-users.html @@ -0,0 +1,252 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-users.md b/docs/api-v2-users.md deleted file mode 100644 index 8a1dc16..0000000 --- a/docs/api-v2-users.md +++ /dev/null @@ -1,257 +0,0 @@ ---- -id: api-v2-users -title: 用户 ---- - -## 获取一个用户 - -获取指定用户: - -``` -GET /users/:user -``` - -变量: - -| 变量 | 描述 | -| `user` | 这个变量可以是「用户名」、「邮箱」、「手机号码」和「用户ID」 | - -#### 参数 - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| following | Integer | 检查请求用户是否关注了指定的用户,传递要检查的用户 ID,默认为当前登录用户。 | -| follower | Integer | 检查请求用户是否被某个用户关注,传递要检查的用户 ID,默认为当前登录用户。 | - -获取当前认证用户: - -``` -GET /user -``` - -##### 响应 - -``` -Status: 200 OK -``` - -```json5 -{ - "id": 1, // 用户 ID - "name": "创始人", // 用户名 - "phone": "18364758373", // 用户手机号码,仅获取自己资料 - "email": "shiweidu@outlook.com", // 用户邮箱,仅获取自己资料 - "bio": "我是大管理员", // 用户描述 - "sex": 0, // 用户性别,1 男,2 女,0 未知 - "location": "成都市 四川省 中国", // 用户地区 - "created_at": "2017-06-02 08:43:54",// 用户注册时间 - "updated_at": "2017-07-06 07:04:06",// 用户最后一次更新资料时间 - "avatar": { // 用户头像 - "vendor": "local", - "url": "https://xxxxx", - "mize": "image/png", - "size": 8674535, - "dimension": { - "width": 240, - "height": 240, - } - }, - "bg": null, // 同 `avatar` 字段 - "extra": { // 用户拓展信息 - "user_id": 1, - "likes_count": 0, // 喜欢数量 - "comments_count": 0, // 评论数量 - "followers_count": 0, // 关注者数量 - "followings_count": 1, // 关注的人数量 - "updated_at": "2017-07-16 09:44:25", - "feeds_count": 0 // 动态数量 - }, - "wallet": { // 钱包信息,仅获取自己资料存在 - "id": 1, - "user_id": 1, - "balance": 90, // 钱包余额 - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-05 08:29:49", - "deleted_at": null - }, - "new_wallet": { // 钱包信息,仅获取自己资料存在 - "owner_id": 1, - "balance": 1000, // 钱包余额 - "total_income": 100, // 收入统计 - "total_expenses": 100, // 支出统计 - "created_at": "2018-01-22 10:05:44", - "updated_at": "2018-01-22 10:05:45" - }, - "currency": { // 积分信息,仅获取自己资料存在 - "owner_id": 1, - "type": 1, // 积分类型 - "sum": 9400, // 积分数量 - "created_at": "2018-01-17 06:57:18", - "updated_at": "2018-01-18 06:57:24" - } -} -``` - -## 更新认证用户资料 - -- [更新认证用户的手机号码和邮箱](#更新认证用户的手机号码和邮箱) -- [更新认证用户密码](#更新认证用户密码) - -``` -PATCH /user -``` - -#### 输入 - -| 字段 | 类型 | 描述 | -|:----:|:----:|----| -| name | 字符串 | 用户新的用户名。 | -| bio | 字符串 | 用户新的个人传记。 | -| sex | 数字 | 用户新的性别。 | -| location | 字符串 | 用户新的位置信息。 | -| `avatar` | `FILE_STORAGE_NODE` | **可选**,用户头像的 File node 值 | -| `bg` | `FILE_STORAGE_NODE` | **可选**,用户背景图片的 File node 值 | - -##### 响应 - -``` -Status: 204 No Content -``` - -### 更新认证用户的手机号码和邮箱 - -``` -PUT /user -``` - -#### 输入 - -| 字段 | 类型 | 描述 | -|:----:|:----:|----| -| phone | 字符串 | **如果 `email` 不存在则必须**,用户新的手机号码。 | -| email | 字符串 | **如果 `phone` 不存在则必须**,用户新的邮箱地址。 | -| verifiable_code | 字符串或者数字 | **必须**,验证码。 | - -##### 响应 - -``` -Status: 204 No Content -``` - -### 更新认证用户密码 - -``` -PUT /user/password -``` - -#### 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| old_password | 字符串 | **用户已设置密码时必须**,用户密码。 | -| password | 字符串 | **必须**,用户的新密码 | -| password_confirmation | 字符串 | **必须**,用户的新密码,必须和 `password` 一致。 | - -##### 响应 - -``` -Status: 204 No Content -``` - -## 获取所有用户 - -``` -GET /users -``` - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| `limit` | `integer` | **可选**,请求获取的数据量,默认为 `20` 条,最低获取 `1` 条,最多获取 `50` 条。 | -| `order` | `string` | **可选**,排序方式,默认 `desc`,可选 `asc` 或 `desc`。 | -| `since` | `integer` | **可选**,上次请求的最后一条的 `id` ,用于获取这个用户之后的数据。 | -| `name` | `string` | **可选**用于检索包含 `name` 传递字符串用户名的用户;如果 `fetch_by` 是 `username` 那么这里就是完整的用户名,多个用户名使用 `,` 进行分割。 | -| `fetch_by` | `string` | **可选**,获取数据的方式,默认是 `id` 已常规方式进行获取,允许值:`username` 使用 `name` 字段进行按照用户名获取、`id` 使用 `id` 字段按照用户 ID 进行获取。 | -| `id` | `integer` or `string` | **可选**,获取一个或者多个指定的用户,如果获取多个请使用 `,` 将用户 ID进行字符串拼接。 | - -##### 响应 - -``` -Status: 200 OK -``` -```json -[ - { - "id": 1, - "name": "创始人", - "bio": "我是大管理员", - "sex": 0, - "location": "成都市 四川省 中国", - "created_at": "2017-06-02 08:43:54", - "updated_at": "2017-07-06 07:04:06", - "following": false, - "follower": false, - "avatar": "http://plus.io/api/v2/users/1/avatar", - "bg": null, - "extra": { - "user_id": 1, - "likes_count": 0, - "comments_count": 0, - "followers_count": 0, - "followings_count": 1, - "updated_at": "2017-07-16 09:44:25", - "feeds_count": 0 - } - } -] -``` - -## 用户找回密码 - -``` -PUT /user/retrieve-password -``` - -#### 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| verifiable_type | 枚举:`mail` 或者 `sms` | **必须**,验证码发送模式。 | -| verifiable_code | 字符串或者整数 | **必须**,用户收到的验证码。 | -| email | 字符串 | 如果 `verifiable_type` 值为 `mail`,那么这个字段为必须,用户邮箱。 | -| phone | 字符串 | 如果 `verifiable_type` 值为 `sms`。那么这个字段为必须,用户手机号码。 | -| password | 字符串 | 用户新密码。 | - -##### 响应 - -``` -Status: 204 No Content -``` - -## 解除用户 Phone 或者 E-Mail 绑定 - -解除用户 Phone 绑定: - -``` -DELETE /api/v2/user/phone -``` - -解除用户 E-Mail 绑定: - -``` -DELETE /api/v2/user/email -``` - -#### 输入 - -| 名称 | 类型 | 描述 | -|:-----:|:----:|----| -| password | String | 用户密码。 | -| verifiable_code | Int 或者 String | 手机号码或者邮箱验证码。 | - -#### 响应 - -``` -Status: 204 No Content -``` diff --git a/docs/api-v2-verification-code.html b/docs/api-v2-verification-code.html new file mode 100644 index 0000000..364d675 --- /dev/null +++ b/docs/api-v2-verification-code.html @@ -0,0 +1,60 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-verification-code.md b/docs/api-v2-verification-code.md deleted file mode 100644 index 4831fb1..0000000 --- a/docs/api-v2-verification-code.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: api-v2-verification-code -title: 验证码 ---- - -> 发送验证码支持 `email` 和 `phone` - -非注册用户发送: - -``` -POST /verifycodes/register -``` - -注册用户发送: - -``` -POST /verifycodes -``` - -### 输入 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| phone | String | **如果 `email` 不存在则必须**,以 `sms` 模式给手机发送验证码。 | -| email | String | **如果 `phone` 不存在则必须**,以 `mail` 模式给邮箱发送验证码。 | - -#### 响应 - -``` -Status: 202 Accepted -``` -```json -{ - "message": [ - "获取成功" - ] -} -``` diff --git a/docs/api-v2-wallet.html b/docs/api-v2-wallet.html new file mode 100644 index 0000000..7c8325b --- /dev/null +++ b/docs/api-v2-wallet.html @@ -0,0 +1,289 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/api-v2-wallet.md b/docs/api-v2-wallet.md deleted file mode 100644 index 82079ad..0000000 --- a/docs/api-v2-wallet.md +++ /dev/null @@ -1,308 +0,0 @@ ---- -id: api-v2-wallet -title: 钱包(旧版本) ---- - -和用户余额相关的信息,余额单位都是按照 CNY 的「分」作为单位。 - -接口不给现实数字,而是给出以 CNY 的「分」单位的数字,并在「启动者」中提供了显示转换比例,单位为百分比(%) - -## 钱包信息 - -钱包信息提供进入钱包页面所需的附加信息记录接口。 - -> 在未来开发中,一些信息可能会被移动到「启动者」中。 - -``` -GET /wallet -``` - -#### 响应 - -``` -Status: 200 OK -``` -```json5 -{ - "labels":[ // 充值选项。 - 550, - 2000, - 9900 - ], - "ratio":200, // 转换比例(在启动者中也有提供哟) - "rule":"我是积分规则纯文本.", // 充值提现规则。(以后需求中,可能是 markdown 目前是多行文本) - // 可选提现的「提现方式」,按照现在系统预设,只有 alipay 和 wechat - // type: array|null 如果 alipay 和 wechat 都不存在,则代表关闭提现功能 - "cash": [ - "alipay" - ], - "case_min_amount": 1, // 真实金额分单位,用户最低提现金额。 - "recharge_type": [ // 对于移动端而言,alipay wx 不存在则表示关闭了充值功能,单个不存在则表示关闭单个充值选项,iOS多一个 apple pay 选项,其他端,例如 h5 或者 pc 参考平台后缀。例如没有 alipay_wap 表示关闭 h5 的支付宝。 - "alipay", - "alipay_wap", - "wx", - "wx_wap", - "applepay_upacp" - ] -} -``` - -## 钱包余额充值 - -接口使用统一的接口对接所有的充值,对接第三发平台为 Ping++,请先阅读 Ping++ 官方文档。 - -``` -POST /wallet/recharge -``` - -### 输入 - -| 字段 | 必须 | 类型 | 描述 | -|----|:----:|:----:|:----:| -| type | 是 | string | 充值方式 (见「启动信息接口」或者「钱包信息」) | -| amount | 是 | int | 用户充值金额,单位为真实货币「分」单位 | -| extra | 否 | object,array | 拓展信息字段,见 [支付渠道-extra-参数说明](https://www.pingxx.com/api?language=PHP#支付渠道-extra-参数说明) | - -```json5 -{ - "type": "alipay_wap", - "amount": 100, // 表示 1.00 - "extra": { - "success_url": "https://plus.io/web/recharge" // 这个字段只是示例,这是 支付宝 wap 支付独有参数。 - } -} -``` - -#### 响应 - -``` -Status: 201 Created -``` -```json5 -{ - "id": 8, // ThinkSNS+ 系统凭据 ID - "charge": { // Ping++ 凭据 - "id": "ch_08anD0a9yjPCLyvbTODqXrnT", - "object": "charge", - "created": 1496819712, - "livemode": false, - "paid": false, - "refunded": false, - "app": "app_5anXP4ezfXvL8m5e", - "channel": "applepay_upacp", - "order_no": "a0000000000000000008", - "client_ip": "127.0.0.1", - "amount": 500, - "amount_settle": 500, - "currency": "cny", - "subject": "余额充值", - "body": "账户余额充值", - "extra": {}, - "time_paid": null, - "time_expire": 1496906112, - "time_settle": null, - "transaction_no": null, - "refunds": { - "object": "list", - "url": "/v1/charges/ch_08anD0a9yjPCLyvbTODqXrnT/refunds", - "has_more": false, - "data": [] - }, - "amount_refunded": 0, - "failure_code": null, - "failure_msg": null, - "metadata": {}, - "credential": { - "object": "credential", - "applepay_upacp": { - "tn": "201706071515122891443", - "mode": "00", - "merchant_id": "Your app merchant id" - } - }, - "description": null - } -} -``` - -#### Type 场景 - -| name | 描述 | -|----|----| -| applepay_upacp | Apple Pay (仅对 iOS 有效) | -| alipay | App 发起支付宝支付选项 | -| alipay_wap | 手机网页发起支付宝支付 | -| alipay_pc_direct | PC 网页发起支付宝支付 | -| alipay_qr | 支付宝扫码支付,前度生成二维码 | -| wx | App 发起微信支付 | -| wx_wap | 手机网页发起微信支付 | - - -## 凭据获取 - -凭据获取用于获取用户订单凭据详细信息,其中还包含凭据取回。 - -``` -GET /wallet/charges/:charge -``` - -`:charge` 为创建订单或者列表给出的凭据 ID - -#### 响应 - -``` -Status: 200 OK -``` -```json5 -{ - "id": 1, // 凭据ID - "user_id": 1, // 凭据对应用户(不一定有,该凭据对应的用户,客户端几乎用不到的。) - "channel": "alipay", // 支付频道 - "account": "alipay_account", // 账户,如果是系统内购买,例如购买一张图片,会和频道对应,然后给出不同的值,例如支付宝给出的是支付宝账号。微信给出的是 open_id、银联给出的是银行卡号。channel 还有我们系统内置类型,例如 user 可能对应的就是用户ID(例如转账) - "charge_id": "ch_vvP4u1H0evPGqn9qn5mPCGS4", // Ping++ 凭据ID - "action": 1, // 动作, 1 增加、2 减少 - "amount": 100, // 操作金额(真实货币分单位) - "currency": "cny", // 操作货币单位,目前只有 cny - "subject": "余额充值", // 订单标题 - "body": "账户余额充值", // 订单描述 - "transaction_no": "2017060879918233", // 第三发平台凭据ID 例如支付宝订单号 - "status": 1, // 状态,0 - 未支付(等待)、1 - 成功、2 - 失败 - "created_at": "2017-06-07 06:32:28", // 订餐创建时间 - "updated_at": "2017-06-08 06:46:23", // 订单更新时间 - "deleted_at": null -} -``` - -#### 凭据取回 - -凭据取回,可以理解成第三发验证获取,服务器会调用第三发接口取回凭据状态,重置凭据状态,并充值用户余额。 - -``` -GET /wallet/charges/:charge?mode=retrieve -``` - -响应数据和「凭据获取」相同 - -> 该模式只会生效一次,之后传递则不会生效,参数不要乱传,如果非支付订单传递该参数,则会抛出 422 验证异常。 - - -## 凭据列表 - -``` -GET /wallet/charges -``` - -#### 参数 - -| 名称 | 类型 | 描述 | -|:----:|:----:|----| -| limit | 整数 | 获取的数据条数。 | -| after | 整数 | 上一次获取最后一条的id,获取该id之后的数据。 | -| action | 整数 | 筛选条件 0-支出 1-收入 | - -#### 响应 - -``` -Status: 200 OK -``` -```json5 -[ - {...} // 单条内容参考 「凭据获取」数据 -] -``` - -## 提现申请 - -``` -POST /wallet/cashes -``` - -### Input - -| 名称 | 类型 | 描述 | -|----|:----:|:----:| -| value | int | 用户需要提现的余额数量 | -| type | string | 用户提现账户方式 | -| account | string | 用户提现账户 | - -```json5 -{ - "value": 100, - "type": "alipay" - "account": "xxx@alipay.com" -} -``` - -> value 的值是用户输入的余额值按照「转换比例」转换后再转化为「分」单位 -> 分的转换值为 100,按照比例转换单位后乘100以保证没有小数出现 - -##### Headers - -``` -Status: 201 Created -``` - -##### Body - -```json5 -{ - "value": [ - "请输入提现金额", // 用户没用输入 - "发送的数据错误", // 发送错误的数据给服务器(非正整数) - "输入的提现金额不合法", // 发送给服务器小于 1 - "提现金额超出账户余额", // 用户提现金额超出余额 - ], - "type": [ - "请选择提现方式", // 没有发送提现方式 - "你选择的提现方式不支持" // 提现的方式后台设置不允许提现 - ], - "account": [ - "请输入你的提现账户" // 没有输入账户 - ], - "message": [ - "申请提现成功", // 成功 - "申请失败" // 失败 - ] -} -``` - -## 提现申请列表 - -``` -GET /wallet/cashes -``` - -> limit=20&after=3 -> limit 可以设置获取数量 -> after 获取更多数据,上一次获取列表的最后一条 ID - -#### Headers - -``` -Status: 200 OK -``` - -#### Body - -```json5 -[ - { - "id": 4, // 提现记录ID - "value": 10, // 提现金额 - "type": "alipay", // 提现方式 - "account": "xxx@alipay.com", // 提现账户 - "status": 0, // 提现状态, 0 - 待审批,1 - 已审批,2 - 被拒绝 - "remark": null, // 备注,审批或者拒绝的时候由管理填写 - "created_at": "2017-06-01 09:30:22" // 申请时间 - }, - { - "id": 3, - "value": 10, - "type": "wechat", - "account": "xxxx", - "status": 0, - "remark": null, - "created_at": "2017-06-01 09:29:09" - } -] -``` diff --git a/docs/data-fields-abilities.html b/docs/data-fields-abilities.html new file mode 100644 index 0000000..983903f --- /dev/null +++ b/docs/data-fields-abilities.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-abilities.md b/docs/data-fields-abilities.md deleted file mode 100644 index 8a9a8fb..0000000 --- a/docs/data-fields-abilities.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-abilities -title: abilities ---- - -用户权限列表 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增主键 | -| name | varchar | 节点名 | -| display_name | varchar | 节点显示名 | -| description | varchar | 节点说明 | \ No newline at end of file diff --git a/docs/data-fields-ability-rule.html b/docs/data-fields-ability-rule.html new file mode 100644 index 0000000..7095e12 --- /dev/null +++ b/docs/data-fields-ability-rule.html @@ -0,0 +1,19 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-ability-rule.md b/docs/data-fields-ability-rule.md deleted file mode 100644 index 290e10c..0000000 --- a/docs/data-fields-ability-rule.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: data-fields-ability-rule -title: ability_rule ---- - -用户组权限关联表 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| ability_id | int | 权限节点id | -| role_id | int | 角色id | \ No newline at end of file diff --git a/docs/data-fields-advertising-space.html b/docs/data-fields-advertising-space.html new file mode 100644 index 0000000..d3c8e75 --- /dev/null +++ b/docs/data-fields-advertising-space.html @@ -0,0 +1,25 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-advertising-space.md b/docs/data-fields-advertising-space.md deleted file mode 100644 index 3c13a9a..0000000 --- a/docs/data-fields-advertising-space.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -id: data-fields-advertising-space -title: advertising-space ---- - -广告位列表 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| channel | varchar | 广告位所在频道 | -| space | varchar | 广告位位置标示 | -| alias | varchar | 广告位别名 | -| allow_type | varchar | 允许的广告类型 | -| format | text | 广告数据格式 | -| rule | text | 广告位表单验证规则 | -| message | text | | \ No newline at end of file diff --git a/docs/data-fields-advertising.html b/docs/data-fields-advertising.html new file mode 100644 index 0000000..5627d89 --- /dev/null +++ b/docs/data-fields-advertising.html @@ -0,0 +1,23 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-advertising.md b/docs/data-fields-advertising.md deleted file mode 100644 index 5069c65..0000000 --- a/docs/data-fields-advertising.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: data-fields-advertising -title: advertising ---- - -广告列表 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| space_id | int | 广告位id | -| title | varchar | 广告标题 | -| type | varchar | 广告类型 | -| data | text | 广告参数「```json```」 | -| sort | int | 广告排序 | \ No newline at end of file diff --git a/docs/data-fields-answer-onlooker.html b/docs/data-fields-answer-onlooker.html new file mode 100644 index 0000000..4db6794 --- /dev/null +++ b/docs/data-fields-answer-onlooker.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-answer-onlooker.md b/docs/data-fields-answer-onlooker.md deleted file mode 100644 index 29610af..0000000 --- a/docs/data-fields-answer-onlooker.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-answer-onlooker -title: answer_onlooker ---- - -被围观的答案 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| answer_id | int | 答案id | -| user_id | int | 围观答案的用户 | -| amount | int | 围观的费用```分``` | \ No newline at end of file diff --git a/docs/data-fields-answers.html b/docs/data-fields-answers.html new file mode 100644 index 0000000..4ab877e --- /dev/null +++ b/docs/data-fields-answers.html @@ -0,0 +1,30 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-answers.md b/docs/data-fields-answers.md deleted file mode 100644 index bd084d5..0000000 --- a/docs/data-fields-answers.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: data-fields-answers -title: answers ---- - -问答的答案 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| question_id | int | 问题id | -| user_id | int | 回答者 | -| body | text | 答案内容 | -| anonymity | tinyint | 是否匿名; 0: 非匿名, 1: 匿名 | -| adoption | tinyint | 是否被采纳; 0: 未采纳, 1: 已采纳 | -| invited | tinyint | 是否被邀请回答; 0: 非邀请, 1: 被邀请 | -| comments_count | int | 答案的评论统计数 | -| rewards_amount | bigint | 被打赏总数 | -| rewarder_count | int | 打赏人数 | -| likes_count | int | 点赞总数 | -| views_count | int | 答案被查看总数 | -| text_body | text | 纯文字内容 | diff --git a/docs/data-fields-areas.html b/docs/data-fields-areas.html new file mode 100644 index 0000000..ad790b2 --- /dev/null +++ b/docs/data-fields-areas.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-areas.md b/docs/data-fields-areas.md deleted file mode 100644 index cf34c29..0000000 --- a/docs/data-fields-areas.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-areas -title: areas ---- - -地区 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 地区名 | -| pid | int | 父级地区id | -| extends | varchar | 扩展内容 | diff --git a/docs/data-fields-around-amaps.html b/docs/data-fields-around-amaps.html new file mode 100644 index 0000000..51624a0 --- /dev/null +++ b/docs/data-fields-around-amaps.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-around-amaps.md b/docs/data-fields-around-amaps.md deleted file mode 100644 index ea6e122..0000000 --- a/docs/data-fields-around-amaps.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-around-amaps -title: around_amaps ---- - -地区 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| user_id | int | 用户id | -| longitude | varchar | 经度 | -| latitude | varchar | 纬度 | -| _id | int | 高德地图数据id | diff --git a/docs/data-fields-certification-categories.html b/docs/data-fields-certification-categories.html new file mode 100644 index 0000000..8c349cb --- /dev/null +++ b/docs/data-fields-certification-categories.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-certification-categories.md b/docs/data-fields-certification-categories.md deleted file mode 100644 index cb4e1a5..0000000 --- a/docs/data-fields-certification-categories.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-certification-categories -title: certification_categories ---- - -认证分类 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| name | varchar | 认证分类标示 | -| display_name | varchar | 分类展示名称 | -| description | varchar | 分类简介 | diff --git a/docs/data-fields-certifications.html b/docs/data-fields-certifications.html new file mode 100644 index 0000000..17bba47 --- /dev/null +++ b/docs/data-fields-certifications.html @@ -0,0 +1,23 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-certifications.md b/docs/data-fields-certifications.md deleted file mode 100644 index 916d963..0000000 --- a/docs/data-fields-certifications.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: data-fields-certifications -title: certifications ---- - -认证记录 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| certification_name | varchar | 认证类型 | -| user_id | int | 被认证者 | -| data | text | 认证消息 | -| examiner | int | 审查员 | -| status | tinyint | 认证状态 | diff --git a/docs/data-fields-checkin-logs.html b/docs/data-fields-checkin-logs.html new file mode 100644 index 0000000..b6b07bc --- /dev/null +++ b/docs/data-fields-checkin-logs.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-checkin-logs.md b/docs/data-fields-checkin-logs.md deleted file mode 100644 index 577b06f..0000000 --- a/docs/data-fields-checkin-logs.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-checkin-logs -title: checkin_logs ---- - -签到记录 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| amount | int | 获得积分 | -| user_id | int | 签到者 | diff --git a/docs/data-fields-client-versions.html b/docs/data-fields-client-versions.html new file mode 100644 index 0000000..21ebd38 --- /dev/null +++ b/docs/data-fields-client-versions.html @@ -0,0 +1,24 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-client-versions.md b/docs/data-fields-client-versions.md deleted file mode 100644 index 8082c65..0000000 --- a/docs/data-fields-client-versions.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: data-fields-client-versions -title: client_versions ---- - -客户端设置 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| type | varchar | 版本: android/ios | -| version | varchar | 版本名称 | -| version_code | int | 版本号 | -| description | text | 版本介绍 | -| link | varchar | 地址: ios对应appstore或者其他地址 | -| is_forced | tinyint | 是否强制更新 | diff --git a/docs/data-fields-collections.html b/docs/data-fields-collections.html new file mode 100644 index 0000000..4742e6e --- /dev/null +++ b/docs/data-fields-collections.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-collections.md b/docs/data-fields-collections.md deleted file mode 100644 index a81692a..0000000 --- a/docs/data-fields-collections.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-collections -title: collections ---- - -收藏 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| collectible_id | int | 被收藏的资源id | -| collectible_type | varchar | 被收藏的资源类型 | -| user_id | int | 收藏者 | diff --git a/docs/data-fields-comments.html b/docs/data-fields-comments.html new file mode 100644 index 0000000..2c016ce --- /dev/null +++ b/docs/data-fields-comments.html @@ -0,0 +1,24 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-comments.md b/docs/data-fields-comments.md deleted file mode 100644 index 58302f2..0000000 --- a/docs/data-fields-comments.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: data-fields-comments -title: comments ---- - -评论 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| target_user | int | 被评论者 | -| user_id | int | 回答者 | -| body | text | 答案内容 | -| reply_user | int | 被回复者「与被评论者不冲突」 | -| commentable_id | int | 被评论的资源id | -| commentable_type | varchar | 被评论的资源类型 | diff --git a/docs/data-fields-common-configs.html b/docs/data-fields-common-configs.html new file mode 100644 index 0000000..366f860 --- /dev/null +++ b/docs/data-fields-common-configs.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-common-configs.md b/docs/data-fields-common-configs.md deleted file mode 100644 index d5efde0..0000000 --- a/docs/data-fields-common-configs.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-common-configs -title: common_configs ---- - -公共配置 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| name | varchar | 配置名称 | -| namespace | varchar | 配置命名空间 | -| value | text | 配置值 | diff --git a/docs/data-fields-conversations.html b/docs/data-fields-conversations.html new file mode 100644 index 0000000..efa4c4f --- /dev/null +++ b/docs/data-fields-conversations.html @@ -0,0 +1,24 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-conversations.md b/docs/data-fields-conversations.md deleted file mode 100644 index 76fb6d5..0000000 --- a/docs/data-fields-conversations.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: data-fields-conversations -title: conversations ---- - -用户反馈+系统通知 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| type | varchar | 会话类型 system 系统通知 feedback 用户反馈 | -| user_id | int | 用户 | -| to_user_id | int | 被发送用户 | -| content | text | 会话内容 | -| options | text | 给推送平台的额外参数 | -| system_mark | biging | 移动端存储标记 | diff --git a/docs/data-fields-currencies.html b/docs/data-fields-currencies.html new file mode 100644 index 0000000..1cbf7c2 --- /dev/null +++ b/docs/data-fields-currencies.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-currencies.md b/docs/data-fields-currencies.md deleted file mode 100644 index f49a15c..0000000 --- a/docs/data-fields-currencies.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-currencies -title: currencies ---- - -货币[积分] - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| owner_id | int | 所属者 | -| type | int | 货币类型[积分别名] | -| sum | int | 货币总和 | diff --git a/docs/data-fields-currency-commodities.html b/docs/data-fields-currency-commodities.html new file mode 100644 index 0000000..b4a3ebd --- /dev/null +++ b/docs/data-fields-currency-commodities.html @@ -0,0 +1,24 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-currency-commodities.md b/docs/data-fields-currency-commodities.md deleted file mode 100644 index 4b72360..0000000 --- a/docs/data-fields-currency-commodities.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: data-fields-currency-commodities -title: currency_commodities ---- - -需要使用货币购买的商品 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| creator | int | 商品创建者 | -| currency | int | 货币别名id | -| amount | int | 货币总价 | -| title | varchar | 商品标题 | -| body | text | 商品详情 | -| purchase_count | int | 购买统计 | diff --git a/docs/data-fields-currency-orders.html b/docs/data-fields-currency-orders.html new file mode 100644 index 0000000..a7ee24e --- /dev/null +++ b/docs/data-fields-currency-orders.html @@ -0,0 +1,27 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-currency-orders.md b/docs/data-fields-currency-orders.md deleted file mode 100644 index e6e3297..0000000 --- a/docs/data-fields-currency-orders.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -id: data-fields-currency-orders -title: currenc_orders ---- - -货币订单 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| owner_id | int | 订单所属者 | -| title | varchar | 订单标题 | -| body | text | 订单内容 | -| type | tinyint | 1:入账、-1:支出 | -| target_type | varchar | 操作类型 | -| target_id | int | 目标id | -| currency | int | 货币别名id | -| amount | int | 订单金额 | -| state | tinyint | 订单状态,0: 等待,1:成功,-1: 失败 | diff --git a/docs/data-fields-currency-type-transforms.html b/docs/data-fields-currency-type-transforms.html new file mode 100644 index 0000000..c6dbd43 --- /dev/null +++ b/docs/data-fields-currency-type-transforms.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-currency-type-transforms.md b/docs/data-fields-currency-type-transforms.md deleted file mode 100644 index fc96ad5..0000000 --- a/docs/data-fields-currency-type-transforms.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-currency-type-transforms -title: currency_type_transforms ---- - -货币兑换关系表 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| from_type_id | int | 原始货币类型 | -| to_type_id | int | 目标货币类型 | -| from_sum | int | 原始货币数量 | -| to_sum | text | 目标货币数量 | diff --git a/docs/data-fields-currency-types.html b/docs/data-fields-currency-types.html new file mode 100644 index 0000000..b826dd0 --- /dev/null +++ b/docs/data-fields-currency-types.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-currency-types.md b/docs/data-fields-currency-types.md deleted file mode 100644 index f640c63..0000000 --- a/docs/data-fields-currency-types.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-currency-types -title: currency_types ---- - -货币类型 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 货币名称 | -| unit | varchar | 货币单位 | -| enable | tinyint | 货币是否被启用 | diff --git a/docs/data-fields-famous.html b/docs/data-fields-famous.html new file mode 100644 index 0000000..ea54afa --- /dev/null +++ b/docs/data-fields-famous.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-famous.md b/docs/data-fields-famous.md deleted file mode 100644 index 7fdea27..0000000 --- a/docs/data-fields-famous.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-famous -title: famous ---- - -注册关注用户 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| type | varchar | 类型[ {each: 相互关注}, {followed: 被关注}] | -| user_id | int | 被关注对象 | diff --git a/docs/data-fields-feed-collections.html b/docs/data-fields-feed-collections.html new file mode 100644 index 0000000..8cfa8ae --- /dev/null +++ b/docs/data-fields-feed-collections.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-feed-collections.md b/docs/data-fields-feed-collections.md deleted file mode 100644 index 93b7757..0000000 --- a/docs/data-fields-feed-collections.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-feed-collections -title: feed_collections ---- - -收藏动态 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| feed_id | int | 动态id | -| user_id | int | 收藏者 | diff --git a/docs/data-fields-feed-pinneds.html b/docs/data-fields-feed-pinneds.html new file mode 100644 index 0000000..b87b507 --- /dev/null +++ b/docs/data-fields-feed-pinneds.html @@ -0,0 +1,26 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-feed-pinneds.md b/docs/data-fields-feed-pinneds.md deleted file mode 100644 index bf600a4..0000000 --- a/docs/data-fields-feed-pinneds.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -id: data-fields-feed-pinneds -title: feed_pinneds ---- - -付费动态购买记录 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| channel | varchar | 频道 | -| raw | int | | -| target | int | 目标id「动态」 | -| user_id | int | 购买用户 | -| target_user | int | 动态作者 | -| amount | bigint | 购买金额 | -| day | int | 购买天数 | -| expires_at | timestamp | 到期时间,固定后设置该时间 | diff --git a/docs/data-fields-feeds.html b/docs/data-fields-feeds.html new file mode 100644 index 0000000..a4674fe --- /dev/null +++ b/docs/data-fields-feeds.html @@ -0,0 +1,30 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-feeds.md b/docs/data-fields-feeds.md deleted file mode 100644 index 59132c9..0000000 --- a/docs/data-fields-feeds.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: data-fields-feeds -title: feeds ---- - -动态 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| feed_from | int | 问题id | -| user_id | tinyint | 动态来源 1:pc 2:h5 3:ios 4:android 5:其他 | -| feed_content | text | 动态内容 | -| like_count | int | 点赞统计 | -| feed_view_count | int | 阅读统计 | -| feed_comment_count | int | 评论统计 | -| feed_longtitude | varchar | 经度 | -| feed_latitude | bigint | 纬度 | -| feed_geohash | varchar | GEO | -| audit_status | tinyint | 审核状态 | -| feed_mark | bigint | 移动端唯一标记 | -| text_body | text | 纯文字内容 | diff --git a/docs/data-fields-file-withs.html b/docs/data-fields-file-withs.html new file mode 100644 index 0000000..1055c20 --- /dev/null +++ b/docs/data-fields-file-withs.html @@ -0,0 +1,23 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-file-withs.md b/docs/data-fields-file-withs.md deleted file mode 100644 index 35ad3cc..0000000 --- a/docs/data-fields-file-withs.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: data-fields-file-withs -title: file_withs ---- - -附件关系 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| file_id | int | 文件id | -| user_id | int | 上传者 | -| channel | varchar | 记录频道 | -| raw | varchar | 原始频道关联信息 | -| size | varchar | 图片尺寸,目标文件如果是图片的话则存在。便于客户端提前预设盒子 | diff --git a/docs/data-fields-files.html b/docs/data-fields-files.html new file mode 100644 index 0000000..e8a63ae --- /dev/null +++ b/docs/data-fields-files.html @@ -0,0 +1,24 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-files.md b/docs/data-fields-files.md deleted file mode 100644 index c1e372d..0000000 --- a/docs/data-fields-files.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: data-fields-files -title: files ---- - -附件 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| hash | varchar | 文件hash | -| origin_filename | varchar | 原始文件名 | -| filename | varchar | 文件名 | -| mime | varchar | mimetype | -| with | double | 宽度(图片) | -| height | double | 高度(图片) | diff --git a/docs/data-fields-gold-rules.html b/docs/data-fields-gold-rules.html new file mode 100644 index 0000000..37cc0ed --- /dev/null +++ b/docs/data-fields-gold-rules.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-gold-rules.md b/docs/data-fields-gold-rules.md deleted file mode 100644 index f379aa4..0000000 --- a/docs/data-fields-gold-rules.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-gold-rules -title: gold_rules ---- - -金币规则 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 金币规则名称 | -| alias | varchar | 金币规则别名 | -| desc | int | 金币规则增量 | diff --git a/docs/data-fields-gold-types.html b/docs/data-fields-gold-types.html new file mode 100644 index 0000000..f3db14f --- /dev/null +++ b/docs/data-fields-gold-types.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-gold-types.md b/docs/data-fields-gold-types.md deleted file mode 100644 index a0069e8..0000000 --- a/docs/data-fields-gold-types.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-gold-types -title: gold_types ---- - -金币类型 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 类型名称 | -| unit | varchar | 单位 | -| status | tinyint | 状态 | diff --git a/docs/data-fields-group-categories.html b/docs/data-fields-group-categories.html new file mode 100644 index 0000000..adb8ee8 --- /dev/null +++ b/docs/data-fields-group-categories.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-group-categories.md b/docs/data-fields-group-categories.md deleted file mode 100644 index 4c5c805..0000000 --- a/docs/data-fields-group-categories.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-group-categories -title: group_categories ---- - -圈子分类 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 类型名称 | -| sort_by | int | 排序值 | -| status | tinyint | 启用状态 | diff --git a/docs/data-fields-group-incomes.html b/docs/data-fields-group-incomes.html new file mode 100644 index 0000000..03f6417 --- /dev/null +++ b/docs/data-fields-group-incomes.html @@ -0,0 +1,23 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-group-incomes.md b/docs/data-fields-group-incomes.md deleted file mode 100644 index 4596e50..0000000 --- a/docs/data-fields-group-incomes.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: data-fields-group-incomes -title: group_incomes ---- - -圈子收入 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| group_id | int | 所属圈子 | -| subject | varchar | 收入内容 | -| type | tinyint | 收入类型 1-加入圈子收入 2-圈内置顶收入 | -| amount | int | 收入金额 | -| user_id | int | 支出用户 | diff --git a/docs/data-fields-group-member-logs.html b/docs/data-fields-group-member-logs.html new file mode 100644 index 0000000..1397569 --- /dev/null +++ b/docs/data-fields-group-member-logs.html @@ -0,0 +1,24 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-group-member-logs.md b/docs/data-fields-group-member-logs.md deleted file mode 100644 index 8b21b3a..0000000 --- a/docs/data-fields-group-member-logs.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: data-fields-group-member-logs -title: group_member_logs ---- - -加入圈子记录 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| group_id | int | 圈子id | -| user_id | int | 用户 | -| member_id | int | 圈子成员ID | -| status | tinyint | 审核状态:0 - 待审核、1 - 通过、2 - 拒绝 | -| auditer | int | 审核人 | -| audit_at | timestamp | 审核时间 | diff --git a/docs/data-fields-group-members.html b/docs/data-fields-group-members.html new file mode 100644 index 0000000..055eb15 --- /dev/null +++ b/docs/data-fields-group-members.html @@ -0,0 +1,23 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-group-members.md b/docs/data-fields-group-members.md deleted file mode 100644 index 7739e61..0000000 --- a/docs/data-fields-group-members.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: data-fields-group-members -title: group_members ---- - -圈子成员 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| group_id | int | 圈子id | -| user_id | int | 用户id | -| audit | tinyint | 审核状态:0 - 待审核、1 - 通过 | -| role | varchar | 角色,member - administrator - 管理者、founder - 创建者 | -| disabled | tinyint | 是否禁用 | diff --git a/docs/data-fields-group-pinneds.html b/docs/data-fields-group-pinneds.html new file mode 100644 index 0000000..4db88d1 --- /dev/null +++ b/docs/data-fields-group-pinneds.html @@ -0,0 +1,27 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-group-pinneds.md b/docs/data-fields-group-pinneds.md deleted file mode 100644 index 05eca0e..0000000 --- a/docs/data-fields-group-pinneds.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -id: data-fields-group-pinneds -title: group_pinneds ---- - -帖子置顶申请 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| channel | varchar | 频道 | -| raw | int | 所属资源id,当置顶对象为评论时,该值为帖子id | -| target | text | 目标id | -| user_id | int | 用户 | -| target_user | int | 目标用户 | -| amount | int | 金额```分``` | -| day | int | 固定期限,单位:天 | -| expires_at | timestamp | 置顶到期时间 | -| status | tinyint | 处理状态 0-待审核 1-已通过 2-已拒绝 | diff --git a/docs/data-fields-group-posts.html b/docs/data-fields-group-posts.html new file mode 100644 index 0000000..fd1962e --- /dev/null +++ b/docs/data-fields-group-posts.html @@ -0,0 +1,26 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-group-posts.md b/docs/data-fields-group-posts.md deleted file mode 100644 index b8259e3..0000000 --- a/docs/data-fields-group-posts.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -id: data-fields-group-posts -title: group_posts ---- - -圈子帖子 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| group_id | int | 圈子id | -| user_id | int | 发帖人 | -| title | varchar | 帖子标题 | -| body | text | 帖子内容```markdown``` | -| summary | varchar | 列表专用字段, 简介 | -| likes_count | int | 点赞统计 | -| comments_count | int | 评论统计 | -| views_count | int | 阅读统计 | diff --git a/docs/data-fields-group-recommends.html b/docs/data-fields-group-recommends.html new file mode 100644 index 0000000..8860eec --- /dev/null +++ b/docs/data-fields-group-recommends.html @@ -0,0 +1,22 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-group-recommends.md b/docs/data-fields-group-recommends.md deleted file mode 100644 index 1c7b9bb..0000000 --- a/docs/data-fields-group-recommends.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -id: data-fields-group-recommends -title: group_recommends ---- - -推荐的圈子 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| group_id | int | 圈子id | -| referrer | int | 推荐人 | -| disable | tinyint | 0-启用 1-禁用 | -| sort_by | int | 排序值 | diff --git a/docs/data-fields-group-reports.html b/docs/data-fields-group-reports.html new file mode 100644 index 0000000..bd8b493 --- /dev/null +++ b/docs/data-fields-group-reports.html @@ -0,0 +1,27 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-group-reports.md b/docs/data-fields-group-reports.md deleted file mode 100644 index 7bd54fc..0000000 --- a/docs/data-fields-group-reports.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -id: data-fields-group-reports -title: group_reports ---- - -圈子举报 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| target_id | int | 被举报用户 | -| user_id | int | 举报用户 | -| group_id | int | 所属圈子 | -| resource_id | int | 被举报的资源id| -| content | text | 举报内容 | -| type | varchar | 举报类型:post or comment | -| status | tinyint | 是否被处理; 0-未处理 1-已处理 2-被驳回 | -| cause | varchar | 驳回原因 | -| handler | int | 审核处理人 | diff --git a/docs/data-fields-groups.html b/docs/data-fields-groups.html new file mode 100644 index 0000000..5deaae4 --- /dev/null +++ b/docs/data-fields-groups.html @@ -0,0 +1,34 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-groups.md b/docs/data-fields-groups.md deleted file mode 100644 index 90ed5af..0000000 --- a/docs/data-fields-groups.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: data-fields-groups -title: groups ---- - -圈子 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 圈子名称 | -| user_id | int | 创建者 | -| category_id | int | 分类id | -| location | varchar | 位置 | -| longitude | varchar | 经度 | -| latitude | varchar | 纬度 | -| geo_hash | varchar | 地理位置范围 | -| allow_feed | tinyint | 是否允许发不到动态 | -| mode | varchar | public: 公开,private:私有,paid:付费的 | -| money | int | 如果 mode 为 paid 用于标示收费金额 | -| summary | text | 简介 | -| notice | text | 公告 | -| permissions | varchar | 圈子权限, 1 - 所有-member,administrator,founder、2-圈主和管理员: administrator,founder, 3 - 圈主: founder | -| users_count | int | 成员数量 | -| posts_count | int | 帖子数量 | -| audit | tinyint | 审核状态, 0 - 待审核、1 - 通过、2 - 拒绝 | diff --git a/docs/data-fields-jwt-caches.html b/docs/data-fields-jwt-caches.html new file mode 100644 index 0000000..ec0be60 --- /dev/null +++ b/docs/data-fields-jwt-caches.html @@ -0,0 +1,22 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-jwt-caches.md b/docs/data-fields-jwt-caches.md deleted file mode 100644 index f10f816..0000000 --- a/docs/data-fields-jwt-caches.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -id: data-fields-jwt-caches -title: jwt_caches ---- - -token凭据 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| user_id | int | | -| key | varchar | | -| value | text | | -| minutes | int | | -| status | tinyint | | \ No newline at end of file diff --git a/docs/data-fields-likes.html b/docs/data-fields-likes.html new file mode 100644 index 0000000..be98362 --- /dev/null +++ b/docs/data-fields-likes.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-likes.md b/docs/data-fields-likes.md deleted file mode 100644 index a93c8eb..0000000 --- a/docs/data-fields-likes.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-likes -title: likes ---- - -点赞表 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| user_id | int | 点赞用户 | -| likeable_id | int | 被点赞的资源id | -| likeable_type | varchar | 被点赞的资源类型 | diff --git a/docs/data-fields-music-collections.html b/docs/data-fields-music-collections.html new file mode 100644 index 0000000..2de1982 --- /dev/null +++ b/docs/data-fields-music-collections.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-music-collections.md b/docs/data-fields-music-collections.md deleted file mode 100644 index 573cc1c..0000000 --- a/docs/data-fields-music-collections.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-music-collections -title: music_collections ---- - -音乐收藏 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| special_id | int | 专辑id | -| user_id | int | 用户id | diff --git a/docs/data-fields-music-singers.html b/docs/data-fields-music-singers.html new file mode 100644 index 0000000..2287c2f --- /dev/null +++ b/docs/data-fields-music-singers.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-music-singers.md b/docs/data-fields-music-singers.md deleted file mode 100644 index 43045c8..0000000 --- a/docs/data-fields-music-singers.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-music-singers -title: music_singers ---- - -歌手 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 歌手名字 | -| cover | int | 歌手封面 | diff --git a/docs/data-fields-music-special-links.html b/docs/data-fields-music-special-links.html new file mode 100644 index 0000000..b2f05d4 --- /dev/null +++ b/docs/data-fields-music-special-links.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-music-special-links.md b/docs/data-fields-music-special-links.md deleted file mode 100644 index ddeb946..0000000 --- a/docs/data-fields-music-special-links.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-music-special-links -title: music_special_links ---- - -歌曲/专辑关联 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| special_id | int | 专辑id | -| music_id | int | 歌曲id | diff --git a/docs/data-fields-music-specials.html b/docs/data-fields-music-specials.html new file mode 100644 index 0000000..05a8028 --- /dev/null +++ b/docs/data-fields-music-specials.html @@ -0,0 +1,26 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-music-specials.md b/docs/data-fields-music-specials.md deleted file mode 100644 index 79dfb8b..0000000 --- a/docs/data-fields-music-specials.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -id: data-fields-music-specials -title: music_specials ---- - -专辑 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| title | varchar | 专辑名 | -| intro | varchar | 简介 | -| storage | int | 封面 | -| taste_count | int | 播放数量 | -| share_count | int | 分享数量 | -| collect_count | int | 收藏数量 | -| comment_count | int | 评论统计数 | -| sort | int | 排序权重 | diff --git a/docs/data-fields-musics.html b/docs/data-fields-musics.html new file mode 100644 index 0000000..8186f3a --- /dev/null +++ b/docs/data-fields-musics.html @@ -0,0 +1,27 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-musics.md b/docs/data-fields-musics.md deleted file mode 100644 index cfebc8f..0000000 --- a/docs/data-fields-musics.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -id: data-fields-musics -title: musics ---- - -歌曲 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| title | varchar | 歌曲名字 | -| singer | int | 歌手id | -| storage | int | 歌曲附件 | -| last_time | int | 歌曲长度 | -| lyric | text | 歌词 | -| taste_count | int | 播放数量 | -| comment_count | int | 评论统计数 | -| share_count | int | 分享数量 | -| sort | int | 排序权重 | diff --git a/docs/data-fields-navigation.html b/docs/data-fields-navigation.html new file mode 100644 index 0000000..150dbd3 --- /dev/null +++ b/docs/data-fields-navigation.html @@ -0,0 +1,25 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-navigation.md b/docs/data-fields-navigation.md deleted file mode 100644 index fbd968b..0000000 --- a/docs/data-fields-navigation.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -id: data-fields-navigation -title: navigation ---- - -pc导航 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 导航名称 | -| app_name | varchar | 英文名 | -| url | varchar | 跳转链接 | -| position | tinyint | 导航位置 0-顶部 1-底部 | -| status | tinyint | 状态 0-关闭 1-开启 | -| parent_id | int | 父级导航 | -| order_sort | int | 排序权重 | diff --git a/docs/data-fields-news-cates-follow.html b/docs/data-fields-news-cates-follow.html new file mode 100644 index 0000000..6979403 --- /dev/null +++ b/docs/data-fields-news-cates-follow.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-news-cates-follow.md b/docs/data-fields-news-cates-follow.md deleted file mode 100644 index 9992feb..0000000 --- a/docs/data-fields-news-cates-follow.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-news-cates-follow -title: news_cates_follow ---- - -订阅的资讯分类 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| follows | varchar | 关注的分类 | -| user_id | int | 用户id | diff --git a/docs/data-fields-news-cates-links.html b/docs/data-fields-news-cates-links.html new file mode 100644 index 0000000..2b895ae --- /dev/null +++ b/docs/data-fields-news-cates-links.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-news-cates-links.md b/docs/data-fields-news-cates-links.md deleted file mode 100644 index c7bbcf0..0000000 --- a/docs/data-fields-news-cates-links.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-news-cates-links -title: news_cates_links ---- - -文章/分类关联表 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| news_id | int | 文章id | -| cate_id | int | 分类id | diff --git a/docs/data-fields-news-cates.html b/docs/data-fields-news-cates.html new file mode 100644 index 0000000..b287803 --- /dev/null +++ b/docs/data-fields-news-cates.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-news-cates.md b/docs/data-fields-news-cates.md deleted file mode 100644 index 59c2b4a..0000000 --- a/docs/data-fields-news-cates.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-news-cates -title: news_cates ---- - -资讯分类 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 分类名字 | -| rank | int | 权重排序 | diff --git a/docs/data-fields-news-collections.html b/docs/data-fields-news-collections.html new file mode 100644 index 0000000..dd33b5e --- /dev/null +++ b/docs/data-fields-news-collections.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-news-collections.md b/docs/data-fields-news-collections.md deleted file mode 100644 index d0b24c0..0000000 --- a/docs/data-fields-news-collections.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-news-collections -title: news_collections ---- - -收藏资讯 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| news_id | int | 文章id | -| user_id | int | 用户 | diff --git a/docs/data-fields-news-pinneds.html b/docs/data-fields-news-pinneds.html new file mode 100644 index 0000000..5d69b5b --- /dev/null +++ b/docs/data-fields-news-pinneds.html @@ -0,0 +1,28 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-news-pinneds.md b/docs/data-fields-news-pinneds.md deleted file mode 100644 index 19ac7fd..0000000 --- a/docs/data-fields-news-pinneds.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -id: data-fields-news-pinneds -title: news_pinneds ---- - -资讯申请置顶 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| channel | varchar | 频道: 资讯或资讯评论 | -| raw | int | 如果存在则为评论id | -| target | int | 资讯id | -| user_id | int | 申请者id | -| state | tinyint | 审核状态0: 待审核, 1审核通过, 2被拒 | -| target_user | int | 资讯作者 | -| amount | int | 金额 | -| day | int | 置顶天数 | -| cate_id | int | 资讯置顶所属分类 | -| expires_at | timestamp | 到期时间,固定后设置该时间 | \ No newline at end of file diff --git a/docs/data-fields-news-recommend.html b/docs/data-fields-news-recommend.html new file mode 100644 index 0000000..83f867f --- /dev/null +++ b/docs/data-fields-news-recommend.html @@ -0,0 +1,24 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-news-recommend.md b/docs/data-fields-news-recommend.md deleted file mode 100644 index c52ed59..0000000 --- a/docs/data-fields-news-recommend.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: data-fields-news-recommend -title: news_recommend ---- - -推荐的文章 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| type | varchar | 类型 | -| title | varchar | 推荐标题 | -| data | varchar | 管理数据 | -| cate_id | int | 所属分类 0-推荐 | -| cover | int | 缩略图 | -| sort | int | 排序权重 | diff --git a/docs/data-fields-news.html b/docs/data-fields-news.html new file mode 100644 index 0000000..fa9b2d7 --- /dev/null +++ b/docs/data-fields-news.html @@ -0,0 +1,35 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-news.md b/docs/data-fields-news.md deleted file mode 100644 index e9793b1..0000000 --- a/docs/data-fields-news.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -id: data-fields-news -title: news ---- - -资讯 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| title | int | 文章标题 | -| storage | int | 缩略图 | -| content | longtext | 文章内容 | -| digg_count | int | 点赞统计 | -| from | varchar | 来源 | -| is_recommend | tinyint | 是否被推荐 | -| comment_count | int | 评论统计数 | -| subject | text | 副标题 | -| author | varchar | 作者 | -| likes_count | int | 点赞总数 | -| hits | int | 阅读统计 | -| audit_status | tinyint | 文章状态 0-正常 1-待审核 2-草稿 3-驳回 4-删除 5-退款中 | -| audit_count | tinyint | 投稿审核次数 | -| user_id | int | 用户id | -| cate_id | int | 分类id | -| contribute_amount | int | 投稿金额 | -| text_content | longtext | 纯文字内容 | diff --git a/docs/data-fields-notifications.html b/docs/data-fields-notifications.html new file mode 100644 index 0000000..576dbe6 --- /dev/null +++ b/docs/data-fields-notifications.html @@ -0,0 +1,23 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-notifications.md b/docs/data-fields-notifications.md deleted file mode 100644 index 605e75e..0000000 --- a/docs/data-fields-notifications.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: data-fields-notifications -title: notifications ---- - -通知 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | char | 主键id | -| type | varchar | 通知类型 | -| notifiable_id | int | | -| notifiable_type | varchar | | -| data | text | | -| read_at | timestamp | 阅读时间 | diff --git a/docs/data-fields-paid-node-users.html b/docs/data-fields-paid-node-users.html new file mode 100644 index 0000000..9544844 --- /dev/null +++ b/docs/data-fields-paid-node-users.html @@ -0,0 +1,19 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-paid-node-users.md b/docs/data-fields-paid-node-users.md deleted file mode 100644 index 0d94c7a..0000000 --- a/docs/data-fields-paid-node-users.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: data-fields-paid-node-users -title: paid_node_users ---- - -用户已付费节点 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| node_id | int | 付费节点id | -| user_id | int | 用户id | diff --git a/docs/data-fields-paid-nodes.html b/docs/data-fields-paid-nodes.html new file mode 100644 index 0000000..f46bc7d --- /dev/null +++ b/docs/data-fields-paid-nodes.html @@ -0,0 +1,25 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-paid-nodes.md b/docs/data-fields-paid-nodes.md deleted file mode 100644 index 231f9d0..0000000 --- a/docs/data-fields-paid-nodes.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -id: data-fields-paid-nodes -title: paid_nodes ---- - -付费节点 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| channel | varchar | 付费频道 | -| raw | varchar | 付费原始信息 | -| subject | varchar | 付费主题 | -| body | varchar | 付费内容详情 | -| amount | bigint | 付费金额 | -| user_id | int | 用户ID,主要用于排除付费用户。 | -| extra | text | 拓展信息 | diff --git a/docs/data-fields-password-resets.html b/docs/data-fields-password-resets.html new file mode 100644 index 0000000..46c7a34 --- /dev/null +++ b/docs/data-fields-password-resets.html @@ -0,0 +1,19 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-password-resets.md b/docs/data-fields-password-resets.md deleted file mode 100644 index 75a8f9c..0000000 --- a/docs/data-fields-password-resets.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: data-fields-password-resets -title: password_resets ---- - -密码重置记录 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| user_id | int | 用户id | -| token | varchar | | diff --git a/docs/data-fields-plus-id-clients.html b/docs/data-fields-plus-id-clients.html new file mode 100644 index 0000000..d6d1af0 --- /dev/null +++ b/docs/data-fields-plus-id-clients.html @@ -0,0 +1,22 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-plus-id-clients.md b/docs/data-fields-plus-id-clients.md deleted file mode 100644 index 10316d5..0000000 --- a/docs/data-fields-plus-id-clients.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -id: data-fields-plus-id-clients -title: plus_id_clients ---- - -机遇ts+用户系统的客户端 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 客户端名称 | -| url | varchar | 通讯地址 | -| key | varchar | 通讯密钥 | -| sync_login | tinyint | 是否同步登陆 | diff --git a/docs/data-fields-plus-id-notices.html b/docs/data-fields-plus-id-notices.html new file mode 100644 index 0000000..83a07b3 --- /dev/null +++ b/docs/data-fields-plus-id-notices.html @@ -0,0 +1,22 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-plus-id-notices.md b/docs/data-fields-plus-id-notices.md deleted file mode 100644 index 1a86549..0000000 --- a/docs/data-fields-plus-id-notices.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: data-fields-plus-id-notices -title: plus_id_notices ---- - - - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| sender | varchar | 发送者 | -| recipient | varchar | 接受者 | -| desc | varchar | 描述 | -| data | text | 数据 | -| status | varchar | 状态 | diff --git a/docs/data-fields-question-invitation.html b/docs/data-fields-question-invitation.html new file mode 100644 index 0000000..6626938 --- /dev/null +++ b/docs/data-fields-question-invitation.html @@ -0,0 +1,19 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-question-invitation.md b/docs/data-fields-question-invitation.md deleted file mode 100644 index 3c255f7..0000000 --- a/docs/data-fields-question-invitation.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: data-fields-question-invitation -title: question_invitation ---- - -邀请回答 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| user_id | int | 用户id | -| question_id | int | 问题id | diff --git a/docs/data-fields-question-topic.html b/docs/data-fields-question-topic.html new file mode 100644 index 0000000..4b88e7f --- /dev/null +++ b/docs/data-fields-question-topic.html @@ -0,0 +1,19 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-question-topic.md b/docs/data-fields-question-topic.md deleted file mode 100644 index 2331c21..0000000 --- a/docs/data-fields-question-topic.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: data-fields-question-topic -title: question_topic ---- - -问答话题 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| topic_id | int | 话题id | -| question_id | int | 问题id | diff --git a/docs/data-fields-question-watcher.html b/docs/data-fields-question-watcher.html new file mode 100644 index 0000000..7bce897 --- /dev/null +++ b/docs/data-fields-question-watcher.html @@ -0,0 +1,19 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-question-watcher.md b/docs/data-fields-question-watcher.md deleted file mode 100644 index 4b2d66d..0000000 --- a/docs/data-fields-question-watcher.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: data-fields-question-watcher -title: question_watcher ---- - -关注问题 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| user_id | int | 用户id | -| question_id | int | 问题id | diff --git a/docs/data-fields-questions.html b/docs/data-fields-questions.html new file mode 100644 index 0000000..646cc5b --- /dev/null +++ b/docs/data-fields-questions.html @@ -0,0 +1,33 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-questions.md b/docs/data-fields-questions.md deleted file mode 100644 index 4f21c9f..0000000 --- a/docs/data-fields-questions.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -id: data-fields-questions -title: questions ---- - -问题 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| anonymity | tinyint | 是否匿名发布 | -| user_id | int | 回答者 | -| body | text | 问题详情 | -| subject | varchar | 问题主题 | -| automaticity | tinyint | 回答是否自动入帐 | -| amount | int | 悬赏总额,如果为 0,则不走账务流程。 | -| look | tinyint | 是否围观 | -| excellent | tinyint | 是否精华 | -| status | tinyint | 是否已解决,0 - 未解决,1 - 已解决, 2 - 问题关闭| -| comments_count | int | 评论统计数 | -| answers_count | int | 回答量 | -| watchers_count| int | 关注者统计 | -| likes_count | int | 点赞总数 | -| views_count | int | 答案被查看总数 | -| text_body | text | 纯文字内容 | diff --git a/docs/data-fields-reports.html b/docs/data-fields-reports.html new file mode 100644 index 0000000..b69b86d --- /dev/null +++ b/docs/data-fields-reports.html @@ -0,0 +1,26 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-reports.md b/docs/data-fields-reports.md deleted file mode 100644 index 0a9e3a9..0000000 --- a/docs/data-fields-reports.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -id: data-fields-reports -title: reports ---- - -举报 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| target_user | int | 被举报用户 | -| user_id | int | 举报者 | -| subject | varchar | 举报标题 | -| reportable_id | int | 被举报资源id | -| reportable_type | varchar | 被举报的资源类型 | -| status | tinyint | 处理状态 0-待处理 1-已处理 2-已驳回 | -| reason | varchar | 举报理由 | -| mark | varchar | 处理标记 | diff --git a/docs/data-fields-rewards.html b/docs/data-fields-rewards.html new file mode 100644 index 0000000..a6511db --- /dev/null +++ b/docs/data-fields-rewards.html @@ -0,0 +1,23 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-rewards.md b/docs/data-fields-rewards.md deleted file mode 100644 index b1bf4f7..0000000 --- a/docs/data-fields-rewards.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: data-fields-rewards -title: rewards ---- - -打赏记录 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| target_user | int | 被打赏用护 | -| user_id | int | 回答者 | -| amount | bigint | 打赏金额 | -| rewardable_id | int | 被打赏的资源id | -| rewardable_type | varchar | 被打赏的资源类型 | diff --git a/docs/data-fields-role-user.html b/docs/data-fields-role-user.html new file mode 100644 index 0000000..d9f1f1f --- /dev/null +++ b/docs/data-fields-role-user.html @@ -0,0 +1,19 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-role-user.md b/docs/data-fields-role-user.md deleted file mode 100644 index 1099600..0000000 --- a/docs/data-fields-role-user.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: data-fields-role-user -title: role_user ---- - -用户/用户组关联 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| role_id | int | 用户组id | -| user_id | int | 问题id | diff --git a/docs/data-fields-roles.html b/docs/data-fields-roles.html new file mode 100644 index 0000000..a6be831 --- /dev/null +++ b/docs/data-fields-roles.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-roles.md b/docs/data-fields-roles.md deleted file mode 100644 index da5e25e..0000000 --- a/docs/data-fields-roles.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-roles -title: roles ---- - -所有用户组 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 用户组名 | -| display_name | varchar | 展示名 | -| description | text | 用户组简介 | diff --git a/docs/data-fields-sensitives.html b/docs/data-fields-sensitives.html new file mode 100644 index 0000000..853348e --- /dev/null +++ b/docs/data-fields-sensitives.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-sensitives.md b/docs/data-fields-sensitives.md deleted file mode 100644 index 59e0183..0000000 --- a/docs/data-fields-sensitives.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-sensitives -title: sensitives ---- - -敏感词 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| word | varchar | 敏感词 | -| type | enum | 类型 | -| replace | varchar | 替换类型需要替换的文本 | diff --git a/docs/data-fields-tag-categories.html b/docs/data-fields-tag-categories.html new file mode 100644 index 0000000..5ff74dc --- /dev/null +++ b/docs/data-fields-tag-categories.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-tag-categories.md b/docs/data-fields-tag-categories.md deleted file mode 100644 index 12e45de..0000000 --- a/docs/data-fields-tag-categories.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-tag-categories -title: tag_categories ---- - -标签分类 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 分类名 | -| weight | int | 排序权重 | diff --git a/docs/data-fields-taggables.html b/docs/data-fields-taggables.html new file mode 100644 index 0000000..22f3fca --- /dev/null +++ b/docs/data-fields-taggables.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-taggables.md b/docs/data-fields-taggables.md deleted file mode 100644 index dba9131..0000000 --- a/docs/data-fields-taggables.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-taggables -title: taggables ---- - -标签使用记录 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| tag_id | int | 标签id | -| taggable_id | int | 被打标签的资源id | -| taggable_type | varchar | 被打标签的资源类型 | diff --git a/docs/data-fields-tags.html b/docs/data-fields-tags.html new file mode 100644 index 0000000..5ce74f6 --- /dev/null +++ b/docs/data-fields-tags.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-tags.md b/docs/data-fields-tags.md deleted file mode 100644 index d24e6c4..0000000 --- a/docs/data-fields-tags.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-tags -title: tags ---- - -标签 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 标签名字 | -| tag_category_id | int | 分类id | -| weight | int | 排序权重 | diff --git a/docs/data-fields-topic-application.html b/docs/data-fields-topic-application.html new file mode 100644 index 0000000..f818926 --- /dev/null +++ b/docs/data-fields-topic-application.html @@ -0,0 +1,25 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-topic-application.md b/docs/data-fields-topic-application.md deleted file mode 100644 index eae9d7d..0000000 --- a/docs/data-fields-topic-application.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -id: data-fields-topic-application -title: topic_application ---- - -申请创建问答话题 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 申请创建话题名称 | -| user_id | int | 回答者 | -| description | varchar | 话题描述 | -| status | tinyint | 审核状态 0-未处理 1-已通过 2-被驳回 | -| expires_at | timestamp | 处理时间 | -| examiner | int | 审核用户 | -| remarks | varchar | 备注 | diff --git a/docs/data-fields-topic-user.html b/docs/data-fields-topic-user.html new file mode 100644 index 0000000..7430978 --- /dev/null +++ b/docs/data-fields-topic-user.html @@ -0,0 +1,19 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-topic-user.md b/docs/data-fields-topic-user.md deleted file mode 100644 index 4803077..0000000 --- a/docs/data-fields-topic-user.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: data-fields-topic-user -title: topic_user ---- - -用户创建的话题 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| user_id | int | 创建者id | -| topic_id | int | 话题id | diff --git a/docs/data-fields-topics.html b/docs/data-fields-topics.html new file mode 100644 index 0000000..9500b98 --- /dev/null +++ b/docs/data-fields-topics.html @@ -0,0 +1,25 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-topics.md b/docs/data-fields-topics.md deleted file mode 100644 index b918d41..0000000 --- a/docs/data-fields-topics.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -id: data-fields-topics -title: topics ---- - -问答话题 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 话题名称 | -| description | varchar | 话题描述 | -| questions_count | int | 问题统计 | -| follows_count | int | 关注着统计 | -| experts_count | int | 专家统计 | -| sort | int | 排序权重 | -| status | tinyint | 0 开启 1关闭 | diff --git a/docs/data-fields-user-extras.html b/docs/data-fields-user-extras.html new file mode 100644 index 0000000..97da4ac --- /dev/null +++ b/docs/data-fields-user-extras.html @@ -0,0 +1,27 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-user-extras.md b/docs/data-fields-user-extras.md deleted file mode 100644 index 262fe11..0000000 --- a/docs/data-fields-user-extras.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -id: data-fields-user-extras -title: user_extras ---- - -用户扩展信息 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| user_id | int | 用户id | -| likes_count | int | 点赞统计 | -| comments_count | int | 评论统计 | -| followers_count | int | 粉丝统计 | -| followings_count | int | 关注统计 | -| feeds_count | int | 动态统计 | -| questions_count | int | 问题统计 | -| answers_count | int | 回答统计 | -| checkin_count | int | 签到统计 | -| last_checkin_count | int | 连续签到统计 | \ No newline at end of file diff --git a/docs/data-fields-user-follow.html b/docs/data-fields-user-follow.html new file mode 100644 index 0000000..8f3c9fd --- /dev/null +++ b/docs/data-fields-user-follow.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-user-follow.md b/docs/data-fields-user-follow.md deleted file mode 100644 index 62f7fc9..0000000 --- a/docs/data-fields-user-follow.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-user-follow -title: userfollow ---- - -问答的答案 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| target | int | 对象用户 | -| user_id | int | 回答者 | diff --git a/docs/data-fields-user-socialites.html b/docs/data-fields-user-socialites.html new file mode 100644 index 0000000..09325ce --- /dev/null +++ b/docs/data-fields-user-socialites.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-user-socialites.md b/docs/data-fields-user-socialites.md deleted file mode 100644 index 718c37a..0000000 --- a/docs/data-fields-user-socialites.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-user-socialites -title: user_socialites ---- - -用户三方信息绑定 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| user_id | int | 用户id | -| union_id | varchar | 唯一标识 | -| type | varchar | 第三方 | diff --git a/docs/data-fields-user-unread-counts.html b/docs/data-fields-user-unread-counts.html new file mode 100644 index 0000000..5dc9a68 --- /dev/null +++ b/docs/data-fields-user-unread-counts.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-user-unread-counts.md b/docs/data-fields-user-unread-counts.md deleted file mode 100644 index 0ddd63e..0000000 --- a/docs/data-fields-user-unread-counts.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-user-unread-counts -title: user_unread_counts ---- - -用户未读消息 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| user_id | int | 用户id | -| unread_comments_count | int | 未读评论数 | -| unread_likes_count | int | 未点赞论数 | -| unread_group_join_count | int | 未读待审核加圈统计 | diff --git a/docs/data-fields-users-recommended.html b/docs/data-fields-users-recommended.html new file mode 100644 index 0000000..9838be4 --- /dev/null +++ b/docs/data-fields-users-recommended.html @@ -0,0 +1,19 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-users-recommended.md b/docs/data-fields-users-recommended.md deleted file mode 100644 index 277c50c..0000000 --- a/docs/data-fields-users-recommended.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: data-fields-users-recommended -title: users_recommended ---- - -推荐用户 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| user_id | int | 被推荐人 | diff --git a/docs/data-fields-users.html b/docs/data-fields-users.html new file mode 100644 index 0000000..ccb485f --- /dev/null +++ b/docs/data-fields-users.html @@ -0,0 +1,26 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-users.md b/docs/data-fields-users.md deleted file mode 100644 index 917fb34..0000000 --- a/docs/data-fields-users.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -id: data-fields-users -title: users ---- - -用户 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| name | varchar | 昵称 | -| email | varchar | 邮箱 | -| phone | varchar | 手机 | -| password | varchar | 密码 | -| bio | varchar | 简介 | -| sex | tinyint | 性别 | -| location | varchar | 位置 | -| remember_token | varchar | 刷新凭证 | \ No newline at end of file diff --git a/docs/data-fields-verification-codes.html b/docs/data-fields-verification-codes.html new file mode 100644 index 0000000..989f5ad --- /dev/null +++ b/docs/data-fields-verification-codes.html @@ -0,0 +1,23 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-verification-codes.md b/docs/data-fields-verification-codes.md deleted file mode 100644 index c538bd1..0000000 --- a/docs/data-fields-verification-codes.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: data-fields-verification-codes -title: verification_codes ---- - -验证码记录 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| channel | varchar | 发送频道,例如 mail, sms | -| user_id | int | 回答者 | -| account | text | 发送账户 | -| code | varchar | 验证码 | -| state | tinyint | 状态 | diff --git a/docs/data-fields-wallet-cashes.html b/docs/data-fields-wallet-cashes.html new file mode 100644 index 0000000..2a360c8 --- /dev/null +++ b/docs/data-fields-wallet-cashes.html @@ -0,0 +1,24 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-wallet-cashes.md b/docs/data-fields-wallet-cashes.md deleted file mode 100644 index e55d61c..0000000 --- a/docs/data-fields-wallet-cashes.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: data-fields-wallet-cashes -title: wallet_cashes ---- - -交易记录 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| value | bigint | 提现金额 | -| user_id | int | 提现用户 | -| type | varchar | 提现方式 | -| account | varchar | 提现账户 | -| status | tinyint | 状态:0 - 待审批,1 - 已审批,2 - 被拒绝 | -| remark | text | 备注 | diff --git a/docs/data-fields-wallet-charges.html b/docs/data-fields-wallet-charges.html new file mode 100644 index 0000000..b6cd522 --- /dev/null +++ b/docs/data-fields-wallet-charges.html @@ -0,0 +1,29 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-wallet-charges.md b/docs/data-fields-wallet-charges.md deleted file mode 100644 index 254c6d5..0000000 --- a/docs/data-fields-wallet-charges.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -id: data-fields-wallet-charges -title: wallet_charges ---- - -交易记录 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| channel | varchar | 支付频道,参考 Ping++,增加 user 选项,表示站内用户凭据 | -| user_id | varchar | 关联用户,可不存在,例如直接支付方式等。存在便于按照用户检索。 | -| account | text | 交易账户,减项为目标账户,增项为来源账户,当 type 为 user 时,此处是用户ID | -| charge_id | varchar | 凭据id, 来自 Ping ++ | -| action | tinyint | 类型:1 - 增加,0 - 减少 | -| amount | bigint | 总额 | -| currency | varchar | 货币类型 | -| subject | varchar | 订单标题 | -| body | text | 订单详情 | -| transaction_no | varchar | 平台记录ID | -| status | tinyint | 状态:0 - 等待, 1 - 成功, 2 - 失败 | diff --git a/docs/data-fields-wallet-orders.html b/docs/data-fields-wallet-orders.html new file mode 100644 index 0000000..0175c50 --- /dev/null +++ b/docs/data-fields-wallet-orders.html @@ -0,0 +1,26 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-wallet-orders.md b/docs/data-fields-wallet-orders.md deleted file mode 100644 index eb40048..0000000 --- a/docs/data-fields-wallet-orders.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -id: data-fields-wallet-orders -title: wallet_orders ---- - -钱包订单 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| owner_id | int | 记录所属者 | -| target_type | varchar | 目标类型 | -| target_id | varchar | 目标标识 | -| title | varchar | 订单标题 | -| body | text | 订单内容 | -| type | tinyint | 1:入账、-1:支出 | -| amount | int | 订单金额 | -| state | tinyint | 订单状态,0: 等待,1:成功,-1: 失败 | diff --git a/docs/data-fields-wallet.html b/docs/data-fields-wallet.html new file mode 100644 index 0000000..a693276 --- /dev/null +++ b/docs/data-fields-wallet.html @@ -0,0 +1,21 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-wallet.md b/docs/data-fields-wallet.md deleted file mode 100644 index 2d24eee..0000000 --- a/docs/data-fields-wallet.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: data-fields-wallet -title: wallet ---- - -钱包「新版」 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| owner_id | int | 所属用户id | -| balance | bigint | 余额 | -| total_income | bigint | 总收入 | -| total_expenses | int | 总支出 | diff --git a/docs/data-fields-wallets.html b/docs/data-fields-wallets.html new file mode 100644 index 0000000..d99ce32 --- /dev/null +++ b/docs/data-fields-wallets.html @@ -0,0 +1,20 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields-wallets.md b/docs/data-fields-wallets.md deleted file mode 100644 index c3b690c..0000000 --- a/docs/data-fields-wallets.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: data-fields-wallets -title: wallets ---- - -旧版钱包「将废弃」 - -| 字段 | 类型 | 说明 | -| :- | :- | :- | -| id | int | 自增id | -| balance | bigint | 钱包余额 | -| user_id | int | 所属用户 | diff --git a/docs/data-fields.html b/docs/data-fields.html new file mode 100644 index 0000000..48455cc --- /dev/null +++ b/docs/data-fields.html @@ -0,0 +1,131 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/data-fields.md b/docs/data-fields.md deleted file mode 100644 index f1978a6..0000000 --- a/docs/data-fields.md +++ /dev/null @@ -1,102 +0,0 @@ ---- -id: data-fields -title: 数据字典 ---- - -1. [abilities - 所有权限节点](data-fields-abilities.md) -2. [ability_role - 用户组权限](data-fields-ability-rule.md) -3. [advertising - 广告列表](data-fields-advertising.md) -4. [advertising_space - 广告位](data-fields-advertising-space.md) -5. [answer_onlooker - 被围观的答案](data-fields-answer-onlooker.md) -6. [answers - 答案](data-fields-answers.md) -7. [areas - 地区配置](data-fields-areas.md) -8. [around_amaps - 用户坐标](data-fields-around-amaps.md) -9. [certification_categories - 认证分类](data-fields-certification-categories.md) -10. [certifications - 用户认证](data-fields-certifications.md) -11. [checkin_logs - 签到记录](data-fields-checkin-logs.md) -12. [client_versions - 客户端版本控制](data-fields-client-versions.md) -13. [collections - 收藏](data-fields-collections.md) -14. [comments - 评论](data-fields-comments.md) -15. [common_configs - 公共配置](data-fields-common-configs.md) -16. [conversations - 用户反馈](data-fields-conversations.md) -17. [currencies - 用户货币](data-fields-currencies.md) -18. [currency_commodities - 货币商品](data-fields-currency-commodities.md) -19. [currency_orders - 购买订单](data-fields-currency-orders.md) -20. [currency_type_transforms - 货币兑换关系表](data-fields-currency-type-transforms.md) -21. [currency_types - 货币类型](data-fields-currency-types.md) -22. failed_jobs - 失败队列 -23. [famous - 注册时被关注的用户](data-fields-famous.md) -24. [feed_collections - 动态收藏](data-fields-feed-collections.md) -25. [feed_pinneds - ](data-fields-feed-pinneds.md) -26. [feeds - 动态](data-fields-feeds.md) -27. [file_withs - 附件关系表](data-fields-file-withs.md) -28. [files - 附件表](data-fields-files.md) -29. [gold_rules - 金币规则](data-fields-gold-rules.md) -30. [gold_types - 金币类型](data-fields-gold-types.md) -31. [group_categories - 圈子分类](data-fields-group-categories.md) -32. [group_incomes - 圈子收入](data-fields-group-incomes.md) -33. [group_member_logs - 加圈记录](data-fields-group-member-logs.md) -34. [group_members - 圈子成员](data-fields-group-members.md) -35. [group_pinneds - 帖子置顶记录](data-fields-group-pinneds.md) -36. [group_posts - 帖子](data-fields-group-posts.md) -37. [group_recommends - 推荐圈子](data-fields-group-recommends.md) -38. [group_reports - 圈子举报](data-fields-group-reports.md) -39. [groups - 圈子](data-fields-groups.md) -40. [im_conversations - 忽略](data-fields-.md) -41. [im_group - 忽略](data-fields-.md) -42. [im_users - 忽略](data-fields-.md) -43. jobs - 队列表 -44. [jwt_caches - token管理](data-fields-jwt-caches.md) -45. [likes - 点赞表](data-fields-likes.md) -46. migrations - 迁移表 -47. [music_collections - 音乐收藏](data-fields-music-collections.md) -48. [music_singers - 歌手](data-fields-music-singers.md) -49. [music_special_links - 音乐/专辑关联表](data-fields-music-special-links.md) -50. [music_specials - 专辑表](data-fields-music-specials.md) -51. [musics - 音乐表](data-fields-musics.md) -52. [navigation - pc导航](data-fields-navigation.md) -53. [news - 资讯](data-fields-news.md) -54. [news_cates - 资讯分类](data-fields-news-cates.md) -55. [news_cates_follow - 订阅的资讯分类](data-fields-news-cates-follow.md) -56. [news_cates_links - 资讯/分类关联表](data-fields-news-cates-links.md) -57. [news_collections - 资讯收藏](data-fields-news-collections.md) -58. [news_pinneds - 资讯置顶申请](data-fields-news-pinneds.md) -59. [news_recommend - 推荐资讯](data-fields-news-recommend.md) -60. [notifications - 通知](data-fields-notifications.md) -61. [paid_node_users - 用户已付费节点](data-fields-paid-node-users.md) -62. [paid_nodes - 付费节点](data-fields-paid-nodes.md) -63. [password_resets - 密码重置记录](data-fields-password-resets.md) -64. [plus_id_clients - ](data-fields-plus-id-clients.md) -65. [plus_id_notices](data-fields-plus-id-notices.md) -66. [question_application - 精华问题](data-fields-question-application.md) -67. [question_invitation - 邀请回答](data-fields-question-invitation.md) -68. [question_topic - 问答话题](data-fields-question-topic.md) -69. [question_watcher - 问题关注者](data-fields-question-watcher.md) -70. [questions - 问题](data-fields-questions.md) -71. [reports - 举报](data-fields-reports.md) -72. [rewards - 打赏](data-fields-rewards.md) -73. [role_user - 用户组拥有权限](data-fields-role-user.md) -74. [roles - 权限节点](data-fields-roles.md) -75. [sensitives - 敏感词](data-fields-sensitives.md) -76. [tag_categories - 标签分类](data-fields-tag-categories.md) -77. [taggables - 标签使用记录](data-fields-taggables.md) -78. [tags - 标签](data-fields-tags.md) -79. [topic_application - ](data-fields-topic-application.md) -80. [topic_expert - 话题下专家列表](data-fields-topic-expert.md) -81. [topic_expert_income 话题下问题所产生的收入](data-fields-topic-expert-income.md) -82. [topic_user - 问答话题/用户关系表](data-fields-topic-user.md) -83. [topics - 问答话题](data-fields-topics.md) -84. [user_extras - 用户信息](data-fields-user-extras.md) -85. [user_follow - 用户关注关系](data-fields-user-follow.md) -86. user_profile_setting_links - 忽略 -87. user_profile_settings - 忽略 -88. [user_socialites - 用户三方信息绑定](data-fields-user-socialites.md) -89. [user_unread_counts - 用户未读信息](data-fields-user-unread-counts.md) -90. [users - 用户](data-fields-users.md) -91. [users_recommended - 推荐用户](data-fields-users-recommended.md) -92. [verification_codes - 验证码](data-fields-verification-codes.md) -93. [wallet - 新钱包](data-fields-wallet.md) -94. [wallet_cashes - 提现记录](data-fields-wallet-cashes.md) -95. [wallet_charges - 交易凭据](data-fields-wallet-charges.md) -96. [wallet_orders - 钱包订单](data-fields-wallet-orders.md) -97. [wallets - 旧版钱包, 将会废弃](data-fields-wallets.md) \ No newline at end of file diff --git a/docs/server-config-guides.html b/docs/server-config-guides.html new file mode 100644 index 0000000..f913cf7 --- /dev/null +++ b/docs/server-config-guides.html @@ -0,0 +1,270 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/server-config-guides.md b/docs/server-config-guides.md deleted file mode 100644 index f6ff85c..0000000 --- a/docs/server-config-guides.md +++ /dev/null @@ -1,278 +0,0 @@ ---- -id: server-config-guides -title: 服务端配项说明 ---- - -> 系统配置是开启一切的钥匙 - -为了能让大家能够对各个配置项的作用更加了解, 在此我们对ThinkSNS+的配置项做一个具体的分析 - -***文档中所提到废弃配置, 是已经废弃的配置, 可能在部分老版本中还存在; 并且此配置我们依旧会不停优化, 达到最佳效果*** - -### 配置文件所在位置 -1. .env文件 「laravel默认配置文件」 -.env文件详解,请见laravel文档 [.env「中文」](https://laravel-china.org/docs/laravel/5.6/configuration) [.env「英文」](https://laravel.com/docs/5.6/configuration) -2. config目录中的所有文件 「扩展包配置文件」 -请看laravel扩展包相关文档 [扩展包的configuration](https://laravel-china.org/docs/laravel/5.6/packages#package-discovery) - -3. .plus.yml文件 「后台设置存放的配置文件」, **`配置文件的优先级最高`**, 然后是config目录中的配置文件, 最后才是.env文件 -这个文件是此文档主要讲解的内容, 请看详解 - ->YAML(IPA: /ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达资料序列的编程语言。 -文件后缀 .yml - -### 站点设置部分 -对应后台设置中: 系统设置 -> 站点设置 -`````` -site: // 站点标识 - gold: // 积分标识 - status: true // 是否开启积分 Boolean [true, false] - reward: // 打赏标识 - status: true // 是否开启打赏 Boolean [true, false] - amounts: '100,500,1000' // 打赏金额选项, 单位为「分」, 使用「半角逗号」分割 - reserved_nickname: 'root,admin' // 预留站点昵称「半角逗号」分割 - client_email: admin@123.com // 客服邮箱 - user_invite_template: '我发现了一个全平台社交系统ThinkSNS+,快来加入吧:http://t.cn/RpFfbbi' // 客户端[Android, iOS]邀请短信模板, 短链接无法自动生成 - anonymous: // 匿名设置 - status: true // 可匿名状态 [true, false] - rule: 可以使用匿名 // 匿名规则说明 - about_url: http://www.thinksns.com - status: true // 弃用设置 - off_reason: 站点维护中请稍后再访问 // 弃用设置 - app: // 弃用设置 - status: true // 弃用设置 - h5: // 弃用设置 - status: true // `弃用设置` - background: - logo: /api/v2/files/4 -`````` - -### 签到设置 - -`````` -checkin: // 签到设置 - open: true // 是否开启[true, false] - attach_balance: 1 // 签到后获取的积分 -`````` - -### PC扩展包设置 -此配置并非TS+主干带有, 需要安装PC扩展包 - -**`注: QQ第三方登录 ios && android客户端使用的是腾讯开放平台, pc && h5使用的QQ互联, 需要发送邮件至腾讯进行应用合并`** - -**`注: QQ第三方登录 ios &&a ndroid客户端使用的是腾讯开放平台, pc && h5还使用的QQ互联, 需要发送邮件至腾讯进行应用合并`** - -**`注: QQ第三方登录 ios && android客户端使用的是腾讯开放平台, pc && h5使用的QQ互联, 需要发送邮件至腾讯进行应用合并`** -
- -**`注: 微信第三方登录 IOS && Android && PC 使用的微信开放平台, H5使用的是微信公众号授权登录, 需要在开放平台绑定公众号`** - -**`注: 微信第三方登录 IOS && Android && PC 使用的微信开放平台, H5使用的是微信公众号授权登录, 需要在开放平台绑定公众号`** - -**`注: 微信第三方登录 IOS && Android && PC 使用的微信开放平台, H5使用的是微信公众号授权登录, 需要在开放平台绑定公众号`** - -重要的事情要说三遍 -`````` -pc: // pc扩展包配置 - installed: true // 判断是否安装, 做跳转判断 - routeName: 'pc:feeds' // pc默认跳转路由名称 - stats_code: null - status: '0' // pc扩展包是否开启, 暂未使用 - logo: 0 // pc扩展包logo, 为file_with_id - loginbg: 0 // pc扩展包登录页背景图, 为 file_with_id - site_name: ThinkSNS+ // pc 页面title - site_copyright: 'Powered by ThinkSNS ©2017 ZhishiSoft All Rights Reserved.' // pc 版权 - site_technical: ThinkSNS // 技术支持提供方 - weibo: // 三方登录: 微博 - client_id: null // 微博开放平台 应用id - client_secret: null // 微博开放平台 应用密钥 - wechat: // 三方登录: 微信 - client_id: null // 微信开放平台 应用id - client_secret: null // 微信开放平台 应用密钥 - qq: // 三方登录: QQ - client_id: null // QQ互联应用id - client_secret: null QQ互联 应用密钥 -`````` - -### 注册设置 - -对应后台设置: 用户中心 -> 注册设置 -`````` -registerSettings: // 注册设置 - showTerms: true // 显示注册条款 [true, false] - method: all // 账号类型[仅手机, 仅邮箱, 手机和邮箱] - fixed: need // 是否需要完善资料 - type: all // 注册方式 [all] - content: '# 服务条款及隐私政策' // 注册条款 - -`````` - -### 本地即时聊天配置 -`````` -im: - open: true // 废弃配置 -`````` - -### 基本信息配置 -对应后台设置: 系统设置 -> 基本信息 -`````` -app: - name: ThinkSNS+ // 站点名称 - keywords: ThinkSNS+ // 站点关键字 - description: ThinkSNS+ // 站点简介 - icp: 蜀ICP备-293898923 // icp备案信息 -`````` - -### 附件管理 -`````` -cdn: - default: filesystem // 选中的附件存储类型 - generators: - filesystem: // 本地文件 - disk: public - alioss: // 阿里OSS - bucket: bucket // bucket名字 - endpoint: 'https://img.zhibocloud.cn' // 加速域名或者oss自带域名 - AccessKeyId: access_key - AccessKeySecret: secret_key - ssl: true // 是否开启ssl协议「需要在oss开启, 并且endpoint需要https」 - public: false // 是否可以公开浏览 [true, false] - expires: 3600 // 私有认证的有效时间 「单位: 秒」 - cname: true // 是否加速 [true, false] - qiniu: // 七牛云存储 - domain: 'https://images.zhibocloud.cn' // 加速域名 - sign: false // 签名公开与否 [true, flase] - expires: 3600 // 签名有效时间 「单位秒」 - ak: access_key - sk: secret_key - type: object // 对象存储/融合cdn - bucket: bucket // 存储bucket -`````` -### 动态扩展包 -`````` -feed: - paycontrol: true // 是否开启付费内容 - limit: 100 // 收费文字长度, 设置收费后有效 - items: // 付费预设积分选项 - - 100 - - 500 - - 1000 - reward: true // 是否开启打赏 [true, false], 打赏预设选项有站点设置控制 -`````` - -### 资讯设置 -`````` -news: - pay_contribute: 1000 // 投稿所需积分 开启付费投稿有效 - contribute: - verified: true // 是否开启认证用户投稿 - pay: true // 是否开启付费投稿 -`````` -### 邮件配置 -`````` -mail: - driver: smtp // 邮件驱动 [smtp, log], log为本地日志记录, 不发送, 用于测试 - host: smtp.zhibocloud.cn // smtp邮件服务器地址 - port: '2525' // 邮件服务器端口 - from: // 邮件作者设置 - address: hello@example.com - name: Example - encryption: ssl // 传输加密协议 [tls, ssl] - username: root // 发件账号 - password: '123456' // 发件密码 -`````` -### 积分配置 -`````` -currency: - recharge: // 充值 - IAP: // iOS IAP充值 - only: true // 是否开启IAP, 用户app上架 - rule: ddddd // IAP充值规则 - rule: 积分充值规则 // 积分充值规则 - status: true // - rule: 积分规则 // 积分总则 - cash: - rule: 积分体现规则 // 积分提现规则 - status: true // 是否开启积分转余额 -`````` -### 附件上传大小设置 -`````` -files: - upload_max_size: '10240' // 单位: K -`````` - -### 短信设置 -`````` -sms: - default: - allowed_gateways: // 默认开启的网关 - - aliyun - - alidayu - - yunpian - gateways: // 开启的网关 - - aliyun - - alidayu - - yunpian - channels: - code: // 短信模版ID 有短信供应商提供 - alidayu: - template: xx_123456 - aliyun: - template: sm_123456 - yunpian: - content: xx_123456 - gateways: // 网关配置 - aliyun: - access_key_id: appKey - access_key_secret: appSecret - sign_name: ThinkSNS+ - alidayu: - app_key: alidayu_app_key - app_secret: alidayu_app_secret - sign_name: ThinkSNS+ - yunpian: - api_key: yunpian_api_key -`````` -### 钱包配置 -`````` -wallet: - cash: - status: true // 是否开启提现 - recharge: - status: true // 是否开启充值 - transform: - status: true // 是否支持余额购买积分 -`````` -### app版本控制 -暂时只对android有效 -`````` -plus-appversion: - open: false // [true, false] -`````` -### 附近的人设置 -基于高德地图 -`````` -around-amap: - amap-sig: gao_app_secret // app_secret - amap-tableid: map_table_id // 高德自定义地图id 申请地址: http://yuntu.amap.com/datamanager - amap-key: gaode_app_key // app_key - amap-jssdk: http://webapi.amap.com/maps?v=1.4.4&key=您申请的key值 // jssdk地址, 用于H5 -`````` -### 圈子设置 -`````` -plus-group: - group_reward: - status: true // 是否开启圈内资源打赏 - group_create: - need_verified: true // 是否开启认证用户创建圈子 - report_handle: founder // 圈内举报处理人 ['admin' => '网站管理员', 'founder'=> '圈主'] -`````` -### 问答设置 -`````` -question: - app: - switch: true // 是否开启问答 - apply_amount: 200 // 申请精选所需金额「单位: 分」 - onlookers_amount: 100 // 围观所需金额「单位: 分」 - anonymity_rule: '' // 废弃配置 -`````` diff --git a/docs/server-getting-started-installation.html b/docs/server-getting-started-installation.html new file mode 100644 index 0000000..bf79780 --- /dev/null +++ b/docs/server-getting-started-installation.html @@ -0,0 +1,397 @@ + + + + + + Codestin Search App + + + + + + + + + + + + + + + + +
+ +
+ + + + + \ No newline at end of file diff --git a/docs/server-getting-started-installation.md b/docs/server-getting-started-installation.md deleted file mode 100644 index 5ffe5b1..0000000 --- a/docs/server-getting-started-installation.md +++ /dev/null @@ -1,192 +0,0 @@ ---- -id: server-getting-started-installation -title: 安装 ---- - -- [环境要求](#manual-need) -- [安装](#install) - -## 环境要求 - -- [PHP & 拓展](#manual-need-php-ext) -- [PHP 函数](#manual-need-php-functions) -- [数据库](#manual-need-database) - -### PHP & 拓展 - -- PHP 必须大于或等于 7.1.3 -- 必须安装扩展 dom -- 必须安装扩展 fileinfo -- 必须安装扩展 gd -- 必须安装扩展 json -- 必须安装扩展 mbstring -- 必须安装扩展 openssl -- 必须安装 PDO -- 使用 MySQL 数据库则必须安装 PHP 扩展 pdo_mysql -- 使用 PostgreSQL 数据库则必须安装 PHP 扩展 pdo_pgsql -- 使用 SQLite 数据库则必须安装 PHP 拓展 pdo_sqlite -- 使用 SQL Server 数据库则必须安装 PHP 拓展 pdo_dblib - - -### PHP 函数 - -- `exec` -- `system` -- `scandir` -- `symlink` -- `shell_exec` -- `proc_open` -- `proc_get_status` - -> 这些是在 Console 环境下使用的,尽量确保你的系统没有禁止。 - - -### 数据库 - -- [MySQL](#manual-need-database-mysql) -- [MariaDB](#manual-need-database-mariadb) -- [PostgreSQL](#manual-need-database-pgsql) -- [SQLite](#manual-need-database-sqlite) -- [Microsoft SQL Server](#manual-need-database-sql-server) - -> 推荐使用 PostgreSQL。 - - -##### MySql - -使用 MySQL 建议使用 `>=5.7` 版本,必须 `>=5.6` 版本,如果你的是 5.6 版本,则自行解决索引过长导致的 SQL 执行错误问题。 - - -##### MariaDB - -使用 MariaDB 必须 `>=10.3` 版本,因为只有该版本是建立在 MySQL 5.6 & 5.7 之上的,得以支持 Emoji。 - -> 使用 MariaDB 按照 MySQL 进行配置即可。 - - -##### PostgreSQL - -PostgreSQL 数据库天然支持 Emoji,无需任何版本要求,但是我们还是建议使用最新版本的 PostgreSQL 稳定版本的以支持更完善的空间计算。 - - -##### SQLite - -首先,这个数据库不建议使用,因为这种轻量级的数据库适合在 App 中来解决数据本地化需求,服务器应用场景很小。 - -> 虽然 ThinkSNS+ 不允许使用 SQLite,但是您仍然可以在系统中使用该数据库,但是例如 Emoji 储存等问题自行解决。 - - -##### Microsoft SQL Server - -就像不推荐 SQLite 一样,我们同样不推荐 Microsoft SQL Server 除非你确定你的系统不适用 Emoji 那么你可以无顾虑的使用 Microsoft SQL Server 了,因为 Microsoft SQL Server 同样支持 utf8 字符集,却无法支持四位长度的 Emoji 字符。 - -> ThinkSNS+ 不建议使用 SQL Server,但是你仍然可以在系统中使用,出现的 emoji 存储问题自行解决。 - - -## 安装 - -需要软件: - -- [Composer](https://getcomposer.org/) - -> 之后操作我们拟定目录为 `/var/www` - -### 下载 Plus 和相关依赖 - -```shell -composer create-project zhiyicx/thinksns-plus -``` - -克隆完成后我们进入 `thinksns-plus` 目录: - -### 发布拓展包资源 - -```shell -php artisan vendor:publish --all -``` - -### 前端服务器转发配置 - -配置前端服务器,例如 Nginx、Apache 等。应当将 ThinkSNS Plus 下的 `public` 作为 root 目录。 - -#### Nginx - - -如果你使用的是 Nginx,在你的站点配置中加入以下内容,它将会将所有请求都引导到 index.php 前端控制器: - -``` -location / { - try_files $uri $uri/ /index.php?$query_string; -} -``` - -##### Example - -``` -server { - listen 443 ssl http2; - server_name plus.io; - ssl on; - ssl_certificate /var/www/public/public.io.crt; - ssl_certificate_key /var/www/public/public.io.key.unsecure; - root /var/www/public/public; - index index.php index.html index.htm; - - location / { - try_files $uri $uri/ /index.php$is_args$args; - } - - location ~ \.php$ { - try_files $uri /index.php =404; - fastcgi_pass php-upstream; - fastcgi_index index.php; - fastcgi_buffers 16 16k; - fastcgi_buffer_size 32k; - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; - include fastcgi_params; - } - - location ~ /\.ht { - deny all; - } -} -``` - -#### Apache - -在 ThinkSNS+ 中,已经在根目录 `/plulic` 中已经提供了 `.htaccess` 文件,其中已经为您配置好了优雅的地址配置。如果在你的 Apache 中不生效或者由其他位置提供配置,请设置: - -``` -Options +FollowSymLinks -RewriteEngine On - -RewriteCond %{REQUEST_FILENAME} !-d -RewriteCond %{REQUEST_FILENAME} !-f -RewriteRule ^ index.php [L] -``` - -#### Caddy - -Caddy 是一个小巧精悍的 http 软件,在开发环境,测试环境等下也是我们推荐使用的软件。因为它无需特殊的安装,无需特殊的配置,您只需下载一个 Caddy 运行文件,写一份你的站点配置即可运行。 - -``` -rewrite { - to {path} {path}/ /index.php?{query} -} -``` - - -### 目录权限 & 公开资源 - -大多数时候为了方便,我们在服务器都是使用 `root` 作为服务器管理账户,可能你在下载 ThinkSNS+ 的时候也适用的 `root` 账户,这会产生一个问题,php-fpm 或者 nginx 不是运行在 root 账户下的,导致你实际运行站点的时候会出现莫名其妙的错误,你应该将你整个 `thinksns-plus` 目录指定给 php 或者 nginx 的运行角色: - -| 目录 | 权限 | -|:----:|----| -| /* | 0755 | -| /storage | 0777 | - -所有资源都存储在 `/storage` 目录下,所以你需要将公开资源链接到 `/public` 目录下,请务必执行: - -```shell -php artisan storage:link -``` \ No newline at end of file diff --git a/docs/server-guides-cdn.html b/docs/server-guides-cdn.html new file mode 100644 index 0000000..3ee53d8 --- /dev/null +++ b/docs/server-guides-cdn.html @@ -0,0 +1,79 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/server-guides-cdn.md b/docs/server-guides-cdn.md deleted file mode 100644 index 653262e..0000000 --- a/docs/server-guides-cdn.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -id: server-guides-cdn -title: CDN ---- - -## 文件系统 - -### 本地 - -文件系统 - 本地 的存在为有条件的用户提供了独立部署的支持,其中文件存放在 `storage/app` 目录中。用户可以使用独立的系统对文件进行发布,只需要将公开地址填写进去即可。 - -### 本地公开 - -「本地公开」是在 ThinkSNS Plus 中默认的一种方式,主要是便于没有条件的用户简单的拥有储存功能。 - -#### 设置 - -进入「CDN 管理」,CDN 项选择「文件系统」,然后磁盘选择「本地公开」 - -#### 必要命令 - -默认情况下,本地公开磁盘是放在 `/storage/app/public` 目录下的,这个目录并非公开目录,你需要实现: - -```shell -php artisan storage:link -``` - -执行完成后会创建一个软链到 `public/storage`。此时就可以通过你的域名访问文件了。 - -### AWS S3 - -亚马逊 S3 磁盘,是使用你的服务器作为中转站,最重将资源存储在 S3 服务器上的一种磁盘服务。 - -起到节省磁盘空间的目的。 - -#### 安装 - -在使用 S3 磁盘之前,你需要执行: - -```shell -composer require league/flysystem-aws-s3-v3 ~1.0 -``` - -来安装 S3 的 磁盘兼容软件。 - -## 七牛 - -七牛的驱动支持七牛的两项服务,你可以选择其中一项,也可以选择同时使用。 - -### 配置说明 - -使用七牛必须将后台表单配置完成,否则服务将会出现错误。 - -这里推荐将签字设置为「私有」以达到保护资源的目的。 - -你需要在七牛的「回源设置」中填写「app_url/storage/」作为回源地址,这里暂时的,你也可以点击「[CDN 部署方案](/plus-docs/core/1.0/cdn/programme)」来使用独立系统配置。 - -### 对象存储 - -使用对象存储支持 cdn 同时使用,这是七牛自带的功能,不需要在 ThinkSNS Plus 后台设置。 - -### 融合 CDN - -使用融合 CDN 唯一需要注意的是,你需要联系七牛客服开通「目录刷新」功能,因为例如 头像 在内的资源,无法准确的获取需要刷新的资源。 - -## 部署推荐方案 - -这里的 CDN 部署方案我们以「七牛」为例,其他也可以使用。 - -### 说明 - -因为使用「本地公开」磁盘作为存储,但是在方案中,你不需要执行 `storage:link` 目录将其公开。 - -### 文件系统 - -这里,你可以采用一套独立的文件系统开发布你的资源,资源存储在 `storage/app/public` 目录中,如果你使用云服务器,建议使用远程云储存对该目录进行挂载。 - -部署完成后,你最好开启「回源验证」对你资源服务器的每一个资源获取请求进行验证,以避免一些用户了解 ThinkSNS Plus 规则进行免费获取收费内容。 - -### 方案2 - -我们并不推荐有条件的大型用户直接使用 ThinkSNS Plus 的文件系统和 CDN 系统,因为这是针对 90% 用户需求做的通用解决方案。 - -所以,如果你是那 10% 我们建议你针对 ThinkSNS Plus 的上传,获取,生成 CDN 进行针对某一个云存储或者私有存储进行针对性的开发,其中您至少做到: - -- 文件直传 -- 来源校验 -- 储存任务完成后的数据表记录创建 -- public 地址生成 -- 付费资源的源头拦截验证 diff --git a/docs/server-guides-configuration.html b/docs/server-guides-configuration.html new file mode 100644 index 0000000..df0cbea --- /dev/null +++ b/docs/server-guides-configuration.html @@ -0,0 +1,57 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/server-guides-configuration.md b/docs/server-guides-configuration.md deleted file mode 100644 index 205b305..0000000 --- a/docs/server-guides-configuration.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -id: server-guides-configuration -title: 配置管理 ---- - -在 Laravel 中,大多数采用 `.env` 文件管理,深度配置都采用 `config/*.php` 配置。 - -在 ThinkSNS+ 这一现象并没有发生改变,我们也推崇使用 Laravel 方式进行管理配置,但是有时候我们往往需要后期配置, -但是后期配置不可能期望用户去修改配置文件。这很危险,用户大多都没有技术能力。 - -所以,在 ThinkSNS+ 在 Laravel 配置的基础上增加了一份更加灵活的配置支持,而类就是 `\Zhiyi\Plus\Support\Configuration` 所处位置: `/app/Support/Configuration.php`。 - -我们将这个配置称之为 vendor config,而管理清单采用 Yaml 方式,存储在 `.plus.yml` 文件中。 - -## 获取自定义配置 - -我们只需要调用 `getConfiguration` 方法即可,注意,这里返回的配置并非 Laravel 系统中的所有配置,而是存储在 `.plus.yml` 的所有配置。 - -## 获取自定义一级数据 - -调用 `getConfigurationBase` 方法即可,因为我们通过 vendor 配置的形式对 Laravel 配置进行覆盖,所以我们采用「点分割」式语法,将深层配置,转化为一级数组,来达到对 Laravel 指定深度配置覆盖的目的。 - -## 保存 vendor 配置 - -当我们使用「[获取自定义配置](#获取自定义配置)」获取后,其实是一个 `Illuminate\Contracts\Config\Repository` 的类,而你可以使用这个类的方法管理 vendor 配置,当你管理完成后可以传递给 `save` 方法,`save` 方法会自动将其转化为 Yaml 配置文件并持久化。 - -## 快速设置 - -采用「保存 vendor 配置」的方法进行操作,还是比较繁琐的,所以支持类中提供了一个快速的设置方法 `set`。 - -采用这个方法,你可以快速的设置自定义配置。 - -### 单个配置设置 - -```php -// \Zhiyi\Plus\Support\Configuration::class -$repository->set('cdn.default', 'filesystem'); -``` - -### 多个配置 - -```php -// \Zhiyi\Plus\Support\Configuration::class -$repository->set([ - 'cdn.default' => 'filesystem', - 'app.name' => 'ThinkSNS+', -]); -``` - diff --git a/docs/server-guides-package.html b/docs/server-guides-package.html new file mode 100644 index 0000000..e5557a0 --- /dev/null +++ b/docs/server-guides-package.html @@ -0,0 +1,100 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/server-guides-package.md b/docs/server-guides-package.md deleted file mode 100644 index 1c34d76..0000000 --- a/docs/server-guides-package.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -id: server-guides-package -title: 拓展包开发指南 ---- - -在开发 ThinkSNS+ 之前,你应该阅读 《[Laravel 拓展包开发](https://laravel.com/docs/master/packages)》文档,因为 ThinkSNS+ 的拓展包前提是建立在 Laravel 拓展包基础上新增功能。 - -## 创建拓展包 - -在 ThinkSNS+ 中已为你准备好了友好的方式来创建你的拓展包,Try it: - -```shell -php artisan package:create -``` - -执行命令,按照提示输入你的信息,你的包就创建好了,而你的包会被储存在 `resource/repositorie/sources` 中。 - -## 本地模拟打包 - -当你创建完成你的包后,你一定迫不及待的安装了吧?但是我们还没有发布到 packagist.org 上,如何安装呢? - -在 ThinkSNS+ 已经考虑到你在开发过程中希望模拟发布并使用 Composer 安装你的拓展包,你只需要运行: - -```shell -php artisan package:archive vendor/name [version] -``` - -打包完成后,我们会在 `resource/repositorie/zips` 目录下打包完成你的代码。现在,你可以使用 `composer require vendor/name` 来安装你的拓展包了。 - -## 开发中实时修改 - -上面我们已经提到,ThinkSNS+ 已经在创建拓展包,模拟打包为大家做好了准备。 - -可是,当我们开发过程中,不可能修改了后打包,然后再安装,这样很不方便,所以我们也为你准备了一个「软链」命令。 - -使用这个命令,可以使得你在修改 `resource/repositorie/sources` 内容的时候代码实时生效。我们来看看: - -```shell -php artisan package:link -``` - -执行这个命令完成后我们就可以实时修改代码了。 - - -## 处理器 - -可以把处理理解成一个事件,通过特定指令触发这个处理,可以处理很多微笑需求,通过简单的开发就可以完成一个指令动作的开发。 - -而所有处理器的前置都是 `php artisan package:handle` 。你执行这个命令,ThinkSNS+ 会为你列出所有的处理器。 - -在 ThinkSNS+ 创建的包中,已经在 `src/Handlers` 目录中为你生成好了两个默认处理器。 - -### 创建处理器 - -你只需要创建一个类,这个类继承 `Zhiyi\Plus\Support\PackageHandler` : - -```php -use Zhiyi\Plus\Support\PackageHandler; - -class ExamplePackageHandler extends PackageHandler -{ - // todo. -} -``` - -然后在你的 服务提供者 中,进行注册发布: - -```php -use Zhiyi\Plus\Support\PackageHandler; - -public function register() -{ - PackageHandler::loadHandleFrom('example', ExamolePackageHandler::class); -} - -``` - -### 实现处理器 - -创建处理器并注册后,实际你还没有处理器功能。而在处理器中实现处理器只需要 按照 `Handle` 的格式进行写即可: - -```php -use Zhiyi\Plus\Support\PackageHandler; - -class ExamplePackageHandler extends PackageHandler -{ - public function testHandler($command) { - // TODO - } -} -``` - -在一个处理器方法中,可以实现多个 handler。注意,每个 handler 的唯一参数是一个 command 实例,所以你可以通过这个参数实现很多事情。你也可以选择不使用。 - -## 如何发布后台入口 - -打开你的 服务提供者,在 boot 方法中如下: - -```php - -use Zhiyi\Plus\Support\ManageRepository; - -public function boot() -{ - $this->app->make(ManageRepository::class)->loadManageFrom('问答应用', 'plus-question::admin', [ - 'route' => true, - 'icon' => '问', - ]); -} -``` - -`loadManageFrom` 第一个参数是后台导航标题,第二个参数可以是 http 地址,也可以是本地 route name。 - -第三个是拓展参数,如果你二个参数是本地 route name,那么一定要存在 `route => true`, 否则会当成 http 地址处理,`icon` 字段则是图标地址,或者是图标字符串。 - diff --git a/docs/server-guides-plus-id.html b/docs/server-guides-plus-id.html new file mode 100644 index 0000000..7ce0c55 --- /dev/null +++ b/docs/server-guides-plus-id.html @@ -0,0 +1,244 @@ +Codestin Search App \ No newline at end of file diff --git a/docs/server-guides-plus-id.md b/docs/server-guides-plus-id.md deleted file mode 100644 index eaee841..0000000 --- a/docs/server-guides-plus-id.md +++ /dev/null @@ -1,201 +0,0 @@ ---- -id: server-guides-plus-id -title: Plus ID ---- - -Plus ID 是 ThinkSNS Plus 程序提供的第三方程序接入用户方案,使用简洁的接口可快速降程序整合进入 Plus 程序。 - -> 请求地址 `/plus-id/clients/{client id}` - -- [接口](#api) -- [签字算法](#sign) -- [SDK](#sdk) - -通用签字所需必须参数: - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| app | Integer | 应用 ID. | -| action | String | 如 `auth/login` | -| time | Integer | 签字时间 | - -通用请求必须参数: - -| 参数 | 描述 | -|:----:|----| -| action | 请求动作 | -| time | 签字时间 | -| sign | 签字 | - -> 检查请求地址示例:`http://plus.io/plus-id/clients/1?time=1513068838&sign=00c8aa45b2e85c8238eee0cff658f411&action=auth%2Fresolve` - -数据方式: - -在 URL 中增加 `redirect=地址` 并且给出一个地址,则表示使用 302 条转进行反馈。 - -在 url 中增加 `jsonp=函数` 则使用 `jsonp` 方式输出,默认输出 json。 - - -## 接口 - -- [Auth](#api-auth) - - [登陆](#api-auth-login) - - [检查登陆 & 授权登陆](#api-auth-resolve) -- [用户](#api-user) - - [检查用户](#api-user-check) - - [创建用户](#api-user-create) - - [删除用户](#api-user-delete) - - [获取用户](#api-user-show) - - [更新用户](#api-user-update) - - -### Auth - -认证操作,是基于页面跳转的 Session 状态请求,不可从服务器后端进行。 - - -#### 登陆 - -签字所需参数: - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| user | Integer | 需要登陆的 Plus User ID. | -| action | String | `auth/login` | - - -#### 检查登陆和授权登陆 - -签字所需参数: - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| action | String | `auth/resolve` | - - -### 用户 - -用户操作用于执行用户的增删改差,建议使用服务器进行查询。 - - -#### 检查用户 - -签字所需参数: - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| action | String | `user/check` | - -检查用户请求参数: - -| 参数 | 描述 | -|:----:|----| -| phone | 用户手机号码 | -| email | 用户邮箱 | -| name | 用户名 | -| user | 用户 ID | - -> 以上参数可以符合,最少一项。 - - -#### 创建用户 - -签字所需参数: - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| action | String | `user/create` | - -创建用户请求参数: - -| 参数 | 描述 | -|:----:|----| -| phone | 用户手机号码 | -| email | 用户邮箱 | -| name | 用户名 | -| password | 用户密码 | - - -#### 删除用户 - -签字所需参数: - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| user | Integer | Plus User ID. | -| action | String | `user/delete` | - - -#### 获取用户 - -签字所需参数: - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| user | Integer | Plus User ID. | -| action | String | `user/delete` | - - -#### 更新用户 - -签字所需参数: - -| 参数 | 类型 | 描述 | -|:----:|:----:|----| -| user | Integer | Plus User ID. | -| action | String | `user/update` | - - -更新用户数据请求参数: - -| 参数 | 描述 | -|:----:|----| -| phone | 用户手机号码 | -| email | 用户邮箱 | -| name | 用户名 | - - -## 签字算法 - -php版本算法: - -```php -$key = '00c8aa45b2e85c8238eee0cff658f411'; -$action = [ - 'app' => i, - 'action' => 'user/check', - 'time' => 1513068658, - 'tc' => 47563, // 计算公式 floor(time() / 300) -]; -ksort($action); -$action = json_encode($action); -$sign = md5(hash_hmac('sha256', $action, $key, true)); -``` - - -## SDK - -在提供集成 API 的情况下,我们也提供快速集成的方法。 - -你可以在你的程序中使用 sdk: - -PHP 版本: - -```shell -composer require slimkit/plus-id-sdk -``` - -Example: - -```php -$app = 2; -$key = '00c8aa45b2e85c8238eee0cff658f411'; -$serve = 'http://plus.io/plus-id/clients/'.$app; - -$client = new SlimKit\PlusID\Client\Client($app, $key, $serve); - -$user = 1; -$login = new SlimKit\PlusID\Client\Auth\Login($client, $user); - -echo $login->getURI(); -``` diff --git a/en/help.html b/en/help.html new file mode 100644 index 0000000..821fd8e --- /dev/null +++ b/en/help.html @@ -0,0 +1,15 @@ +Codestin Search App \ No newline at end of file diff --git a/en/index.html b/en/index.html new file mode 100644 index 0000000..f6d92a3 --- /dev/null +++ b/en/index.html @@ -0,0 +1,15 @@ +Codestin Search App \ No newline at end of file diff --git a/en/new-issue.html b/en/new-issue.html new file mode 100644 index 0000000..7b8720d --- /dev/null +++ b/en/new-issue.html @@ -0,0 +1,9 @@ +Codestin Search App \ No newline at end of file diff --git a/en/users.html b/en/users.html new file mode 100644 index 0000000..f113137 --- /dev/null +++ b/en/users.html @@ -0,0 +1,9 @@ +Codestin Search App \ No newline at end of file diff --git a/website/static/favicon.ico b/favicon.ico similarity index 100% rename from website/static/favicon.ico rename to favicon.ico diff --git a/help.html b/help.html new file mode 100644 index 0000000..020cb4e --- /dev/null +++ b/help.html @@ -0,0 +1,15 @@ +Codestin Search App \ No newline at end of file diff --git a/img/install-video-image.png b/img/install-video-image.png new file mode 100644 index 0000000..fa7ea45 Binary files /dev/null and b/img/install-video-image.png differ diff --git a/img/language.svg b/img/language.svg new file mode 100644 index 0000000..6619593 --- /dev/null +++ b/img/language.svg @@ -0,0 +1,3 @@ + + + diff --git a/website/static/img/laravel.jpeg b/img/laravel.jpeg similarity index 100% rename from website/static/img/laravel.jpeg rename to img/laravel.jpeg diff --git a/img/php-logo.png b/img/php-logo.png new file mode 100644 index 0000000..c7a851f Binary files /dev/null and b/img/php-logo.png differ diff --git a/img/plus.png b/img/plus.png new file mode 100644 index 0000000..196f730 Binary files /dev/null and b/img/plus.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..e573151 --- /dev/null +++ b/index.html @@ -0,0 +1,15 @@ +Codestin Search App \ No newline at end of file diff --git a/website/static/js/new-issue.js b/js/new-issue.js similarity index 100% rename from website/static/js/new-issue.js rename to js/new-issue.js diff --git a/new-issue.html b/new-issue.html new file mode 100644 index 0000000..69f8b7d --- /dev/null +++ b/new-issue.html @@ -0,0 +1,9 @@ +Codestin Search App \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..b5097b1 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,189 @@ + + + https://slimkit.github.io/help.html weekly 0.5 + https://slimkit.github.io/index.html weekly 0.5 + https://slimkit.github.io/new-issue.html weekly 0.5 + https://slimkit.github.io/users.html weekly 0.5 + https://slimkit.github.io/docs/api-v2-aboutus.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-ad.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-bootstrappers.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-core-comment.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-core-file-storage.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-currency.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-easemob.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-feeds-collect.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-feeds-comment-pay.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-feeds-comments.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-feeds-create.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-feeds-currency.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-feeds-delete.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-feeds-get.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-feeds-likes.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-feeds-pinned.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-feeds-rank.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-feeds-report.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-feeds-reward.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-feeds-topics.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-files.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-group-category.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-group-currency.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-group-group.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-group-manage.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-group-member.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-group-posts-collection.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-group-posts-comments.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-group-posts-likes.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-group-posts-pinned.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-group-posts-reward.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-group-posts.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-group-report.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-group.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-jwt-authorization.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-location.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-music-collection.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-music-comment.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-music-like.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-music-special.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-music.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-news-cates.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-news-collections.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-news-comments.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-news-contribute.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-news-currency.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-news-get.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-news-likes.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-news-pinneds.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-news-ranks.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-news-report.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-news-reward.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-news.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-notifications.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-overview.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-plus-pay.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-purchase.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-question-answer-answer.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-question-answer-comments.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-question-answer-onlookers.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-question-answer-question.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-question-answer-ranks.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-question-answer-report.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-question-answer-reward.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-question-answer-topic.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-question-answer-user-answer-likes.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-question-answer-user-collect-answer.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-question-answer-user-marrow-question.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-question-answer-user-question-watch.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-question-answer.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-question-currency.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-report.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-tags.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-user-message.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-users-certification.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-users-checkin.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-users-comments.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-users-feedback.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-users-find-people.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-users-followers.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-users-likes.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-users-ranks.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-users-register.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-users-reward.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-users-tags.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-users-unread-notification.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-users.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-verification-code.html hourly 1.0 + https://slimkit.github.io/docs/api-v2-wallet.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-abilities.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-ability-rule.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-advertising-space.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-advertising.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-answer-onlooker.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-answers.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-areas.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-around-amaps.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-certification-categories.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-certifications.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-checkin-logs.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-client-versions.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-collections.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-comments.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-common-configs.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-conversations.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-currencies.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-currency-commodities.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-currency-orders.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-currency-type-transforms.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-currency-types.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-famous.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-feed-collections.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-feed-pinneds.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-feeds.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-file-withs.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-files.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-gold-rules.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-gold-types.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-group-categories.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-group-incomes.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-group-member-logs.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-group-members.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-group-pinneds.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-group-posts.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-group-recommends.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-group-reports.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-groups.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-jwt-caches.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-likes.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-music-collections.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-music-singers.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-music-special-links.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-music-specials.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-musics.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-navigation.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-news-cates-follow.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-news-cates-links.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-news-cates.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-news-collections.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-news-pinneds.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-news-recommend.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-news.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-notifications.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-paid-node-users.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-paid-nodes.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-password-resets.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-plus-id-clients.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-plus-id-notices.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-question-invitation.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-question-topic.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-question-watcher.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-questions.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-reports.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-rewards.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-role-user.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-roles.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-sensitives.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-tag-categories.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-taggables.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-tags.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-topic-application.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-topic-user.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-topics.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-user-extras.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-user-follow.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-user-socialites.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-user-unread-counts.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-users-recommended.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-users.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-verification-codes.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-wallet-cashes.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-wallet-charges.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-wallet-orders.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-wallet.html hourly 1.0 + https://slimkit.github.io/docs/data-fields-wallets.html hourly 1.0 + https://slimkit.github.io/docs/data-fields.html hourly 1.0 + https://slimkit.github.io/docs/server-config-guides.html hourly 1.0 + https://slimkit.github.io/docs/server-getting-started-installation.html hourly 1.0 + https://slimkit.github.io/docs/server-guides-cdn.html hourly 1.0 + https://slimkit.github.io/docs/server-guides-configuration.html hourly 1.0 + https://slimkit.github.io/docs/server-guides-package.html hourly 1.0 + https://slimkit.github.io/docs/server-guides-plus-id.html hourly 1.0 + \ No newline at end of file diff --git a/users.html b/users.html new file mode 100644 index 0000000..3437adc --- /dev/null +++ b/users.html @@ -0,0 +1,9 @@ +Codestin Search App \ No newline at end of file diff --git a/website/.gitignore b/website/.gitignore deleted file mode 100644 index aeedda9..0000000 --- a/website/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -node_modules -.DS_Store -lib/core/metadata.js -lib/core/MetadataBlog.js -website/translated_docs -website/build/ -website/yarn.lock -website/node_modules - -website/i18n/* -!website/i18n/en.json diff --git a/website/blog-examples-from-docusaurus/2016-03-11-blog-post.md b/website/blog-examples-from-docusaurus/2016-03-11-blog-post.md deleted file mode 100755 index cf2ba29..0000000 --- a/website/blog-examples-from-docusaurus/2016-03-11-blog-post.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Blog Title -author: Blog Author -authorURL: http://twitter.com/ -authorFBID: 100002976521003 ---- - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus elementum massa eget nulla aliquet sagittis. Proin odio tortor, vulputate ut odio in, ultrices ultricies augue. Cras ornare ultrices lorem malesuada iaculis. Etiam sit amet libero tempor, pulvinar mauris sed, sollicitudin sapien. - - - -Mauris vestibulum ullamcorper nibh, ut semper purus pulvinar ut. Donec volutpat orci sit amet mauris malesuada, non pulvinar augue aliquam. Vestibulum ultricies at urna ut suscipit. Morbi iaculis, erat at imperdiet semper, ipsum nulla sodales erat, eget tincidunt justo dui quis justo. Pellentesque dictum bibendum diam at aliquet. Sed pulvinar, dolor quis finibus ornare, eros odio facilisis erat, eu rhoncus nunc dui sed ex. Nunc gravida dui massa, sed ornare arcu tincidunt sit amet. Maecenas efficitur sapien neque, a laoreet libero feugiat ut. - -Nulla facilisi. Maecenas sodales nec purus eget posuere. Sed sapien quam, pretium a risus in, porttitor dapibus erat. Sed sit amet fringilla ipsum, eget iaculis augue. Integer sollicitudin tortor quis ultricies aliquam. Suspendisse fringilla nunc in tellus cursus, at placerat tellus scelerisque. Sed tempus elit a sollicitudin rhoncus. Nulla facilisi. Morbi nec dolor dolor. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras et aliquet lectus. Pellentesque sit amet eros nisi. Quisque ac sapien in sapien congue accumsan. Nullam in posuere ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin lacinia leo a nibh fringilla pharetra. - -Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin venenatis lectus dui, vel ultrices ante bibendum hendrerit. Aenean egestas feugiat dui id hendrerit. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur in tellus laoreet, eleifend nunc id, viverra leo. Proin vulputate non dolor vel vulputate. Curabitur pretium lobortis felis, sit amet finibus lorem suscipit ut. Sed non mollis risus. Duis sagittis, mi in euismod tincidunt, nunc mauris vestibulum urna, at euismod est elit quis erat. Phasellus accumsan vitae neque eu placerat. In elementum arcu nec tellus imperdiet, eget maximus nulla sodales. Curabitur eu sapien eget nisl sodales fermentum. - -Phasellus pulvinar ex id commodo imperdiet. Praesent odio nibh, sollicitudin sit amet faucibus id, placerat at metus. Donec vitae eros vitae tortor hendrerit finibus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque vitae purus dolor. Duis suscipit ac nulla et finibus. Phasellus ac sem sed dui dictum gravida. Phasellus eleifend vestibulum facilisis. Integer pharetra nec enim vitae mattis. Duis auctor, lectus quis condimentum bibendum, nunc dolor aliquam massa, id bibendum orci velit quis magna. Ut volutpat nulla nunc, sed interdum magna condimentum non. Sed urna metus, scelerisque vitae consectetur a, feugiat quis magna. Donec dignissim ornare nisl, eget tempor risus malesuada quis. diff --git a/website/blog-examples-from-docusaurus/2017-04-10-blog-post-two.md b/website/blog-examples-from-docusaurus/2017-04-10-blog-post-two.md deleted file mode 100644 index 3ab4637..0000000 --- a/website/blog-examples-from-docusaurus/2017-04-10-blog-post-two.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: New Blog Post -author: Blog Author -authorURL: http://twitter.com/ -authorFBID: 100002976521003 ---- - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus elementum massa eget nulla aliquet sagittis. Proin odio tortor, vulputate ut odio in, ultrices ultricies augue. Cras ornare ultrices lorem malesuada iaculis. Etiam sit amet libero tempor, pulvinar mauris sed, sollicitudin sapien. - - - -Mauris vestibulum ullamcorper nibh, ut semper purus pulvinar ut. Donec volutpat orci sit amet mauris malesuada, non pulvinar augue aliquam. Vestibulum ultricies at urna ut suscipit. Morbi iaculis, erat at imperdiet semper, ipsum nulla sodales erat, eget tincidunt justo dui quis justo. Pellentesque dictum bibendum diam at aliquet. Sed pulvinar, dolor quis finibus ornare, eros odio facilisis erat, eu rhoncus nunc dui sed ex. Nunc gravida dui massa, sed ornare arcu tincidunt sit amet. Maecenas efficitur sapien neque, a laoreet libero feugiat ut. - -Nulla facilisi. Maecenas sodales nec purus eget posuere. Sed sapien quam, pretium a risus in, porttitor dapibus erat. Sed sit amet fringilla ipsum, eget iaculis augue. Integer sollicitudin tortor quis ultricies aliquam. Suspendisse fringilla nunc in tellus cursus, at placerat tellus scelerisque. Sed tempus elit a sollicitudin rhoncus. Nulla facilisi. Morbi nec dolor dolor. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras et aliquet lectus. Pellentesque sit amet eros nisi. Quisque ac sapien in sapien congue accumsan. Nullam in posuere ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin lacinia leo a nibh fringilla pharetra. - -Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin venenatis lectus dui, vel ultrices ante bibendum hendrerit. Aenean egestas feugiat dui id hendrerit. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur in tellus laoreet, eleifend nunc id, viverra leo. Proin vulputate non dolor vel vulputate. Curabitur pretium lobortis felis, sit amet finibus lorem suscipit ut. Sed non mollis risus. Duis sagittis, mi in euismod tincidunt, nunc mauris vestibulum urna, at euismod est elit quis erat. Phasellus accumsan vitae neque eu placerat. In elementum arcu nec tellus imperdiet, eget maximus nulla sodales. Curabitur eu sapien eget nisl sodales fermentum. - -Phasellus pulvinar ex id commodo imperdiet. Praesent odio nibh, sollicitudin sit amet faucibus id, placerat at metus. Donec vitae eros vitae tortor hendrerit finibus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque vitae purus dolor. Duis suscipit ac nulla et finibus. Phasellus ac sem sed dui dictum gravida. Phasellus eleifend vestibulum facilisis. Integer pharetra nec enim vitae mattis. Duis auctor, lectus quis condimentum bibendum, nunc dolor aliquam massa, id bibendum orci velit quis magna. Ut volutpat nulla nunc, sed interdum magna condimentum non. Sed urna metus, scelerisque vitae consectetur a, feugiat quis magna. Donec dignissim ornare nisl, eget tempor risus malesuada quis. diff --git a/website/blog-examples-from-docusaurus/2017-09-25-testing-rss.md b/website/blog-examples-from-docusaurus/2017-09-25-testing-rss.md deleted file mode 100644 index b7ff812..0000000 --- a/website/blog-examples-from-docusaurus/2017-09-25-testing-rss.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Adding RSS Support - RSS Truncation Test -author: Eric Nakagawa -authorURL: http://twitter.com/ericnakagawa -authorFBID: 661277173 ---- -1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 - -This should be truncated. - -This line should never render in XML. diff --git a/website/blog-examples-from-docusaurus/2017-09-26-adding-rss.md b/website/blog-examples-from-docusaurus/2017-09-26-adding-rss.md deleted file mode 100644 index eeb4f04..0000000 --- a/website/blog-examples-from-docusaurus/2017-09-26-adding-rss.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Adding RSS Support -author: Eric Nakagawa -authorURL: http://twitter.com/ericnakagawa -authorFBID: 661277173 ---- - -This is a test post. - -A whole bunch of other information. diff --git a/website/blog-examples-from-docusaurus/2017-10-24-new-version-1.0.0.md b/website/blog-examples-from-docusaurus/2017-10-24-new-version-1.0.0.md deleted file mode 100644 index 60761c0..0000000 --- a/website/blog-examples-from-docusaurus/2017-10-24-new-version-1.0.0.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: New Version 1.0.0 -author: Eric Nakagawa -authorURL: http://twitter.com/ericnakagawa -authorFBID: 661277173 ---- - -This blog post will test file name parsing issues when periods are present. diff --git a/website/core/Footer.js b/website/core/Footer.js deleted file mode 100644 index 9dcdca4..0000000 --- a/website/core/Footer.js +++ /dev/null @@ -1,87 +0,0 @@ -/** - * Copyright (c) 2017-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -const React = require('react'); - -class Footer extends React.Component { - docUrl(doc, language) { - const baseUrl = this.props.config.baseUrl; - return baseUrl + 'docs/' + (language ? language + '/' : '') + doc; - } - - pageUrl(doc, language) { - const baseUrl = this.props.config.baseUrl; - return baseUrl + (language ? language + '/' : '') + doc; - } - - render() { - return ( - - ); - } -} - -module.exports = Footer; diff --git a/website/i18n/en.json b/website/i18n/en.json deleted file mode 100644 index baaa88c..0000000 --- a/website/i18n/en.json +++ /dev/null @@ -1,579 +0,0 @@ -{ - "_comment": "This file is auto-generated by write-translations.js", - "localized-strings": { - "next": "Next", - "previous": "Previous", - "tagline": "💝The Plus(ThinkSNS+) is a powerful, easy-to-develop social system built with Laravel. ", - "docs": { - "api-v2-aboutus": { - "title": "关于我们" - }, - "api-v2-ad": { - "title": "广告" - }, - "api-v2-bootstrappers": { - "title": "启动信息" - }, - "api-v2-core-comment": { - "title": "评论" - }, - "api-v2-core-file-storage": { - "title": "文件存储" - }, - "api-v2-currency": { - "title": "积分" - }, - "api-v2-easemob": { - "title": "环信" - }, - "api-v2-feeds-collect": { - "title": "收藏" - }, - "api-v2-feeds-comment-pay": { - "title": "设置评论收费" - }, - "api-v2-feeds-comments": { - "title": "评论" - }, - "api-v2-feeds-create": { - "title": "发布动态" - }, - "api-v2-feeds-currency": { - "title": "积分部分新增接口" - }, - "api-v2-feeds-delete": { - "title": "删除动态" - }, - "api-v2-feeds-get": { - "title": "获取动态" - }, - "api-v2-feeds-likes": { - "title": "喜欢" - }, - "api-v2-feeds-pinned": { - "title": "置顶" - }, - "api-v2-feeds-rank": { - "title": "排行榜" - }, - "api-v2-feeds-report": { - "title": "举报" - }, - "api-v2-feeds-reward": { - "title": "打赏" - }, - "api-v2-feeds-topics": { - "title": "话题" - }, - "api-v2-files": { - "title": "文件" - }, - "api-v2-group-category": { - "title": "分类" - }, - "api-v2-group-currency": { - "title": "圈子部分积分相关新增接口" - }, - "api-v2-group-group": { - "title": "圈子" - }, - "api-v2-group-manage": { - "title": "圈子 · 管理" - }, - "api-v2-group-member": { - "title": "圈子 · 成员" - }, - "api-v2-group-posts-collection": { - "title": "帖子 · 收藏" - }, - "api-v2-group-posts-comments": { - "title": "帖子 · 评论" - }, - "api-v2-group-posts-likes": { - "title": "帖子 · 喜欢" - }, - "api-v2-group-posts-pinned": { - "title": "帖子 · 置顶" - }, - "api-v2-group-posts-reward": { - "title": "帖子 · 打赏" - }, - "api-v2-group-posts": { - "title": "帖子" - }, - "api-v2-group-report": { - "title": "圈子 · 举报" - }, - "api-v2-group": { - "title": "概述" - }, - "api-v2-jwt-authorization": { - "title": "Json Web Token 授权" - }, - "api-v2-location": { - "title": "位置" - }, - "api-v2-music-collection": { - "title": "收藏" - }, - "api-v2-music-comment": { - "title": "评论" - }, - "api-v2-music-like": { - "title": "点赞" - }, - "api-v2-music-special": { - "title": "专辑" - }, - "api-v2-music": { - "title": "音乐" - }, - "api-v2-news-cates": { - "title": "分类" - }, - "api-v2-news-collections": { - "title": "收藏" - }, - "api-v2-news-comments": { - "title": "评论" - }, - "api-v2-news-contribute": { - "title": "投稿" - }, - "api-v2-news-currency": { - "title": "资讯部分积分相关新增接口" - }, - "api-v2-news-get": { - "title": "获取" - }, - "api-v2-news-likes": { - "title": "喜欢" - }, - "api-v2-news-pinneds": { - "title": "置顶" - }, - "api-v2-news-ranks": { - "title": "排行榜" - }, - "api-v2-news-report": { - "title": "举报" - }, - "api-v2-news-reward": { - "title": "打赏" - }, - "api-v2-news": { - "title": "概述" - }, - "api-v2-notifications": { - "title": "消息通知" - }, - "api-v2-overview": { - "title": "概述" - }, - "api-v2-plus-pay": { - "title": "Plus Pay(新钱包-支付工具)" - }, - "api-v2-purchase": { - "title": "支付能力" - }, - "api-v2-question-answer-answer": { - "title": "回答" - }, - "api-v2-question-answer-comments": { - "title": "评论" - }, - "api-v2-question-answer-onlookers": { - "title": "回答 · 围观" - }, - "api-v2-question-answer-question": { - "title": "问题" - }, - "api-v2-question-answer-ranks": { - "title": "排行榜" - }, - "api-v2-question-answer-report": { - "title": "举报" - }, - "api-v2-question-answer-reward": { - "title": "回答 · 打赏" - }, - "api-v2-question-answer-topic": { - "title": "话题" - }, - "api-v2-question-answer-user-answer-likes": { - "title": "用户 · 喜欢回答" - }, - "api-v2-question-answer-user-collect-answer": { - "title": "用户 · 收藏回答" - }, - "api-v2-question-answer-user-marrow-question": { - "title": "用户 · 申请精选" - }, - "api-v2-question-answer-user-question-watch": { - "title": "用户 · 关注问题" - }, - "api-v2-question-answer": { - "title": "概述" - }, - "api-v2-question-currency": { - "title": "问答部分积分相关新增接口" - }, - "api-v2-report": { - "title": "举报" - }, - "api-v2-tags": { - "title": "标签" - }, - "api-v2-user-message": { - "title": "消息" - }, - "api-v2-users-certification": { - "title": "身份认证" - }, - "api-v2-users-checkin": { - "title": "签到" - }, - "api-v2-users-comments": { - "title": "收到的评论" - }, - "api-v2-users-feedback": { - "title": "反馈" - }, - "api-v2-users-find-people": { - "title": "找人" - }, - "api-v2-users-followers": { - "title": "关注" - }, - "api-v2-users-likes": { - "title": "收到的喜欢" - }, - "api-v2-users-ranks": { - "title": "排行榜" - }, - "api-v2-users-register": { - "title": "注册" - }, - "api-v2-users-reward": { - "title": "打赏用户" - }, - "api-v2-users-tags": { - "title": "标签" - }, - "api-v2-users-unread-notification": { - "title": "未读消息" - }, - "api-v2-users": { - "title": "用户" - }, - "api-v2-verification-code": { - "title": "验证码" - }, - "api-v2-wallet": { - "title": "钱包(旧版本)" - }, - "data-fields-abilities": { - "title": "abilities" - }, - "data-fields-ability-rule": { - "title": "ability_rule" - }, - "data-fields-advertising-space": { - "title": "advertising-space" - }, - "data-fields-advertising": { - "title": "advertising" - }, - "data-fields-answer-onlooker": { - "title": "answer_onlooker" - }, - "data-fields-answers": { - "title": "answers" - }, - "data-fields-areas": { - "title": "areas" - }, - "data-fields-around-amaps": { - "title": "around_amaps" - }, - "data-fields-certification-categories": { - "title": "certification_categories" - }, - "data-fields-certifications": { - "title": "certifications" - }, - "data-fields-checkin-logs": { - "title": "checkin_logs" - }, - "data-fields-client-versions": { - "title": "client_versions" - }, - "data-fields-collections": { - "title": "collections" - }, - "data-fields-comments": { - "title": "comments" - }, - "data-fields-common-configs": { - "title": "common_configs" - }, - "data-fields-conversations": { - "title": "conversations" - }, - "data-fields-currencies": { - "title": "currencies" - }, - "data-fields-currency-commodities": { - "title": "currency_commodities" - }, - "data-fields-currency-orders": { - "title": "currenc_orders" - }, - "data-fields-currency-type-transforms": { - "title": "currency_type_transforms" - }, - "data-fields-currency-types": { - "title": "currency_types" - }, - "data-fields-famous": { - "title": "famous" - }, - "data-fields-feed-collections": { - "title": "feed_collections" - }, - "data-fields-feed-pinneds": { - "title": "feed_pinneds" - }, - "data-fields-feeds": { - "title": "feeds" - }, - "data-fields-file-withs": { - "title": "file_withs" - }, - "data-fields-files": { - "title": "files" - }, - "data-fields-gold-rules": { - "title": "gold_rules" - }, - "data-fields-gold-types": { - "title": "gold_types" - }, - "data-fields-group-categories": { - "title": "group_categories" - }, - "data-fields-group-incomes": { - "title": "group_incomes" - }, - "data-fields-group-member-logs": { - "title": "group_member_logs" - }, - "data-fields-group-members": { - "title": "group_members" - }, - "data-fields-group-pinneds": { - "title": "group_pinneds" - }, - "data-fields-group-posts": { - "title": "group_posts" - }, - "data-fields-group-recommends": { - "title": "group_recommends" - }, - "data-fields-group-reports": { - "title": "group_reports" - }, - "data-fields-groups": { - "title": "groups" - }, - "data-fields-jwt-caches": { - "title": "jwt_caches" - }, - "data-fields-likes": { - "title": "likes" - }, - "data-fields-music-collections": { - "title": "music_collections" - }, - "data-fields-music-singers": { - "title": "music_singers" - }, - "data-fields-music-special-links": { - "title": "music_special_links" - }, - "data-fields-music-specials": { - "title": "music_specials" - }, - "data-fields-musics": { - "title": "musics" - }, - "data-fields-navigation": { - "title": "navigation" - }, - "data-fields-news-cates-follow": { - "title": "news_cates_follow" - }, - "data-fields-news-cates-links": { - "title": "news_cates_links" - }, - "data-fields-news-cates": { - "title": "news_cates" - }, - "data-fields-news-collections": { - "title": "news_collections" - }, - "data-fields-news-pinneds": { - "title": "news_pinneds" - }, - "data-fields-news-recommend": { - "title": "news_recommend" - }, - "data-fields-news": { - "title": "news" - }, - "data-fields-notifications": { - "title": "notifications" - }, - "data-fields-paid-node-users": { - "title": "paid_node_users" - }, - "data-fields-paid-nodes": { - "title": "paid_nodes" - }, - "data-fields-password-resets": { - "title": "password_resets" - }, - "data-fields-plus-id-clients": { - "title": "plus_id_clients" - }, - "data-fields-plus-id-notices": { - "title": "plus_id_notices" - }, - "data-fields-question-invitation": { - "title": "question_invitation" - }, - "data-fields-question-topic": { - "title": "question_topic" - }, - "data-fields-question-watcher": { - "title": "question_watcher" - }, - "data-fields-questions": { - "title": "questions" - }, - "data-fields-reports": { - "title": "reports" - }, - "data-fields-rewards": { - "title": "rewards" - }, - "data-fields-role-user": { - "title": "role_user" - }, - "data-fields-roles": { - "title": "roles" - }, - "data-fields-sensitives": { - "title": "sensitives" - }, - "data-fields-tag-categories": { - "title": "tag_categories" - }, - "data-fields-taggables": { - "title": "taggables" - }, - "data-fields-tags": { - "title": "tags" - }, - "data-fields-topic-application": { - "title": "topic_application" - }, - "data-fields-topic-user": { - "title": "topic_user" - }, - "data-fields-topics": { - "title": "topics" - }, - "data-fields-user-extras": { - "title": "user_extras" - }, - "data-fields-user-follow": { - "title": "userfollow" - }, - "data-fields-user-socialites": { - "title": "user_socialites" - }, - "data-fields-user-unread-counts": { - "title": "user_unread_counts" - }, - "data-fields-users-recommended": { - "title": "users_recommended" - }, - "data-fields-users": { - "title": "users" - }, - "data-fields-verification-codes": { - "title": "verification_codes" - }, - "data-fields-wallet-cashes": { - "title": "wallet_cashes" - }, - "data-fields-wallet-charges": { - "title": "wallet_charges" - }, - "data-fields-wallet-orders": { - "title": "wallet_orders" - }, - "data-fields-wallet": { - "title": "wallet" - }, - "data-fields-wallets": { - "title": "wallets" - }, - "data-fields": { - "title": "数据字典" - }, - "server-config-guides": { - "title": "服务端配项说明" - }, - "server-getting-started-installation": { - "title": "安装" - }, - "server-guides-cdn": { - "title": "CDN" - }, - "server-guides-configuration": { - "title": "配置管理" - }, - "server-guides-package": { - "title": "拓展包开发指南" - }, - "server-guides-plus-id": { - "title": "Plus ID" - } - }, - "links": { - "文档 [New]": "文档 [New]", - "文档": "文档", - "REST API v2": "REST API v2", - "反馈": "反馈", - "GitHub": "GitHub" - }, - "categories": { - "快速开始": "快速开始", - "指南": "指南", - "基本": "基本", - "用户": "用户", - "动态": "动态", - "音乐": "音乐", - "问答": "问答", - "资讯": "资讯", - "圈子": "圈子" - } - }, - "pages-strings": { - "Help Translate|recruit community translators for your project": "Help Translate", - "Edit this Doc|recruitment message asking to edit the doc source": "Edit", - "Translate this Doc|recruitment message asking to translate the docs": "Translate" - } -} diff --git a/website/package-lock.json b/website/package-lock.json deleted file mode 100644 index 3d288e7..0000000 --- a/website/package-lock.json +++ /dev/null @@ -1,8696 +0,0 @@ -{ - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.8.3.tgz?cache=0&sync_timestamp=1580303207516&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.8.3.tgz", - "integrity": "sha1-M+JZA9dIEYFTThLsCiXxa2/PQZ4=", - "requires": { - "@babel/highlight": "^7.8.3" - } - }, - "@babel/compat-data": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.9.0.tgz", - "integrity": "sha1-BIFVVvyQsMF0q9LAwbuWb6oDamw=", - "requires": { - "browserslist": "^4.9.1", - "invariant": "^2.2.4", - "semver": "^5.5.0" - } - }, - "@babel/core": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.9.0.tgz?cache=0&sync_timestamp=1584746134268&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.9.0.tgz", - "integrity": "sha1-rJd7U4t34TL/cG87ik260JwDxW4=", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helpers": "^7.9.0", - "@babel/parser": "^7.9.0", - "@babel/template": "^7.8.6", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.9.4", - "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.9.4.tgz?cache=0&sync_timestamp=1585038807794&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.9.4.tgz", - "integrity": "sha1-EkQekMOzxBWc3s8xIHW/Gozi284=", - "requires": { - "@babel/types": "^7.9.0", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.8.3.tgz", - "integrity": "sha1-YLwLxlf2Ogkk/5pLSgskoTz03u4=", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", - "integrity": "sha1-yECXpCegYaxWocMOv1S3si0kFQM=", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-builder-react-jsx": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-builder-react-jsx/download/@babel/helper-builder-react-jsx-7.9.0.tgz", - "integrity": "sha1-Fr85GZC1dzJwCjJ41NmoEjHqjTI=", - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/types": "^7.9.0" - } - }, - "@babel/helper-builder-react-jsx-experimental": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-builder-react-jsx-experimental/download/@babel/helper-builder-react-jsx-experimental-7.9.0.tgz?cache=0&sync_timestamp=1584718866876&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-builder-react-jsx-experimental%2Fdownload%2F%40babel%2Fhelper-builder-react-jsx-experimental-7.9.0.tgz", - "integrity": "sha1-Bm2AJireSI+cGxgjzl24ikztqkM=", - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-module-imports": "^7.8.3", - "@babel/types": "^7.9.0" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.8.7", - "resolved": "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.8.7.tgz", - "integrity": "sha1-2sHuoVnA5L1G4wm1obBKZrU8Hd4=", - "requires": { - "@babel/compat-data": "^7.8.6", - "browserslist": "^4.9.1", - "invariant": "^2.2.4", - "levenary": "^1.1.1", - "semver": "^5.5.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.8.6", - "resolved": "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.8.6.tgz?cache=0&sync_timestamp=1582805933380&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.8.6.tgz", - "integrity": "sha1-JDpbRuL48PZ03BOHYx62souFHeA=", - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-split-export-declaration": "^7.8.3" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.8.8", - "resolved": "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.8.8.tgz", - "integrity": "sha1-XYQYC1iPVgt4ZO+u6okkPlgxIIc=", - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-regex": "^7.8.3", - "regexpu-core": "^4.7.0" - } - }, - "@babel/helper-define-map": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-define-map/download/@babel/helper-define-map-7.8.3.tgz", - "integrity": "sha1-oGVcrVRRw3YLcm66h18c2PqgLBU=", - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/types": "^7.8.3", - "lodash": "^4.17.13" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.8.3.tgz", - "integrity": "sha1-pyjcW06J4w/C38fQT6KKkwZT+YI=", - "requires": { - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.8.3.tgz", - "integrity": "sha1-7utmWgGx8RBo6fuGrVahyxqCTMo=", - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha1-uJS5R70AQ4HOY+odufCFR+kgq9U=", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.8.3.tgz", - "integrity": "sha1-Hb6ba1XXjJtBg/yM3G4wzrg7cTQ=", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.8.3.tgz", - "integrity": "sha1-ZZtxBJjqbB2ZB+DHPyBu7n2twkw=", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-module-imports": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.8.3.tgz", - "integrity": "sha1-f+OVibOcAWMxtrjD9EHo8LFBlJg=", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-module-transforms": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.9.0.tgz", - "integrity": "sha1-Q7NN/hWWGRhwfSRzJ0MTiOn+luU=", - "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-simple-access": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/template": "^7.8.6", - "@babel/types": "^7.9.0", - "lodash": "^4.17.13" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.8.3.tgz", - "integrity": "sha1-ftBxgT0Jx1KY708giVYAa2ER7Lk=", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha1-nqKTvhm6vA9S/4yoizTDYRsghnA=" - }, - "@babel/helper-regex": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-regex/download/@babel/helper-regex-7.8.3.tgz", - "integrity": "sha1-E5dyYH1RuT8j7/5yEFsxnSpMaWU=", - "requires": { - "lodash": "^4.17.13" - } - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.8.3.tgz", - "integrity": "sha1-JzxgDYub9QBhQsHjWIfVVcEu3YY=", - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-wrap-function": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-replace-supers": { - "version": "7.8.6", - "resolved": "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.8.6.tgz?cache=0&sync_timestamp=1582806154918&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.8.6.tgz", - "integrity": "sha1-Wtp0T9WtcyA78dZ0WaJ9y6Z+/8g=", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/traverse": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/helper-simple-access": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.8.3.tgz", - "integrity": "sha1-f4EJkotNq0ZUB2mGr1dSMd62Oa4=", - "requires": { - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha1-ManzAHD5E2inGCzwX4MXgQZfx6k=", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.9.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.9.0.tgz", - "integrity": "sha1-rVNWKn/Cmzuakbv30QOX/RRjRu0=" - }, - "@babel/helper-wrap-function": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.8.3.tgz", - "integrity": "sha1-nb2yu1XvFKqgH+jJm2Kb1TUthhA=", - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helpers": { - "version": "7.9.2", - "resolved": "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.9.2.tgz?cache=0&sync_timestamp=1584800073145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.9.2.tgz", - "integrity": "sha1-tCqBqBHx5zE7iMuorcZrPZrmwJ8=", - "requires": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0" - } - }, - "@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.9.0.tgz?cache=0&sync_timestamp=1584746125589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.9.0.tgz", - "integrity": "sha1-TptFzLgreWBycbKXmtgse2gWMHk=", - "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - } - } - }, - "@babel/parser": { - "version": "7.9.4", - "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.9.4.tgz", - "integrity": "sha1-aKNeawMZu8AURlvkOCgwARPy8ug=" - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.8.3.tgz", - "integrity": "sha1-utMpxnCzgliXIbJ1QMfSiGAcbm8=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3", - "@babel/plugin-syntax-async-generators": "^7.8.0" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.8.3.tgz", - "integrity": "sha1-XgZlSvXNBLYIkVqtqbKmeIAERk4=", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.8.3.tgz", - "integrity": "sha1-OMT+VVdEgm6X4q6TCw+0zAfmYFQ=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.8.3.tgz", - "integrity": "sha1-2lIWsjipi1ih4F1oUhBLEPmnDWs=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha1-5FciU/3u1lzd7s/as/kor+sv1dI=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.8.3.tgz", - "integrity": "sha1-XWdpQJaZ7Js7aGhM2BFs7f+Tutg=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.9.0.tgz", - "integrity": "sha1-oomTaZ/BPfFlmVNiaTliumsGHW8=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.8.3.tgz", - "integrity": "sha1-ne6WqxZQ7tiGRq6XNMoWesSpxck=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.9.0.tgz", - "integrity": "sha1-MdsWsVTDnWuKZFKSRyuYOUwpKlg=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.8.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.8.8.tgz?cache=0&sync_timestamp=1584039006999&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-unicode-property-regex%2Fdownload%2F%40babel%2Fplugin-proposal-unicode-property-regex-7.8.8.tgz", - "integrity": "sha1-7jqV6QzcBP6M2S7DJ5+gF9aKDR0=", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.8", - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.8.3.tgz", - "integrity": "sha1-UhsGyDxASA8eWLT9M7kuzrHW6pQ=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.8.3.tgz", - "integrity": "sha1-Dj+2Pgm+obEelkZyccgwgAfnxB8=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.8.3.tgz", - "integrity": "sha1-Os3s5pXmsTqvV/wpHRqACVDHE5E=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.8.3.tgz", - "integrity": "sha1-gndsLtDNnhpJlW2uuJYCTJRzuLY=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.8.3.tgz", - "integrity": "sha1-Qwj60NlAnXHq+5sabuNfnWS2QIY=", - "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.8.3.tgz", - "integrity": "sha1-Q37sW3mbWFIHIISzrl72boNJ6KM=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.8.3.tgz", - "integrity": "sha1-l9Ndq2aFekN8FmNYuR0JBQyGjzo=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "lodash": "^4.17.13" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.9.2", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.9.2.tgz?cache=0&sync_timestamp=1584800073528&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-classes%2Fdownload%2F%40babel%2Fplugin-transform-classes-7.9.2.tgz", - "integrity": "sha1-hgP8PMRJ4x/b28JX9ncXU2oRr40=", - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-define-map": "^7.8.3", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-split-export-declaration": "^7.8.3", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.8.3.tgz", - "integrity": "sha1-ltDSi3985OtbEguy4OlDNDyG+Bs=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.8.8", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.8.8.tgz", - "integrity": "sha1-+tsryOkMyvVljeb41NIv9icqL0s=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.8.3.tgz", - "integrity": "sha1-w8bsXuYSXGmTxcvKINyGIanqem4=", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.8.3.tgz", - "integrity": "sha1-jRLfMJqlN/JyiZxWXqF2jihuIfE=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.8.3.tgz", - "integrity": "sha1-WBptf1aXDga/UVYM1k9elHtw17c=", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.9.0.tgz", - "integrity": "sha1-DyYOJ9PinNG7MSjaXnbHYapsEI4=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.8.3.tgz", - "integrity": "sha1-J5NzyycyKqrWfCaD53bfxHGW7Ys=", - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.8.3.tgz", - "integrity": "sha1-rvI5gj2RmU7Hto5VGTUl1229XcE=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.8.3.tgz", - "integrity": "sha1-lj/tS2IKx8v2Apx1VCQCn6OkBBA=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.9.0.tgz?cache=0&sync_timestamp=1584718863960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-amd%2Fdownload%2F%40babel%2Fplugin-transform-modules-amd-7.9.0.tgz", - "integrity": "sha1-GXVe5yGRLPW7BMB9UCgK80hO/vQ=", - "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.9.0.tgz?cache=0&sync_timestamp=1584746127807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-commonjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-commonjs-7.9.0.tgz", - "integrity": "sha1-4+cvTLybSiYOML4OpZvfWjl0iUA=", - "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-simple-access": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.9.0.tgz?cache=0&sync_timestamp=1584718863514&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.9.0.tgz", - "integrity": "sha1-6f1Gopb8keAJtk4H3aqG1vDt65A=", - "requires": { - "@babel/helper-hoist-variables": "^7.8.3", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.0" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.9.0.tgz?cache=0&sync_timestamp=1584718863727&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-umd%2Fdownload%2F%40babel%2Fplugin-transform-modules-umd-7.9.0.tgz", - "integrity": "sha1-6Qmsridv7CgPm4IaXzjh8ItIBpc=", - "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", - "integrity": "sha1-oqcr/6ICrA4tBQav0JOcXsvEjGw=", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.8.3.tgz", - "integrity": "sha1-YMwq5m2FyVq1QOs0urtkNNTHDEM=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.8.3.tgz", - "integrity": "sha1-67ah56hv+paFi9asAQLWWUQmFyU=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.3" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.9.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.9.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-parameters%2Fdownload%2F%40babel%2Fplugin-transform-parameters-7.9.3.tgz", - "integrity": "sha1-MCjQzCDdxzMWbG6chTRVnO4J9Uo=", - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.8.3.tgz", - "integrity": "sha1-MxlDANhTnB7SjGKtUIe6OAe5gmM=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-react-display-name/download/@babel/plugin-transform-react-display-name-7.8.3.tgz", - "integrity": "sha1-cN7Zh8kWCfeDU9120vsqC7mR6OU=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.9.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx/download/@babel/plugin-transform-react-jsx-7.9.4.tgz?cache=0&sync_timestamp=1585038764023&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-jsx%2Fdownload%2F%40babel%2Fplugin-transform-react-jsx-7.9.4.tgz", - "integrity": "sha1-hvV2yFQL0G0OleC2HqdtVfbL0D8=", - "requires": { - "@babel/helper-builder-react-jsx": "^7.9.0", - "@babel/helper-builder-react-jsx-experimental": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-development/download/@babel/plugin-transform-react-jsx-development-7.9.0.tgz", - "integrity": "sha1-PCoTByfK8AwqKT8K7SRSCCXb91Q=", - "requires": { - "@babel/helper-builder-react-jsx-experimental": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3" - } - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-self/download/@babel/plugin-transform-react-jsx-self-7.9.0.tgz", - "integrity": "sha1-9PJqMlggIFI5u5FbrY4G/K2rtJs=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-source/download/@babel/plugin-transform-react-jsx-source-7.9.0.tgz", - "integrity": "sha1-ie+TAlJA3V0X0xIilKCT5eAYPeA=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.8.7", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.8.7.tgz", - "integrity": "sha1-Xkag3KK+4a2ChesFJ+arycN2cvg=", - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.8.3.tgz", - "integrity": "sha1-mgY1rE5mXSmxYoN908xQdF398fU=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.8.3.tgz", - "integrity": "sha1-KFRSFuAjqDLU06EYXtSSvP6sCMg=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.8.3.tgz", - "integrity": "sha1-nI/+gXD9+4ixFOy5ILgvtulf5eg=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.8.3.tgz", - "integrity": "sha1-vnoSkPgdrnZ0dUUhmeH3bWF1sQA=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-regex": "^7.8.3" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.8.3.tgz", - "integrity": "sha1-e/pHMrRV6mpDEwrcC6dn7A5AKoA=", - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.8.4", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.8.4.tgz", - "integrity": "sha1-7eQGIxXOCq+KZXqSCFjxovNfxBI=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.8.3", - "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.8.3.tgz", - "integrity": "sha1-DO8247pz5cVyc+/7GC9GuRoeyq0=", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/polyfill": { - "version": "7.8.7", - "resolved": "https://registry.npm.taobao.org/@babel/polyfill/download/@babel/polyfill-7.8.7.tgz", - "integrity": "sha1-FR7CTHE1SBM2Fow72Li/DPkcAy8=", - "requires": { - "core-js": "^2.6.5", - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/preset-env": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.9.0.tgz", - "integrity": "sha1-pfxCSA6VCuj12fjyu8A/UnIt86g=", - "requires": { - "@babel/compat-data": "^7.9.0", - "@babel/helper-compilation-targets": "^7.8.7", - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-proposal-async-generator-functions": "^7.8.3", - "@babel/plugin-proposal-dynamic-import": "^7.8.3", - "@babel/plugin-proposal-json-strings": "^7.8.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-proposal-numeric-separator": "^7.8.3", - "@babel/plugin-proposal-object-rest-spread": "^7.9.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", - "@babel/plugin-proposal-optional-chaining": "^7.9.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.8.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.8.3", - "@babel/plugin-transform-arrow-functions": "^7.8.3", - "@babel/plugin-transform-async-to-generator": "^7.8.3", - "@babel/plugin-transform-block-scoped-functions": "^7.8.3", - "@babel/plugin-transform-block-scoping": "^7.8.3", - "@babel/plugin-transform-classes": "^7.9.0", - "@babel/plugin-transform-computed-properties": "^7.8.3", - "@babel/plugin-transform-destructuring": "^7.8.3", - "@babel/plugin-transform-dotall-regex": "^7.8.3", - "@babel/plugin-transform-duplicate-keys": "^7.8.3", - "@babel/plugin-transform-exponentiation-operator": "^7.8.3", - "@babel/plugin-transform-for-of": "^7.9.0", - "@babel/plugin-transform-function-name": "^7.8.3", - "@babel/plugin-transform-literals": "^7.8.3", - "@babel/plugin-transform-member-expression-literals": "^7.8.3", - "@babel/plugin-transform-modules-amd": "^7.9.0", - "@babel/plugin-transform-modules-commonjs": "^7.9.0", - "@babel/plugin-transform-modules-systemjs": "^7.9.0", - "@babel/plugin-transform-modules-umd": "^7.9.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", - "@babel/plugin-transform-new-target": "^7.8.3", - "@babel/plugin-transform-object-super": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.8.7", - "@babel/plugin-transform-property-literals": "^7.8.3", - "@babel/plugin-transform-regenerator": "^7.8.7", - "@babel/plugin-transform-reserved-words": "^7.8.3", - "@babel/plugin-transform-shorthand-properties": "^7.8.3", - "@babel/plugin-transform-spread": "^7.8.3", - "@babel/plugin-transform-sticky-regex": "^7.8.3", - "@babel/plugin-transform-template-literals": "^7.8.3", - "@babel/plugin-transform-typeof-symbol": "^7.8.4", - "@babel/plugin-transform-unicode-regex": "^7.8.3", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.9.0", - "browserslist": "^4.9.1", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", - "semver": "^5.5.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.3", - "resolved": "https://registry.npm.taobao.org/@babel/preset-modules/download/@babel/preset-modules-0.1.3.tgz", - "integrity": "sha1-EyQrU7XvjIg8PPfd3VWzbOgPvHI=", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.9.4", - "resolved": "https://registry.npm.taobao.org/@babel/preset-react/download/@babel/preset-react-7.9.4.tgz", - "integrity": "sha1-xsl2k6xltrnAtPJblIqPZlRjAU0=", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-transform-react-display-name": "^7.8.3", - "@babel/plugin-transform-react-jsx": "^7.9.4", - "@babel/plugin-transform-react-jsx-development": "^7.9.0", - "@babel/plugin-transform-react-jsx-self": "^7.9.0", - "@babel/plugin-transform-react-jsx-source": "^7.9.0" - } - }, - "@babel/register": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/register/download/@babel/register-7.9.0.tgz", - "integrity": "sha1-AkZO3ldUi927Xp9wXSY7fD9D1Is=", - "requires": { - "find-cache-dir": "^2.0.0", - "lodash": "^4.17.13", - "make-dir": "^2.1.0", - "pirates": "^4.0.0", - "source-map-support": "^0.5.16" - } - }, - "@babel/runtime": { - "version": "7.9.2", - "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.9.2.tgz?cache=0&sync_timestamp=1584800073233&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.9.2.tgz", - "integrity": "sha1-2Q3wWDo6JS8JqqYZZlNnuuUY2wY=", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.8.6.tgz?cache=0&sync_timestamp=1582806154512&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.8.6.tgz", - "integrity": "sha1-hrIq8V+CjfsIZHT5ZNzD45xDzis=", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/traverse": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.9.0.tgz?cache=0&sync_timestamp=1584746132410&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.9.0.tgz", - "integrity": "sha1-04gsKDDlE/T+TOyf526hzHh0eJI=", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.0", - "@babel/types": "^7.9.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.9.0", - "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.9.0.tgz?cache=0&sync_timestamp=1584746126419&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.9.0.tgz", - "integrity": "sha1-ALBkw9+DrTKy2/X/BzErFcfx77U=", - "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz", - "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=", - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - } - }, - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-1.1.3.tgz", - "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=" - }, - "@sindresorhus/is": { - "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/@sindresorhus/is/download/@sindresorhus/is-0.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40sindresorhus%2Fis%2Fdownload%2F%40sindresorhus%2Fis-0.7.0.tgz", - "integrity": "sha1-mgb08TfuhNffBGDB/bETX/psUP0=" - }, - "@types/cheerio": { - "version": "0.22.17", - "resolved": "https://registry.npm.taobao.org/@types/cheerio/download/@types/cheerio-0.22.17.tgz", - "integrity": "sha1-5U9xwxNfcevBbI3GLtrVM4csnnI=", - "requires": { - "@types/node": "*" - } - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz", - "integrity": "sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA=" - }, - "@types/node": { - "version": "13.9.5", - "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-13.9.5.tgz?cache=0&sync_timestamp=1585328008997&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-13.9.5.tgz", - "integrity": "sha1-WXOL8wsxrqH6ot9/Sl9VYTdQzwA=" - }, - "@types/q": { - "version": "1.5.2", - "resolved": "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.2.tgz?cache=0&sync_timestamp=1580864611389&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fq%2Fdownload%2F%40types%2Fq-1.5.2.tgz", - "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=" - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz", - "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz", - "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=" - }, - "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.0.tgz?cache=0&sync_timestamp=1582379551272&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.0.tgz", - "integrity": "sha1-BtYLlth7hFSlrauobnhU2mKdtLc=", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz?cache=0&sync_timestamp=1583072820951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-escapes%2Fdownload%2Fansi-escapes-3.2.0.tgz", - "integrity": "sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s=" - }, - "ansi-red": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-red/download/ansi-red-0.1.1.tgz", - "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", - "requires": { - "ansi-wrap": "0.1.0" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "requires": { - "color-convert": "^1.9.0" - } - }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/ansi-wrap/download/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", - "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "arch": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/arch/download/arch-2.1.1.tgz", - "integrity": "sha1-j1wnMao1owkpIhuwZA7tZRdeyE4=" - }, - "archive-type": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/archive-type/download/archive-type-4.0.0.tgz", - "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", - "requires": { - "file-type": "^4.2.0" - }, - "dependencies": { - "file-type": { - "version": "4.4.0", - "resolved": "https://registry.npm.taobao.org/file-type/download/file-type-4.4.0.tgz", - "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=" - } - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", - "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz", - "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz", - "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz", - "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=" - }, - "autolinker": { - "version": "0.28.1", - "resolved": "https://registry.npm.taobao.org/autolinker/download/autolinker-0.28.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautolinker%2Fdownload%2Fautolinker-0.28.1.tgz", - "integrity": "sha1-BlK0kYgYefB3XazgzcoyM5QqTkc=", - "requires": { - "gulp-header": "^1.7.1" - } - }, - "autoprefixer": { - "version": "9.7.5", - "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.7.5.tgz?cache=0&sync_timestamp=1585009906313&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.7.5.tgz", - "integrity": "sha1-jfELn/m1gUqNQRpc+6uceTw5I3Y=", - "requires": { - "browserslist": "^4.11.0", - "caniuse-lite": "^1.0.30001036", - "chalk": "^2.4.2", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.27", - "postcss-value-parser": "^4.0.3" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - } - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.9.1.tgz", - "integrity": "sha1-fjPY99RJs/ZzzXLeuavcVS2+Uo4=" - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1569557271992&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.0.tgz?cache=0&sync_timestamp=1580303214345&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-dynamic-import-node%2Fdownload%2Fbabel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha1-8A9Qe9qjw+P/bn5emNkKesq5b38=", - "requires": { - "object.assign": "^4.1.0" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz", - "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz", - "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz", - "integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE=" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz", - "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=" - }, - "bin-build": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/bin-build/download/bin-build-3.0.0.tgz", - "integrity": "sha1-xXgKJaip+WbYJEIX5sH1CCoUOGE=", - "requires": { - "decompress": "^4.0.0", - "download": "^6.2.2", - "execa": "^0.7.0", - "p-map-series": "^1.0.0", - "tempfile": "^2.0.0" - } - }, - "bin-check": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/bin-check/download/bin-check-4.1.0.tgz", - "integrity": "sha1-/ElZcL3Ii7HVo1/BfmXEoUn8Skk=", - "requires": { - "execa": "^0.7.0", - "executable": "^4.1.0" - } - }, - "bin-version": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/bin-version/download/bin-version-3.1.0.tgz", - "integrity": "sha1-WwnrKAdSsb0o8MnbP5by9DtsCDk=", - "requires": { - "execa": "^1.0.0", - "find-versions": "^3.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz?cache=0&sync_timestamp=1570508303786&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-6.0.5.tgz", - "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz", - "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", - "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "bin-version-check": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/bin-version-check/download/bin-version-check-4.0.0.tgz", - "integrity": "sha1-fYGcYklpkfgNiT5uAqMDI2Fgj3E=", - "requires": { - "bin-version": "^3.0.0", - "semver": "^5.6.0", - "semver-truncate": "^1.1.2" - } - }, - "bin-wrapper": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/bin-wrapper/download/bin-wrapper-4.1.0.tgz", - "integrity": "sha1-mTSPLPhQMePvfvzn5TAK6q6WBgU=", - "requires": { - "bin-check": "^4.1.0", - "bin-version-check": "^4.0.0", - "download": "^7.1.0", - "import-lazy": "^3.1.0", - "os-filter-obj": "^2.0.0", - "pify": "^4.0.1" - }, - "dependencies": { - "download": { - "version": "7.1.0", - "resolved": "https://registry.npm.taobao.org/download/download/download-7.1.0.tgz", - "integrity": "sha1-kFmqnXC1A+52oTKJe+beyOVYcjM=", - "requires": { - "archive-type": "^4.0.0", - "caw": "^2.0.1", - "content-disposition": "^0.5.2", - "decompress": "^4.2.0", - "ext-name": "^5.0.0", - "file-type": "^8.1.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^8.3.1", - "make-dir": "^1.2.0", - "p-event": "^2.1.0", - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "file-type": { - "version": "8.1.0", - "resolved": "https://registry.npm.taobao.org/file-type/download/file-type-8.1.0.tgz", - "integrity": "sha1-JE87fvZBu+DMoZbHJ25LMyOZ9ow=" - }, - "got": { - "version": "8.3.2", - "resolved": "https://registry.npm.taobao.org/got/download/got-8.3.2.tgz?cache=0&sync_timestamp=1585075500832&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgot%2Fdownload%2Fgot-8.3.2.tgz", - "integrity": "sha1-HSP2Q5Dpf3dsrFLluTbl9RTS6Tc=", - "requires": { - "@sindresorhus/is": "^0.7.0", - "cacheable-request": "^2.1.1", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "into-stream": "^3.1.0", - "is-retry-allowed": "^1.1.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "mimic-response": "^1.0.0", - "p-cancelable": "^0.4.0", - "p-timeout": "^2.0.1", - "pify": "^3.0.0", - "safe-buffer": "^5.1.1", - "timed-out": "^4.0.1", - "url-parse-lax": "^3.0.0", - "url-to-options": "^1.0.1" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz", - "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "p-cancelable": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/p-cancelable/download/p-cancelable-0.4.1.tgz", - "integrity": "sha1-NfNj1n1SCByNlYXje8zrfgu8sqA=" - }, - "p-event": { - "version": "2.3.1", - "resolved": "https://registry.npm.taobao.org/p-event/download/p-event-2.3.1.tgz", - "integrity": "sha1-WWJ57xaassPgyuiMHPuwgHmZPvY=", - "requires": { - "p-timeout": "^2.0.1" - } - }, - "p-timeout": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/p-timeout/download/p-timeout-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-timeout%2Fdownload%2Fp-timeout-2.0.1.tgz", - "integrity": "sha1-2N0ZeVldLcATnh/ka4tkbLPN8Dg=", - "requires": { - "p-finally": "^1.0.0" - } - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "requires": { - "prepend-http": "^2.0.0" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz", - "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=" - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz", - "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=", - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/bl/download/bl-1.2.2.tgz", - "integrity": "sha1-oWCRFxcQPAdBDO9j71Gzl8Alr5w=", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "body": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/body/download/body-5.1.0.tgz", - "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", - "requires": { - "continuable-cache": "^0.3.1", - "error": "^7.0.0", - "raw-body": "~1.1.0", - "safe-json-parse": "~1.0.1" - }, - "dependencies": { - "bytes": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-1.0.0.tgz", - "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=" - }, - "raw-body": { - "version": "1.1.7", - "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-1.1.7.tgz", - "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", - "requires": { - "bytes": "1", - "string_decoder": "0.10" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz", - "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz?cache=0&sync_timestamp=1585168614364&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.7.0.tgz", - "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=" - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", - "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "browserslist": { - "version": "4.11.0", - "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.11.0.tgz?cache=0&sync_timestamp=1584920592846&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.11.0.tgz", - "integrity": "sha1-rvQ1exCoq9oA+XqsfNWHsggroa0=", - "requires": { - "caniuse-lite": "^1.0.30001035", - "electron-to-chromium": "^1.3.380", - "node-releases": "^1.1.52", - "pkg-up": "^3.1.0" - } - }, - "buffer": { - "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-5.5.0.tgz", - "integrity": "sha1-nDyqPWI8M90cfvWEuJuIv5ybwc4=", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/buffer-alloc/download/buffer-alloc-1.2.0.tgz", - "integrity": "sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow=", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/buffer-alloc-unsafe/download/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha1-vX3CauKXLQ7aJTvgYdupkjScGfA=" - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/buffer-fill/download/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", - "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=" - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz", - "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=" - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz", - "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cacheable-request": { - "version": "2.1.4", - "resolved": "https://registry.npm.taobao.org/cacheable-request/download/cacheable-request-2.1.4.tgz", - "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", - "requires": { - "clone-response": "1.0.2", - "get-stream": "3.0.0", - "http-cache-semantics": "3.8.1", - "keyv": "3.0.0", - "lowercase-keys": "1.0.0", - "normalize-url": "2.0.1", - "responselike": "1.0.2" - }, - "dependencies": { - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" - }, - "normalize-url": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-2.0.1.tgz", - "integrity": "sha1-g1qdoVUfom9w6SMpBpojqmV01+Y=", - "requires": { - "prepend-http": "^2.0.0", - "query-string": "^5.0.1", - "sort-keys": "^2.0.0" - } - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - }, - "sort-keys": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-2.0.0.tgz", - "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", - "requires": { - "is-plain-obj": "^1.0.0" - } - } - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "requires": { - "callsites": "^2.0.0" - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz", - "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=", - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001038", - "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001038.tgz", - "integrity": "sha1-RNo8vKKrbLaqg9G+XTJOF/FByv8=" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "caw": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/caw/download/caw-2.0.1.tgz", - "integrity": "sha1-bDygcfwZRyCIPC3F2psHS/x+npU=", - "requires": { - "get-proxy": "^2.0.0", - "isurl": "^1.0.0-alpha5", - "tunnel-agent": "^0.6.0", - "url-to-options": "^1.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-3.0.0.tgz", - "integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz", - "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz?cache=0&sync_timestamp=1569557271992&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.1.0.tgz", - "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz", - "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=" - }, - "cheerio": { - "version": "0.22.0", - "resolved": "https://registry.npm.taobao.org/cheerio/download/cheerio-0.22.0.tgz", - "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", - "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash.assignin": "^4.0.9", - "lodash.bind": "^4.1.4", - "lodash.defaults": "^4.0.1", - "lodash.filter": "^4.4.0", - "lodash.flatten": "^4.2.0", - "lodash.foreach": "^4.3.0", - "lodash.map": "^4.4.0", - "lodash.merge": "^4.4.0", - "lodash.pick": "^4.2.1", - "lodash.reduce": "^4.4.0", - "lodash.reject": "^4.4.0", - "lodash.some": "^4.4.0" - }, - "dependencies": { - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz", - "integrity": "sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI=" - }, - "dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.1.1.tgz", - "integrity": "sha1-HsQFnihLq+027sKUHUqXChic58A=", - "requires": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz", - "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=" - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1584609518131&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", - "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz", - "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npm.taobao.org/classnames/download/classnames-2.2.6.tgz", - "integrity": "sha1-Q5Nb/90pHzJtrQogUwmzjQD2UM4=" - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" - }, - "clipboard": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/clipboard/download/clipboard-2.0.6.tgz?cache=0&sync_timestamp=1583389667105&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclipboard%2Fdownload%2Fclipboard-2.0.6.tgz", - "integrity": "sha1-UpISlu7A/fd+rRdJQhshyWhkc3Y=", - "optional": true, - "requires": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" - } - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/clone-response/download/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz", - "integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=", - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - } - } - }, - "coffee-script": { - "version": "1.12.7", - "resolved": "https://registry.npm.taobao.org/coffee-script/download/coffee-script-1.12.7.tgz", - "integrity": "sha1-wF2uDLeVkdBbMHCoQzqYyaiczFM=" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "3.1.2", - "resolved": "https://registry.npm.taobao.org/color/download/color-3.1.2.tgz", - "integrity": "sha1-aBSOf4XUGtdknF+oyBBvCY0inhA=", - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npm.taobao.org/color-string/download/color-string-1.5.3.tgz", - "integrity": "sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw=", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz", - "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-4.1.1.tgz?cache=0&sync_timestamp=1584148407069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-4.1.1.tgz", - "integrity": "sha1-n9YCvZNilOnp70aj9NaWQESxgGg=" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz", - "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz?cache=0&sync_timestamp=1569398378712&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconcat-stream%2Fdownload%2Fconcat-stream-1.6.2.tgz", - "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "concat-with-sourcemaps": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/concat-with-sourcemaps/download/concat-with-sourcemaps-1.1.0.tgz", - "integrity": "sha1-1OqT8FriV5CVG5nns7CeOQikCC4=", - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" - } - } - }, - "config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npm.taobao.org/config-chain/download/config-chain-1.1.12.tgz", - "integrity": "sha1-D96NCRIA616AjK8l/mGMAvSOTvo=", - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "console-stream": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/console-stream/download/console-stream-0.1.1.tgz", - "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=" - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", - "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=" - }, - "continuable-cache": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/continuable-cache/download/continuable-cache-0.3.1.tgz", - "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=" - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz", - "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz", - "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz?cache=0&sync_timestamp=1578957195899&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.11.tgz", - "integrity": "sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw=" - }, - "core-js-compat": { - "version": "3.6.4", - "resolved": "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.6.4.tgz", - "integrity": "sha1-k4R2Vp67bNqA0zm88Zn65PFv/xc=", - "requires": { - "browserslist": "^4.8.3", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz", - "integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=" - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz", - "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=", - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz?cache=0&sync_timestamp=1570508303786&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crowdin-cli": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/crowdin-cli/download/crowdin-cli-0.3.0.tgz", - "integrity": "sha1-6smYmm/n/qrzMJA5evwYfGe0YZE=", - "requires": { - "request": "^2.53.0", - "yamljs": "^0.2.1", - "yargs": "^2.3.0" - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" - }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz?cache=0&sync_timestamp=1582155004825&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-declaration-sorter%2Fdownload%2Fcss-declaration-sorter-4.0.1.tgz", - "integrity": "sha1-wZiUD2OnbX42wecQGLABchBUyyI=", - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz", - "integrity": "sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc=" - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha1-mL69YsTB2flg7DQM+fdSLjBwmiI=", - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" - } - } - }, - "css-what": { - "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-3.2.1.tgz", - "integrity": "sha1-9KjxJCEGRiG0VnVeNKA6LCLfXaE=" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz", - "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=" - }, - "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz", - "integrity": "sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI=", - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y=", - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=" - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=" - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI=", - "requires": { - "postcss": "^7.0.0" - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M=" - }, - "csso": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/csso/download/csso-4.0.3.tgz?cache=0&sync_timestamp=1585052130344&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.0.3.tgz", - "integrity": "sha1-DZmF3IUsfMKyys+74QeQFNGo6QM=", - "requires": { - "css-tree": "1.0.0-alpha.39" - }, - "dependencies": { - "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha1-K/8//huz93bPfu/ZHuXLp3oUnus=", - "requires": { - "mdn-data": "2.0.6", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.6.tgz?cache=0&sync_timestamp=1584029207120&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.6.tgz", - "integrity": "sha1-hS3GD8ql2qLoz2yRicRA7T4EKXg=" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" - } - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "requires": { - "array-find-index": "^1.0.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz", - "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decompress": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/decompress/download/decompress-4.2.0.tgz", - "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", - "requires": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" - }, - "dependencies": { - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz", - "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz?cache=0&sync_timestamp=1572616719270&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecompress-response%2Fdownload%2Fdecompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "decompress-tar": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/decompress-tar/download/decompress-tar-4.1.1.tgz", - "integrity": "sha1-cYy9P8sWIJcW5womuE57pFkuWvE=", - "requires": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/file-type/download/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" - } - } - }, - "decompress-tarbz2": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/decompress-tarbz2/download/decompress-tarbz2-4.1.1.tgz", - "integrity": "sha1-MIKluIDqQEOBY0nzeLVsUWvho5s=", - "requires": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, - "dependencies": { - "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npm.taobao.org/file-type/download/file-type-6.2.0.tgz", - "integrity": "sha1-5QzXXTVv/tTjBtxPW89Sp5kDqRk=" - } - } - }, - "decompress-targz": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/decompress-targz/download/decompress-targz-4.1.1.tgz", - "integrity": "sha1-wJvDXE0R894J8tLaU+neI+fOHu4=", - "requires": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/file-type/download/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" - } - } - }, - "decompress-unzip": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/decompress-unzip/download/decompress-unzip-4.0.1.tgz", - "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", - "requires": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npm.taobao.org/file-type/download/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" - }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", - "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz", - "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "delegate": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/delegate/download/delegate-3.2.0.tgz", - "integrity": "sha1-tmtxwxWFIuirV0T3INjKDCr1kWY=", - "optional": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npm.taobao.org/detect-port-alt/download/detect-port-alt-1.1.6.tgz", - "integrity": "sha1-JHB96r6TLUo89iEwICfCsmZWgnU=", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "diacritics-map": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/diacritics-map/download/diacritics-map-0.1.0.tgz", - "integrity": "sha1-bfwP+dAQAKLt8oZTccrDFulJd68=" - }, - "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.0.0.tgz", - "integrity": "sha1-CyBdK2rvmCOMooZZioIE0p0KADQ=", - "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - } - }, - "docusaurus": { - "version": "1.14.4", - "resolved": "https://registry.npm.taobao.org/docusaurus/download/docusaurus-1.14.4.tgz", - "integrity": "sha1-HvPr6MKqrx3sbC4OF36DvniurKM=", - "requires": { - "@babel/core": "^7.7.4", - "@babel/plugin-proposal-class-properties": "^7.7.4", - "@babel/plugin-proposal-object-rest-spread": "^7.7.4", - "@babel/polyfill": "^7.7.0", - "@babel/preset-env": "^7.7.4", - "@babel/preset-react": "^7.7.4", - "@babel/register": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4", - "autoprefixer": "^9.7.2", - "babylon": "^6.18.0", - "chalk": "^3.0.0", - "classnames": "^2.2.6", - "commander": "^4.0.1", - "crowdin-cli": "^0.3.0", - "cssnano": "^4.1.10", - "escape-string-regexp": "^2.0.0", - "express": "^4.17.1", - "feed": "^4.0.0", - "fs-extra": "^8.1.0", - "gaze": "^1.1.3", - "github-slugger": "^1.2.1", - "glob": "^7.1.6", - "highlight.js": "^9.16.2", - "imagemin": "^6.0.0", - "imagemin-gifsicle": "^6.0.1", - "imagemin-jpegtran": "^6.0.0", - "imagemin-optipng": "^6.0.0", - "imagemin-svgo": "^7.0.0", - "lodash": "^4.17.15", - "markdown-toc": "^1.2.0", - "mkdirp": "^0.5.1", - "portfinder": "^1.0.25", - "postcss": "^7.0.23", - "prismjs": "^1.17.1", - "react": "^16.8.4", - "react-dev-utils": "^9.1.0", - "react-dom": "^16.8.4", - "remarkable": "^2.0.0", - "request": "^2.88.0", - "shelljs": "^0.8.3", - "sitemap": "^3.2.2", - "tcp-port-used": "^1.0.1", - "tiny-lr": "^1.1.1", - "tree-node-cli": "^1.2.5", - "truncate-html": "^1.0.3" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz", - "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.1.tgz", - "integrity": "sha1-H4vf6R9aeAYydOgDtL3O326U+U0=" - } - } - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz", - "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=" - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz", - "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz", - "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.2.0.tgz", - "integrity": "sha1-w07MKVVtxF8fTCJpe29JBODMT8s=", - "requires": { - "is-obj": "^2.0.0" - } - }, - "download": { - "version": "6.2.5", - "resolved": "https://registry.npm.taobao.org/download/download/download-6.2.5.tgz", - "integrity": "sha1-rNalQuTNC7Qspwz8mMnkOwcDlxQ=", - "requires": { - "caw": "^2.0.0", - "content-disposition": "^0.5.2", - "decompress": "^4.0.0", - "ext-name": "^5.0.0", - "file-type": "5.2.0", - "filenamify": "^2.0.0", - "get-stream": "^3.0.0", - "got": "^7.0.0", - "make-dir": "^1.0.0", - "p-event": "^1.0.0", - "pify": "^3.0.0" - }, - "dependencies": { - "file-type": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/file-type/download/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz", - "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "electron-to-chromium": { - "version": "1.3.390", - "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.390.tgz", - "integrity": "sha1-pJ5n3qIuUuqAJ8R13VRHscALHU4=" - }, - "emoji-regex": { - "version": "6.1.1", - "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-6.1.1.tgz", - "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz", - "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", - "requires": { - "once": "^1.4.0" - } - }, - "entities": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.0.0.tgz", - "integrity": "sha1-aNYITKsbB5dnVA2A5Wo5tCPkq/Q=" - }, - "error": { - "version": "7.2.1", - "resolved": "https://registry.npm.taobao.org/error/download/error-7.2.1.tgz?cache=0&sync_timestamp=1577615602648&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ferror%2Fdownload%2Ferror-7.2.1.tgz", - "integrity": "sha1-6rIaRom19oT8g9qEoOOQ3oLZSJQ=", - "requires": { - "string-template": "~0.2.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", - "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.5.tgz?cache=0&sync_timestamp=1584909155190&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.17.5.tgz", - "integrity": "sha1-2MnR1myJgfuSAOIlHXme7pJ3Suk=", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", - "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-2.0.0.tgz", - "integrity": "sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q=" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz?cache=0&sync_timestamp=1569398383140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesprima%2Fdownload%2Fesprima-4.0.1.tgz", - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz", - "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npm.taobao.org/eventsource/download/eventsource-1.0.7.tgz", - "integrity": "sha1-j7xyyT/NNAiAkLwKTmT0tc7m2NA=", - "requires": { - "original": "^1.0.0" - } - }, - "exec-buffer": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/exec-buffer/download/exec-buffer-3.2.0.tgz", - "integrity": "sha1-sWhtvZBMfPmC5lLB9aebHlVzCCs=", - "requires": { - "execa": "^0.7.0", - "p-finally": "^1.0.0", - "pify": "^3.0.0", - "rimraf": "^2.5.4", - "tempfile": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/execa/download/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "executable": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/executable/download/executable-4.1.1.tgz", - "integrity": "sha1-QVMr/zYdPlevTXY7cFgtsY9dEzw=", - "requires": { - "pify": "^2.2.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npm.taobao.org/expand-range/download/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "requires": { - "fill-range": "^2.1.0" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-2.2.4.tgz", - "integrity": "sha1-6x53OrsFbc2N8r/favWbizqTZWU=", - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz", - "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz?cache=0&sync_timestamp=1585168614364&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.7.0.tgz", - "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=" - } - } - }, - "ext-list": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/ext-list/download/ext-list-2.2.2.tgz", - "integrity": "sha1-C5jmTtgvWs8PKTG6v2khLvUt3Tc=", - "requires": { - "mime-db": "^1.28.0" - } - }, - "ext-name": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ext-name/download/ext-name-5.0.0.tgz", - "integrity": "sha1-cHgZgdGD7hXROZPIgiBFxQbI8KY=", - "requires": { - "ext-list": "^2.0.0", - "sort-keys-length": "^1.0.0" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", - "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz", - "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=", - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz", - "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.1.tgz", - "integrity": "sha1-VFFFB3xQFJHjOxXsQIwpQ3bpSuQ=" - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1582318370324&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz", - "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=", - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=" - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz", - "integrity": "sha1-XA6aiWjokSwoZjn96XeosgnyUI4=", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/fd-slicer/download/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "requires": { - "pend": "~1.2.0" - } - }, - "feed": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/feed/download/feed-4.1.0.tgz", - "integrity": "sha1-WPHJzCtEcV0UrFkjThvyDF11eqc=", - "requires": { - "xml-js": "^1.6.11" - } - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - } - } - }, - "file-type": { - "version": "10.11.0", - "resolved": "https://registry.npm.taobao.org/file-type/download/file-type-10.11.0.tgz", - "integrity": "sha1-KWHQnkZ1ufuaPua2npzSP0P9GJA=" - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz", - "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=", - "optional": true - }, - "filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/filename-reserved-regex/download/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=" - }, - "filenamify": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/filenamify/download/filenamify-2.1.0.tgz?cache=0&sync_timestamp=1580303445586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffilenamify%2Fdownload%2Ffilenamify-2.1.0.tgz", - "integrity": "sha1-iPr0lfsbR6v9YSMAACoWIoxnfuk=", - "requires": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - } - }, - "filesize": { - "version": "3.6.1", - "resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz?cache=0&sync_timestamp=1582340747604&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffilesize%2Fdownload%2Ffilesize-3.6.1.tgz", - "integrity": "sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc=" - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz", - "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz?cache=0&sync_timestamp=1583734687174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-2.1.0.tgz", - "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", - "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", - "requires": { - "locate-path": "^3.0.0" - } - }, - "find-versions": { - "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/find-versions/download/find-versions-3.2.0.tgz", - "integrity": "sha1-ECl/mAMKeGgpaBaQVF72We0dJU4=", - "requires": { - "semver-regex": "^2.0.0" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "fork-ts-checker-webpack-plugin": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-1.5.0.tgz?cache=0&sync_timestamp=1585228935624&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffork-ts-checker-webpack-plugin%2Fdownload%2Ffork-ts-checker-webpack-plugin-1.5.0.tgz", - "integrity": "sha1-zh13GQtE2Bp2GxC2KEo3N5XkHww=", - "requires": { - "babel-code-frame": "^6.22.0", - "chalk": "^2.4.1", - "chokidar": "^2.0.4", - "micromatch": "^3.1.10", - "minimatch": "^3.0.4", - "semver": "^5.6.0", - "tapable": "^1.0.0", - "worker-rpc": "^0.1.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - } - } - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz", - "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/fs-constants/download/fs-constants-1.0.0.tgz", - "integrity": "sha1-a+Dem+mYzhavivwkSXue6bfM2a0=" - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz?cache=0&sync_timestamp=1584632194837&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-8.1.0.tgz", - "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "1.2.12", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.12.tgz", - "integrity": "sha1-234NjsOwtFck/U2D1DVUqPHw3lw=", - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1", - "node-pre-gyp": "*" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "optional": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "optional": true - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "optional": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "optional": true - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "optional": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "optional": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "optional": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "optional": true - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "optional": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", - "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", - "optional": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "optional": true - }, - "needle": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.3.tgz", - "integrity": "sha512-EkY0GeSq87rWp1hoq/sH/wnTWgFVhYlnIkbJ0YJFfRgEFlz2RraCjBpFQ+vrEgEdp0ThfyHADmkChEhcb7PKyw==", - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", - "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4.4.2" - } - }, - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", - "optional": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "optional": true - }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "optional": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "optional": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "optional": true - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "optional": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "optional": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "optional": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "optional": true - }, - "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "optional": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "optional": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" - }, - "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/gaze/download/gaze-1.1.3.tgz", - "integrity": "sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko=", - "requires": { - "globule": "^1.0.0" - } - }, - "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz", - "integrity": "sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk=" - }, - "get-proxy": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/get-proxy/download/get-proxy-2.1.0.tgz", - "integrity": "sha1-NJ8rTZHUTE1NTpy6KtkBQ/rF75M=", - "requires": { - "npm-conf": "^1.1.0" - } - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "gifsicle": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/gifsicle/download/gifsicle-4.0.1.tgz?cache=0&sync_timestamp=1579598911968&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgifsicle%2Fdownload%2Fgifsicle-4.0.1.tgz", - "integrity": "sha1-MOHmHj7kiE73AmQbLpihXCEnsuI=", - "requires": { - "bin-build": "^3.0.0", - "bin-wrapper": "^4.0.0", - "execa": "^1.0.0", - "logalot": "^2.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz?cache=0&sync_timestamp=1570508303786&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-6.0.5.tgz", - "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz", - "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", - "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "github-slugger": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/github-slugger/download/github-slugger-1.3.0.tgz", - "integrity": "sha1-m9CpXF79/EYAXoKpBu+OKgWRJMk=", - "requires": { - "emoji-regex": ">=6.0.0 <=6.1.1" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz", - "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/global-modules/download/global-modules-2.0.0.tgz", - "integrity": "sha1-mXYFrSNF8n9RU5vqJldEISFcd4A=", - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/global-prefix/download/global-prefix-3.0.0.tgz", - "integrity": "sha1-/IX3MGTfafUEIfR/iD/luRO6m5c=", - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz", - "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=" - }, - "globby": { - "version": "8.0.2", - "resolved": "https://registry.npm.taobao.org/globby/download/globby-8.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-8.0.2.tgz", - "integrity": "sha1-VpdhnM2VxSdduy1vqkIIfBqUHY0=", - "requires": { - "array-union": "^1.0.1", - "dir-glob": "2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "globule": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/globule/download/globule-1.3.1.tgz", - "integrity": "sha1-kKJTOPIrf761J87mPGKa6nVNM7k=", - "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.12", - "minimatch": "~3.0.2" - } - }, - "good-listener": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/good-listener/download/good-listener-1.2.2.tgz", - "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", - "optional": true, - "requires": { - "delegate": "^3.1.2" - } - }, - "got": { - "version": "7.1.0", - "resolved": "https://registry.npm.taobao.org/got/download/got-7.1.0.tgz?cache=0&sync_timestamp=1585075500832&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgot%2Fdownload%2Fgot-7.1.0.tgz", - "integrity": "sha1-BUUP2ECU5rvqVvRRpDqcKJFmOFo=", - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - } - }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.3.tgz", - "integrity": "sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM=" - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" - }, - "gray-matter": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/gray-matter/download/gray-matter-2.1.1.tgz", - "integrity": "sha1-MELZrewqHe1qdwep7SOA+KF6Qw4=", - "requires": { - "ansi-red": "^0.1.1", - "coffee-script": "^1.12.4", - "extend-shallow": "^2.0.1", - "js-yaml": "^3.8.1", - "toml": "^2.3.2" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "gulp-header": { - "version": "1.8.12", - "resolved": "https://registry.npm.taobao.org/gulp-header/download/gulp-header-1.8.12.tgz", - "integrity": "sha1-rTBr4AZlmRJygcT4eGZg5wUICoQ=", - "requires": { - "concat-with-sourcemaps": "*", - "lodash.template": "^4.4.0", - "through2": "^2.0.0" - } - }, - "gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz", - "integrity": "sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ=", - "requires": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.3.tgz", - "integrity": "sha1-HvievT5JllV2de7ZiTEQ3DUPoIA=", - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", - "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npm.taobao.org/has-symbol-support-x/download/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha1-FAn5i8ACR9pF2mfO4KNvKC/yZFU=" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz", - "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=" - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/has-to-string-tag-x/download/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha1-oEWrOD17SyASoAFIqwql8pAETU0=", - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz", - "integrity": "sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=" - }, - "highlight.js": { - "version": "9.18.1", - "resolved": "https://registry.npm.taobao.org/highlight.js/download/highlight.js-9.18.1.tgz?cache=0&sync_timestamp=1583833558650&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhighlight.js%2Fdownload%2Fhighlight.js-9.18.1.tgz", - "integrity": "sha1-7SGqAB/mJSuxCj121HVzxlOf4Tw=" - }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz?cache=0&sync_timestamp=1583018405733&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.8.tgz", - "integrity": "sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg=" - }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz", - "integrity": "sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c=" - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz", - "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz", - "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=" - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npm.taobao.org/http-cache-semantics/download/http-cache-semantics-3.8.1.tgz?cache=0&sync_timestamp=1583108120479&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-cache-semantics%2Fdownload%2Fhttp-cache-semantics-3.8.1.tgz", - "integrity": "sha1-ObDhat2bYFvwqe89nar0hDtMrNI=" - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz", - "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "http-parser-js": { - "version": "0.4.10", - "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.4.10.tgz", - "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=" - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1582587749558&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz", - "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz", - "integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q=" - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz", - "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=" - }, - "imagemin": { - "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/imagemin/download/imagemin-6.1.0.tgz", - "integrity": "sha1-YlCLRlco/qNsA83AfZFf4tjPnhM=", - "requires": { - "file-type": "^10.7.0", - "globby": "^8.0.1", - "make-dir": "^1.0.0", - "p-pipe": "^1.1.0", - "pify": "^4.0.1", - "replace-ext": "^1.0.0" - }, - "dependencies": { - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz", - "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - } - } - }, - "imagemin-gifsicle": { - "version": "6.0.1", - "resolved": "https://registry.npm.taobao.org/imagemin-gifsicle/download/imagemin-gifsicle-6.0.1.tgz", - "integrity": "sha1-arrU6VVm1S5aEEq6HCS087SFgbM=", - "requires": { - "exec-buffer": "^3.0.0", - "gifsicle": "^4.0.0", - "is-gif": "^3.0.0" - } - }, - "imagemin-jpegtran": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/imagemin-jpegtran/download/imagemin-jpegtran-6.0.0.tgz", - "integrity": "sha1-yNO8+27JxWHCCphxQoVL5w2QsE8=", - "requires": { - "exec-buffer": "^3.0.0", - "is-jpg": "^2.0.0", - "jpegtran-bin": "^4.0.0" - } - }, - "imagemin-optipng": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/imagemin-optipng/download/imagemin-optipng-6.0.0.tgz", - "integrity": "sha1-pr/HtUL8CPxofoPfsTEkkXmlGmg=", - "requires": { - "exec-buffer": "^3.0.0", - "is-png": "^1.0.0", - "optipng-bin": "^5.0.0" - } - }, - "imagemin-svgo": { - "version": "7.1.0", - "resolved": "https://registry.npm.taobao.org/imagemin-svgo/download/imagemin-svgo-7.1.0.tgz?cache=0&sync_timestamp=1582107702906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimagemin-svgo%2Fdownload%2Fimagemin-svgo-7.1.0.tgz", - "integrity": "sha1-UopC/T1V7/XUr4/RET8l+2GtbZo=", - "requires": { - "is-svg": "^4.2.1", - "svgo": "^1.3.2" - }, - "dependencies": { - "is-svg": { - "version": "4.2.1", - "resolved": "https://registry.npm.taobao.org/is-svg/download/is-svg-4.2.1.tgz", - "integrity": "sha1-CVtJbjRf7JIRwqfV0CEAPgQNb4E=", - "requires": { - "html-comment-regex": "^1.1.2" - } - } - } - }, - "immer": { - "version": "1.10.0", - "resolved": "https://registry.npm.taobao.org/immer/download/immer-1.10.0.tgz?cache=0&sync_timestamp=1584372332565&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimmer%2Fdownload%2Fimmer-1.10.0.tgz", - "integrity": "sha1-utZ2BbqcgQJ12R4cKkfUWC6YKG0=" - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz?cache=0&sync_timestamp=1573664960772&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "import-lazy": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/import-lazy/download/import-lazy-3.1.0.tgz", - "integrity": "sha1-iRJ5ICyKIoD9vWZ029jaGh38Z8w=" - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "requires": { - "repeating": "^2.0.0" - } - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz", - "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz", - "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=" - }, - "inquirer": { - "version": "6.5.0", - "resolved": "https://registry.npm.taobao.org/inquirer/download/inquirer-6.5.0.tgz?cache=0&sync_timestamp=1583821033098&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-6.5.0.tgz", - "integrity": "sha1-IwMxfvyaTqfsLi32+GVptzSsz0I=", - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1573280549549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-1.2.0.tgz", - "integrity": "sha1-1QYaYiS+WOgIOYX1AU2EQ1lXYpY=" - }, - "into-stream": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/into-stream/download/into-stream-3.1.0.tgz", - "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", - "requires": { - "from2": "^2.1.1", - "p-is-promise": "^1.1.0" - } - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz", - "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz", - "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=" - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" - }, - "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.1.5.tgz?cache=0&sync_timestamp=1576778715281&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.1.5.tgz", - "integrity": "sha1-9+RrWWiQRW23Tn9ul2yzJz0G+qs=" - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz", - "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=" - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=" - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-finite/download/is-finite-1.1.0.tgz", - "integrity": "sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "is-gif": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-gif/download/is-gif-3.0.0.tgz", - "integrity": "sha1-xL5gsmowHWlbuDOyDZtdZsbPg7E=", - "requires": { - "file-type": "^10.4.0" - } - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", - "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-jpg": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-jpg/download/is-jpg-2.0.0.tgz", - "integrity": "sha1-LhmX+m6RZuqsAkLarkQ0A+TvHZc=" - }, - "is-natural-number": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/is-natural-number/download/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz", - "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=" - }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-object/download/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-obj%2Fdownload%2Fis-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-png": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-png/download/is-png-1.1.0.tgz", - "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=" - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" - }, - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.0.5.tgz", - "integrity": "sha1-OdWJo1i/GJZ/cmlnEguPwa7XTq4=", - "requires": { - "has": "^1.0.3" - } - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz", - "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=" - }, - "is-retry-allowed": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/is-retry-allowed/download/is-retry-allowed-1.2.0.tgz", - "integrity": "sha1-13hIi9CkZmo76KFIK58rqv7eqLQ=" - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-root/download/is-root-2.1.0.tgz", - "integrity": "sha1-gJ4YEpzxEpZEMCpPhUQDXVGYSpw=" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz", - "integrity": "sha1-kyHb0pwhLlypnE+peUxxS8r6L3U=", - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz", - "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-url": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/is-url/download/is-url-1.2.4.tgz", - "integrity": "sha1-BKTfRtKMTP89c9Af8Gq+sxihqlI=" - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", - "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=" - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" - }, - "is2": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/is2/download/is2-2.0.1.tgz", - "integrity": "sha1-isNVZEhAkhzkNdlPBdOpRjTTSBo=", - "requires": { - "deep-is": "^0.1.3", - "ip-regex": "^2.1.0", - "is-url": "^1.2.2" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/isurl/download/isurl-1.0.0.tgz", - "integrity": "sha1-sn9PSfPNqj6kSgpbfzRi5u3DnWc=", - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, - "jpegtran-bin": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/jpegtran-bin/download/jpegtran-bin-4.0.0.tgz", - "integrity": "sha1-0ArtgJ+6eqbzCBflnu5N3xmPjxA=", - "requires": { - "bin-build": "^3.0.0", - "bin-wrapper": "^4.0.0", - "logalot": "^2.0.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz", - "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=" - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz", - "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz", - "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=" - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=" - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=" - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz", - "integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=" - }, - "json5": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.1.2.tgz?cache=0&sync_timestamp=1584388298930&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.1.2.tgz", - "integrity": "sha1-Q+8fCvmDXdYkdRprf6SIdPstYI4=", - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz?cache=0&sync_timestamp=1583593905130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "keyv": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/keyv/download/keyv-3.0.0.tgz", - "integrity": "sha1-RJI7o55osSp87H32wyaMAx8u83M=", - "requires": { - "json-buffer": "3.0.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", - "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=" - }, - "lazy-cache": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-2.0.2.tgz", - "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", - "requires": { - "set-getter": "^0.1.0" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz", - "integrity": "sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I=" - }, - "levenary": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/levenary/download/levenary-1.1.1.tgz", - "integrity": "sha1-hCqe6Y0gdap/ru2+MmeekgX0b3c=", - "requires": { - "leven": "^3.1.0" - } - }, - "list-item": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/list-item/download/list-item-1.1.1.tgz", - "integrity": "sha1-DGXQDih8tmPMs8s4Sad+iewmilY=", - "requires": { - "expand-range": "^1.8.1", - "extend-shallow": "^2.0.1", - "is-number": "^2.1.0", - "repeat-string": "^1.5.2" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "livereload-js": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/livereload-js/download/livereload-js-2.4.0.tgz", - "integrity": "sha1-RHwxzx6pq1L8INthXF3fZ494AJw=" - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "^1.2.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.2.3.tgz?cache=0&sync_timestamp=1584445172927&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-1.2.3.tgz", - "integrity": "sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc=", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&sync_timestamp=1584388298930&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz", - "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", - "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz", - "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "lodash.assignin": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/lodash.assignin/download/lodash.assignin-4.2.0.tgz", - "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" - }, - "lodash.bind": { - "version": "4.2.1", - "resolved": "https://registry.npm.taobao.org/lodash.bind/download/lodash.bind-4.2.1.tgz", - "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" - }, - "lodash.chunk": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/lodash.chunk/download/lodash.chunk-4.2.0.tgz", - "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw=" - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/lodash.defaults/download/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - }, - "lodash.filter": { - "version": "4.6.0", - "resolved": "https://registry.npm.taobao.org/lodash.filter/download/lodash.filter-4.6.0.tgz", - "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npm.taobao.org/lodash.flatten/download/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - }, - "lodash.foreach": { - "version": "4.5.0", - "resolved": "https://registry.npm.taobao.org/lodash.foreach/download/lodash.foreach-4.5.0.tgz", - "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" - }, - "lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npm.taobao.org/lodash.map/download/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npm.taobao.org/lodash.merge/download/lodash.merge-4.6.2.tgz?cache=0&sync_timestamp=1580303385019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash.merge%2Fdownload%2Flodash.merge-4.6.2.tgz", - "integrity": "sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=" - }, - "lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npm.taobao.org/lodash.padstart/download/lodash.padstart-4.6.1.tgz", - "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=" - }, - "lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npm.taobao.org/lodash.pick/download/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" - }, - "lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npm.taobao.org/lodash.reduce/download/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" - }, - "lodash.reject": { - "version": "4.6.0", - "resolved": "https://registry.npm.taobao.org/lodash.reject/download/lodash.reject-4.6.0.tgz", - "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" - }, - "lodash.some": { - "version": "4.6.0", - "resolved": "https://registry.npm.taobao.org/lodash.some/download/lodash.some-4.6.0.tgz", - "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" - }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npm.taobao.org/lodash.template/download/lodash.template-4.5.0.tgz", - "integrity": "sha1-+XYZXPPzR9DV9SSDVp/oAxzM6Ks=", - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/lodash.templatesettings/download/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha1-5IExDwSdPPbUfpEq0JMTsVTw+zM=", - "requires": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, - "logalot": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/logalot/download/logalot-2.1.0.tgz", - "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", - "requires": { - "figures": "^1.3.5", - "squeak": "^1.0.0" - } - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz", - "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz", - "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=" - }, - "lpad-align": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/lpad-align/download/lpad-align-1.1.2.tgz", - "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", - "requires": { - "get-stdin": "^4.0.1", - "indent-string": "^2.1.0", - "longest": "^1.0.0", - "meow": "^3.3.0" - } - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz", - "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", - "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, - "markdown-link": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/markdown-link/download/markdown-link-0.1.1.tgz", - "integrity": "sha1-MsXGUZmmRXMWMi0eQinRNAfIx88=" - }, - "markdown-toc": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/markdown-toc/download/markdown-toc-1.2.0.tgz", - "integrity": "sha1-RKFWBoREkDFK/ARESD+eexEiwzk=", - "requires": { - "concat-stream": "^1.5.2", - "diacritics-map": "^0.1.0", - "gray-matter": "^2.1.0", - "lazy-cache": "^2.0.2", - "list-item": "^1.1.1", - "markdown-link": "^0.1.1", - "minimist": "^1.2.0", - "mixin-deep": "^1.1.3", - "object.pick": "^1.2.0", - "remarkable": "^1.7.1", - "repeat-string": "^1.6.1", - "strip-color": "^0.1.0" - }, - "dependencies": { - "remarkable": { - "version": "1.7.4", - "resolved": "https://registry.npm.taobao.org/remarkable/download/remarkable-1.7.4.tgz", - "integrity": "sha1-GQc8uWA5jIen1lRuql5Q0gIvzQA=", - "requires": { - "argparse": "^1.0.10", - "autolinker": "~0.28.0" - } - } - } - }, - "math-random": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/math-random/download/math-random-1.0.4.tgz", - "integrity": "sha1-XdaUPJOFSCZwFtTjTwV1gwgMUUw=" - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz?cache=0&sync_timestamp=1584029207120&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.4.tgz", - "integrity": "sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs=" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz?cache=0&sync_timestamp=1584640774734&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmeow%2Fdownload%2Fmeow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "merge2": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.3.0.tgz", - "integrity": "sha1-WzZu6DsvFYLEj4fkfPGpNSEDyoE=" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "microevent.ts": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/microevent.ts/download/microevent.ts-0.1.1.tgz", - "integrity": "sha1-cLCbg/Q99RctAgWmMCW84Pc1f6A=" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz?cache=0&sync_timestamp=1580303044337&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.10.tgz", - "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz", - "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=" - }, - "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.43.0.tgz", - "integrity": "sha1-ChLgUCZQ5HPXNVNQUOfI9OtPrlg=" - }, - "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.26.tgz", - "integrity": "sha1-nJIfwJt+FJpl39wNpNIJlyALCgY=", - "requires": { - "mime-db": "1.43.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz", - "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/mimic-response/download/mimic-response-1.0.1.tgz?cache=0&sync_timestamp=1581922218546&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-response%2Fdownload%2Fmimic-response-1.0.1.tgz", - "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz", - "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=" - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz", - "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.4.tgz?cache=0&sync_timestamp=1584986213750&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.4.tgz", - "integrity": "sha1-/QFQSmeX7Fyb6B/0PSBJYe1kpRI=", - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.0.tgz", - "integrity": "sha1-eBj3IgJ7JFmobwKV1DTR/CM2xSw=", - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", - "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", - "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz", - "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=" - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/node-modules-regexp/download/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" - }, - "node-releases": { - "version": "1.1.53", - "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.53.tgz", - "integrity": "sha1-LYIb+kme18Xf/F4vKMiOeKCO4/Q=" - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz", - "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" - }, - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz", - "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=" - }, - "npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/npm-conf/download/npm-conf-1.1.3.tgz", - "integrity": "sha1-JWzEe9DiGMJZxOlVC/QTvCGSr/k=", - "requires": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz?cache=0&sync_timestamp=1577053378987&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz", - "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", - "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.7.0.tgz", - "integrity": "sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc=" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", - "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz", - "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=", - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha1-Npvx+VktiridcS3O1cuBx8U1Jkk=", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/object.values/download/object.values-1.1.1.tgz", - "integrity": "sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4=", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "open": { - "version": "6.4.0", - "resolved": "https://registry.npm.taobao.org/open/download/open-6.4.0.tgz?cache=0&sync_timestamp=1583734616839&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopen%2Fdownload%2Fopen-6.4.0.tgz", - "integrity": "sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk=", - "requires": { - "is-wsl": "^1.1.0" - } - }, - "optipng-bin": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/optipng-bin/download/optipng-bin-5.1.0.tgz", - "integrity": "sha1-p8erYAo6taF32uL5TC2ACqOGtak=", - "requires": { - "bin-build": "^3.0.0", - "bin-wrapper": "^4.0.0", - "logalot": "^2.0.0" - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz", - "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=", - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-filter-obj": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/os-filter-obj/download/os-filter-obj-2.0.0.tgz", - "integrity": "sha1-HAti1fOiRCdJotE55t3e5ugdjRY=", - "requires": { - "arch": "^2.1.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/p-cancelable/download/p-cancelable-0.3.0.tgz", - "integrity": "sha1-ueEjgAvOu3rBOkeb4ZW1B7mNMPo=" - }, - "p-event": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/p-event/download/p-event-1.3.0.tgz", - "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=", - "requires": { - "p-timeout": "^1.1.1" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-is-promise": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/p-is-promise/download/p-is-promise-1.1.0.tgz", - "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" - }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.2.2.tgz?cache=0&sync_timestamp=1577904218145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.2.2.tgz", - "integrity": "sha1-YSebZ3IfUoeqHBOpp/u8SMkpGx4=", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", - "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-map-series": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-map-series/download/p-map-series-1.0.0.tgz", - "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", - "requires": { - "p-reduce": "^1.0.0" - } - }, - "p-pipe": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/p-pipe/download/p-pipe-1.2.0.tgz", - "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=" - }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-reduce/download/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=" - }, - "p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/p-timeout/download/p-timeout-1.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-timeout%2Fdownload%2Fp-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "requires": { - "p-finally": "^1.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", - "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=" - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", - "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=" - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz", - "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz", - "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - } - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/pend/download/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-4.0.1.tgz", - "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/pirates/download/pirates-4.0.1.tgz", - "integrity": "sha1-ZDqSyviUVm+RsrmG0sZpUKji+4c=", - "requires": { - "node-modules-regexp": "^1.0.0" - } - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz", - "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", - "requires": { - "find-up": "^3.0.0" - } - }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/pkg-up/download/pkg-up-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-up%2Fdownload%2Fpkg-up-3.1.0.tgz", - "integrity": "sha1-EA7CNcwVDk/UJRlBJZaihRKg3vU=", - "requires": { - "find-up": "^3.0.0" - } - }, - "portfinder": { - "version": "1.0.25", - "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.25.tgz?cache=0&sync_timestamp=1571176857935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fportfinder%2Fdownload%2Fportfinder-1.0.25.tgz", - "integrity": "sha1-JU/TN/+6hp9LnTftwpgFnLTTXso=", - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.1" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz", - "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "postcss": { - "version": "7.0.27", - "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.27.tgz", - "integrity": "sha1-zGfNxrDao3UQW3xCSoVWc0X8VNk=", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1569557271992&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1569557271992&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", - "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-calc": { - "version": "7.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.2.tgz", - "integrity": "sha1-UE780AjKAnMSBWiweSsWzc3oqsE=", - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz", - "integrity": "sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=", - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz", - "integrity": "sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha1-P+EzzTyCKC5VD8myORdqkge3hOs=", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=", - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha1-NivqT/Wh+Y5AdacTxsslrv75plA=", - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", - "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz", - "integrity": "sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=", - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=", - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", - "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=", - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=", - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha1-jgCcoqOUnNr4rSPmtquZy159KNk=", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=", - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=", - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=", - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=", - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=", - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha1-F++kBerMbge+NBSlyi0QdGgdTik=", - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.2.tgz", - "integrity": "sha1-k0z3mdAWyDQRhZ4J3Oyt4BKG7Fw=", - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz", - "integrity": "sha1-F7mXvHEbMzurFDqu07jT1uPTglg=", - "requires": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" - } - } - }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=", - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - } - }, - "postcss-value-parser": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.0.3.tgz?cache=0&sync_timestamp=1582038211905&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.0.3.tgz", - "integrity": "sha1-ZR/0WTqp7ajV0NZlk6JBeurrMl0=" - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "prismjs": { - "version": "1.19.0", - "resolved": "https://registry.npm.taobao.org/prismjs/download/prismjs-1.19.0.tgz", - "integrity": "sha1-cTr71Fw7rKSzIVafLfOeF+cp1Nw=", - "requires": { - "clipboard": "^2.0.0" - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz", - "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", - "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=" - }, - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npm.taobao.org/prop-types/download/prop-types-15.7.2.tgz?cache=0&sync_timestamp=1580303049679&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprop-types%2Fdownload%2Fprop-types-15.7.2.tgz", - "integrity": "sha1-UsQedbjIfnK52TYOAga5ncv/psU=", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/proto-list/download/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz", - "integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz?cache=0&sync_timestamp=1585170332277&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpsl%2Fdownload%2Fpsl-1.8.0.tgz", - "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", - "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", - "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz?cache=0&sync_timestamp=1585168614364&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.5.2.tgz", - "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=" - }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/query-string/download/query-string-5.1.1.tgz?cache=0&sync_timestamp=1583143721964&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquery-string%2Fdownload%2Fquery-string-5.1.1.tgz", - "integrity": "sha1-p4wBK3HBfgXy4/ojGd0zBoLvs8s=", - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/querystringify/download/querystringify-2.1.1.tgz", - "integrity": "sha1-YOWl/WSn+L+k0qsu1v30yFutFU4=" - }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/randomatic/download/randomatic-3.1.1.tgz", - "integrity": "sha1-t3bvxZN1mE42xTey9RofCv8Noe0=", - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-4.0.0.tgz", - "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=" - } - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz", - "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=" - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz", - "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "react": { - "version": "16.13.1", - "resolved": "https://registry.npm.taobao.org/react/download/react-16.13.1.tgz", - "integrity": "sha1-LoGIIvGpdDEiwGPWQQ2FweOv5I4=", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - } - }, - "react-dev-utils": { - "version": "9.1.0", - "resolved": "https://registry.npm.taobao.org/react-dev-utils/download/react-dev-utils-9.1.0.tgz?cache=0&sync_timestamp=1584749200481&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-dev-utils%2Fdownload%2Freact-dev-utils-9.1.0.tgz", - "integrity": "sha1-OtK7iEijIxnXYNCoTFbBS9quXoE=", - "requires": { - "@babel/code-frame": "7.5.5", - "address": "1.1.2", - "browserslist": "4.7.0", - "chalk": "2.4.2", - "cross-spawn": "6.0.5", - "detect-port-alt": "1.1.6", - "escape-string-regexp": "1.0.5", - "filesize": "3.6.1", - "find-up": "3.0.0", - "fork-ts-checker-webpack-plugin": "1.5.0", - "global-modules": "2.0.0", - "globby": "8.0.2", - "gzip-size": "5.1.1", - "immer": "1.10.0", - "inquirer": "6.5.0", - "is-root": "2.1.0", - "loader-utils": "1.2.3", - "open": "^6.3.0", - "pkg-up": "2.0.0", - "react-error-overlay": "^6.0.3", - "recursive-readdir": "2.2.2", - "shell-quote": "1.7.2", - "sockjs-client": "1.4.0", - "strip-ansi": "5.2.0", - "text-table": "0.2.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.5.5", - "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.5.5.tgz?cache=0&sync_timestamp=1580303207516&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.5.5.tgz", - "integrity": "sha1-vAeC9tafe31JUxIZaZuYj2aaj50=", - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=" - }, - "browserslist": { - "version": "4.7.0", - "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.7.0.tgz?cache=0&sync_timestamp=1584920592846&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.7.0.tgz", - "integrity": "sha1-nuiSJf/AfbA0CfL+5STcgidFihc=", - "requires": { - "caniuse-lite": "^1.0.30000989", - "electron-to-chromium": "^1.3.247", - "node-releases": "^1.1.29" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz?cache=0&sync_timestamp=1570508303786&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-6.0.5.tgz", - "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1577904218145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz", - "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" - }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/pkg-up/download/pkg-up-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-up%2Fdownload%2Fpkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "requires": { - "find-up": "^2.1.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "^2.0.0" - } - } - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1573280549549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "react-dom": { - "version": "16.13.1", - "resolved": "https://registry.npm.taobao.org/react-dom/download/react-dom-16.13.1.tgz", - "integrity": "sha1-wb03MxoEhsB47lTEdAcgmTsuDn8=", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" - } - }, - "react-error-overlay": { - "version": "6.0.7", - "resolved": "https://registry.npm.taobao.org/react-error-overlay/download/react-error-overlay-6.0.7.tgz?cache=0&sync_timestamp=1584749202365&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-error-overlay%2Fdownload%2Freact-error-overlay-6.0.7.tgz", - "integrity": "sha1-Hc+0WatnHVP2YKmRUTyy8KBVMQg=" - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-16.13.1.tgz", - "integrity": "sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ=" - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "dependencies": { - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz?cache=0&sync_timestamp=1575647702557&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } - } - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", - "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz", - "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npm.taobao.org/rechoir/download/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "requires": { - "resolve": "^1.1.6" - } - }, - "recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/recursive-readdir/download/recursive-readdir-2.2.2.tgz", - "integrity": "sha1-mUb7MnThYo3m42svZxSVO0hFCU8=", - "requires": { - "minimatch": "3.0.4" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.0.tgz", - "integrity": "sha1-SoVuxLVuQHfFV1icroXnpMiGmhE=" - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate-unicode-properties%2Fdownload%2Fregenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha1-5d5xEdZV57pgwFfb6f83yH5lzew=", - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.5.tgz?cache=0&sync_timestamp=1584052597708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.5.tgz", - "integrity": "sha1-2Hih0JS0MG0QuQlkhLM+vVXiZpc=" - }, - "regenerator-transform": { - "version": "0.14.4", - "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.4.tgz", - "integrity": "sha1-UmaFeJZRjRYWp4oEeTN6MOqXTMc=", - "requires": { - "@babel/runtime": "^7.8.4", - "private": "^0.1.8" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz", - "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.0.tgz", - "integrity": "sha1-/L9FjFBDGwu3tF1pZ7gZLZHz2Tg=", - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.1", - "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.1.tgz", - "integrity": "sha1-SPC/Gl6iBRlpKcDZeYtC0e2YRDw=" - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.4.tgz", - "integrity": "sha1-p2n4aEMIQBpm6bUp0kNv9NBmYnI=", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - } - } - }, - "remarkable": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/remarkable/download/remarkable-2.0.0.tgz", - "integrity": "sha1-eV+WW+3oMANizlGnFu3DItnnpMo=", - "requires": { - "argparse": "^1.0.10", - "autolinker": "^3.11.0" - }, - "dependencies": { - "autolinker": { - "version": "3.13.0", - "resolved": "https://registry.npm.taobao.org/autolinker/download/autolinker-3.13.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautolinker%2Fdownload%2Fautolinker-3.13.0.tgz", - "integrity": "sha1-elEkS7Eb913omkgEeRnpMHHnj0M=", - "requires": { - "tslib": "^1.9.3" - } - } - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz", - "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "requires": { - "is-finite": "^1.0.0" - } - }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/replace-ext/download/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz?cache=0&sync_timestamp=1581439006948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest%2Fdownload%2Frequest-2.88.2.tgz", - "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - }, - "resolve": { - "version": "1.15.1", - "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.15.1.tgz?cache=0&sync_timestamp=1580944242910&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.15.1.tgz", - "integrity": "sha1-J73N7/6vLWJEuVuw+fS0ZTRR8+g=", - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/responselike/download/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz", - "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=" - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1581229865753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz", - "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", - "requires": { - "glob": "^7.1.3" - } - }, - "run-async": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/run-async/download/run-async-2.4.0.tgz?cache=0&sync_timestamp=1582711649944&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frun-async%2Fdownload%2Frun-async-2.4.0.tgz", - "integrity": "sha1-5ZBUpbhods+uB/Qx0Yy63cWU8eg=", - "requires": { - "is-promise": "^2.1.0" - } - }, - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.4.tgz", - "integrity": "sha1-4Hd/4NGEzseHLfFH8wNXLUFOIRw=", - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" - }, - "safe-json-parse": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/safe-json-parse/download/safe-json-parse-1.0.1.tgz", - "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", - "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" - }, - "scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npm.taobao.org/scheduler/download/scheduler-0.19.1.tgz", - "integrity": "sha1-Tz4u0sGn1laB9MhU+oxaHMtA8ZY=", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "seek-bzip": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/seek-bzip/download/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", - "requires": { - "commander": "~2.8.1" - }, - "dependencies": { - "commander": { - "version": "2.8.1", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.8.1.tgz?cache=0&sync_timestamp=1584148407069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "requires": { - "graceful-readlink": ">= 1.0.0" - } - } - } - }, - "select": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/select/download/select-1.1.2.tgz", - "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", - "optional": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" - }, - "semver-regex": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/semver-regex/download/semver-regex-2.0.0.tgz", - "integrity": "sha1-qTwsWERTmncCMzeRB7OMe0rJ0zg=" - }, - "semver-truncate": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/semver-truncate/download/semver-truncate-1.1.2.tgz", - "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", - "requires": { - "semver": "^5.3.0" - } - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz", - "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz", - "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=" - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz", - "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-getter": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/set-getter/download/set-getter-0.1.0.tgz", - "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", - "requires": { - "to-object-path": "^0.3.0" - } - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz", - "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz", - "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz", - "integrity": "sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I=" - }, - "shelljs": { - "version": "0.8.3", - "resolved": "https://registry.npm.taobao.org/shelljs/download/shelljs-0.8.3.tgz", - "integrity": "sha1-p/MxlSDr8J7oEnWyNorbKGZZsJc=", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz?cache=0&sync_timestamp=1585253750175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.3.tgz", - "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=" - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz", - "integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=" - } - } - }, - "sitemap": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/sitemap/download/sitemap-3.2.2.tgz", - "integrity": "sha1-P3fDWPqXtVXIeeRXCY45kQCVxis=", - "requires": { - "lodash.chunk": "^4.2.0", - "lodash.padstart": "^4.6.1", - "whatwg-url": "^7.0.0", - "xmlbuilder": "^13.0.0" - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz", - "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz", - "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz", - "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.4.0.tgz", - "integrity": "sha1-yfJWjhnI/YFztJl+o0IOC7MGx9U=", - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz", - "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "sort-keys-length": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/sort-keys-length/download/sort-keys-length-1.0.1.tgz", - "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", - "requires": { - "sort-keys": "^1.0.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz?cache=0&sync_timestamp=1584829593933&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-resolve%2Fdownload%2Fsource-map-resolve-0.5.3.tgz", - "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.16.tgz", - "integrity": "sha1-CuBp5/47p1OMZMmFFeNTOerFoEI=", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.0.tgz", - "integrity": "sha1-+4PlBERSaPFUsHTiGMh8ADzTHfQ=", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.2.0.tgz", - "integrity": "sha1-LqRQrudPKom/uUUZwH/Nb0EyKXc=" - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz", - "integrity": "sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ=" - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", - "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "squeak": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/squeak/download/squeak-1.3.0.tgz", - "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", - "requires": { - "chalk": "^1.0.0", - "console-stream": "^0.1.1", - "lpad-align": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1569557271992&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz", - "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz", - "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=" - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" - }, - "string-template": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/string-template/download/string-template-0.2.1.tgz", - "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1573280549549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string.prototype.trimend": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.0.tgz?cache=0&sync_timestamp=1585557212269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.0.tgz", - "integrity": "sha1-7kl/0pdoZG2EviybgZ4pJDlhQ3M=", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimleft/download/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha1-RAiqLl1t3QyagHObCH+8BnwDs8w=", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" - } - }, - "string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimright/download/string.prototype.trimright-2.1.2.tgz?cache=0&sync_timestamp=1585557209944&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimright%2Fdownload%2Fstring.prototype.trimright-2.1.2.tgz", - "integrity": "sha1-x28c7zDyG7rYr+uNsVEUls+w8qM=", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" - } - }, - "string.prototype.trimstart": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.0.tgz", - "integrity": "sha1-r+WWp86d6QVJaRlAbJc0hF8BovI=", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1573280549549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-color": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/strip-color/download/strip-color-0.1.0.tgz", - "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s=" - }, - "strip-dirs": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/strip-dirs/download/strip-dirs-2.1.0.tgz", - "integrity": "sha1-SYdzYmT8NEzyD2w0rKnRPR1O1sU=", - "requires": { - "is-natural-number": "^4.0.1" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "requires": { - "get-stdin": "^4.0.1" - } - }, - "strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/strip-outer/download/strip-outer-1.0.1.tgz", - "integrity": "sha1-sv0qv2YEudHmATBXGV34Nrip1jE=", - "requires": { - "escape-string-regexp": "^1.0.2" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - } - } - }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz", - "integrity": "sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=", - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", - "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1569557271992&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "requires": { - "has-flag": "^3.0.0" - } - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1572433377078&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz", - "integrity": "sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=", - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - } - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz", - "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=" - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npm.taobao.org/tar-stream/download/tar-stream-1.6.2.tgz", - "integrity": "sha1-jqVdqzeXIlPZqa+Q/c1VmuQ1xVU=", - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "tcp-port-used": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/tcp-port-used/download/tcp-port-used-1.0.1.tgz", - "integrity": "sha1-RgYQeOLTjHOXmiwsErWmdOZonXA=", - "requires": { - "debug": "4.1.0", - "is2": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.0.tgz", - "integrity": "sha1-NzaHv/pnizixzZH4YbY4UANd3Ic=", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/temp-dir/download/temp-dir-1.0.0.tgz", - "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" - }, - "tempfile": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/tempfile/download/tempfile-2.0.0.tgz", - "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", - "requires": { - "temp-dir": "^1.0.0", - "uuid": "^3.0.1" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz", - "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/timed-out/download/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" - }, - "tiny-emitter": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/tiny-emitter/download/tiny-emitter-2.1.0.tgz", - "integrity": "sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM=", - "optional": true - }, - "tiny-lr": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/tiny-lr/download/tiny-lr-1.1.1.tgz", - "integrity": "sha1-n6VHQS8jj+2waO4pWvi2gsmLKqs=", - "requires": { - "body": "^5.1.0", - "debug": "^3.1.0", - "faye-websocket": "~0.10.0", - "livereload-js": "^2.3.0", - "object-assign": "^4.1.0", - "qs": "^6.4.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz", - "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", - "requires": { - "ms": "^2.1.1" - } - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "requires": { - "websocket-driver": ">=0.5.1" - } - } - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz", - "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/to-buffer/download/to-buffer-1.1.1.tgz", - "integrity": "sha1-STvUj2LXxD/N7TE6A9ytsuEhOoA=" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1580550347606&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz", - "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz", - "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=" - }, - "toml": { - "version": "2.3.6", - "resolved": "https://registry.npm.taobao.org/toml/download/toml-2.3.6.tgz", - "integrity": "sha1-JbCGZIOpciR0iVVZCItDb9Efhhs=" - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz?cache=0&sync_timestamp=1584645708631&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftough-cookie%2Fdownload%2Ftough-cookie-2.5.0.tgz", - "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/tr46/download/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "requires": { - "punycode": "^2.1.0" - } - }, - "tree-node-cli": { - "version": "1.2.5", - "resolved": "https://registry.npm.taobao.org/tree-node-cli/download/tree-node-cli-1.2.5.tgz", - "integrity": "sha1-r9dUN5drvyzAxSuZSXmOdTDo/Yw=", - "requires": { - "commander": "^2.15.1" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1584148407069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", - "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=" - } - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" - }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/trim-repeated/download/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "requires": { - "escape-string-regexp": "^1.0.2" - }, - "dependencies": { - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - } - } - }, - "truncate-html": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/truncate-html/download/truncate-html-1.0.3.tgz", - "integrity": "sha1-AWbfx4kGJhMMLkF0xrc9TWOZPl8=", - "requires": { - "@types/cheerio": "^0.22.8", - "cheerio": "0.22.0" - } - }, - "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.11.1.tgz?cache=0&sync_timestamp=1582832152814&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-1.11.1.tgz", - "integrity": "sha1-6xXRKIJ/vuKEFUnhcfRe0zisfjU=" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz?cache=0&sync_timestamp=1581364304221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftweetnacl%2Fdownload%2Ftweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", - "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "unbzip2-stream": { - "version": "1.3.3", - "resolved": "https://registry.npm.taobao.org/unbzip2-stream/download/unbzip2-stream-1.3.3.tgz", - "integrity": "sha1-0VbSBeZw2NjDk+HALr1QZCKHP2o=", - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=" - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=", - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz?cache=0&sync_timestamp=1583949006575&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-match-property-value-ecmascript%2Fdownload%2Funicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha1-DZH2AO7rMJaqlisdb8iIduZOpTE=" - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz?cache=0&sync_timestamp=1583945776843&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ=" - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz", - "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz", - "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz", - "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=" - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz", - "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npm.taobao.org/url-parse/download/url-parse-1.4.7.tgz", - "integrity": "sha1-qKg1NejACjFuQDpdtKwbm4U64ng=", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "^1.0.1" - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/url-to-options/download/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz", - "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz", - "integrity": "sha1-a693dLgO6w91INi4HQeYKlmruu4=", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz", - "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=" - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz", - "integrity": "sha1-4rgApT56Kbk1BsPPQRANFsTErY4=" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-4.0.2.tgz", - "integrity": "sha1-qFWYCx8LazWbodXZ+zmulB+qY60=" - }, - "websocket-driver": { - "version": "0.7.3", - "resolved": "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.3.tgz", - "integrity": "sha1-otTg1PTxFvHmKX66WLBdQwEA6fk=", - "requires": { - "http-parser-js": ">=0.4.0 <0.4.11", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.3.tgz", - "integrity": "sha1-XS/yKXcAPsaHpLhwc9+7rBRszyk=" - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-7.1.0.tgz", - "integrity": "sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY=", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&sync_timestamp=1574116898193&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz", - "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", - "requires": { - "isexe": "^2.0.0" - } - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" - }, - "worker-rpc": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/worker-rpc/download/worker-rpc-0.1.1.tgz", - "integrity": "sha1-y1Zb1tcHGo8WZgaGBR6WmtMvVNU=", - "requires": { - "microevent.ts": "~0.1.1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npm.taobao.org/xml-js/download/xml-js-1.6.11.tgz", - "integrity": "sha1-kn0vaUf38cGaMW3Y7qNhTosY+Ok=", - "requires": { - "sax": "^1.2.4" - } - }, - "xmlbuilder": { - "version": "13.0.2", - "resolved": "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-13.0.2.tgz", - "integrity": "sha1-Aq4zYUtqBH0cMrU4nB/ayyvOR6c=" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", - "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=" - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" - }, - "yamljs": { - "version": "0.2.10", - "resolved": "https://registry.npm.taobao.org/yamljs/download/yamljs-0.2.10.tgz", - "integrity": "sha1-SBzHwlynOvWfWR8MluPOVsdXpA8=", - "requires": { - "argparse": "^1.0.7", - "glob": "^7.0.5" - } - }, - "yargs": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-2.3.0.tgz?cache=0&sync_timestamp=1584344189540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-2.3.0.tgz", - "integrity": "sha1-6QDIclDsXNCA22AJ/j3WMVbx1/s=", - "requires": { - "wordwrap": "0.0.2" - } - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npm.taobao.org/yauzl/download/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - } - } -} diff --git a/website/package.json b/website/package.json deleted file mode 100644 index 22b4080..0000000 --- a/website/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "scripts": { - "examples": "docusaurus-examples", - "start": "docusaurus-start", - "build": "docusaurus-build", - "publish-gh-pages": "docusaurus-publish", - "write-translations": "docusaurus-write-translations", - "version": "docusaurus-version", - "rename-version": "docusaurus-rename-version" - }, - "dependencies": { - "docusaurus": "^1.14.4" - } -} diff --git a/website/pages/en/help.js b/website/pages/en/help.js deleted file mode 100755 index 864c2a4..0000000 --- a/website/pages/en/help.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright (c) 2017-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -const React = require('react'); - -const CompLibrary = require('../../core/CompLibrary.js'); -const Container = CompLibrary.Container; -const GridBlock = CompLibrary.GridBlock; - -const siteConfig = require(process.cwd() + '/siteConfig.js'); - -class Help extends React.Component { - render() { - const supportLinks = [ - { - content: - 'Learn more using the [documentation on this site.](/test-site/docs/en/doc1.html)', - title: 'Browse Docs', - }, - { - content: 'Ask questions about the documentation and project', - title: 'Join the community', - }, - { - content: "Find out what's new with this project", - title: 'Stay up to date', - }, - ]; - - return ( -
- -
-
-

Need help?

-
-

This project is maintained by a dedicated group of people.

- -
-
-
- ); - } -} - -module.exports = Help; diff --git a/website/pages/en/index.js b/website/pages/en/index.js deleted file mode 100755 index 90a4357..0000000 --- a/website/pages/en/index.js +++ /dev/null @@ -1,196 +0,0 @@ -/** - * Copyright (c) 2017-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -const React = require('react'); - -const CompLibrary = require('../../core/CompLibrary.js'); -const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */ -const Container = CompLibrary.Container; -const GridBlock = CompLibrary.GridBlock; - -const siteConfig = require(process.cwd() + '/siteConfig.js'); - -function imgUrl(img) { - return siteConfig.baseUrl + 'img/' + img; -} - -function docUrl(doc, language) { - return siteConfig.baseUrl + 'docs/' + (language ? language + '/' : '') + doc; -} - -function pageUrl(page, language) { - return siteConfig.baseUrl + (language ? language + '/' : '') + page; -} - -class Button extends React.Component { - render() { - return ( - - ); - } -} - -Button.defaultProps = { - target: '_self', -}; - -const SplashContainer = props => ( -
-
-
{props.children}
-
-
-); - -const Logo = props => ( -
- -
-); - -const ProjectTitle = props => ( -

- {siteConfig.title} - {siteConfig.tagline} -

-); - -const PromoSection = props => ( -
-
-
{props.children}
-
-
-); - -class HomeSplash extends React.Component { - render() { - let language = this.props.language || ''; - return ( - - -
- - - - - {/* */} - -
-
- ); - } -} - -const Block = props => ( - - - -); - -const Features = props => ( - - {[ - { - content: '使用 PHP 进行开发,并使用「严格模式」来增强代码的可读性。', - image: imgUrl('php-logo.png'), - imageAlign: 'top', - title: 'PHP 7', - }, - { - content: '采用 Laravel 进行开发,并以目前 Laravel 半年升级发布计划,进行版本升级管理。', - image: imgUrl('laravel.jpeg'), - imageAlign: 'top', - title: 'Laravel', - }, - ]} - -); - -const InstallVideo = props => ( - -
-
-
-
-

- 面板安装视频 -

- - 我们为你准备了一个简单的给予面板的安装视频,你可以通过视频了解到在正式环境下,如何安装 Plus 程序 - -
-
-
-); - -const Showcase = props => { - if ((siteConfig.users || []).length === 0) { - return null; - } - const showcase = siteConfig.users - .filter(user => { - return user.pinned; - }) - .map((user, i) => { - return ( - - - - ); - }); - - return ( -
-

{"Who's Using This?"}

-

This project is used by all these people

-
{showcase}
- -
- ); -}; - -class Index extends React.Component { - render() { - let language = this.props.language || ''; - - return ( -
- -
- - - -
-
- ); - } -} - -module.exports = Index; diff --git a/website/pages/en/new-issue.js b/website/pages/en/new-issue.js deleted file mode 100644 index 2b302af..0000000 --- a/website/pages/en/new-issue.js +++ /dev/null @@ -1,73 +0,0 @@ -const React = require('react'); - -const siteConfig = require(process.cwd() + '/siteConfig.js'); - -function jsUrl(js) { - return siteConfig.baseUrl + 'js/' + js; -} - -class NewIssue extends React.Component { - render() { - return ( -
- -
-
-
- - -
-
- - -
-
- - -
-
- - - 请检查是否在新的版本中已修复 -
- -
- - - 如何才能重现这个 Bug ?清晰明了的描述重现,可以让我们更加快速准确的定位问题。支持使用 Markdown 来格式化你的描述。 -
- -
- - -
- -
- - -
- -
- - - 如果你有更多的补充请写在这里,例如你的业务场景、PHP 版本,数据库版本等信息。 -
- -
- - -
-