12.31开源admin代码更新
This commit is contained in:
@@ -1,3 +1,13 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
const getters = {
|
||||
sidebar: state => state.app.sidebar,
|
||||
size: state => state.app.size,
|
||||
@@ -10,6 +20,8 @@ const getters = {
|
||||
introduction: state => state.user.introduction,
|
||||
roles: state => state.user.roles,
|
||||
permission_routes: state => state.permission.routes,
|
||||
permissions: state => state.user.permissions,
|
||||
sidebarRouters: state => state.permission.sidebarRouters,
|
||||
errorLogs: state => state.errorLog.logs,
|
||||
isLogin: state => state.user.isLogin
|
||||
}
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
import getters from './getters'
|
||||
@@ -16,7 +26,6 @@ const modules = modulesFiles.keys().reduce((modules, modulePath) => {
|
||||
modules[moduleName] = value.default
|
||||
return modules
|
||||
}, {})
|
||||
|
||||
const store = new Vuex.Store({
|
||||
modules,
|
||||
getters
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
import Cookies from 'js-cookie'
|
||||
|
||||
const state = {
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
const state = {
|
||||
logs: []
|
||||
}
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
import { asyncRoutes, constantRoutes } from '@/router'
|
||||
import * as categoryApi from '@/api/categoryApi.js'
|
||||
import * as roleApi from '@/api/roleApi.js'
|
||||
import * as Auth from '@/libs/wechat';
|
||||
|
||||
/**
|
||||
* Use meta.role to determine if the current user has permission
|
||||
* @param roles
|
||||
* @param route
|
||||
*/
|
||||
// function hasPermission(roles, route) {
|
||||
// if (route.meta && route.meta.roles) {
|
||||
// return roles.some(role => route.meta.roles.includes(role))
|
||||
// } else {
|
||||
// return true
|
||||
// }
|
||||
// }
|
||||
import {formatRoutes} from '@/utils/parsing'
|
||||
|
||||
/**
|
||||
* Filter asynchronous routing tables by recursion
|
||||
@@ -26,28 +23,20 @@ export function filterAsyncRoutes(routes, roles) {
|
||||
|
||||
routes.forEach(route => {
|
||||
const tmp = { ...route }
|
||||
// if (hasPermission(roles, tmp)) {
|
||||
if (tmp.child) {
|
||||
tmp.child = filterAsyncRoutes(tmp.child, roles)
|
||||
}
|
||||
res.push(tmp)
|
||||
// }
|
||||
})
|
||||
|
||||
return res
|
||||
// let res = []
|
||||
// for(let i=0; i< menuData.length; i++){
|
||||
// let menu = menuData[i]
|
||||
// res.push(...routes.filter(route => {
|
||||
// return menu === route.name
|
||||
// }))
|
||||
// }
|
||||
// return res
|
||||
}
|
||||
|
||||
const state = {
|
||||
routes: [],
|
||||
addRoutes: []
|
||||
addRoutes: [],
|
||||
topbarRouters: [],
|
||||
sidebarRouters: []
|
||||
}
|
||||
|
||||
const mutations = {
|
||||
@@ -55,7 +44,13 @@ const mutations = {
|
||||
state.addRoutes = routes
|
||||
// state.routes = constantRoutes.concat(routes)
|
||||
state.routes = routes
|
||||
}
|
||||
},
|
||||
SET_TOPBAR_ROUTES: (state, routes) => {
|
||||
state.topbarRouters = routes
|
||||
},
|
||||
SET_SIDEBAR_ROUTERS: (state, routes) => {
|
||||
state.sidebarRouters = routes
|
||||
},
|
||||
}
|
||||
|
||||
const actions = {
|
||||
@@ -63,14 +58,22 @@ const actions = {
|
||||
return new Promise(async resolve => {
|
||||
let accessedRoutes = []
|
||||
let menus= []
|
||||
const { rules } = await roleApi.getRoleById(roleid)
|
||||
// const menus = await categoryApi.categroyByIds({ ids: rules })
|
||||
const menusAll = await roleApi.menuListApi()
|
||||
// const { rules } = await roleApi.getRoleById(roleid)
|
||||
let menusAll = await roleApi.menuListApi()
|
||||
menusAll = formatRoutes(menusAll)
|
||||
|
||||
!Auth.isPhone() ? menus = menusAll.filter(item => item.url !== '/javaMobile') : menus = menusAll.filter(item => item.url === '/javaMobile')
|
||||
const _routerResult = comRouter(menus, asyncRoutes)
|
||||
accessedRoutes = filterAsyncRoutes(_routerResult, rules)
|
||||
accessedRoutes = filterAsyncRoutes(_routerResult)
|
||||
// todo 这里控制是否过滤路由,经测试有些菜单不能予以设置,比如系统设置等等
|
||||
this.state.settings.showSettings = false
|
||||
commit('SET_ROUTES', menus)
|
||||
commit('SET_TOPBAR_ROUTES', menus)
|
||||
if(this.state.settings.topNav){
|
||||
commit('SET_SIDEBAR_ROUTERS', state.sidebarRouters.length ? state.sidebarRouters : menus[0].child)
|
||||
}else{
|
||||
commit('SET_SIDEBAR_ROUTERS', menus)
|
||||
}
|
||||
// resolve(menus)
|
||||
// commit('SET_ROUTES', accessedRoutes)
|
||||
resolve(accessedRoutes)
|
||||
|
||||
@@ -1,22 +1,33 @@
|
||||
import variables from '@/styles/element-variables.scss'
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
import defaultSettings from '@/settings'
|
||||
|
||||
const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings
|
||||
|
||||
import Cache from '@/plugins/cache'
|
||||
const { showSettings, tagsView, fixedHeader, sidebarLogo,topNav,sideTheme,navIcon } = defaultSettings
|
||||
const storageSetting = Cache.local.has('layout-setting') ? Cache.local.getJSON('layout-setting') : '';
|
||||
const state = {
|
||||
theme: variables.theme,
|
||||
theme: storageSetting.theme || '#409EFF',
|
||||
sideTheme:storageSetting.sideTheme || sideTheme,
|
||||
topNav:storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
|
||||
showSettings: showSettings,
|
||||
tagsView: tagsView,
|
||||
fixedHeader: fixedHeader,
|
||||
sidebarLogo: sidebarLogo
|
||||
tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView,
|
||||
fixedHeader: storageSetting.fixedHeader === undefined ? fixedHeader : storageSetting.fixedHeader,
|
||||
sidebarLogo: storageSetting.sidebarLogo === undefined ? sidebarLogo : storageSetting.sidebarLogo,
|
||||
navIcon: storageSetting.navIcon === undefined ? navIcon : storageSetting.navIcon
|
||||
}
|
||||
|
||||
const mutations = {
|
||||
CHANGE_SETTING: (state, { key, value }) => {
|
||||
if (state.hasOwnProperty(key)) {
|
||||
state[key] = value
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
const actions = {
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
const state = {
|
||||
visitedViews: [],
|
||||
cachedViews: []
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
import { login, logout, getInfo } from '@/api/user'
|
||||
import { getToken, setToken, removeToken } from '@/utils/auth'
|
||||
import router, { resetRouter } from '@/router'
|
||||
@@ -11,7 +21,8 @@ const state = {
|
||||
avatar: '',
|
||||
introduction: '',
|
||||
roles: [],
|
||||
isLogin: Cookies.get('isLogin')
|
||||
isLogin: Cookies.get('isLogin'),
|
||||
permissions:[],
|
||||
}
|
||||
|
||||
const mutations = {
|
||||
@@ -33,7 +44,10 @@ const mutations = {
|
||||
},
|
||||
SET_ROLES: (state, roles) => {
|
||||
state.roles = roles
|
||||
}
|
||||
},
|
||||
SET_PERMISSIONS: (state, permissions) => {
|
||||
state.permissions = permissions
|
||||
},
|
||||
}
|
||||
|
||||
const actions = {
|
||||
@@ -74,7 +88,6 @@ const actions = {
|
||||
reject('Verification failed, please Login again.')
|
||||
}
|
||||
const { roles, account } = data
|
||||
|
||||
// roles must be a non-empty array
|
||||
if (!roles || roles.length <= 0) {
|
||||
reject('getInfo: roles must be a non-null array!')
|
||||
@@ -85,7 +98,9 @@ const actions = {
|
||||
commit('SET_NAME', account)
|
||||
// commit('SET_AVATAR', avatar)
|
||||
commit('SET_AVATAR', 'http://kaifa.crmeb.net/system/images/admin_logo.png')
|
||||
|
||||
commit('SET_INTRODUCTION', 'CRMEB admin')
|
||||
commit('SET_PERMISSIONS', data.permissionsList) //权限标识
|
||||
resolve(data)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
@@ -99,9 +114,10 @@ const actions = {
|
||||
logout(state.token).then(() => {
|
||||
commit('SET_TOKEN', '')
|
||||
commit('SET_ROLES', [])
|
||||
commit('SET_PERMISSIONS', [])
|
||||
removeToken()
|
||||
resetRouter()
|
||||
localStorage.clear();
|
||||
// localStorage.clear();
|
||||
Cookies.remove('storeStaffList')
|
||||
Cookies.remove('JavaInfo')
|
||||
sessionStorage.removeItem('token')
|
||||
|
||||
Reference in New Issue
Block a user