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 = { selectedMainMenu: '', // 已选主菜单 tabviews: [], // 导航栏 collapse: _collapse, // 是否收起侧边栏导航 isiframe: false, // 是否为iframe窗口 debug: false, // 知否可以复制菜单参数, 是否可进入编辑模式 editState: false, // 是否为编辑状态,值为false、true editLevel: null, // 编辑菜单级别,值为level1、level2、level3、HS refreshTab: null, // 刷新tabview页面信息 permRoles: [], // 用户角色列表 permAction: {}, // 用户按钮权限 permMenus: {}, // 用户三级菜单权限 permFuncField: [], // 系统模块 sysRoles: [], // 系统角色列表 dataManager: false, // 数据管理员 memberLevel: _level, // 会员等级 customMenu: null // 编辑中的菜单(自定义页面) } // 用户消息 export default (state = defaultState, action = {}) => { switch (action.type) { case Type.Toggle_COLLAPSE: // 切换菜单栏展开合并状态 return { ...state, collapse: action.collapse } case Type.MODIFY_MAINMENU: // 切换主菜单 return { ...state, selectedMainMenu: action.selectedMainMenu } 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, ...{ selectedMainMenu: '', tabviews: [], collapse: false, isiframe: false } } case Type.RESET_DEBUG: // 切换debug状态 return { ...state, debug: true } case Type.REFRESH_TABVIEW: // 刷新tab页面 return { ...state, refreshTab: action.refreshTab } case Type.RESET_EDITSTATE: // 重置编辑状态 if (action.editState) { state.tabviews = [] } else { state.tabviews = [{ MenuID: 'home_page_id', MenuName: '首页', selected: true, type: 'Home' }] } return { ...state, editState: action.editState, collapse: false } case Type.RESET_EDITLEVEL: // 重置编辑级别 return { ...state, editLevel: action.editLevel } case Type.INIT_ACTIONPERMISSION: // 初始化按钮权限 return { ...state, permRoles: action.permRoles, permAction: action.permAction } case Type.INIT_PERMISSION: // 初始化角色列表及创建存储过程可用字段 return { ...state, sysRoles: action.sysRoles, permFuncField: action.permFuncField } case Type.INIT_MENUPERMISSION: // 初始化三级菜单权限 return { ...state, permMenus: action.permMenus } case Type.MODIFY_MEMBERLEVEL: // 修改会员等级 return { ...state, memberLevel: action.memberLevel } case Type.MODIFY_DATAMANAGER: // 修改数据权限 return { ...state, dataManager: action.dataManager } case Type.MODIFY_CUSTOMMENU: // 修改自定义菜单信息 return { ...state, customMenu: action.customMenu } case Type.LOGOUT: return { selectedMainMenu: '', tabviews: [], collapse: localStorage.getItem('collapse') === 'true', isiframe: false, debug: false, editState: false, editLevel: null, refreshTab: null, permAction: {}, permFuncField: [], sysRoles: [], permMenus: {}, customMenu: null } default: return state } }