import Vue from 'vue'
|
import VueRouter from 'vue-router'
|
import PageRouter from './page/'
|
import ViewsRouter from './views/'
|
import AvueRouter from './avue-router'
|
import Store from '../store/'
|
Vue.use(VueRouter)
|
//创建路由
|
const createRouter = () => {
|
return new VueRouter({
|
scrollBehavior (to, from, savedPosition) {
|
if (savedPosition) {
|
return savedPosition
|
} else {
|
if (from.meta.keepAlive) {
|
from.meta.savedPosition = document.body.scrollTop
|
}
|
return {
|
x: 0,
|
y: to.meta.savedPosition || 0
|
}
|
}
|
},
|
routes: [...PageRouter, ...ViewsRouter]
|
})
|
}
|
const Router = createRouter()
|
AvueRouter.install(Router, Store)
|
Router.$avueRouter.formatRoutes(Store.state.user.menu, true)
|
// 重置路由
|
export function resetRouter () {
|
const newRouter = createRouter()
|
Router.matcher = newRouter.matcher
|
AvueRouter.install(Router, Store)
|
}
|
export default Router
|