返回
适配器模式下eova菜单核心改造优化过程
前端
2023-09-08 18:56:52
eova(伊娃管理后台)是一款开源免费的后端管理系统,拥有丰富的功能和组件,可以快速搭建出管理后台系统。vue+iview-admin是一个基于Vue.js和iView的管理后台前端框架,集成了常用的管理后台组件和页面模板,可以快速开发出美观的管理后台系统。
本次改造的核心是将eova的菜单数据适配到iview-admin的菜单组件中,从而实现eova的菜单功能在iview-admin中的完美展现。
改造步骤如下:
- 安装必要的依赖
npm install vue-router-layout
npm install vue-eova-menu
- 在iview-admin的main.js文件中配置vue-router-layout和vue-eova-menu
import Vue from 'vue'
import VueRouter from 'vue-router'
import VueRouterLayout from 'vue-router-layout'
import VueEovaMenu from 'vue-eova-menu'
Vue.use(VueRouter)
Vue.use(VueRouterLayout)
Vue.use(VueEovaMenu)
const router = new VueRouter({
routes: []
})
const app = new Vue({
router
}).$mount('#app')
- 在iview-admin的src/router/index.js文件中配置eova的菜单数据
import eovaMenuData from 'vue-eova-menu/data/menu.json'
const routes = [
{
path: '/',
component: VueRouterLayout,
redirect: '/dashboard',
children: eovaMenuData
}
]
export default routes
- 在iview-admin的src/components/Sidebar/index.vue文件中使用vue-eova-menu组件
<template>
<div>
<vue-eova-menu :menuData="menuData" />
</div>
</template>
<script>
import { mapState } from 'vuex'
import VueEovaMenu from 'vue-eova-menu'
export default {
components: {
VueEovaMenu
},
computed: {
...mapState({
menuData: state => state.menu.menuData
})
}
}
</script>
- 在iview-admin的src/store/modules/menu.js文件中配置eova的菜单数据
import eovaMenuData from 'vue-eova-menu/data/menu.json'
const state = {
menuData: eovaMenuData
}
const mutations = {
SET_MENU_DATA: (state, menuData) => {
state.menuData = menuData
}
}
const actions = {
setMenuData({ commit }, menuData) {
commit('SET_MENU_DATA', menuData)
}
}
export default {
state,
mutations,
actions
}
经过以上步骤,您就可以将eova的菜单数据适配到iview-admin的菜单组件中,从而实现eova的菜单功能在iview-admin中的完美展现。