xinfeng 5 jaren geleden
bovenliggende
commit
3c74557757
1 gewijzigde bestanden met toevoegingen van 41 en 50 verwijderingen
  1. 41 50
      plugins/router.js

+ 41 - 50
plugins/router.js

@@ -1,26 +1,19 @@
-export default ({
-  app,
-  context,
-  req,
-  store
-}) => {
+export default ({ app, context, req, store}) => {
   if (process.client) {
-    const {
-      host
-    } = location || {}
+    const { host } = location || {}
     const isKaifain = host.indexOf('kaifain') !== -1
     const isJishuin = host.indexOf('jishuin') !== -1
     const isJob = host.indexOf('job') !== -1
-    console.log('before Route Path', window.__NUXT__.routePath )
+    console.log('before Route Path', window.__NUXT__.routePath)
     console.log("app.router.options.routes", app.router.options.routes)
     if (isKaifain) {
       window.__NUXT__.routePath = app.context.route.path.replace(/^\/kaifain/, '/')
-      let kaifainIndex = app.router.options.routes.filter(v => v.name === 'kaifain')[0]
-      let kaifainDetail = app.router.options.routes.filter(v => v.name === 'kaifain-detail-tid')[0]
-      let kaifainCaseDetail = app.router.options.routes.filter(v => v.name === 'kaifain-case-tid')[0]
-      let kaifainAdd = app.router.options.routes.filter(v => v.name === 'kaifain-add')[0]
-      let kaifainPreview = app.router.options.routes.filter(v => v.name === 'kaifain-preview')[0]
-      let kaifainPreviewCase = app.router.options.routes.filter(v => v.name === 'kaifain-previewCase')[0]
+      let kaifainIndex = app.router.options.routes.filter(v => v.name === 'kaifain')[ 0 ]
+      let kaifainDetail = app.router.options.routes.filter(v => v.name === 'kaifain-detail-tid')[ 0 ]
+      let kaifainCaseDetail = app.router.options.routes.filter(v => v.name === 'kaifain-case-tid')[ 0 ]
+      let kaifainAdd = app.router.options.routes.filter(v => v.name === 'kaifain-add')[ 0 ]
+      let kaifainPreview = app.router.options.routes.filter(v => v.name === 'kaifain-preview')[ 0 ]
+      let kaifainPreviewCase = app.router.options.routes.filter(v => v.name === 'kaifain-previewCase')[ 0 ]
       let kaifainIndexNow = {
         name: 'kaifain_$',
         path: '/*',
@@ -51,29 +44,27 @@ export default ({
         path: '/previewCase',
         component: kaifainPreviewCase.component
       }
+      let kaifainOrderList = [ kaifainPreviewCaseNow,
+        kaifainPreviewNow,
+        kaifainAddNow,
+        kaifainCaseDetailNow,
+        kaifainDetailNow,
+        kaifainIndexNow
+      ]
       try {
-        app.router.options.routes.unshift(
-          kaifainPreviewCaseNow,
-          kaifainPreviewNow,
-          kaifainAddNow,
-          kaifainCaseDetailNow,
-          kaifainDetailNow,
-          kaifainIndexNow)
-        app.router.matcher.addRoutes([
-          kaifainIndexNow, kaifainDetailNow, kaifainCaseDetailNow,
-          kaifainAddNow, kaifainPreviewNow, kaifainPreviewCaseNow
-        ])
-      } catch (e) {
+        app.router.options.routes.unshift(...kaifainOrderList)
+        app.router.matcher.addRoutes(kaifainOrderList)
+      } catch ( e ) {
         console.log(e)
       }
     }
-
+    
     if (isJishuin) {
       window.__NUXT__.routePath = app.context.route.path.replace(/^\/jishuin/, '/')
-      let jishuinCIndex = app.router.options.routes.filter(v => v.name === "user-collect_article-id-type")[0]
-      let jishuinCType = app.router.options.routes.filter(v => v.name === "user-collect_article-id-type")[0]
-      let jishuinUIndex = app.router.options.routes.filter(v => v.name === "user-id-type")[0]
-      let jishuinUType = app.router.options.routes.filter(v => v.name === "user-id-type")[0]
+      let jishuinCIndex = app.router.options.routes.filter(v => v.name === "user-collect_article-id-type")[ 0 ]
+      let jishuinCType = app.router.options.routes.filter(v => v.name === "user-collect_article-id-type")[ 0 ]
+      let jishuinUIndex = app.router.options.routes.filter(v => v.name === "user-id-type")[ 0 ]
+      let jishuinUType = app.router.options.routes.filter(v => v.name === "user-id-type")[ 0 ]
       let jishuinU = {
         name: 'jishuinSeoU_$',
         path: '/u/:id',
@@ -94,42 +85,42 @@ export default ({
         path: '/c/:id/:type',
         component: jishuinCType.component
       }
+      let jishuinOrderList = [
+        jishuinCT, jishuinC, jishuinUT, jishuinU
+      ]
       try {
-        app.router.options.routes.unshift(jishuinU)
-        app.router.options.routes.unshift(jishuinUT)
-        app.router.options.routes.unshift(jishuinC)
-        app.router.options.routes.unshift(jishuinCT)
-        app.router.matcher.addRoutes([jishuinU, jishuinUT, jishuinC, jishuinCT])
-      } catch (e) {
+        app.router.options.routes.unshift(...jishuinOrderList)
+        app.router.matcher.addRoutes(jishuinOrderList)
+      } catch ( e ) {
         console.log(e)
       }
     }
-
+    
     if (isJob) {
       window.__NUXT__.routePath = app.context.route.path.replace(/^\/job/, '/')
-      let jobIndex = app.router.options.routes.filter(v => v.name === 'job')[0]
-      let jobDetail = app.router.options.routes.filter(v => v.name === 'job-detail-id')[0]
+      let jobIndex = app.router.options.routes.filter(v => v.name === 'job')[ 0 ]
+      let jobDetail = app.router.options.routes.filter(v => v.name === 'job-detail-id')[ 0 ]
       let jobIndexNow = {
         name: jobIndex.name,
         path: '/*',
         component: jobIndex.component
       }
       let jobDetailNow = {
-        name: jobDetail.name, //测试 name匹配
-        path: '/d/:id',
+        name: jobDetail.name,
+        path: '/d/:id?',
         component: jobDetail.component
       }
+      let jobOrderList = [
+        jobDetailNow, jobIndexNow
+      ]
       try {
-        app.router.options.routes.unshift(jobIndexNow)
-        app.router.options.routes.unshift(jobDetailNow)
-        app.router.matcher.addRoutes([jobIndexNow, jobDetailNow])
-      } catch (e) {
+        app.router.options.routes.unshift(...jobOrderList)
+        app.router.matcher.addRoutes(jobOrderList)
+      } catch ( e ) {
         console.log(e)
       }
     }
-
     console.log('router', app.router)
-
     app.router.beforeEach((to, from, next) => {
       console.log("beforeEach", to, from)
       next()