import md5 from 'md5'
|
import moment from 'moment'
|
import * as Type from './action-type'
|
|
let _mainMenu = null
|
let _url = window.location.href.split('#')[0]
|
let _collapse = localStorage.getItem('collapse') === 'true'
|
let _level = 10
|
let _Mlevel = sessionStorage.getItem('Member_Level')
|
|
if (_Mlevel) {
|
if (_Mlevel === md5('mksoft' + moment().format('YYYYMM') + 10)) {
|
_level = 10
|
} else if (_Mlevel === md5('mksoft' + moment().format('YYYYMM') + 20)) {
|
_level = 20
|
} else if (_Mlevel === md5('mksoft' + moment().format('YYYYMM') + 30)) {
|
_level = 30
|
}
|
}
|
if (localStorage.getItem(_url + '-sideHidden') === 'true') {
|
_mainMenu = ''
|
}
|
|
let defaultState = {
|
menuTree: null, // 菜单结构树
|
mainMenu: _mainMenu, // 已选主菜单
|
collapse: _collapse, // 是否收起侧边栏导航
|
isiframe: false, // 是否为iframe窗口
|
editLevel: null, // 编辑菜单级别,值为level1、level2、level3、HS
|
permAction: {}, // 用户按钮权限
|
permMenus: [], // 用户三级菜单列表
|
memberLevel: _level, // 会员等级
|
}
|
|
// 用户消息
|
export default (state = defaultState, action = {}) => {
|
switch (action.type) {
|
case Type.Toggle_COLLAPSE:
|
// 切换菜单栏展开合并状态
|
return {
|
...state,
|
collapse: action.collapse
|
}
|
case Type.MODIFY_MENUTREE:
|
// 初始化菜单信息
|
return {
|
...state,
|
menuTree: action.menuTree
|
}
|
case Type.MODIFY_MAINMENU:
|
// 切换主菜单
|
return {
|
...state,
|
mainMenu: action.mainMenu
|
}
|
case Type.TOGGLE_ISIFRAME:
|
// 切换是否为iframe状态
|
return {
|
...state,
|
isiframe: action.isiframe
|
}
|
case Type.RESET_EDITLEVEL:
|
// 重置编辑级别
|
return {
|
...state,
|
editLevel: action.editLevel
|
}
|
case Type.INIT_ACTIONPERMISSION:
|
// 初始化按钮权限
|
return {
|
...state,
|
permAction: action.permAction
|
}
|
case Type.INIT_MENUPERMISSION:
|
// 初始化三级菜单权限
|
return {
|
...state,
|
permMenus: action.permMenus
|
}
|
case Type.MODIFY_MEMBERLEVEL:
|
// 修改会员等级
|
return {
|
...state,
|
memberLevel: action.memberLevel
|
}
|
case Type.LOGOUT:
|
return {
|
menuTree: null,
|
mainMenu: null,
|
collapse: localStorage.getItem('collapse') === 'true',
|
isiframe: false,
|
editLevel: null,
|
permAction: {},
|
permMenus: [],
|
}
|
default:
|
return state
|
}
|
}
|