Blame view

src/router/index.js 11.5 KB
a42b3256   wuxw   HC小区管理系统前段vue版正在开发中
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
  import Vue from 'vue'
  import VueRouter from 'vue-router'
  import Layout from '@/views/layout/layout.vue'
  import Login from '@/views/user/login/Login.vue'
  
  Vue.use(VueRouter)
  
  const routes = [
    {
      path: '/',
      component: Layout,
      redirect: '/views/index/index',
      children: [
        {
          path: '/views/index/index',
          name: '/views/index/index',
          component: () => import('@/views/index/index.vue')
        },
        {
          path: '/pages/dev/appManage',
          name: '/pages/dev/appManage',
          component: () => import('@/views/dev/app/appList.vue')
        },
        {
          path: '/pages/dev/serviceManage',
          name: '/pages/dev/serviceManage',
          component: () => import('@/views/dev/serviceList.vue')
        },
        {
          path: '/pages/dev/serviceRegisterManage',
          name: '/pages/dev/serviceRegisterManage',
          component: () => import('@/views/dev/routeList.vue')
        },
        {
          path: '/views/dev/addRoute',
          name: '/views/dev/addRoute',
          component: () => import('@/views/dev/addRoute.vue')
        },
        {
          path: '/pages/dev/serviceImplManage',
          name: '/pages/dev/serviceImplManage',
          component: () => import('@/views/dev/serviceBusinessList.vue')
        },
        {
          path: '/pages/dev/businessTableHisManage',
          name: '/pages/dev/businessTableHisManage',
          component: () => import('@/views/dev/businessTableHisList.vue')
        },
        {
          path: '/pages/dev/menuCatalogManage',
          name: '/pages/dev/menuCatalogManage',
          component: () => import('@/views/dev/menuCatalogList.vue')
        },
        {
          path: '/views/dev/menuGroupCatalogList',
          name: '/views/dev/menuGroupCatalogList',
          component: () => import('@/views/dev/menuGroupCatalogList.vue')
        },
        {
          path: '/pages/dev/menuGroupManage',
          name: '/pages/dev/menuGroupManage',
          component: () => import('@/views/dev/menuGroupList.vue')
        },
        {
          path: '/pages/dev/mappingDomainManage',
          name: '/pages/dev/mappingDomainManage',
          component: () => import('@/views/dev/mappingDomainList.vue')
        },
        {
          path: '/pages/dev/mappingManage',
          name: '/pages/dev/mappingManage',
          component: () => import('@/views/dev/mappingList.vue')
        },
        {
          path: '/pages/dev/businessDatabusManage',
          name: '/pages/dev/businessDatabusManage',
          component: () => import('@/views/dev/businessDatabusList.vue')
        },
        {
          path: '/pages/dev/dictManage',
          name: '/pages/dev/dictManage',
          component: () => import('@/views/dev/dictList.vue')
        },
        {
          path: '/pages/dev/cacheManage',
          name: '/pages/dev/cacheManage',
          component: () => import('@/views/dev/cacheList.vue')
        },
        {
          path: '/pages/dev/menuManage',
          name: '/pages/dev/menuManage',
          component: () => import('@/views/dev/menuList.vue')
        },
        {
          path: '/views/dev/privilegeList',
          name: '/views/dev/privilegeList',
          component: () => import('@/views/dev/privilegeList.vue')
        },
        {
          path: '/pages/frame/changeStaffPwd',
          name: '/pages/frame/changeStaffPwd',
          component: () => import('@/views/user/login/updatePwd.vue')
        },
        {
          path: '/pages/dev/jobManage',
          name: '/pages/dev/jobManage',
          component: () => import('@/views/dev/taskList.vue')
        },
        {
          path: '/pages/dev/attrSpecManage',
          name: '/pages/dev/attrSpecManage',
          component: () => import('@/views/dev/attrSpecList.vue')
        },
        {
          path: '/views/dev/attrValueList',
          name: '/pages/dev/attrValueList',
          component: () => import('@/views/dev/attrValueList.vue')
        },
        {
  
          path: '/pages/frame/orgManage',
          name: '/pages/frame/orgManage',
          component: () => import('@/views/org/orgList.vue')
        },
  
        {
          path: '/pages/frame/staff',
          name: '/pages/frame/staff',
          component: () => import('@/views/staff/staffList.vue')
        },
        {
          path: '/views/staff/addStaff',
          name: '/views/staff/addStaff',
          component: () => import('@/views/staff/addStaff.vue')
        },
        {
          path: '/pages/frame/role',
          name: '/pages/frame/role',
          component: () => import('@/views/role/roleList.vue')
        },
  
  
        {
          path: '/views/staff/staffDetailList',
          name: '/views/staff/staffDetailList',
          component: () => import('@/views/staff/staffDetailList.vue')
        },
  
        {
          path: '/pages/dev/reportCustomGroupManage',
          name: '/pages/dev/reportCustomGroupManage',
          component: () => import('@/views/report/reportCustomGroupManageList.vue')
        },
        {
          path: '/pages/dev/reportCustomManage',
          name: '/pages/dev/reportCustomManage',
          component: () => import('@/views/report/reportCustomManageList.vue')
        },
        {
          path: '/pages/dev/reportCustomComponentManage',
          name: '/pages/dev/reportCustomComponentManage',
          component: () => import('@/views/report/reportCustomComponentManageList.vue')
        },
        {
          path: '/pages/dev/transactionLogManage',
          name: '/pages/dev/transactionLogManage',
          component: () => import('@/views/log/transactionLogManageList.vue')
        },
        {
          path: '/pages/log/mqttLog',
          name: '/pages/log/mqttLog',
          component: () => import('@/views/log/mqttLogList.vue')
        },
        {
          path: '/pages/frame/systemInfoManage',
          name: '/pages/frame/systemInfoManage',
          component: () => import('@/views/system/systemInfoManageList.vue')
        },
        {
          path: '/pages/frame/registerProtocol',
          name: '/pages/frame/registerProtocol',
          component: () => import('@/views/system/registerProtocolList.vue')
        },
        {
          path: '/pages/dev/initializeCommunityManage',
          name: '/pages/dev/initializeCommunityManage',
          component: () => import('@/views/community/initializeCommunityManageList.vue')
        },
        {
          path: '/pages/dev/serviceProvideManage',
          name: '/pages/dev/serviceProvideManage',
          component: () => import('@/views/dev/serviceProvideManageList.vue')
        },
        {
          path: '/views/dev/devServiceProvide',
          name: '/views/dev/devServiceProvide',
          component: () => import('@/views/dev/devServiceProvideList.vue')
        },
        {
          path: '/views/report/reportCustomComponentRelManage',
          name: '/views/report/reportCustomComponentRelManage',
          component: () => import('@/views/report/reportCustomComponentRelManageList.vue')
        },
        {
          path: '/views/report/componentConditionManage',
          name: '/views/report/componentConditionManage',
          component: () => import('@/views/report/componentConditionManageList.vue')
        },
        {
          path: '/views/report/reportCustomComponentFooterManage',
          name: '/views/report/reportCustomComponentFooterManage',
          component: () => import('@/views/report/reportCustomComponentFooterManageList.vue')
        },
        {
          path: '/pages/dev/transactionOutLog',
          name: '/pages/dev/transactionOutLog',
          component: () => import('@/views/log/transactionOutLogList.vue')
        },
        {
          path: '/pages/common/communityManage',
          name: '/pages/common/communityManage',
          component: () => import('@/views/community/communityManageList.vue')
        },
        {
          path: '/pages/admin/propertyCompanyManage',
          name: '/pages/admin/propertyCompanyManage',
          component: () => import('@/views/store/propertyCompanyManageList.vue')
        },
        {
          path: '/views/community/propertyCommunity',
          name: '/views/community/propertyCommunity',
          component: () => import('@/views/community/propertyCommunityList.vue')
        },
        {
          path: '/pages/community/cityArea',
          name: '/pages/community/cityArea',
          component: () => import('@/views/community/cityAreaList.vue')
        },
        {
          path: '/pages/admin/merchantManage',
          name: '/pages/admin/merchantManage',
          component: () => import('@/views/mall/merchantManageList.vue')
        },
        {
          path: '/pages/admin/shopManage',
          name: '/views/mall/shopManage',
          component: () => import('@/views/mall/shopManageList.vue')
        },
        {
          path: '/pages/admin/shopCommunity',
          name: '/pages/admin/shopCommunity',
          component: () => import('@/views/mall/shopCommunityList.vue')
        },
        {
          path: '/pages/staff/systemUser',
          name: '/pages/staff/systemUser',
          component: () => import('@/views/staff/systemUserList.vue')
        },
        {
          path: '/views/staff/systemUserDetail',
          name: '/views/staff/systemUserDetail',
          component: () => import('@/views/staff/systemUserDetailList.vue')
        },
        {
          path: '/pages/staff/storeStaff',
          name: '/pages/staff/storeStaff',
          component: () => import('@/views/staff/storeStaffList.vue')
        },
        {
          path: '/views/staff/adminStaffDetail',
          name: '/views/staff/adminStaffDetail',
          component: () => import('@/views/staff/adminStaffDetail.vue')
        },
        {
          path: '/pages/community/adminRoom',
          name: '/pages/community/adminRoom',
          component: () => import('@/views/community/adminRoomList.vue')
        },
        {
          path: '/pages/owner/adminOwner',
          name: '/pages/owner/adminOwner',
          component: () => import('@/views/owner/adminOwnerList.vue')
        },
        {
          path: '/pages/car/adminCar',
          name: '/pages/car/adminCar',
          component: () => import('@/views/car/adminCarList.vue')
        },
        {
          path: '/pages/owner/adminAuthOwner',
          name: '/pages/owner/adminAuthOwner',
          component: () => import('@/views/owner/adminAuthOwnerList.vue')
        },
        {
          path: '/pages/owner/adminAccount',
          name: '/pages/owner/adminAccount',
          component: () => import('@/views/account/adminAccountList.vue')
        },
        {
          path: '/views/account/adminAccountDetail',
          name: '/views/account/adminAccountDetail',
          component: () => import('@/views/account/adminAccountDetailList.vue')
        },
        {
          path: '/pages/fee/adminFeeConfig',
          name: '/pages/fee/adminFeeConfig',
          component: () => import('@/views/fee/adminFeeConfigList.vue')
        },
        {
          path:'/pages/resource/adminEquipment',
          name:'/pages/resource/adminEquipment',
          component: () => import('@/views/resource/adminEquipmentList.vue')
          },
          {
            path:'/pages/fee/adminRoomFee',
            name:'/pages/fee/adminRoomFee',
            component: () => import('@/views/fee/adminRoomFeeList.vue')
            },
        // 其他子路由可以在这里添加
      ]
    },
    {
      path: '/views/user/login',
      name: 'views/user/login',
      component: Login,
      meta: {
        title: '登陆页面',
        icon: 'el-icon-s-home'
      }
    }
  ]
  
  const router = new VueRouter({
    routes
  })
  
  // 路由守卫
  router.beforeEach((to, from, next) => {
    // 排除静态资源路径
    if (to.path.startsWith('/img/') || to.path.startsWith('/static/')) {
      return next(); // 直接放行
    }
    const token = localStorage.getItem('token')
    if (to.path !== '/views/user/login' && !token) {
      next('/views/user/login')
    } else {
      let _title = to.meta.title;
      if (!_title) {
        _title = '物业官网平台'
      } else {
        _title = _title + ' - 物业官网平台'
      }
      document.title = _title
      next()
    }
  })
  
  export default router