Skip to content

Commit

Permalink
api代理转发
Browse files Browse the repository at this point in the history
  • Loading branch information
TeresaRd committed Jul 26, 2019
1 parent 06802ac commit 467981f
Show file tree
Hide file tree
Showing 6 changed files with 176 additions and 129 deletions.
239 changes: 144 additions & 95 deletions .idea/workspace.xml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion config-overrides.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ module.exports = function override(config, env) {
'_v': resolve('src/view'),
'_lib': resolve('src/lib'),
'_config': resolve('src/config')
}
};
// config = rewireLess.withLoaderOptions({
// modifyVars: { "@primary-color": "#78a5f1" },
// javascriptEnabled: true,
Expand Down
14 changes: 9 additions & 5 deletions src/view/main/Main.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ import { connect } from 'react-redux';
import AppNav from './components/AppNav';
import AppHeader from './components/AppHeader';
import ContentRoutes from './components/ContentRoutes';
import {setOpenKeys} from "../../actions/layout";

class Main extends Component {



render () {
const routes = this.props.routes || [];
return (
Expand All @@ -17,17 +16,22 @@ class Main extends Component {
<AppNav/>
<Layout className="relative">
<AppHeader />
<ContentRoutes />
<ContentRoutes routes={this.props.routes} setOpenKyes={this.props.setOpenKeys}/>
</Layout>
</Layout>
);
}
}

function mapStateToProps(state) {
return state.layout;
}
function mapDispatchToProps(dispatch) {
return {
routes: state.layout.routes
setOpenKeys(keys) {
dispatch(setOpenKeys(keys));
}
}
}

export default connect(mapStateToProps)(Main);
export default connect(mapStateToProps, mapDispatchToProps)(Main);
2 changes: 0 additions & 2 deletions src/view/main/components/AppNav/AppNav.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,12 @@ class AppNav extends Component {

// 菜单状态
openHandler = (openList) => {
console.log(openList)
this.setState({
openList: openList
});
sessionStorage.setItem('navOpenList', JSON.stringify(openList));
};
selectHandler = (config) => {
console.log(config.selectedKeys)
this.setState({
selectList: config.selectedKeys
});
Expand Down
34 changes: 8 additions & 26 deletions src/view/main/components/ContentRoutes/ContentRoutes.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import React, { Component } from 'react';
import { Switch, Route, withRouter } from 'react-router-dom';
import { connect } from 'react-redux';
import { Layout } from 'antd';
import { setOpenKeys } from "../../../../actions/layout";
import GlobalComponent from './RouterComponent';

const { Content } = Layout;

class ContentRoutes extends Component {
getComponent = (importComponent) => {
getComponent = (importComponent, openKeys) => {
class AsyncComponent extends Component {
constructor(props) {
super(props);
Expand All @@ -29,7 +28,7 @@ class ContentRoutes extends Component {
}
render() {
const C = this.state.component;
return C ? <C {...this.props} /> : null;
return C ? <GlobalComponent setOpenKeys={this.prop.setOpenKeys} openKeys={openKeys}><C {...this.props} /></GlobalComponent> : null;
}
}
return AsyncComponent;
Expand All @@ -47,10 +46,6 @@ class ContentRoutes extends Component {
)
}

shouldComponentUpdate(nextState, nextProps) {
return false;
}

getRouter = (routes, result, flag) => {
routes.forEach(item => {
const children = Array.isArray(item.children)?item.children:[];
Expand All @@ -60,30 +55,17 @@ class ContentRoutes extends Component {
result.push(
<Route path={item.path}
render={(props) => {
this.props.setOpenKeys(item.keys);
document.title = item.title;
const Comp = this.getComponent(() => import('_v/' + item.component));
return <Comp {...props} />
const Comp = this.getComponent(() => import('_v/' + item.component), item.keys);
return <Comp {...props}/>
}}
key={item.path} />
key={item.path}
/>
)
}
});
return result;
}
}

function mapStateToProps (state) {
return {
routes: state.layout.routes || []
};
}
function mapDispatchToProps(dispatch) {
return {
setOpenKeys(openKeys) {
dispatch(setOpenKeys(openKeys));
}
}
}

export default connect(mapStateToProps, mapDispatchToProps)(withRouter(ContentRoutes));
export default withRouter(ContentRoutes);
14 changes: 14 additions & 0 deletions src/view/main/components/ContentRoutes/RouterComponent.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import React, {Component} from "react";
import { withRouter } from 'react-router-dom';

class RouterComponent extends Component {
render() {
const path = this.props.match.path;
console.log(this.props.setOpenKeys)
return <>
{this.props.children}
</>
}
}

export default withRouter(RouterComponent);

0 comments on commit 467981f

Please sign in to comment.