You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.9 KiB
66 lines
1.9 KiB
import React from 'react';
|
|
import { Link, Route } from 'dva/router';
|
|
import DocumentTitle from 'react-document-title';
|
|
import { Icon } from 'antd';
|
|
import GlobalFooter from '../components/GlobalFooter';
|
|
import styles from './UserLayout.less';
|
|
import logo from '../assets/logo.svg';
|
|
import { getRoutes } from '../utils/utils';
|
|
|
|
const links = [{
|
|
title: '帮助',
|
|
href: '',
|
|
}, {
|
|
title: '隐私',
|
|
href: '',
|
|
}, {
|
|
title: '条款',
|
|
href: '',
|
|
}];
|
|
|
|
const copyright = <div>Copyright <Icon type="copyright" /> 2017 蚂蚁金服体验技术部出品</div>;
|
|
|
|
class UserLayout extends React.PureComponent {
|
|
getPageTitle() {
|
|
const { routerData, location } = this.props;
|
|
const { pathname } = location;
|
|
let title = 'Ant Design Pro';
|
|
if (routerData[pathname] && routerData[pathname].name) {
|
|
title = `${routerData[pathname].name} - Ant Design Pro`;
|
|
}
|
|
return title;
|
|
}
|
|
render() {
|
|
const { routerData, match } = this.props;
|
|
return (
|
|
<DocumentTitle title={this.getPageTitle()}>
|
|
<div className={styles.container}>
|
|
<div className={styles.top}>
|
|
<div className={styles.header}>
|
|
<Link to="/">
|
|
<img alt="logo" className={styles.logo} src={logo} />
|
|
<span className={styles.title}>Ant Design</span>
|
|
</Link>
|
|
</div>
|
|
<div className={styles.desc}>Ant Design 是西湖区最具影响力的 Web 设计规范</div>
|
|
</div>
|
|
{
|
|
getRoutes(match.path, routerData).map(item =>
|
|
(
|
|
<Route
|
|
key={item.key}
|
|
path={item.path}
|
|
component={item.component}
|
|
exact={item.exact}
|
|
/>
|
|
)
|
|
)
|
|
}
|
|
<GlobalFooter className={styles.footer} links={links} copyright={copyright} />
|
|
</div>
|
|
</DocumentTitle>
|
|
);
|
|
}
|
|
}
|
|
|
|
export default UserLayout;
|
|
|