// 登录和权限管理相关的JavaScript代码 const auth = { // 存储登录信息 setLoginInfo(loginResponse) { localStorage.setItem('token', loginResponse.token); localStorage.setItem('user', JSON.stringify(loginResponse.user)); localStorage.setItem('roles', JSON.stringify(loginResponse.roles)); localStorage.setItem('menus', JSON.stringify(loginResponse.menus)); }, // 清除登录信息 clearLoginInfo() { localStorage.removeItem('token'); localStorage.removeItem('user'); localStorage.removeItem('roles'); localStorage.removeItem('menus'); }, // 获取用户信息 getUser() { const userStr = localStorage.getItem('user'); return userStr ? JSON.parse(userStr) : null; }, // 获取用户角色 getRoles() { const rolesStr = localStorage.getItem('roles'); return rolesStr ? JSON.parse(rolesStr) : []; }, // 获取用户菜单 getMenus() { const menusStr = localStorage.getItem('menus'); return menusStr ? JSON.parse(menusStr) : []; }, // 生成菜单树 generateMenuTree(menus) { const menuMap = {}; const menuTree = []; // 创建菜单映射 menus.forEach(menu => { menuMap[menu.menuId] = { ...menu, children: [] }; }); // 构建菜单树 menus.forEach(menu => { const menuItem = menuMap[menu.menuId]; if (menu.parentId === 0) { menuTree.push(menuItem); } else { const parentMenu = menuMap[menu.parentId]; if (parentMenu) { parentMenu.children.push(menuItem); } } }); return menuTree; }, // 渲染菜单 renderMenu(menuTree) { const menuHtml = menuTree.map(menu => { if (menu.children && menu.children.length > 0) { return ` ${this.renderMenu(menu.children)} `; } else { return ` ${menu.menuName} `; } }).join(''); return menuHtml; } }; // 导出auth对象 export default auth;