12.31开源admin代码更新

This commit is contained in:
hejinfu1026
2021-12-31 15:58:40 +08:00
parent ad99c24532
commit f5a9772176
545 changed files with 9743 additions and 139371 deletions

View File

@@ -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
}

View File

@@ -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

View File

@@ -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 = {

View File

@@ -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: []
}

View File

@@ -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)

View File

@@ -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 = {

View File

@@ -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: []

View File

@@ -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')