diff --git a/flower_admin_front/src/store/tab.js b/flower_admin_front/src/store/tab.js new file mode 100644 index 0000000..6f6d09c --- /dev/null +++ b/flower_admin_front/src/store/tab.js @@ -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,子路由) + }) + } + } +} \ No newline at end of file