router.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. export default ({
  2. app,
  3. store
  4. }) => {
  5. return;
  6. if (process.client) {
  7. const {
  8. host
  9. } = location || {}
  10. const isKaifain = host.indexOf('kaifain') !== -1
  11. const isJishuin = host.indexOf('jishuin') !== -1
  12. const isJob = host.indexOf('job') !== -1
  13. console.log("app.router.options.routes", app.router.options.routes)
  14. if (isKaifain) {
  15. let kaifainIndex = app.router.options.routes.filter(v => v.name === 'kaifainSeoIndex')[0]
  16. let kaifainDetail = app.router.options.routes.filter(v => v.name === 'kaifainSeoDetail')[0]
  17. let kaifainCaseDetail = app.router.options.routes.filter(v => v.name === 'kaifainCaseSeoDetail')[0]
  18. let kaifainIndexNow = {
  19. name: 'kaifain_$',
  20. path: '/*',
  21. component: kaifainIndex.component
  22. }
  23. let kaifainDetailNow = {
  24. name: 'kaifainSeoDetails_$',
  25. path: '/s/:tid',
  26. component: kaifainDetail.component
  27. }
  28. let kaifainCaseDetailNow = {
  29. name: 'kaifainCaseSeoDetails_$',
  30. path: '/d/:tid',
  31. component: kaifainCaseDetail.component
  32. }
  33. try {
  34. app.router.options.routes.unshift(kaifainIndexNow)
  35. app.router.options.routes.unshift(kaifainDetailNow)
  36. app.router.options.routes.unshift(kaifainCaseDetailNow)
  37. app.router.matcher.addRoutes([kaifainIndexNow, kaifainDetailNow, kaifainCaseDetailNow])
  38. } catch (e) {
  39. console.log(e)
  40. }
  41. }
  42. if (isJishuin) {
  43. let jishuinCIndex = app.router.options.routes.filter(v => v.name === "jishuinCollectedC1")[0]
  44. let jishuinCType = app.router.options.routes.filter(v => v.name === "jishuinCollectedCID1")[0]
  45. let jishuinUIndex = app.router.options.routes.filter(v => v.name === "jishuinUserU1")[0]
  46. let jishuinUType = app.router.options.routes.filter(v => v.name === "jishuinUserUID1")[0]
  47. let jishuinU = {
  48. name: 'jishuinSeoU_$',
  49. path: '/u/:id',
  50. component: jishuinUIndex.component
  51. }
  52. let jishuinUT = {
  53. name: 'jishuinSeoUType_$',
  54. path: '/u/:id/:type',
  55. component: jishuinUType.component
  56. }
  57. let jishuinC = {
  58. name: 'jishuinSeoC_$',
  59. path: '/c/:id',
  60. component: jishuinCIndex.component
  61. }
  62. let jishuinCT = {
  63. name: 'jishuinSeoCT_$',
  64. path: '/c/:id/:type',
  65. component: jishuinCType.component
  66. }
  67. try {
  68. app.router.options.routes.unshift(jishuinU)
  69. app.router.options.routes.unshift(jishuinUT)
  70. app.router.options.routes.unshift(jishuinC)
  71. app.router.options.routes.unshift(jishuinCT)
  72. app.router.matcher.addRoutes([jishuinU, jishuinUT, jishuinC, jishuinCT])
  73. } catch (e) {
  74. console.log(e)
  75. }
  76. }
  77. if (isJob) {
  78. let jobIndex = app.router.options.routes.filter(v => v.name === 'JobListSeoIndex')[0]
  79. let jobDetail = app.router.options.routes.filter(v => v.name === 'job-detail-id')[0]
  80. let jobIndexNow = {
  81. name: 'job_$',
  82. path: '/*',
  83. component: jobIndex.component
  84. }
  85. let jobDetailNow = {
  86. name: 'jobSeoDetails_$',
  87. path: '/d/:tid',
  88. component: jobDetail.component
  89. }
  90. try {
  91. app.router.options.routes.unshift(jobIndexNow)
  92. app.router.options.routes.unshift(jobDetailNow)
  93. app.router.matcher.addRoutes([jobIndexNow, jobDetailNow])
  94. } catch (e) {
  95. console.log(e)
  96. }
  97. }
  98. console.log('router', app.router)
  99. app.router.beforeEach((to, from, next) => {
  100. console.log("location.href", to, from)
  101. next()
  102. })
  103. }
  104. }