Commit ae47cfa4 authored by mayi's avatar mayi
Browse files

study完成,axjx异步获取数据,MVC-Redux转变,中间件redux-thunk使用来处理异步action

parent c90e538d
[{"D:\\code\\reactTravel\\travel2162\\src\\index.tsx":"1","D:\\code\\reactTravel\\travel2162\\src\\App.tsx":"2","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\Header.tsx":"3","D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\Footer.tsx":"4","D:\\code\\reactTravel\\travel2162\\src\\components\\index.ts":"5","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\index.ts":"6","D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\index.ts":"7","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\index.ts":"8","D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\index.ts":"9","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\SideMenu.tsx":"10","D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\carousel.tsx":"11","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\mockup.ts":"12","D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\index.ts":"13","D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productionCollection.tsx":"14","D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productImage.tsx":"15","D:\\code\\reactTravel\\travel2162\\src\\components\\business\\index.ts":"16","D:\\code\\reactTravel\\travel2162\\src\\components\\business\\bussiness.tsx":"17","D:\\code\\reactTravel\\travel2162\\src\\pages\\index.ts":"18","D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\index.ts":"19","D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\home.tsx":"20","D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\mockups.ts":"21","D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\index.ts":"22","D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\index.ts":"23","D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\register.tsx":"24","D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\signin.tsx":"25","D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\index.ts":"26","D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\detail.tsx":"27","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\HeaderClass.tsx":"28","D:\\code\\reactTravel\\travel2162\\src\\redux\\store.ts":"29","D:\\code\\reactTravel\\travel2162\\src\\i18n\\configs.ts":"30","D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\languageActions.ts":"31","D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\languageReducer.ts":"32","D:\\code\\reactTravel\\travel2162\\src\\redux\\hooks.ts":"33","D:\\code\\reactTravel\\travel2162\\src\\pages\\studys\\index.ts":"34","D:\\code\\reactTravel\\travel2162\\src\\pages\\studys\\studys.tsx":"35","D:\\code\\reactTravel\\travel2162\\src\\redux\\citys\\cityReducer.ts":"36"},{"size":395,"mtime":1622710680745,"results":"37","hashOfConfig":"38"},{"size":805,"mtime":1622791184109,"results":"39","hashOfConfig":"38"},{"size":4021,"mtime":1622796988839,"results":"40","hashOfConfig":"38"},{"size":463,"mtime":1622707864128,"results":"41","hashOfConfig":"38"},{"size":174,"mtime":1622790833258,"results":"42","hashOfConfig":"38"},{"size":24,"mtime":1622776696728,"results":"43","hashOfConfig":"38"},{"size":24,"mtime":1622624779387,"results":"44","hashOfConfig":"38"},{"size":26,"mtime":1622680972119,"results":"45","hashOfConfig":"38"},{"size":26,"mtime":1622681990791,"results":"46","hashOfConfig":"38"},{"size":1221,"mtime":1622783854523,"results":"47","hashOfConfig":"38"},{"size":607,"mtime":1622682193215,"results":"48","hashOfConfig":"38"},{"size":3293,"mtime":1622682220312,"results":"49","hashOfConfig":"38"},{"size":38,"mtime":1622685541148,"results":"50","hashOfConfig":"38"},{"size":3883,"mtime":1622699519599,"results":"51","hashOfConfig":"38"},{"size":984,"mtime":1622699670900,"results":"52","hashOfConfig":"38"},{"size":27,"mtime":1622688158324,"results":"53","hashOfConfig":"38"},{"size":1392,"mtime":1622689645731,"results":"54","hashOfConfig":"38"},{"size":127,"mtime":1622791130618,"results":"55","hashOfConfig":"38"},{"size":22,"mtime":1622695066653,"results":"56","hashOfConfig":"38"},{"size":2316,"mtime":1622796587710,"results":"57","hashOfConfig":"38"},{"size":6945,"mtime":1622689191039,"results":"58","hashOfConfig":"38"},{"size":26,"mtime":1622696658119,"results":"59","hashOfConfig":"38"},{"size":24,"mtime":1622696661468,"results":"60","hashOfConfig":"38"},{"size":238,"mtime":1622696729218,"results":"61","hashOfConfig":"38"},{"size":254,"mtime":1622697071055,"results":"62","hashOfConfig":"38"},{"size":24,"mtime":1622697778294,"results":"63","hashOfConfig":"38"},{"size":360,"mtime":1622697776894,"results":"64","hashOfConfig":"38"},{"size":4655,"mtime":1622790838801,"results":"65","hashOfConfig":"66"},{"size":382,"mtime":1622796890665,"results":"67","hashOfConfig":"38"},{"size":621,"mtime":1622707691438,"results":"68","hashOfConfig":"38"},{"size":838,"mtime":1622793235231,"results":"69","hashOfConfig":"38"},{"size":909,"mtime":1622793168510,"results":"70","hashOfConfig":"38"},{"size":192,"mtime":1622790765537,"results":"71","hashOfConfig":"38"},{"size":24,"mtime":1622791085877,"results":"72","hashOfConfig":"38"},{"size":1380,"mtime":1622798980708,"results":"73","hashOfConfig":"38"},{"size":592,"mtime":1622799240553,"results":"74","hashOfConfig":"38"},{"filePath":"75","messages":"76","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},"1p70tmh",{"filePath":"78","messages":"79","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"80","messages":"81","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"82","messages":"83","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"84","usedDeprecatedRules":"77"},{"filePath":"85","messages":"86","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"87","messages":"88","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"89","messages":"90","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"91","messages":"92","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"93","messages":"94","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"95","messages":"96","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"97","messages":"98","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"99","usedDeprecatedRules":"77"},{"filePath":"100","messages":"101","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"102","messages":"103","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"104","messages":"105","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"106","messages":"107","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"108","messages":"109","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"110","messages":"111","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"112","messages":"113","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"114","messages":"115","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"116","messages":"117","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"118","messages":"119","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"120","messages":"121","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"122","messages":"123","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"124","messages":"125","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"126","usedDeprecatedRules":"77"},{"filePath":"127","messages":"128","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"129","usedDeprecatedRules":"77"},{"filePath":"130","messages":"131","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"132","messages":"133","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"134","usedDeprecatedRules":"77"},{"filePath":"135","messages":"136","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"1yicyq7",{"filePath":"137","messages":"138","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"139","messages":"140","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"141","messages":"142","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"143","usedDeprecatedRules":"77"},{"filePath":"144","messages":"145","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"146","messages":"147","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"148","messages":"149","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"77"},{"filePath":"150","messages":"151","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"152","messages":"153","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"D:\\code\\reactTravel\\travel2162\\src\\index.tsx",[],["154","155"],"D:\\code\\reactTravel\\travel2162\\src\\App.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\Header.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\Footer.tsx",["156","157","158","159","160"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport { Layout, Typography, Input, Menu, Button, Dropdown } from \"antd\";\r\n\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\n\r\nexport const Footer: React.FC = () => {\r\nconst {t} = useTranslation();\r\n return <>\r\n <Layout.Footer>\r\n <Typography.Title level={3} style={{textAlign: 'center'}}>\r\n {t('footer.detail')}\r\n </Typography.Title>\r\n </Layout.Footer></>;\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\components\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\SideMenu.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\carousel.tsx",["161"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport styles from \"./carousel.module.css\";\r\nimport { Image, Carousel as AntdCarousel } from \"antd\";\r\nimport Carouse1 from \"../../assets/images/carousel_1.jpg\";\r\nimport Carouse2 from \"../../assets/images/carousel_2.jpg\";\r\nimport Carouse3 from \"../../assets/images/carousel_3.jpg\";\r\nexport const Carouseee: React.FC = () => {\r\n return (\r\n <AntdCarousel autoplay className={styles.slider}>\r\n <Image src={Carouse1}></Image>\r\n <Image src={Carouse2}></Image>\r\n <Image src={Carouse3}></Image>\r\n </AntdCarousel>\r\n );\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\mockup.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productionCollection.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productImage.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\business\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\business\\bussiness.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\home.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\mockups.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\register.tsx",["162","163"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport styles from \"./register.module.css\";\r\nexport const Register: React.FC = () => {\r\n return (\r\n <>\r\n {\" \"}\r\n <h1>注册页面</h1>\r\n </>\r\n );\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\signin.tsx",["164","165"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport styles from \"./signin.module.css\";\r\nexport const SignInPage: React.FC = (props) => {\r\n console.log(props)\r\n return (\r\n <>\r\n <h1>登陆页面</h1>\r\n </>\r\n );\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\detail.tsx",["166"],"import * as React from 'react';\r\nimport { Component } from 'react';\r\nimport {RouteComponentProps} from 'react-router-dom';\r\ninterface MatchParams {\r\n tourisRouteId:string\r\n}\r\n export const Deatil:React.FC<RouteComponentProps<MatchParams>> =(props)=>{\r\n return(\r\n <h1>xiangqinguemian,路线id:{props.match.params.tourisRouteId}</h1>\r\n )\r\n }","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\HeaderClass.tsx",["167","168"],"D:\\code\\reactTravel\\travel2162\\src\\redux\\store.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\i18n\\configs.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\languageActions.ts",["169","170","171"],"import language from \"./languageReducer\";\r\n\r\nexport const CHANGE_LANGUAGE = \"changeLanguage\";\r\nexport const ADD_LANGUAGE = \"addLanguage\";\r\ninterface changeLanguageActionCreator {\r\n type: typeof CHANGE_LANGUAGE;\r\n payload: \"en\" | \"zh\";\r\n}\r\n\r\ninterface addLanguageActionCreator {\r\n type: typeof ADD_LANGUAGE;\r\n payload: { name: string; code: string };\r\n}\r\n\r\nexport type languageActionTypes =\r\n | changeLanguageActionCreator\r\n | addLanguageActionCreator;\r\nexport const changeLanguageActionCreator = (\r\n languageCode: \"en\" | \"zh\"\r\n): changeLanguageActionCreator => {\r\n return {\r\n type: CHANGE_LANGUAGE,\r\n payload: languageCode,\r\n };\r\n};\r\n\r\nexport const addLanguageActionCreator = (\r\n name: string,\r\n code: string\r\n): addLanguageActionCreator => {\r\n return {\r\n type: ADD_LANGUAGE,\r\n payload: { name, code },\r\n };\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\languageReducer.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\redux\\hooks.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\studys\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\studys\\studys.tsx",["172","173","174"],"D:\\code\\reactTravel\\travel2162\\src\\redux\\citys\\cityReducer.ts",["175","176"],{"ruleId":"177","replacedBy":"178"},{"ruleId":"179","replacedBy":"180"},{"ruleId":"181","severity":1,"message":"182","line":2,"column":10,"nodeType":"183","messageId":"184","endLine":2,"endColumn":19},{"ruleId":"181","severity":1,"message":"185","line":3,"column":30,"nodeType":"183","messageId":"184","endLine":3,"endColumn":35},{"ruleId":"181","severity":1,"message":"186","line":3,"column":37,"nodeType":"183","messageId":"184","endLine":3,"endColumn":41},{"ruleId":"181","severity":1,"message":"187","line":3,"column":43,"nodeType":"183","messageId":"184","endLine":3,"endColumn":49},{"ruleId":"181","severity":1,"message":"188","line":3,"column":51,"nodeType":"183","messageId":"184","endLine":3,"endColumn":59},{"ruleId":"181","severity":1,"message":"182","line":2,"column":10,"nodeType":"183","messageId":"184","endLine":2,"endColumn":19},{"ruleId":"181","severity":1,"message":"182","line":2,"column":10,"nodeType":"183","messageId":"184","endLine":2,"endColumn":19},{"ruleId":"181","severity":1,"message":"189","line":3,"column":8,"nodeType":"183","messageId":"184","endLine":3,"endColumn":14},{"ruleId":"181","severity":1,"message":"182","line":2,"column":10,"nodeType":"183","messageId":"184","endLine":2,"endColumn":19},{"ruleId":"181","severity":1,"message":"189","line":3,"column":8,"nodeType":"183","messageId":"184","endLine":3,"endColumn":14},{"ruleId":"181","severity":1,"message":"182","line":2,"column":10,"nodeType":"183","messageId":"184","endLine":2,"endColumn":19},{"ruleId":"181","severity":1,"message":"182","line":3,"column":10,"nodeType":"183","messageId":"184","endLine":3,"endColumn":19},{"ruleId":"181","severity":1,"message":"190","line":20,"column":3,"nodeType":"183","messageId":"184","endLine":20,"endColumn":16},{"ruleId":"181","severity":1,"message":"191","line":1,"column":8,"nodeType":"183","messageId":"184","endLine":1,"endColumn":16},{"ruleId":"192","severity":1,"message":"193","line":18,"column":14,"nodeType":"183","messageId":"194","endLine":18,"endColumn":41},{"ruleId":"192","severity":1,"message":"195","line":27,"column":14,"nodeType":"183","messageId":"194","endLine":27,"endColumn":38},{"ruleId":"181","severity":1,"message":"182","line":2,"column":10,"nodeType":"183","messageId":"184","endLine":2,"endColumn":19},{"ruleId":"181","severity":1,"message":"189","line":3,"column":8,"nodeType":"183","messageId":"184","endLine":3,"endColumn":14},{"ruleId":"181","severity":1,"message":"185","line":4,"column":10,"nodeType":"183","messageId":"184","endLine":4,"endColumn":15},{"ruleId":"181","severity":1,"message":"196","line":1,"column":9,"nodeType":"183","messageId":"184","endLine":1,"endColumn":21},{"ruleId":"197","severity":1,"message":"198","line":17,"column":2,"nodeType":"199","endLine":26,"endColumn":4},"no-native-reassign",["200"],"no-negated-in-lhs",["201"],"@typescript-eslint/no-unused-vars","'Component' is defined but never used.","Identifier","unusedVar","'Input' is defined but never used.","'Menu' is defined but never used.","'Button' is defined but never used.","'Dropdown' is defined but never used.","'styles' is defined but never used.","'MenuItemProps' is defined but never used.","'language' is defined but never used.","@typescript-eslint/no-redeclare","'changeLanguageActionCreator' is already defined.","redeclared","'addLanguageActionCreator' is already defined.","'CHANGE_INPUT' is defined but never used.","import/no-anonymous-default-export","Assign arrow function to a variable before exporting as module default","ExportDefaultDeclaration","no-global-assign","no-unsafe-negation"] [{"D:\\code\\reactTravel\\travel2162\\src\\index.tsx":"1","D:\\code\\reactTravel\\travel2162\\src\\App.tsx":"2","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\Header.tsx":"3","D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\Footer.tsx":"4","D:\\code\\reactTravel\\travel2162\\src\\components\\index.ts":"5","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\index.ts":"6","D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\index.ts":"7","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\index.ts":"8","D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\index.ts":"9","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\SideMenu.tsx":"10","D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\carousel.tsx":"11","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\mockup.ts":"12","D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\index.ts":"13","D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productionCollection.tsx":"14","D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productImage.tsx":"15","D:\\code\\reactTravel\\travel2162\\src\\components\\business\\index.ts":"16","D:\\code\\reactTravel\\travel2162\\src\\components\\business\\bussiness.tsx":"17","D:\\code\\reactTravel\\travel2162\\src\\pages\\index.ts":"18","D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\index.ts":"19","D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\home.tsx":"20","D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\mockups.ts":"21","D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\index.ts":"22","D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\index.ts":"23","D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\register.tsx":"24","D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\signin.tsx":"25","D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\index.ts":"26","D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\detail.tsx":"27","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\HeaderClass.tsx":"28","D:\\code\\reactTravel\\travel2162\\src\\redux\\store.ts":"29","D:\\code\\reactTravel\\travel2162\\src\\i18n\\configs.ts":"30","D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\languageActions.ts":"31","D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\languageReducer.ts":"32","D:\\code\\reactTravel\\travel2162\\src\\redux\\hooks.ts":"33","D:\\code\\reactTravel\\travel2162\\src\\pages\\studys\\index.ts":"34","D:\\code\\reactTravel\\travel2162\\src\\pages\\studys\\studys.tsx":"35","D:\\code\\reactTravel\\travel2162\\src\\redux\\citys\\cityReducer.ts":"36","D:\\code\\reactTravel\\travel2162\\src\\redux\\citys\\cityActions.ts":"37","D:\\code\\reactTravel\\travel2162\\src\\redux\\recommendProducts\\recommendProductsReducer.ts":"38","D:\\code\\reactTravel\\travel2162\\src\\redux\\recommendProducts\\recommendProductActions.ts":"39"},{"size":476,"mtime":1623051183317,"results":"40","hashOfConfig":"41"},{"size":805,"mtime":1622791184109,"results":"42","hashOfConfig":"41"},{"size":4021,"mtime":1623052017184,"results":"43","hashOfConfig":"41"},{"size":463,"mtime":1622707864128,"results":"44","hashOfConfig":"41"},{"size":174,"mtime":1622790833258,"results":"45","hashOfConfig":"41"},{"size":24,"mtime":1622776696728,"results":"46","hashOfConfig":"41"},{"size":24,"mtime":1622624779387,"results":"47","hashOfConfig":"41"},{"size":26,"mtime":1622680972119,"results":"48","hashOfConfig":"41"},{"size":26,"mtime":1622681990791,"results":"49","hashOfConfig":"41"},{"size":1221,"mtime":1622783854523,"results":"50","hashOfConfig":"41"},{"size":607,"mtime":1622682193215,"results":"51","hashOfConfig":"41"},{"size":3293,"mtime":1622682220312,"results":"52","hashOfConfig":"41"},{"size":38,"mtime":1622685541148,"results":"53","hashOfConfig":"41"},{"size":3883,"mtime":1622699519599,"results":"54","hashOfConfig":"41"},{"size":984,"mtime":1622699670900,"results":"55","hashOfConfig":"41"},{"size":27,"mtime":1622688158324,"results":"56","hashOfConfig":"41"},{"size":1392,"mtime":1622689645731,"results":"57","hashOfConfig":"41"},{"size":127,"mtime":1622791130618,"results":"58","hashOfConfig":"41"},{"size":22,"mtime":1622695066653,"results":"59","hashOfConfig":"41"},{"size":4114,"mtime":1623056267344,"results":"60","hashOfConfig":"41"},{"size":6945,"mtime":1622689191039,"results":"61","hashOfConfig":"41"},{"size":26,"mtime":1622696658119,"results":"62","hashOfConfig":"41"},{"size":24,"mtime":1622696661468,"results":"63","hashOfConfig":"41"},{"size":238,"mtime":1622696729218,"results":"64","hashOfConfig":"41"},{"size":254,"mtime":1622697071055,"results":"65","hashOfConfig":"41"},{"size":24,"mtime":1622697778294,"results":"66","hashOfConfig":"41"},{"size":360,"mtime":1622697776894,"results":"67","hashOfConfig":"41"},{"size":4655,"mtime":1622790838801,"results":"68","hashOfConfig":"69"},{"size":588,"mtime":1623054903712,"results":"70","hashOfConfig":"41"},{"size":621,"mtime":1622707691438,"results":"71","hashOfConfig":"41"},{"size":838,"mtime":1623029738024,"results":"72","hashOfConfig":"41"},{"size":909,"mtime":1623042908630,"results":"73","hashOfConfig":"41"},{"size":192,"mtime":1622790765537,"results":"74","hashOfConfig":"41"},{"size":24,"mtime":1622791085877,"results":"75","hashOfConfig":"41"},{"size":2090,"mtime":1623043515553,"results":"76","hashOfConfig":"41"},{"size":772,"mtime":1623044037996,"results":"77","hashOfConfig":"41"},{"size":664,"mtime":1623044170405,"results":"78","hashOfConfig":"41"},{"size":914,"mtime":1623052691793,"results":"79","hashOfConfig":"41"},{"size":2351,"mtime":1623055990803,"results":"80","hashOfConfig":"41"},{"filePath":"81","messages":"82","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1p70tmh",{"filePath":"83","messages":"84","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"86","messages":"87","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"88","messages":"89","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"90","usedDeprecatedRules":"85"},{"filePath":"91","messages":"92","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"93","messages":"94","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"95","messages":"96","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"97","messages":"98","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"99","messages":"100","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"101","messages":"102","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"103","messages":"104","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"105","usedDeprecatedRules":"85"},{"filePath":"106","messages":"107","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"108","messages":"109","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"110","messages":"111","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"112","messages":"113","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"114","messages":"115","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"116","messages":"117","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"118","messages":"119","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"120","messages":"121","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"122","messages":"123","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"124","messages":"125","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"126","messages":"127","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"128","messages":"129","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"130","messages":"131","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"132","usedDeprecatedRules":"85"},{"filePath":"133","messages":"134","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"135","usedDeprecatedRules":"85"},{"filePath":"136","messages":"137","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"138","messages":"139","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"140","usedDeprecatedRules":"85"},{"filePath":"141","messages":"142","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"1yicyq7",{"filePath":"143","messages":"144","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"145","messages":"146","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"147","messages":"148","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"149","messages":"150","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"151","messages":"152","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"153","messages":"154","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"85"},{"filePath":"155","messages":"156","errorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"157","messages":"158","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"159","messages":"160","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"161","messages":"162","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"163","messages":"164","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"D:\\code\\reactTravel\\travel2162\\src\\index.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\App.tsx",[],["165","166"],"D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\Header.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\Footer.tsx",["167","168","169","170","171"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport { Layout, Typography, Input, Menu, Button, Dropdown } from \"antd\";\r\n\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\n\r\nexport const Footer: React.FC = () => {\r\nconst {t} = useTranslation();\r\n return <>\r\n <Layout.Footer>\r\n <Typography.Title level={3} style={{textAlign: 'center'}}>\r\n {t('footer.detail')}\r\n </Typography.Title>\r\n </Layout.Footer></>;\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\components\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\Footer\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\SideMenu.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\carousel\\carousel.tsx",["172"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport styles from \"./carousel.module.css\";\r\nimport { Image, Carousel as AntdCarousel } from \"antd\";\r\nimport Carouse1 from \"../../assets/images/carousel_1.jpg\";\r\nimport Carouse2 from \"../../assets/images/carousel_2.jpg\";\r\nimport Carouse3 from \"../../assets/images/carousel_3.jpg\";\r\nexport const Carouseee: React.FC = () => {\r\n return (\r\n <AntdCarousel autoplay className={styles.slider}>\r\n <Image src={Carouse1}></Image>\r\n <Image src={Carouse2}></Image>\r\n <Image src={Carouse3}></Image>\r\n </AntdCarousel>\r\n );\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\components\\sideMenu\\mockup.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productionCollection.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\productionCollection\\productImage.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\business\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\components\\business\\bussiness.tsx",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\home.tsx",["173","174","175","176"],"D:\\code\\reactTravel\\travel2162\\src\\pages\\Home\\mockups.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\register\\register.tsx",["177","178"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport styles from \"./register.module.css\";\r\nexport const Register: React.FC = () => {\r\n return (\r\n <>\r\n {\" \"}\r\n <h1>注册页面</h1>\r\n </>\r\n );\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\pages\\signin\\signin.tsx",["179","180"],"import * as React from \"react\";\r\nimport { Component } from \"react\";\r\nimport styles from \"./signin.module.css\";\r\nexport const SignInPage: React.FC = (props) => {\r\n console.log(props)\r\n return (\r\n <>\r\n <h1>登陆页面</h1>\r\n </>\r\n );\r\n};\r\n","D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\detail\\detail.tsx",["181"],"import * as React from 'react';\r\nimport { Component } from 'react';\r\nimport {RouteComponentProps} from 'react-router-dom';\r\ninterface MatchParams {\r\n tourisRouteId:string\r\n}\r\n export const Deatil:React.FC<RouteComponentProps<MatchParams>> =(props)=>{\r\n return(\r\n <h1>xiangqinguemian,路线id:{props.match.params.tourisRouteId}</h1>\r\n )\r\n }","D:\\code\\reactTravel\\travel2162\\src\\components\\Header\\HeaderClass.tsx",["182","183"],"D:\\code\\reactTravel\\travel2162\\src\\redux\\store.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\i18n\\configs.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\languageActions.ts",["184","185","186"],"D:\\code\\reactTravel\\travel2162\\src\\redux\\language\\languageReducer.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\redux\\hooks.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\studys\\index.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\pages\\studys\\studys.tsx",["187","188","189","190","191","192","193","194"],"D:\\code\\reactTravel\\travel2162\\src\\redux\\citys\\cityReducer.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\redux\\citys\\cityActions.ts",["195","196"],"D:\\code\\reactTravel\\travel2162\\src\\redux\\recommendProducts\\recommendProductsReducer.ts",[],"D:\\code\\reactTravel\\travel2162\\src\\redux\\recommendProducts\\recommendProductActions.ts",[],{"ruleId":"197","replacedBy":"198"},{"ruleId":"199","replacedBy":"200"},{"ruleId":"201","severity":1,"message":"202","line":2,"column":10,"nodeType":"203","messageId":"204","endLine":2,"endColumn":19},{"ruleId":"201","severity":1,"message":"205","line":3,"column":30,"nodeType":"203","messageId":"204","endLine":3,"endColumn":35},{"ruleId":"201","severity":1,"message":"206","line":3,"column":37,"nodeType":"203","messageId":"204","endLine":3,"endColumn":41},{"ruleId":"201","severity":1,"message":"207","line":3,"column":43,"nodeType":"203","messageId":"204","endLine":3,"endColumn":49},{"ruleId":"201","severity":1,"message":"208","line":3,"column":51,"nodeType":"203","messageId":"204","endLine":3,"endColumn":59},{"ruleId":"201","severity":1,"message":"202","line":2,"column":10,"nodeType":"203","messageId":"204","endLine":2,"endColumn":19},{"ruleId":"201","severity":1,"message":"209","line":22,"column":10,"nodeType":"203","messageId":"204","endLine":22,"endColumn":22},{"ruleId":"201","severity":1,"message":"210","line":22,"column":24,"nodeType":"203","messageId":"204","endLine":22,"endColumn":36},{"ruleId":"201","severity":1,"message":"211","line":22,"column":38,"nodeType":"203","messageId":"204","endLine":22,"endColumn":50},{"ruleId":"201","severity":1,"message":"212","line":27,"column":8,"nodeType":"203","messageId":"204","endLine":27,"endColumn":13},{"ruleId":"201","severity":1,"message":"202","line":2,"column":10,"nodeType":"203","messageId":"204","endLine":2,"endColumn":19},{"ruleId":"201","severity":1,"message":"213","line":3,"column":8,"nodeType":"203","messageId":"204","endLine":3,"endColumn":14},{"ruleId":"201","severity":1,"message":"202","line":2,"column":10,"nodeType":"203","messageId":"204","endLine":2,"endColumn":19},{"ruleId":"201","severity":1,"message":"213","line":3,"column":8,"nodeType":"203","messageId":"204","endLine":3,"endColumn":14},{"ruleId":"201","severity":1,"message":"202","line":2,"column":10,"nodeType":"203","messageId":"204","endLine":2,"endColumn":19},{"ruleId":"201","severity":1,"message":"202","line":3,"column":10,"nodeType":"203","messageId":"204","endLine":3,"endColumn":19},{"ruleId":"201","severity":1,"message":"214","line":20,"column":3,"nodeType":"203","messageId":"204","endLine":20,"endColumn":16},{"ruleId":"201","severity":1,"message":"215","line":1,"column":8,"nodeType":"203","messageId":"204","endLine":1,"endColumn":16},{"ruleId":"216","severity":1,"message":"217","line":18,"column":14,"nodeType":"203","messageId":"218","endLine":18,"endColumn":41},{"ruleId":"216","severity":1,"message":"219","line":27,"column":14,"nodeType":"203","messageId":"218","endLine":27,"endColumn":38},{"ruleId":"201","severity":1,"message":"202","line":2,"column":10,"nodeType":"203","messageId":"204","endLine":2,"endColumn":19},{"ruleId":"201","severity":1,"message":"213","line":3,"column":8,"nodeType":"203","messageId":"204","endLine":3,"endColumn":14},{"ruleId":"201","severity":1,"message":"205","line":4,"column":10,"nodeType":"203","messageId":"204","endLine":4,"endColumn":15},{"ruleId":"201","severity":1,"message":"206","line":4,"column":25,"nodeType":"203","messageId":"204","endLine":4,"endColumn":29},{"ruleId":"201","severity":1,"message":"208","line":4,"column":31,"nodeType":"203","messageId":"204","endLine":4,"endColumn":39},{"ruleId":"201","severity":1,"message":"220","line":4,"column":41,"nodeType":"203","messageId":"204","endLine":4,"endColumn":48},{"ruleId":"201","severity":1,"message":"221","line":5,"column":10,"nodeType":"203","messageId":"204","endLine":5,"endColumn":22},{"ruleId":"201","severity":1,"message":"222","line":8,"column":10,"nodeType":"203","messageId":"204","endLine":8,"endColumn":14},{"ruleId":"216","severity":1,"message":"223","line":13,"column":14,"nodeType":"203","messageId":"218","endLine":13,"endColumn":38},{"ruleId":"216","severity":1,"message":"224","line":21,"column":14,"nodeType":"203","messageId":"218","endLine":21,"endColumn":34},"no-native-reassign",["225"],"no-negated-in-lhs",["226"],"@typescript-eslint/no-unused-vars","'Component' is defined but never used.","Identifier","unusedVar","'Input' is defined but never used.","'Menu' is defined but never used.","'Button' is defined but never used.","'Dropdown' is defined but never used.","'productList1' is defined but never used.","'productList2' is defined but never used.","'productList3' is defined but never used.","'axios' is defined but never used.","'styles' is defined but never used.","'MenuItemProps' is defined but never used.","'language' is defined but never used.","@typescript-eslint/no-redeclare","'changeLanguageActionCreator' is already defined.","redeclared","'addLanguageActionCreator' is already defined.","'message' is defined but never used.","'DownOutlined' is defined but never used.","'type' is defined but never used.","'changeInputActionCreator' is already defined.","'addCityActionCreator' is already defined.","no-global-assign","no-unsafe-negation"]
\ No newline at end of file \ No newline at end of file
...@@ -6,10 +6,11 @@ import "./i18n/configs"; ...@@ -6,10 +6,11 @@ import "./i18n/configs";
import "antd/dist/antd.css"; import "antd/dist/antd.css";
import { Provider } from "react-redux"; import { Provider } from "react-redux";
import store from "./redux/store"; import store from "./redux/store";
import axios from 'axios'
axios.defaults.headers['x-icode'] = '0D1F49DD13B9C757';
ReactDOM.render( ReactDOM.render(
<React.StrictMode> <React.StrictMode>
<Provider store={store}> <Provider store={store}>
<App /> <App />
</Provider> </Provider>
</React.StrictMode>, </React.StrictMode>,
......
import * as React from "react"; import * as React from "react";
// import { Component } from "react"; // import { Component } from "react";
import {withTranslation,WithTranslation} from 'react-i18next' import { withTranslation, WithTranslation } from "react-i18next";
import { import {
Header, Header,
Footer, Footer,
...@@ -9,20 +10,79 @@ import { ...@@ -9,20 +10,79 @@ import {
ProductCollection, ProductCollection,
Bussiness, Bussiness,
} from "../../components"; } from "../../components";
import { connect } from "react-redux";
import styles from "./home.module.css"; import styles from "./home.module.css";
import {
// fetchRecommendProductSuccessActionCreator,
// fetchRecommendProductStartActionCreator,
// fetchRecommendProductFailActionCreator,
giveMeDataActionCreator
} from "../../redux/recommendProducts/recommendProductActions";
//0D1F49DD13B9C757
import { productList1, productList2, productList3 } from "./mockups"; import { productList1, productList2, productList3 } from "./mockups";
import sideImage1 from "../../assets/images/sider_2019_02-04-2.png"; import sideImage1 from "../../assets/images/sider_2019_02-04-2.png";
import sideImage2 from "../../assets/images/sider_2019_02-04.png"; import sideImage2 from "../../assets/images/sider_2019_02-04.png";
import sideImage3 from "../../assets/images/sider_2019_12-09.png"; import sideImage3 from "../../assets/images/sider_2019_12-09.png";
import { Row, Col, Typography } from "antd"; import { Row, Col, Typography, Spin } from "antd";
import axios from "axios";
import { RootState } from "../../redux/store";
const mapStateToProps = (state: RootState) => {
return {
loading: state.recommendProduct.loading,
error: state.recommendProduct.error,
productList: state.recommendProduct.productList,
};
};
const mapDispatchProps = (dispatch) => {
return {
// fetchStart: () => {
// dispatch(fetchRecommendProductStartActionCreator());
// },
// fetchSuccess: (data) => {
// dispatch(fetchRecommendProductSuccessActionCreator(data));
// },
// fetchFail: (error) => {
// dispatch(fetchRecommendProductFailActionCreator(error));
// },
giveMeData:()=>{
dispatch(giveMeDataActionCreator())
}
};
};
type PropsType = WithTranslation &
ReturnType<typeof mapDispatchProps> &
ReturnType<typeof mapStateToProps>;
export class HomePageComponent extends React.Component<PropsType> {
componentDidMount() {
this.props.giveMeData()
}
export class HomePageComponent extends React.Component<WithTranslation> {
// constructor(props: HomePageProps) {
// super(props);
// this.state = { : };
// }
render() { render() {
const {t} = this.props const { t } = this.props;
const { productList, loading, error } = this.props;
console.log("productList", productList);
// if (!productList.length) return null;
if (loading) {
return (
<Spin
size="large"
style={{
marginTop: 200,
marginBottom: 200,
marginLeft: "auto",
marginRight: "auto",
width: "100%",
}}
/>
);
}
if (error) {
return <div>网站出错:{error}</div>;
}
return ( return (
<> <>
<Header /> <Header />
...@@ -40,7 +100,7 @@ export class HomePageComponent extends React.Component<WithTranslation> { ...@@ -40,7 +100,7 @@ export class HomePageComponent extends React.Component<WithTranslation> {
</div> </div>
</Col> </Col>
</Row> </Row>
{/* {productList.map} */}
<ProductCollection <ProductCollection
title={ title={
<Typography.Title level={3} type="warning"> <Typography.Title level={3} type="warning">
...@@ -48,7 +108,7 @@ export class HomePageComponent extends React.Component<WithTranslation> { ...@@ -48,7 +108,7 @@ export class HomePageComponent extends React.Component<WithTranslation> {
</Typography.Title> </Typography.Title>
} }
sideImage={sideImage1} sideImage={sideImage1}
products={productList1} products={productList[0].touristRoutes}
/> />
<ProductCollection <ProductCollection
title={ title={
...@@ -57,7 +117,7 @@ export class HomePageComponent extends React.Component<WithTranslation> { ...@@ -57,7 +117,7 @@ export class HomePageComponent extends React.Component<WithTranslation> {
</Typography.Title> </Typography.Title>
} }
sideImage={sideImage2} sideImage={sideImage2}
products={productList2} products={productList[1].touristRoutes}
/> />
<ProductCollection <ProductCollection
title={ title={
...@@ -66,7 +126,7 @@ export class HomePageComponent extends React.Component<WithTranslation> { ...@@ -66,7 +126,7 @@ export class HomePageComponent extends React.Component<WithTranslation> {
</Typography.Title> </Typography.Title>
} }
sideImage={sideImage3} sideImage={sideImage3}
products={productList3} products={productList[2].touristRoutes}
/> />
<Bussiness /> <Bussiness />
</div> </div>
...@@ -77,5 +137,7 @@ export class HomePageComponent extends React.Component<WithTranslation> { ...@@ -77,5 +137,7 @@ export class HomePageComponent extends React.Component<WithTranslation> {
} }
} }
export const HomePage = connect(
export const HomePage =withTranslation()(HomePageComponent) mapStateToProps,
\ No newline at end of file mapDispatchProps
)(withTranslation()(HomePageComponent));
import * as React from "react"; import * as React from "react";
import { Component } from "react"; import { Component } from "react";
import styles from "./studys.module.css"; import styles from "./studys.module.css";
import { Input ,Button} from 'antd'; import { Input, Button, Menu, Dropdown, message } from "antd";
import { DownOutlined } from "@ant-design/icons";
import { useSelector } from "../../redux/hooks"; import { useSelector } from "../../redux/hooks";
import { useDispatch } from "react-redux"; import { useDispatch } from "react-redux";
import { type } from "os";
import {
changeInputActionCreator,
addCityActionCreator,
} from "../../redux/citys/cityActions";
export const Studys: React.FC = () => { export const Studys: React.FC = () => {
const dispatch = useDispatch(); const dispatch = useDispatch();
const cityList =useSelector((state)=>state.city.cityLists) const cityList: { name: string }[] = useSelector(
const cityName =useSelector((state)=>state.city.cityName) (state) => state.city.cityLists
const cityInput =useSelector((state)=>state.city.cityInput) );
const addCity =()=>{ const cityName = useSelector((state) => state.city.cityName);
console.log(cityInput) const cityInput = useSelector((state) => state.city.cityInput);
}
const changeInput=(e)=>{ // const onClick = ({ key }) => {
// message.info(`Click on item ${key}`);
// };
// const menu = (
// <Menu onClick={onClick}>
// <Menu.Item key="1">1st menu item</Menu.Item>
// <Menu.Item key="2">2nd menu item</Menu.Item>
// <Menu.Item key="3">3rd menu item</Menu.Item>
// </Menu>
// );
const addCity = () => {
dispatch(addCityActionCreator(cityInput));
};
const changeInput = (e) => {
// console.log(e.target.value) // console.log(e.target.value)
const action = {
type: 'changeInput', dispatch(changeInputActionCreator(e.target.value));
value: e.target.value,
}; };
dispatch(action)
}
return ( return (
<> <>
{/* 做一个与header.tsx类似的页面 */} {/* 做一个与header.tsx类似的页面 */}
<h1>练习页面</h1> <h1>练习页面</h1>
<div> <div>
<div>添加你想去的城市: <div>
<input placeholder="Basic usage"onChange={changeInput} style={{width:200}} value={cityInput} /> 添加你想去的城市:
<Button type="primary" onClick={addCity} > <input
placeholder="Basic usage"
onChange={changeInput}
style={{ width: 200 }}
value={cityInput}
/>
<Button type="primary" onClick={addCity}>
添加 添加
</Button> </Button>
</div> </div>
<h1>我最喜欢的城市:{cityName}</h1> <h1>我最喜欢的城市:{cityName}</h1>
<h1>我想去的城市:{cityList.map((item,index)=>{ <h1>
return( 我想去的城市:
{cityList.map((item, index) => {
return (
<> <>
<span>{item.name}</span> <span>{item.name},</span>
</> </>
) );
})}</h1> })}
</h1>
</div> </div>
</> </>
); );
......
export const CHANGE_INPUT ='changeInput' export const CHANGE_INPUT = "changeInput";
export {} export const ADD_CITY = "addCity";
\ No newline at end of file
interface changeInputActionCreator {
type: typeof CHANGE_INPUT;
payload: string;
}
interface addCityActionCreator {
type: typeof ADD_CITY;
payload: { name: string };
}
export type cityActionTypes = changeInputActionCreator | addCityActionCreator;
export const changeInputActionCreator = (
inputValue: string
): changeInputActionCreator => {
return {
type: CHANGE_INPUT,
payload: inputValue,
};
};
export const addCityActionCreator = (name: string): addCityActionCreator => {
return {
type: ADD_CITY,
payload: { name },
};
};
import {CHANGE_INPUT} from './cityActions' import { CHANGE_INPUT, ADD_CITY, cityActionTypes } from "./cityActions";
export interface CityState { export interface CityState {
cityInput:string | number cityInput: string;
cityName: string; cityName: string;
cityLists: { name: string }[]; cityLists: { name: string }[];
} }
const defaultState: CityState = { const defaultState: CityState = {
cityInput:'', cityInput: "",
cityName: "东京", cityName: "东京",
cityLists: [ cityLists: [
{ {
...@@ -13,14 +13,19 @@ const defaultState: CityState = { ...@@ -13,14 +13,19 @@ const defaultState: CityState = {
}, },
], ],
}; };
//eslint-disable-next-line
export default (state = defaultState, action) => { export default (state = defaultState, action: cityActionTypes) => {
switch (action.type) { switch (action.type) {
case CHANGE_LANGUAGE: case CHANGE_INPUT:
i18n.changeLanguage(action.payload); //此处会导致不是纯函数 return { ...state, cityInput: action.payload };
return { ...state, language: action.payload }; case ADD_CITY:
// console.log(action.payload,'action.payload')
return {
...state,
cityLists: [...state.cityLists,action.payload],
cityInput: "",
};
default: default:
return state; return state;
} }
}; };
import { ThunkAction } from "redux-thunk";
import { RootState } from "../store";
import axios from "axios";
export const FETCH_RECOMMEND_PRODUCTS_START = "FETCH_RECOMMEND_PRODUCTS_START"; // 正在调用推荐信息api
export const FETCH_RECOMMEND_PRODUCTS_SUCCESS =
"FETCH_RECOMMEND_PRODUCTS_SUCCESS"; // 推荐信息api调用成功
export const FETCH_RECOMMEND_PRODUCTS_FAIL = "FETCH_RECOMMEND_PRODUCTS_FAIL"; // 推荐信息api调用失败
interface FetchRecommendProductStartAction {
type: typeof FETCH_RECOMMEND_PRODUCTS_START;
}
interface FetchRecommendProductSuccessAction {
type: typeof FETCH_RECOMMEND_PRODUCTS_SUCCESS;
payload: any;
}
interface FetchRecommendProductFailAction {
type: typeof FETCH_RECOMMEND_PRODUCTS_FAIL;
payload: any;
}
export type RecommendProductAction =
| FetchRecommendProductStartAction
| FetchRecommendProductSuccessAction
| FetchRecommendProductFailAction;
export const fetchRecommendProductStartActionCreator =
(): FetchRecommendProductStartAction => {
return {
type: FETCH_RECOMMEND_PRODUCTS_START,
};
};
export const fetchRecommendProductSuccessActionCreator = (
data
): FetchRecommendProductSuccessAction => {
return {
type: FETCH_RECOMMEND_PRODUCTS_SUCCESS,
payload: data,
};
};
export const fetchRecommendProductFailActionCreator = (
error
): FetchRecommendProductFailAction => {
return {
type: FETCH_RECOMMEND_PRODUCTS_FAIL,
payload: error,
};
};
export const giveMeDataActionCreator =
(): ThunkAction<void, RootState, undefined, RecommendProductAction> =>
async (dispatch, getState) => {
dispatch(fetchRecommendProductStartActionCreator)
try {
const { data } = await axios.get(
"http://123.56.149.216:8080/api/productCollections"
);
dispatch(fetchRecommendProductSuccessActionCreator(data))
// this.setState(
// {
// loading: false,
// error: null,
// productList: data,
// },
// () => {
// console.log(this.state.productList);
// }
// );
} catch (error) {
dispatch(fetchRecommendProductFailActionCreator(error))
// this.setState({
// error: error.message,
// loading: false,
// });
}
};
import {
RecommendProductAction,
FETCH_RECOMMEND_PRODUCTS_FAIL,
FETCH_RECOMMEND_PRODUCTS_START,
FETCH_RECOMMEND_PRODUCTS_SUCCESS,
} from "./recommendProductActions";
interface RecommendProductsState {
productList: any[];
loading: boolean;
error: string | null;
}
const defaultState: RecommendProductsState = {
loading: true,
productList: [],
error: null,
};
// eslint-disable-next-line import/no-anonymous-default-export
export default (state = defaultState, action: RecommendProductAction) => {
switch (action.type) {
case FETCH_RECOMMEND_PRODUCTS_START:
return { ...state, loading: true };
case FETCH_RECOMMEND_PRODUCTS_SUCCESS:
return { ...state, loading: false, productList: action.payload };
case FETCH_RECOMMEND_PRODUCTS_FAIL:
return { ...state, loading: false, error: action.payload };
default:
return state;
}
};
import { createStore ,combineReducers} from "redux"; import { createStore ,combineReducers,applyMiddleware} from "redux";
import languageReducer from "./language/languageReducer"; import languageReducer from "./language/languageReducer";
import CityReducer from './citys/cityReducer' import CityReducer from './citys/cityReducer'
import recommendProductsReducer from "./recommendProducts/recommendProductsReducer";
import thunk from 'redux-thunk'
const rootReducer = combineReducers({ const rootReducer = combineReducers({
language:languageReducer, language:languageReducer,
city:CityReducer city:CityReducer,
recommendProduct:recommendProductsReducer
}) })
const store = createStore(rootReducer); const store = createStore(rootReducer,applyMiddleware(thunk));
export type RootState =ReturnType<typeof store.getState> export type RootState =ReturnType<typeof store.getState>
export default store; export default store;
...@@ -2717,6 +2717,13 @@ axe-core@^4.0.2: ...@@ -2717,6 +2717,13 @@ axe-core@^4.0.2:
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.2.1.tgz#2e50bcf10ee5b819014f6e342e41e45096239e34" resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.2.1.tgz#2e50bcf10ee5b819014f6e342e41e45096239e34"
integrity sha512-evY7DN8qSIbsW2H/TWQ1bX3sXN1d4MNb5Vb4n7BzPuCwRHdkZ1H2eNLuSh73EoQqkGKUtju2G2HCcjCfhvZIAA== integrity sha512-evY7DN8qSIbsW2H/TWQ1bX3sXN1d4MNb5Vb4n7BzPuCwRHdkZ1H2eNLuSh73EoQqkGKUtju2G2HCcjCfhvZIAA==
   
axios@^0.21.1:
version "0.21.1"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==
dependencies:
follow-redirects "^1.10.0"
axobject-query@^2.2.0: axobject-query@^2.2.0:
version "2.2.0" version "2.2.0"
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
...@@ -5271,7 +5278,7 @@ flush-write-stream@^1.0.0: ...@@ -5271,7 +5278,7 @@ flush-write-stream@^1.0.0:
inherits "^2.0.3" inherits "^2.0.3"
readable-stream "^2.3.6" readable-stream "^2.3.6"
   
follow-redirects@^1.0.0: follow-redirects@^1.0.0, follow-redirects@^1.10.0:
version "1.14.1" version "1.14.1"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43"
integrity sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg== integrity sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==
...@@ -9987,6 +9994,11 @@ redent@^3.0.0: ...@@ -9987,6 +9994,11 @@ redent@^3.0.0:
indent-string "^4.0.0" indent-string "^4.0.0"
strip-indent "^3.0.0" strip-indent "^3.0.0"
   
redux-thunk@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622"
integrity sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==
redux@^4.0.0, redux@^4.1.0: redux@^4.0.0, redux@^4.1.0:
version "4.1.0" version "4.1.0"
resolved "https://registry.yarnpkg.com/redux/-/redux-4.1.0.tgz#eb049679f2f523c379f1aff345c8612f294c88d4" resolved "https://registry.yarnpkg.com/redux/-/redux-4.1.0.tgz#eb049679f2f523c379f1aff345c8612f294c88d4"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment