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
| /**
| * @module main/store/modules/permission
| * @description 权限相关的store
| */
| import utils from '@/plugins/utils'
|
| const cloneDeep = require('lodash.clonedeep')
|
| const state = () => {
| return {
| // 后台返回的菜单包括按钮
| routes: [],
| }
| }
|
| const getters = {
| // 渲染左侧菜单实际需要的结构,不需要按钮
| menus(state) {
| const menus = cloneDeep(state.routes)
| utils.filterMenu(menus)
| return menus
| },
| // 叶子菜单的一维数组,并且带上菜单的完整路径
| leafMenus(state) {
| return utils.filterMenu2LeafArray(state.routes)
| },
| // 按钮权限一维数组
| menuPermissions(state) {
| return utils.filterMenuPermissions(state.routes)
| },
| }
|
| const actions = {}
|
| const mutations = {
| SET_ROUTES(state, menus) {
| state.routes = menus
| },
| }
|
| export default {
| namespaced: true,
| state,
| getters,
| actions,
| mutations,
| }
|
|