import md5 from 'md5' import moment from 'moment' import * as Type from './action-type' 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 } } let defaultState = { menuTree: null, // 菜单结构树 mainMenu: null, // 已选主菜单 tabviews: [], // 导航栏 collapse: _collapse, // 是否收起侧边栏导航 isiframe: false, // 是否为iframe窗口 editState: false, // 是否为编辑状态,值为false、true editLevel: null, // 编辑菜单级别,值为level1、level2、level3、HS permAction: {}, // 用户按钮权限 permMenus: [], // 用户三级菜单列表 memberLevel: _level, // 会员等级 customMenu: null // 编辑中的菜单(自定义页面) } // 用户消息 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.MODIFY_TABVIEW: // tab页改变 return { ...state, tabviews: action.tabviews } case Type.TOGGLE_ISIFRAME: // 切换是否为iframe状态 return { ...state, isiframe: action.isiframe } case Type.RESET_STATE: // 重置默认参数(退出时) return { ...state, ...{ mainMenu: null, tabviews: [], collapse: false, isiframe: false } } case Type.RESET_EDITSTATE: // 重置编辑状态 return { ...state, tabviews: [], editState: action.editState, collapse: false } case Type.RESET_EDITLEVEL: // 重置编辑级别 return { ...state, editState: true, 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.MODIFY_CUSTOMMENU: // 修改自定义菜单信息 return { ...state, customMenu: action.customMenu } case Type.LOGOUT: return { menuTree: null, mainMenu: null, tabviews: [], collapse: localStorage.getItem('collapse') === 'true', isiframe: false, editState: false, editLevel: null, permAction: {}, permMenus: [], customMenu: null } default: return state } }