|
|
|
|
@ -0,0 +1,44 @@
|
|
|
|
|
import Cookie from "js-cookie";
|
|
|
|
|
export default {
|
|
|
|
|
state:{
|
|
|
|
|
isCollapse:false ,//控制菜单的展开和收起
|
|
|
|
|
menu:[] //菜单权限
|
|
|
|
|
},
|
|
|
|
|
mutations:{
|
|
|
|
|
//修改菜单展开和收起的方法
|
|
|
|
|
collapseMenu(state){
|
|
|
|
|
state.isCollapse = !state.isCollapse
|
|
|
|
|
},
|
|
|
|
|
//设置menu数据
|
|
|
|
|
setMenu(state,val){
|
|
|
|
|
state.menu = val
|
|
|
|
|
Cookie.set('menu',JSON.stringify(val))
|
|
|
|
|
},
|
|
|
|
|
//动态注册路由
|
|
|
|
|
addMenu(state,router){
|
|
|
|
|
//判断当前缓存中是否有数据
|
|
|
|
|
if(!Cookie.get('menu')) return
|
|
|
|
|
const menu = JSON.parse(Cookie.get('menu')) //数据转成数组
|
|
|
|
|
state.menu = menu
|
|
|
|
|
//组装动态路由的数据
|
|
|
|
|
const menuArray = []
|
|
|
|
|
menu.forEach(item => {
|
|
|
|
|
if(item.children){
|
|
|
|
|
item.children = item.children.map(item =>{
|
|
|
|
|
item.component = () => import((`../views/${item.url}`))
|
|
|
|
|
return item
|
|
|
|
|
})
|
|
|
|
|
menuArray.push(...item.children)
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
item.component = () => import((`../views/${item.url}`))
|
|
|
|
|
menuArray.push(item)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
//路由的动态添加
|
|
|
|
|
menuArray.forEach(item => {
|
|
|
|
|
router.addRoute('main',item) //(主路由name,子路由)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|