diff --git a/package.json b/package.json index ef25780..7ae7712 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,11 @@ "@types/node": "^12.0.0", "@types/react": "^16.9.0", "@types/react-dom": "^16.9.0", + "bootstrap": "^4.5.0", "react": "^16.13.1", + "react-bootstrap": "^1.0.1", + "react-cookie": "^4.0.3", + "react-datetime": "^2.16.3", "react-dom": "^16.13.1", "react-scripts": "3.4.1", "typescript": "~3.7.2" diff --git a/public/close.svg b/public/close.svg new file mode 100644 index 0000000..82fec23 --- /dev/null +++ b/public/close.svg @@ -0,0 +1 @@ + diff --git a/src/Address.tsx b/src/Address.tsx new file mode 100644 index 0000000..5e5f01d --- /dev/null +++ b/src/Address.tsx @@ -0,0 +1,55 @@ +import {Form, InputGroup} from "react-bootstrap"; +import {AddressProps, OnChangeAddress} from "./entity"; +import React from "react"; + +/** + * 加载服务地点信息 + */ +export class Address extends React.Component{ + + + constructor(props: Readonly) { + super(props); + + this.state={ + addressList:[] + } + } + + componentDidMount() { + this.loadAddress() + } + + /** + * 加载服务地点 + */ + loadAddress(){ + this.setState({ + addressList:[{ + address:"北京", + }, + { + address:"广州", + }, + { + address:"上海", + }] + }) + } + + render() { + return ( + + + 服务地点 + + this.props.onChange(e.target.value)}> + + {this.state.addressList.map((address:AddressProps, index:number)=> + + )} + + + ) + } +} diff --git a/src/Main.tsx b/src/Main.tsx index 861c4c5..313d44d 100644 --- a/src/Main.tsx +++ b/src/Main.tsx @@ -2,6 +2,7 @@ import React from "react"; import {Navbar,Nav,Dropdown} from "react-bootstrap"; import {IndexMenu} from "./sub/IndexMenu"; import {Volunteer} from "./sub/Volunteer"; +import {MyHelp} from "./sub/MyHelp"; /** * 菜单标记 @@ -56,6 +57,10 @@ export class Main extends React.Component{ this.setState({ subMenu: });break; + case Menu.myHelp: + this.setState({ + subMenu: + });break; } } diff --git a/src/Page.tsx b/src/Page.tsx index 576981a..b09d7c4 100644 --- a/src/Page.tsx +++ b/src/Page.tsx @@ -1,11 +1,11 @@ -import {PageForm} from "./entity"; +import {PageProps} from "./entity"; import React from "react"; import {Pagination} from "react-bootstrap"; /** * 分页组件 */ -export class Page extends React.Component{ +export class Page extends React.Component{ render() { return ( diff --git a/src/account/Login.tsx b/src/account/Login.tsx index b384c27..8b83301 100644 --- a/src/account/Login.tsx +++ b/src/account/Login.tsx @@ -1,22 +1,20 @@ import React from "react"; import {Button} from 'react-bootstrap' -import {LoginForm} from "./LoginForm"; +import {LoginProps, LoginState} from "./LoginProps"; import {Input} from "../bootstrap/InputGroup"; /** * 登陆表单组件 */ -export class Login extends React.Component{ +export class Login extends React.Component{ - constructor(props: Readonly) { + constructor(props: Readonly) { super(props) + this.state={ user:"", - password:"", - toRegister:props.toRegister, - cookies:props.cookies, - login:props.login + password:"" } } @@ -28,7 +26,7 @@ export class Login extends React.Component{ {this.setState({password:value})}}/> - + diff --git a/src/account/LoginForm.ts b/src/account/LoginProps.ts similarity index 55% rename from src/account/LoginForm.ts rename to src/account/LoginProps.ts index 6093795..0dbf8c3 100644 --- a/src/account/LoginForm.ts +++ b/src/account/LoginProps.ts @@ -1,15 +1,22 @@ + +import {PropCookie} from "./PropCookie"; + /** * 登陆表单 */ -import {PropCookie} from "./PropCookie"; - -export interface LoginForm extends PropCookie{ - //管理员名 - user?:string; - //密码 - password?:string; +export interface LoginProps extends PropCookie{ //跳转注册 toRegister:Function; //登录 login:Function; } + +/** + * 登陆状态 + */ +export interface LoginState { + //管理员名 + user:string; + //密码 + password:string; +} diff --git a/src/account/Register.tsx b/src/account/Register.tsx index c8e5be2..4cf62c7 100644 --- a/src/account/Register.tsx +++ b/src/account/Register.tsx @@ -1,18 +1,17 @@ import React from "react"; -import {RegisterForm} from "./RegisterForm"; +import {RegisterProps, RegisterState} from "./RegisterProps"; import {Input} from "../bootstrap/InputGroup"; import {Button} from 'react-bootstrap' /** * 注册 */ -export class Register extends React.Component{ +export class Register extends React.Component{ - constructor(props: Readonly) { + constructor(props: Readonly) { super(props) this.state={ user:"", password:"", - toLogin:props.toLogin } } diff --git a/src/account/RegisterForm.tsx b/src/account/RegisterForm.tsx deleted file mode 100644 index fc078c8..0000000 --- a/src/account/RegisterForm.tsx +++ /dev/null @@ -1,11 +0,0 @@ -/** - * 注册表单 - */ -export interface RegisterForm { - //管理员名 - user?:string; - //密码 - password?:string; - //跳转登录 - toLogin:Function; -} diff --git a/src/account/RegisterProps.tsx b/src/account/RegisterProps.tsx new file mode 100644 index 0000000..2b3fac2 --- /dev/null +++ b/src/account/RegisterProps.tsx @@ -0,0 +1,14 @@ +/** + * 注册表单 + */ +export interface RegisterProps { + //跳转登录 + toLogin:Function; +} + +export interface RegisterState { + //管理员名 + user:string; + //密码 + password:string; +} diff --git a/src/bootstrap/InputGroup.tsx b/src/bootstrap/InputGroup.tsx index cb9e188..a3c600f 100644 --- a/src/bootstrap/InputGroup.tsx +++ b/src/bootstrap/InputGroup.tsx @@ -1,6 +1,6 @@ import React from "react"; import {InputGroup,FormControl} from 'react-bootstrap' -import {InputFormDesc} from "./LoginFormDesc"; +import {FormInputProps} from "./LoginFormDesc"; const defaultValid={ @@ -11,7 +11,7 @@ const defaultValid={ /** * bootstrap InputGroup组件封装 */ -export class Input extends React.Component{ +export class Input extends React.Component{ merge(){ return {...defaultValid,...this.props.valid} @@ -31,8 +31,8 @@ export class Input extends React.Component{ {this.props.desc} - this.props.onChange(e.target.value)}/> + this.props.onChange(e.target.value)} maxLength={this.props.maxLength }/>
{this.merge().valid}
diff --git a/src/bootstrap/LoginFormDesc.ts b/src/bootstrap/LoginFormDesc.ts index 404e202..c9df9d3 100644 --- a/src/bootstrap/LoginFormDesc.ts +++ b/src/bootstrap/LoginFormDesc.ts @@ -1,8 +1,9 @@ +import * as React from "react"; /** * 文本输入框组件封装 */ -export interface InputFormDesc { +export interface FormInputProps { //表单名 name: string //描述信息 @@ -13,6 +14,7 @@ export interface InputFormDesc { type?: |"text" |"password" + as?: React.ElementType; //值改变事件 onChange: Function //验证信息 @@ -23,4 +25,6 @@ export interface InputFormDesc { } //bootstrap col col?:number + //长度 + maxLength ?:number } diff --git a/src/entity.ts b/src/entity.ts index f140a06..df82cbd 100644 --- a/src/entity.ts +++ b/src/entity.ts @@ -1,7 +1,7 @@ /** * 首页活动列表信息 */ -export interface ActiveForm { +export interface ActiveProps { //活动ID activeId:number; //活动标题 @@ -15,15 +15,18 @@ export interface ActiveForm { /** * 地点信息 */ -export interface AddressForm { - //地点 +export interface AddressProps { address:string; } +export interface OnChangeAddress { + onChange:Function; +} + /** *志愿者信息 */ -export interface VolunteerForm { +export interface VolunteerProps { //个人描述 desc:string; //姓名 @@ -40,10 +43,47 @@ export interface VolunteerForm { address:string; } +/** + * 推荐方式 + */ +export enum RecommendType { + no="不推荐", + choose="手动推荐", + auto="系统推荐" +} + +/** + * 求助信息 + */ +export interface MyHelpState { + //活动标题 + title:string; + //活动内容 + content:string; + //开始时间 + startTime:string; + //结束时间 + endTime:string; + //活动背景图 + activeImg:any; + //服务地点 + address:string; + //推荐方式 + recommendType:RecommendType; + //推荐目标 + recommendTarget?:Array; + //好友列表 + friendList:Array; + //已选中好友列表 + chooseFriendList: { + [propName:string]:Friend + }; +} + /** * 分页信息 */ -export interface PageForm { +export interface PageProps { //当前页 currentPage:number; //总页数 @@ -53,3 +93,10 @@ export interface PageForm { //分页点击事件 onClick:Function; } + +/** + * 好友信息 + */ +export interface Friend { + name:string; +} diff --git a/src/sub/IndexMenu.tsx b/src/sub/IndexMenu.tsx index 6650f02..1347d66 100644 --- a/src/sub/IndexMenu.tsx +++ b/src/sub/IndexMenu.tsx @@ -1,6 +1,6 @@ import React from "react"; import {Container,Row,Col,Card,ListGroup,Button} from "react-bootstrap"; -import {ActiveForm} from "../entity"; +import {ActiveProps} from "../entity"; import {Page} from "../Page"; /** * 首页 @@ -82,8 +82,8 @@ export class IndexMenu extends React.Component{ render() { - const rowList=this.state.activeList.map((actives:Array,index:number)=> - {actives.map((active:ActiveForm,subIndex:number)=> + const rowList=this.state.activeList.map((actives:Array, index:number)=> + {actives.map((active:ActiveProps, subIndex:number)=> diff --git a/src/sub/MyHelp.tsx b/src/sub/MyHelp.tsx new file mode 100644 index 0000000..1a643ae --- /dev/null +++ b/src/sub/MyHelp.tsx @@ -0,0 +1,220 @@ +import React, {RefObject} from "react"; +import {Input} from "../bootstrap/InputGroup"; +import {Friend, MyHelpState, RecommendType} from "../entity"; +import {Button, Container, Form, FormControl, InputGroup, ListGroup, OverlayTrigger, Tooltip} from "react-bootstrap"; +import ReactDatetimeClass from "react-datetime"; +import "react-datetime/css/react-datetime.css"; +import moment from 'moment'; +import path from "path"; +import {Address} from "../Address"; + +/** + * 活动内容限长字符数 + */ +const contentMaxLength=50; + +/** + * 图片尺寸限制 + */ +const maxImageSize={ + width:100, + height:100 +} + + + +const recommendType=[RecommendType.no, RecommendType.choose,RecommendType.auto] + +/** + * 我的求助 + */ +export class MyHelp extends React.Component{ + //存放活动背景图 + private fileImg: RefObject; + //当前选中的好友索引 + private friendIndex:RefObject; + + constructor(props: Readonly) { + super(props); + + const time=moment() + this.state={ + title:"", + content:"", + startTime:time.add({days:1}).format("YYYY-MM-DD HH:mm:ss"), + endTime:time.add({days:7}).format("YYYY-MM-DD HH:mm:ss"), + activeImg:"上传活动背景图", + address: "", + recommendType: RecommendType.no, + friendList:[], + chooseFriendList: {} + } + + this.fileImg=React.createRef() + + this.friendIndex=React.createRef() + } + + /** + * 搜索好友 + */ + searchFriend(keyword:string){ + this.setState({friendList:[{ + name:"fffff" + }, + { + name:"EEE" + }]}) + } + + /** + * 获取推荐类型 + * @param value + */ + getRecommendType(value:string){ + switch (value) { + case RecommendType.no: + return RecommendType.no; + case RecommendType.auto: + return RecommendType.auto; + case RecommendType.choose: + return RecommendType.choose; + } + return RecommendType.no + } + + /** + * 获取图片url + */ + getUrl(){ + if(this.fileImg.current!==null&&this.fileImg.current.files.length>0) { + return URL.createObjectURL(this.fileImg.current.files[0]) + } + } + + render() { + return ( + + {/*活动标题*/} + this.setState({title:value})}/> + + {/*活动内容*/} + this.setState({content:value})}/> + + {/*活动开始时间*/} + + + 活动开始时间 + + { + if(moment.isMoment(value)){ + this.setState({ + startTime:value.format("YYYY-MM-DD HH:mm:ss") + }) + } + }} dateFormat="YYYY-MM-DD" timeFormat="HH:mm:ss"/> + + + {/*活动结束时间*/} + + + 活动结束时间 + + { + if(moment.isMoment(value)){ + this.setState({ + endTime:value.format("YYYY-MM-DD HH:mm:ss") + }) + } + }} dateFormat="YYYY-MM-DD" timeFormat="HH:mm:ss"/> + + + {/* + 预览活动背景图 + */} + { + if(s.target instanceof HTMLImageElement){ + //限制图片显示大小 + s.target.width=s.target.width>maxImageSize.width?maxImageSize.width:s.target.width + s.target.height=s.target.height>maxImageSize.height?maxImageSize.height:s.target.height + s.target.classList.remove('d-none') + } + } + } alt="活动背景图"/> + + {/*上传活动背景图*/} +
+ { + this.setState({activeImg:e.target.value}) + }} + /> + + + {/*服务地点*/} +
this.setState({address:value})}/> + + 0?"":"d-none")}> + + 推荐好友方式 + + + { + this.setState({recommendType:this.getRecommendType(e.target.value)}) + }}> + {recommendType.map((value:RecommendType,index:number) => )} + + + + + + 推荐好友 + + + this.searchFriend(e.target.value)}/> + + + {this.state.friendList.map((friend:Friend,index:number)=>)} + +
+ +
+
+ + + 待推荐好友 + {Object.keys(this.state.chooseFriendList).map(key=>{this.state.chooseFriendList[key].name} + + 取消推荐 + + } + > + 取消推荐 { + delete this.state.chooseFriendList[key] + this.setState({ + chooseFriendList:this.state.chooseFriendList + }) + }}/> + + )} + + + + + ); + } +} diff --git a/src/sub/Volunteer.tsx b/src/sub/Volunteer.tsx index 34cba85..c3e3dc1 100644 --- a/src/sub/Volunteer.tsx +++ b/src/sub/Volunteer.tsx @@ -1,8 +1,9 @@ import React from "react"; -import {Dropdown,Button,Container,Row,Col,Card,Table} from "react-bootstrap"; +import {Button, Container, Row, Col, Card, Table} from "react-bootstrap"; import {Input} from "../bootstrap/InputGroup"; -import {AddressForm, VolunteerForm} from "../entity"; +import {VolunteerProps} from "../entity"; import {Page} from "../Page"; +import {Address} from "../Address"; /** * 志愿者信息 */ @@ -15,7 +16,7 @@ export class Volunteer extends React.Component{ this.state={ form:{ keyword:"", - address:"请选择服务地点" + address:"" }, addressList:[ { @@ -127,28 +128,35 @@ export class Volunteer extends React.Component{ address:this.state.form.address }})}/> - - - {this.state.form.address} - - - - {this.state.addressList.map((address:AddressForm,index:number)=> this.setState({ - form:{ - keyword:this.state.form.keyword, - address:address.address - } - })}>{address.address})} - - - - + {/**/} + {/* */} + {/* 请选择服务地点*/} + {/* */} + {/* this.setState({*/} + {/* form:{*/} + {/* keyword:this.state.form.keyword,*/} + {/* address:e.target.value*/} + {/* }*/} + {/* })}>*/} + {/* {this.state.addressList.map((address:AddressProps, index:number)=>*/} + {/* */} + {/* )}*/} + {/* */} + {/**/} +
this.setState({ + form:{ + keyword:this.state.form.keyword, + address:value + } + })}/> + + this.loadVolunteerList(page)} currentPage={this.state.page.currentPage} totalPage={this.state.page.totalPage} pageSize={this.state.page.pageSize}/> - {this.state.volunteerList.map((volunteers:Array,index:number)=> - {volunteers.map((volunteer:VolunteerForm,subIndex:number)=> + {this.state.volunteerList.map((volunteers:Array, index:number)=> + {volunteers.map((volunteer:VolunteerProps, subIndex:number)=> 志愿者个人简介 diff --git a/yarn.lock b/yarn.lock index e231f3c..c7d915c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -988,7 +988,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.1", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": version "7.9.6" resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.9.6.tgz?cache=0&sync_timestamp=1588185905751&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.9.6.tgz#a9102eb5cadedf3f31d08a9ecf294af7827ea29f" integrity sha1-qRAutcre3z8x0IqezylK94J+op8= @@ -1249,6 +1249,24 @@ resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs= +"@popperjs/core@^2.0.0": + version "2.4.0" + resolved "https://registry.npm.taobao.org/@popperjs/core/download/@popperjs/core-2.4.0.tgz#0e1bdf8d021e7ea58affade33d9d607e11365915" + integrity sha1-DhvfjQIefqWK/63jPZ1gfhE2WRU= + +"@restart/context@^2.1.4": + version "2.1.4" + resolved "https://registry.npm.taobao.org/@restart/context/download/@restart/context-2.1.4.tgz#a99d87c299a34c28bd85bb489cb07bfd23149c02" + integrity sha1-qZ2HwpmjTCi9hbtInLB7/SMUnAI= + +"@restart/hooks@^0.3.12", "@restart/hooks@^0.3.21": + version "0.3.25" + resolved "https://registry.npm.taobao.org/@restart/hooks/download/@restart/hooks-0.3.25.tgz#11004139ad1c70d2f5965a8939dcb5aeb96aa652" + integrity sha1-EQBBOa0ccNL1llqJOdy1rrlqplI= + dependencies: + lodash "^4.17.15" + lodash-es "^4.17.15" + "@sheerun/mutationobserver-shim@^0.3.2": version "0.3.3" resolved "https://registry.npm.taobao.org/@sheerun/mutationobserver-shim/download/@sheerun/mutationobserver-shim-0.3.3.tgz#5405ee8e444ed212db44e79351f0c70a582aae25" @@ -1437,6 +1455,11 @@ resolved "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz?cache=0&sync_timestamp=1588200011932&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fcolor-name%2Fdownload%2F%40types%2Fcolor-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" integrity sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA= +"@types/cookie@^0.3.3": + version "0.3.3" + resolved "https://registry.npm.taobao.org/@types/cookie/download/@types/cookie-0.3.3.tgz?cache=0&sync_timestamp=1589385151733&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fcookie%2Fdownload%2F%40types%2Fcookie-0.3.3.tgz#85bc74ba782fb7aa3a514d11767832b0e3bc6803" + integrity sha1-hbx0ungvt6o6UU0RdngysOO8aAM= + "@types/eslint-visitor-keys@^1.0.0": version "1.0.0" resolved "https://registry.npm.taobao.org/@types/eslint-visitor-keys/download/@types/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" @@ -1456,6 +1479,14 @@ "@types/minimatch" "*" "@types/node" "*" +"@types/hoist-non-react-statics@^3.0.1": + version "3.3.1" + resolved "https://registry.npm.taobao.org/@types/hoist-non-react-statics/download/@types/hoist-non-react-statics-3.3.1.tgz?cache=0&sync_timestamp=1588200643669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fhoist-non-react-statics%2Fdownload%2F%40types%2Fhoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" + integrity sha1-ESSq/lEYy1kZd66xzqrtEHDrA58= + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.2" resolved "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.2.tgz#79d7a78bad4219f4c03d6557a1c72d9ca6ba62d5" @@ -1503,6 +1534,11 @@ resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-12.12.41.tgz#cf48562b53ab6cf85d28dde95f1d06815af275c8" integrity sha1-z0hWK1OrbPhdKN3pXx0GgVrydcg= +"@types/object-assign@^4.0.30": + version "4.0.30" + resolved "https://registry.npm.taobao.org/@types/object-assign/download/@types/object-assign-4.0.30.tgz#8949371d5a99f4381ee0f1df0a9b7a187e07e652" + integrity sha1-iUk3HVqZ9Dge4PHfCpt6GH4H5lI= + "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.npm.taobao.org/@types/parse-json/download/@types/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" @@ -1525,7 +1561,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^16.9.0": +"@types/react@*", "@types/react@^16.9.0", "@types/react@^16.9.11", "@types/react@^16.9.23": version "16.9.35" resolved "https://registry.npm.taobao.org/@types/react/download/@types/react-16.9.35.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Freact%2Fdownload%2F%40types%2Freact-16.9.35.tgz#a0830d172e8aadd9bd41709ba2281a3124bbd368" integrity sha1-oIMNFy6Krdm9QXCboigaMSS702g= @@ -1561,6 +1597,11 @@ "@types/testing-library__dom" "*" pretty-format "^25.1.0" +"@types/warning@^3.0.0": + version "3.0.0" + resolved "https://registry.npm.taobao.org/@types/warning/download/@types/warning-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwarning%2Fdownload%2F%40types%2Fwarning-3.0.0.tgz#0d2501268ad8f9962b740d387c4654f5f8e23e52" + integrity sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI= + "@types/yargs-parser@*": version "15.0.0" resolved "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-15.0.0.tgz?cache=0&sync_timestamp=1588203262235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fyargs-parser%2Fdownload%2F%40types%2Fyargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" @@ -2054,7 +2095,7 @@ arrify@^1.0.1: resolved "https://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -asap@~2.0.6: +asap@~2.0.3, asap@~2.0.6: version "2.0.6" resolved "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= @@ -2420,6 +2461,11 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +bootstrap@^4.5.0: + version "4.5.0" + resolved "https://registry.npm.taobao.org/bootstrap/download/bootstrap-4.5.0.tgz#97d9dbcb5a8972f8722c9962483543b907d9b9ec" + integrity sha1-l9nby1qJcvhyLJliSDVDuQfZuew= + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2836,6 +2882,11 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" +classnames@^2.2.6: + version "2.2.6" + resolved "https://registry.npm.taobao.org/classnames/download/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" + integrity sha1-Q5Nb/90pHzJtrQogUwmzjQD2UM4= + clean-css@^4.2.3: version "4.2.3" resolved "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" @@ -3098,6 +3149,11 @@ cookie@0.4.0: resolved "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz?cache=0&sync_timestamp=1587525865178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcookie%2Fdownload%2Fcookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" integrity sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo= +cookie@^0.4.0: + version "0.4.1" + resolved "https://registry.npm.taobao.org/cookie/download/cookie-0.4.1.tgz?cache=0&sync_timestamp=1587525865178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcookie%2Fdownload%2Fcookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" + integrity sha1-r9cT/ibr0hupXOth+agRblClN9E= + copy-concurrently@^1.0.0: version "1.0.5" resolved "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" @@ -3128,6 +3184,11 @@ core-js-pure@^3.0.0: resolved "https://registry.npm.taobao.org/core-js-pure/download/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" integrity sha1-x5519eONvIWmYtke6lK4JW1TuBM= +core-js@^1.0.0: + version "1.2.7" + resolved "https://registry.npm.taobao.org/core-js/download/core-js-1.2.7.tgz?cache=0&sync_timestamp=1586450269267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= + core-js@^2.4.0: version "2.6.11" resolved "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz?cache=0&sync_timestamp=1586450269267&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" @@ -3195,6 +3256,15 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" +create-react-class@^15.5.2: + version "15.6.3" + resolved "https://registry.npm.taobao.org/create-react-class/download/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" + integrity sha1-LXMjf7P5cK5uvgEanmb0bbyoADY= + dependencies: + fbjs "^0.8.9" + loose-envify "^1.3.1" + object-assign "^4.1.1" + cross-spawn@7.0.1: version "7.0.1" resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" @@ -3453,7 +3523,7 @@ cssstyle@^1.0.0, cssstyle@^1.1.1: dependencies: cssom "0.3.x" -csstype@^2.2.0: +csstype@^2.2.0, csstype@^2.6.7: version "2.6.10" resolved "https://registry.npm.taobao.org/csstype/download/csstype-2.6.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsstype%2Fdownload%2Fcsstype-2.6.10.tgz#e63af50e66d7c266edb6b32909cfd0aabe03928b" integrity sha1-5jr1DmbXwmbttrMpCc/Qqr4Dkos= @@ -3707,6 +3777,14 @@ dom-converter@^0.2: dependencies: utila "~0.4" +dom-helpers@^5.0.1, dom-helpers@^5.1.0, dom-helpers@^5.1.2: + version "5.1.4" + resolved "https://registry.npm.taobao.org/dom-helpers/download/dom-helpers-5.1.4.tgz#4609680ab5c79a45f2531441f1949b79d6587f4b" + integrity sha1-RgloCrXHmkXyUxRB8ZSbedZYf0s= + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^2.6.7" + dom-serializer@0: version "0.2.2" resolved "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" @@ -3856,6 +3934,13 @@ encodeurl@~1.0.2: resolved "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= +encoding@^0.1.11: + version "0.1.12" + resolved "https://registry.npm.taobao.org/encoding/download/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= + dependencies: + iconv-lite "~0.4.13" + end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -4415,6 +4500,19 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" +fbjs@^0.8.9: + version "0.8.17" + resolved "https://registry.npm.taobao.org/fbjs/download/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" + integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.18" + figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" @@ -4980,6 +5078,13 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" +hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0: + version "3.3.2" + resolved "https://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U= + dependencies: + react-is "^16.7.0" + hosted-git-info@^2.1.4: version "2.8.8" resolved "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" @@ -5139,7 +5244,7 @@ https-browserify@^1.0.0: resolved "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -iconv-lite@0.4.24, iconv-lite@^0.4.24: +iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13: version "0.4.24" resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1579333981154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= @@ -5610,7 +5715,7 @@ is-root@2.1.0: resolved "https://registry.npm.taobao.org/is-root/download/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha1-gJ4YEpzxEpZEMCpPhUQDXVGYSpw= -is-stream@^1.1.0: +is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= @@ -5678,6 +5783,14 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/isomorphic-fetch/download/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + isstream@~0.1.2: version "0.1.2" resolved "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -6463,6 +6576,11 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +lodash-es@^4.17.15: + version "4.17.15" + resolved "https://registry.npm.taobao.org/lodash-es/download/lodash-es-4.17.15.tgz#21bd96839354412f23d7a10340e5eac6ee455d78" + integrity sha1-Ib2Wg5NUQS8j16EDQOXqxu5FXXg= + lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -6508,7 +6626,7 @@ loglevel@^1.6.6: resolved "https://registry.npm.taobao.org/loglevel/download/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171" integrity sha1-iiX7ddCSIw7NRFcnDYC1TigBEXE= -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8= @@ -6916,6 +7034,14 @@ no-case@^3.0.3: lower-case "^2.0.1" tslib "^1.10.0" +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://registry.npm.taobao.org/node-fetch/download/node-fetch-1.7.3.tgz?cache=0&sync_timestamp=1587548798776&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-fetch%2Fdownload%2Fnode-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8= + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + node-forge@0.9.0: version "0.9.0" resolved "https://registry.npm.taobao.org/node-forge/download/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" @@ -7052,6 +7178,11 @@ oauth-sign@~0.9.0: resolved "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/object-assign/download/object-assign-3.0.0.tgz?cache=0&sync_timestamp=1571657171505&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-assign%2Fdownload%2Fobject-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + integrity sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I= + object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz?cache=0&sync_timestamp=1571657171505&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -8361,6 +8492,13 @@ promise-inflight@^1.0.1: resolved "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078= + dependencies: + asap "~2.0.3" + promise@^8.0.3: version "8.1.0" resolved "https://registry.npm.taobao.org/promise/download/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" @@ -8376,7 +8514,15 @@ prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.4" -prop-types@^15.6.2, prop-types@^15.7.2: +prop-types-extra@^1.1.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/prop-types-extra/download/prop-types-extra-1.1.1.tgz#58c3b74cbfbb95d304625975aa2f0848329a010b" + integrity sha1-WMO3TL+7ldMEYll1qi8ISDKaAQs= + dependencies: + react-is "^16.3.2" + warning "^4.0.0" + +prop-types@^15.5.7, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.npm.taobao.org/prop-types/download/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha1-UsQedbjIfnK52TYOAga5ncv/psU= @@ -8542,6 +8688,44 @@ react-app-polyfill@^1.0.6: regenerator-runtime "^0.13.3" whatwg-fetch "^3.0.0" +react-bootstrap@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/react-bootstrap/download/react-bootstrap-1.0.1.tgz#044b51f34a9db8e17dbfb321a71267a8d6ad11b4" + integrity sha1-BEtR80qduOF9v7MhpxJnqNatEbQ= + dependencies: + "@babel/runtime" "^7.4.2" + "@restart/context" "^2.1.4" + "@restart/hooks" "^0.3.21" + "@types/react" "^16.9.23" + classnames "^2.2.6" + dom-helpers "^5.1.2" + invariant "^2.2.4" + prop-types "^15.7.2" + prop-types-extra "^1.1.0" + react-overlays "^3.1.2" + react-transition-group "^4.0.0" + uncontrollable "^7.0.0" + warning "^4.0.3" + +react-cookie@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/react-cookie/download/react-cookie-4.0.3.tgz#ba8e5ea0047c916516e1181a3ad394c9b7580b56" + integrity sha1-uo5eoAR8kWUW4RgaOtOUybdYC1Y= + dependencies: + "@types/hoist-non-react-statics" "^3.0.1" + hoist-non-react-statics "^3.0.0" + universal-cookie "^4.0.0" + +react-datetime@^2.16.3: + version "2.16.3" + resolved "https://registry.npm.taobao.org/react-datetime/download/react-datetime-2.16.3.tgz#7f9ac7d4014a939c11c761d0c22d1fb506cb505e" + integrity sha1-f5rH1AFKk5wRx2HQwi0ftQbLUF4= + dependencies: + create-react-class "^15.5.2" + object-assign "^3.0.0" + prop-types "^15.5.7" + react-onclickoutside "^6.5.0" + react-dev-utils@^10.2.1: version "10.2.1" resolved "https://registry.npm.taobao.org/react-dev-utils/download/react-dev-utils-10.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-dev-utils%2Fdownload%2Freact-dev-utils-10.2.1.tgz#f6de325ae25fa4d546d09df4bb1befdc6dd19c19" @@ -8587,11 +8771,35 @@ react-error-overlay@^6.0.7: resolved "https://registry.npm.taobao.org/react-error-overlay/download/react-error-overlay-6.0.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-error-overlay%2Fdownload%2Freact-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108" integrity sha1-Hc+0WatnHVP2YKmRUTyy8KBVMQg= -react-is@^16.12.0, react-is@^16.8.1, react-is@^16.8.4: +react-is@^16.12.0, react-is@^16.3.2, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4: version "16.13.1" resolved "https://registry.npm.taobao.org/react-is/download/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= +react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.npm.taobao.org/react-lifecycles-compat/download/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha1-TxonOv38jzSIqMUWv9p4+HI1I2I= + +react-onclickoutside@^6.5.0: + version "6.9.0" + resolved "https://registry.npm.taobao.org/react-onclickoutside/download/react-onclickoutside-6.9.0.tgz#a54bc317ae8cf6131a5d78acea55a11067f37a1f" + integrity sha1-pUvDF66M9hMaXXis6lWhEGfzeh8= + +react-overlays@^3.1.2: + version "3.2.0" + resolved "https://registry.npm.taobao.org/react-overlays/download/react-overlays-3.2.0.tgz#ed8335adb0871e701b0fc8396c44dfd2467e7a55" + integrity sha1-7YM1rbCHHnAbD8g5bETf0kZ+elU= + dependencies: + "@babel/runtime" "^7.4.5" + "@popperjs/core" "^2.0.0" + "@restart/hooks" "^0.3.12" + "@types/warning" "^3.0.0" + dom-helpers "^5.1.0" + prop-types "^15.7.2" + uncontrollable "^7.0.0" + warning "^4.0.3" + react-scripts@3.4.1: version "3.4.1" resolved "https://registry.npm.taobao.org/react-scripts/download/react-scripts-3.4.1.tgz#f551298b5c71985cc491b9acf3c8e8c0ae3ada0a" @@ -8652,6 +8860,16 @@ react-scripts@3.4.1: optionalDependencies: fsevents "2.1.2" +react-transition-group@^4.0.0: + version "4.4.1" + resolved "https://registry.npm.taobao.org/react-transition-group/download/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9" + integrity sha1-Y4aPkyWjjqXulTXYKDJ/hXczRck= + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react@^16.13.1: version "16.13.1" resolved "https://registry.npm.taobao.org/react/download/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" @@ -9261,7 +9479,7 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4: +setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= @@ -10148,6 +10366,21 @@ typescript@~3.7.2: resolved "https://registry.npm.taobao.org/typescript/download/typescript-3.7.5.tgz#0692e21f65fd4108b9330238aac11dd2e177a1ae" integrity sha1-BpLiH2X9QQi5MwI4qsEd0uF3oa4= +ua-parser-js@^0.7.18: + version "0.7.21" + resolved "https://registry.npm.taobao.org/ua-parser-js/download/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777" + integrity sha1-hTz5zpP2QvZxdCc8w0Vlrm8wh3c= + +uncontrollable@^7.0.0: + version "7.1.1" + resolved "https://registry.npm.taobao.org/uncontrollable/download/uncontrollable-7.1.1.tgz#f67fed3ef93637126571809746323a9db815d556" + integrity sha1-9n/tPvk2NxJlcYCXRjI6nbgV1VY= + dependencies: + "@babel/runtime" "^7.6.3" + "@types/react" "^16.9.11" + invariant "^2.2.4" + react-lifecycles-compat "^3.0.4" + unicode-canonical-property-names-ecmascript@^1.0.4: 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#2619800c4c825800efdd8343af7dd9933cbe2818" @@ -10205,6 +10438,16 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" +universal-cookie@^4.0.0: + version "4.0.3" + resolved "https://registry.npm.taobao.org/universal-cookie/download/universal-cookie-4.0.3.tgz#c2fa59127260e6ad21ef3e0cdd66ad453cbc41f6" + integrity sha1-wvpZEnJg5q0h7z4M3WatRTy8QfY= + dependencies: + "@types/cookie" "^0.3.3" + "@types/object-assign" "^4.0.30" + cookie "^0.4.0" + object-assign "^4.1.1" + universalify@^0.1.0: version "0.1.2" resolved "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1583530825899&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -10392,6 +10635,13 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" +warning@^4.0.0, warning@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/warning/download/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha1-Fungd+uKhtavfWSqHgX9hbRnjKM= + dependencies: + loose-envify "^1.0.0" + watchpack-chokidar2@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" @@ -10548,7 +10798,7 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: dependencies: iconv-lite "0.4.24" -whatwg-fetch@^3.0.0: +whatwg-fetch@>=0.10.0, whatwg-fetch@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/whatwg-fetch/download/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" integrity sha1-/IBORYzEYACbGiuWa8iBfSV4rvs=