Eladmin是一套基于Spring Boot 2.5.2 和 Vue 3.1.3及Element-Plus 开发的开源、易用的后台管理系统,可以帮助开发者们快速构建后端数据服务,前端模型展示。
一、Eladmin侧边栏添加
Eladmin侧边栏是前端页面左侧固定区域,默认支持多级菜单的形式展示,可以通过简单的配置,方便地添加左侧菜单。
使用方法:
在ElAdmin后端管理系统的src/main/mate-inf/resources/static/下找到menu.json文件。
按照以下JSON格式添加菜单:
{ "name": "menu-name", // 菜单名字 "icon": "icon-name", // 菜单图标 "url": "url-name" // 菜单指向页面的路径 }
完整示例代码如下:
{ "name":"仪表盘", "icon":"dashboard", "url":"/dashboard" }, { "name":"系统管理", "icon":"setting", "children":[ { "name": "角色管理", "icon": "", "url": "/system/role" }, { "name": "用户管理", "icon": "", "url": "/system/user" } ] }
二、Eladmin学习视频
请移步官网el-admin涵盖ElAdmin详细教程视频。
三、Eladmin 主题切换
在Eladmin后台管理系统的头部右侧,提供了主题切换功能,可以在线切换主题,不影响后端逻辑的同时,使前端展示更加美观。
使用方法:
在Eladmin 后台管理系统,打开网页,在右上角选择框内选择不同的主题即可快速切换。
四、Eladmin 注解风格
Eladmin 提供了基于注解风格的访问权限控制,可以更好地实现接口级别的权限控制,提高代码运行效率。
使用方法:
可以通过使用@PreAuthorize或@Secured注解来标注一个接口需要哪些角色的访问权限:
@PreAuthorize("hasAnyAuthority('ROLE_ADMIN')") @PostMapping public ApiResponse addUser(@RequestBody UserDto userDto){}
完整示例代码如下:
@Api(tags = "系统:用户管理") @RestController @RequestMapping("/system/user") public class UserController { @Autowired private UserService userService; @RequiresPermissions("system:user:view") @GetMapping public ApiResponse userList(UserQueryCriteria criteria, Pageable pageable){ return ApiResponse.success(userService.queryAll(criteria,pageable)); } // 省略其他接口... }
五、Eladmin 日志记录
Eladmin 提供了基于AOP拦截的日志记录功能,可以实时地记录接口访问情况,便于开发者们进行后续问题定位和解决。
使用方法:
可以通过使用@Log注解来标注一个接口需要记录日志:
@Log("删除字典") @ApiOperation("删除字典") @DeleteMapping(value = "/{id}") public ApiResponse delete(@PathVariable Long id){ dictService.delete(id); return ApiResponse.success(null); }
完整示例代码如下:
@Aspect @Component public class ApiLogAspect { @Autowired private LogRepository logRepository; @Autowired private HttpServletRequest request; private ThreadLocal startTime = new ThreadLocal(); /** * 自定义注解拦截 * @param log */ @Around("@annotation(log)") public Object around(ProceedingJoinPoint joinPoint, Log log) throws Throwable { String username = SecurityUtils.getUsername(); if (log != null) { // 执行方法所花费的时间 long duration = System.currentTimeMillis() - startTime.get(); // 保存日志信息 SysLog sysLog = new SysLog(log.value(), joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName()); sysLog.setUsername(username); sysLog.setTime(duration); sysLog.setCreateTime(new Date()); sysLog.setIp(IpUtils.getIpAddr(request)); logRepository.save(sysLog); } return joinPoint.proceed(); } // @Before,@After,@AfterReturning与上述带注解拦截注解类似,这里不再赘述,可进行class的拦截 }
以上便是Eladmin的介绍及使用教程,希望对于开发者们进行后端数据服务和前端模型展示,提供一些有价值的参考。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/152776.html