From 394129872ba33bc6462b98acd1a9b53a98143667 Mon Sep 17 00:00:00 2001
From: zhanghaozhe <zhanghaozhe@julyedu.cn>
Date: Tue, 4 Jun 2019 10:36:27 +0800
Subject: [PATCH] route config

---
 src/router.js               | 47 -----------------------------------------------
 src/router/index.js         | 23 +++++++++++++++++++++++
 src/router/router-config.js | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 103 insertions(+), 47 deletions(-)
 delete mode 100644 src/router.js
 create mode 100644 src/router/index.js
 create mode 100644 src/router/router-config.js

diff --git a/src/router.js b/src/router.js
deleted file mode 100644
index da77665..0000000
--- a/src/router.js
+++ /dev/null
@@ -1,47 +0,0 @@
-import React from 'react';
-import { BrowserRouter as Router, Switch, Route } from 'react-router-dom';
-
-import Index from './components/Index';
-import Classify from './components/classify';
-import Study from './components/study';
-import My from './components/my';
-import CourseList from './components/classify/courselist';
-import Order from './components/order/index';
-import Preferential from './components/preferential/index';
-import Search from './components/search/index'
-import Detail from './components/detail/index'
-import Examination from './components/examination'
-import ExchangeCoupons from './components/coupons/exchange-coupons'
-import UseCoupon from './components/coupons/use-coupons'
-// import OrderInfo from './components/order/orderinfo';
-import ShopCard from './components/shopCard/index';
-import BargainMiddlePage from './components/bargainMiddlePage';
-import Passport from './components/passport'
-
-
-const router = () => (
-    <Router>
-        <Switch>
-            <Route exact path="/" component={Index}/>
-            <Route path="/index" component={Index}/>
-            <Route path='/classify' component={Classify}/>
-            <Route path='/study' component={Study}/>
-            <Route path='/my' component={My}/>
-            <Route path='/courselist' component={CourseList}/>
-            <Route path='/preferential' component={Preferential}/>
-            <Route path='/search' component={Search}/>
-            <Route path='/order' component={Order}/>
-            <Route path='/detail' component={Detail}/>
-            <Route path='/examination' component={Examination}/>
-            <Route path='/exchange-coupons' component={ExchangeCoupons}/>
-            <Route path='/use-coupon' component={UseCoupon}/>
-            {/*<Route path='/orderinfo' component={OrderInfo}></Route>*/}
-            <Route path='/shopcard' component={ShopCard}/>
-            <Route path='/bargain-middle-page' component={BargainMiddlePage}/>
-            <Route path='/passport' component={Passport}/>
-        </Switch>
-    </Router>
-)
-
-
-export default router;
\ No newline at end of file
diff --git a/src/router/index.js b/src/router/index.js
new file mode 100644
index 0000000..7a7e3b7
--- /dev/null
+++ b/src/router/index.js
@@ -0,0 +1,23 @@
+import React from 'react'
+import { BrowserRouter as Router, Switch, Route } from 'react-router-dom'
+import RouterConfig from './router-config'
+
+
+export default function () {
+    return (
+        <Router>
+            <Switch>
+                {RouterConfig.map((item, index) => {
+                    let {CustomRoute, ...rest} = item
+                    if (CustomRoute) {
+                        return <CustomRoute {...rest}/>
+                    } else {
+                        return (
+                            <Route {...rest} key={index}/>
+                        )
+                    }
+                })}
+            </Switch>
+        </Router>
+    )
+}
\ No newline at end of file
diff --git a/src/router/router-config.js b/src/router/router-config.js
new file mode 100644
index 0000000..1bf2db4
--- /dev/null
+++ b/src/router/router-config.js
@@ -0,0 +1,80 @@
+import Index from '@/components/Index';
+import Classify from '@/components/classify';
+import Study from '@/components/study';
+import My from '@/components/my';
+import CourseList from '@/components/classify/courselist';
+import Order from '@/components/order/index';
+import Preferential from '@/components/preferential/index';
+import Search from '@/components/search/index'
+import Detail from '@/components/detail/index'
+import Examination from '@/components/examination'
+import ExchangeCoupons from '@/components/coupons/exchange-coupons'
+import UseCoupon from '@/components/coupons/use-coupons'
+import ShopCard from '@/components/shopCard/index';
+import BargainMiddlePage from '@/components/bargainMiddlePage';
+import Passport from '@/components/passport'
+
+
+export default [
+    {
+        path: '/',
+        exact: true,
+        component: Index
+    },
+    {
+        path: '/classify',
+        component: Classify
+    },
+    {
+        path: '/study',
+        component: Study
+    },
+    {
+        path: '/my',
+        component: My
+    },
+    {
+        path: '/courselist',
+        component: CourseList
+    },
+    {
+        path: '/preferential',
+        component: Preferential
+    },
+    {
+        path: '/search',
+        component: Search
+    },
+    {
+        path: '/order',
+        component: Order
+    },
+    {
+        path: '/detail',
+        component: Detail
+    },
+    {
+        path: '/examination',
+        component: Examination
+    },
+    {
+        path: '/exchange-coupons',
+        component: ExchangeCoupons
+    },
+    {
+        path: '/use-coupon',
+        component: UseCoupon
+    },
+    {
+        path: '/shopcard',
+        component: ShopCard
+    },
+    {
+        path: '/bargain-middle-page',
+        component: BargainMiddlePage
+    },
+    {
+        path: '/passport',
+        component: Passport
+    },
+]
\ No newline at end of file
--
libgit2 0.26.0