jazz
2023-12-13 d3f0ff6001c34c9ac37e9e776f090f5a696a1361
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/**
 * router 配置,使用路由懒加载
 */
import Vue from 'vue'
import Router from 'vue-router'
import Store from '../store'
// import HelloWorld from '@/components/HelloWorld'
 
Vue.use(Router)
 
let router = new Router({
  // mode: 'history',
  routes: [
    {
      path: '/',
      name: 'root',
      // component: () => import('@/pages/index')
      // component: () => import('@/pages/login/index')
      component: () => import('@/pages/room/list')
    },
    // {
    //   path: '/login',
    //   name: 'login',
    //   component: () => import('@/pages/login/index')
    // },
    // {
    //   path: '/index',
    //   name: 'index',
    //   component: () => import('@/pages/index')
    // },
    {
      path: '/room/list',
      name: 'roomList',
      component: () => import('@/pages/room/list'),
      meta: { title: '治疗室列表', keepAlive: true }
    },
    {
      path: '/room/detail',
      name: 'roomDetail',
      component: () => import('@/pages/room/detail'),
      meta: { title: '治疗室详情', isPush: false }
    }
  ]
})
 
// 路由跳转之前
// 是否已经跳转过房间详情
var isJumpeRoomDetail = localStorage.getItem('isJumpeRoomDetail')
if (!isJumpeRoomDetail) {
  localStorage.setItem('isJumpeRoomDetail', '0') // 是否已经跳转过房间详情
}
 
// 跳转房间详情
function jumpRoomDetail() {
  var roomId = localStorage.getItem('roomId')
  var isJumpeRoomDetail = localStorage.getItem('isJumpeRoomDetail')
  // 还没跳转且有localroomId的
  // console.log('7777777777777777777777777777', isJumpeRoomDetail, roomId)
  if (isJumpeRoomDetail === '0' && roomId) {
    localStorage.setItem('isJumpeRoomDetail', '1')
    return { path: `./room/detail?id=${roomId}` }
  } else {
    localStorage.setItem('isJumpeRoomDetail', '1')
    return true
  }
}
 
// 路由跳转之前
router.beforeEach(function(to, from, next) {
  // var isJumpeRoomDetail = localStorage.getItem('isJumpeRoomDetail')
  // console.log('999999999999999999999999999999999', to, from, isJumpeRoomDetail)
  var nextPage = true // 默认true
  // 直接进入首页(列表页)
  if ((to.name === 'root' || to.name === 'roomList') && !from.name) {
    nextPage = jumpRoomDetail()
  }
  // 直接进入详情页
  if (to.name === 'roomDetail' && !from.name) {
    localStorage.setItem('isJumpeRoomDetail', '1')
    if (to.query.id) {
      localStorage.setItem('roomId', to.query.id)
    }
  }
 
  // 列表页进入详情页
  if (to.name === 'roomDetail' && (from.name === 'root' || from.name === 'roomList')) {
    localStorage.setItem('isJumpeRoomDetail', '0')
    if (to.query.id) {
      localStorage.setItem('roomId', to.query.id)
    }
  }
 
  // 详情页返回列表
  if ((to.name === 'root' || to.name === 'roomList') && from.name === 'roomDetail') {
    localStorage.setItem('isJumpeRoomDetail', '1')
  }
  next(nextPage)
})
 
export default router