跳到主內容

vue

routes:[
        {
            path: '/login',
            name: 'login',
            component: loginPage,
            beforeEnter: (to, from, next) => {
                Store.dispatch('role/getMe').then(response => {
                    next()
                })
            }
        },
]



===========================================================================



import Vue from 'vue'
import Vuex from 'vuex'
import sms from './modules/sms'
import role from './modules/role'
import group from './modules/group'
import permission from './modules/permission'

Vue.use(Vuex)

const store = new Vuex.Store({
    modules: {
        sms: sms,
        role: role,
        group: group,
        permission: permission
    }
})

export default store



===========================================================================



import axios from 'axios'

const state = {
    permissionList: [],
    permissionDropdownList: [],
    permissionDetail: {}
}

const actions = {
    async getList ({ commit }, params) {
        try {
            const { data: { data, total } } = await axios.get(`api/permissions`, { params })
            commit('SET_PERMISSION_LIST', {
                data,
                total: total
            })
        } catch (err) {
            console.log('get list', err)
        }
    },

    async getDropdownList ({ commit }, params) {
        try {
            const { data: { data, total } } = await axios.get(`api/permissions/dropdownlist`, { params })
            commit('SET_PERMISSION_DROPDOWNLIST', {
                data,
                total: total
            })
        } catch (err) {
            console.log('get dropdown list', err)
        }
    },

}

const mutations = {
    SET_PERMISSION_LIST (state, permissions) {
        state.permissionList = permissions.data
    },
    SET_PERMISSION_DROPDOWNLIST (state, permissions) {
        state.permissionDropdownList = permissions.data
    },
    SET_PERMISSION_DETAIL (state, permission) {
        state.permissionDetail = permission.data.data
    },
}

export default {
    namespaced: true,
    state,
    mutations,
    actions
}