소스 검색

add user layout

xiaohu 7 년 전
부모
커밋
64b5984a14
5개의 변경된 파일35개의 추가작업 그리고 16개의 파일을 삭제
  1. 1 0
      src/components/Authorized/AuthorizedRoute.js
  2. 16 13
      src/layouts/UserLayout.js
  3. 1 1
      src/pages/User/Login.js
  4. 2 2
      src/pages/User/Register.js
  5. 15 0
      src/pages/User/_layout.js

+ 1 - 0
src/components/Authorized/AuthorizedRoute.js

@@ -4,6 +4,7 @@ import Authorized from './Authorized';
 
 class AuthorizedRoute extends React.Component {
   render() {
+    // TODO: umi只会返回render和rest
     const { component: Component, render, authority, redirectPath, ...rest } = this.props;
     return (
       <Authorized

+ 16 - 13
src/layouts/UserLayout.js

@@ -1,11 +1,13 @@
 import React, { Fragment } from 'react';
-import { Link, Redirect, Switch, Route } from 'dva/router';
+import { Link } 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, getPageQuery, getQueryPath } from '../utils/utils';
+
+// TODO:remove
+// import { getRoutes, getPageQuery, getQueryPath } from '../utils/utils';
 
 const links = [
   {
@@ -30,14 +32,14 @@ const copyright = (
     Copyright <Icon type="copyright" /> 2018 蚂蚁金服体验技术部出品
   </Fragment>
 );
-
-function getLoginPathWithRedirectPath() {
-  const params = getPageQuery();
-  const { redirect } = params;
-  return getQueryPath('/user/login', {
-    redirect,
-  });
-}
+// TODO:remove
+// function getLoginPathWithRedirectPath() {
+//   const params = getPageQuery();
+//   const { redirect } = params;
+//   return getQueryPath('/user/login', {
+//     redirect,
+//   });
+// }
 
 class UserLayout extends React.PureComponent {
   getPageTitle() {
@@ -51,7 +53,7 @@ class UserLayout extends React.PureComponent {
   }
 
   render() {
-    const { routerData, match } = this.props;
+    const { children } = this.props;
     return (
       <DocumentTitle title={this.getPageTitle()}>
         <div className={styles.container}>
@@ -65,7 +67,8 @@ class UserLayout extends React.PureComponent {
               </div>
               <div className={styles.desc}>Ant Design 是西湖区最具影响力的 Web 设计规范</div>
             </div>
-            <Switch>
+            {children}
+            {/* <Switch>
               {getRoutes(match.path, routerData).map(item => (
                 <Route
                   key={item.key}
@@ -75,7 +78,7 @@ class UserLayout extends React.PureComponent {
                 />
               ))}
               <Redirect from="/user" to={getLoginPathWithRedirectPath()} />
-            </Switch>
+            </Switch> */}
           </div>
           <GlobalFooter links={links} copyright={copyright} />
         </div>

+ 1 - 1
src/pages/User/Login.js

@@ -112,7 +112,7 @@ export default class LoginPage extends Component {
             <Icon className={styles.icon} type="alipay-circle" />
             <Icon className={styles.icon} type="taobao-circle" />
             <Icon className={styles.icon} type="weibo-circle" />
-            <Link className={styles.register} to="/user/register">
+            <Link className={styles.register} to="/User/Register">
               注册账户
             </Link>
           </div>

+ 2 - 2
src/pages/User/Register.js

@@ -40,7 +40,7 @@ export default class Register extends Component {
     if (register.status === 'ok') {
       dispatch(
         routerRedux.push({
-          pathname: '/user/register-result',
+          pathname: '/User/RegisterResult',
           state: {
             account,
           },
@@ -279,7 +279,7 @@ export default class Register extends Component {
             >
               注册
             </Button>
-            <Link className={styles.login} to="/user/login">
+            <Link className={styles.login} to="/User/Login">
               使用已有账户登录
             </Link>
           </FormItem>

+ 15 - 0
src/pages/User/_layout.js

@@ -0,0 +1,15 @@
+import React from 'react';
+import { getRouterData } from 'common/router';
+import { getMenuData } from 'common/menu';
+import UserLayout from '../../layouts/UserLayout';
+
+export default props => {
+  const { children, location } = props;
+  const routerData = getRouterData({});
+  const menuData = getMenuData({});
+  return (
+    <UserLayout routerData={routerData} menuData={menuData} location={location} {...props}>
+      {children}
+    </UserLayout>
+  );
+};