新增:新增获取路由信息 API(默认前端动态路由处于关闭状态,可通过[页面配置]>[菜单来源于后台]开启)

1.在页面导航栏中通过[页面配置]>[菜单来源于后台]临时启用,刷新后配置失效
2.在前端项目 src/config/setting.json 中,可通过 menuFromServer 配置永久启用
This commit is contained in:
2023-03-09 00:06:02 +08:00
parent fb0effed9a
commit d8ceda4654
24 changed files with 260 additions and 17 deletions

View File

@@ -16,6 +16,8 @@
package top.charles7c.cnadmin.webapi.controller.auth;
import java.util.List;
import lombok.RequiredArgsConstructor;
import io.swagger.v3.oas.annotations.Operation;
@@ -32,6 +34,7 @@ import cn.hutool.core.bean.BeanUtil;
import top.charles7c.cnadmin.auth.model.request.LoginRequest;
import top.charles7c.cnadmin.auth.model.vo.LoginVO;
import top.charles7c.cnadmin.auth.model.vo.RouteVO;
import top.charles7c.cnadmin.auth.model.vo.UserInfoVO;
import top.charles7c.cnadmin.auth.service.LoginService;
import top.charles7c.cnadmin.common.constant.CacheConsts;
@@ -93,4 +96,12 @@ public class LoginController {
UserInfoVO userInfoVO = BeanUtil.copyProperties(loginUser, UserInfoVO.class);
return R.ok(userInfoVO);
}
@Operation(summary = "获取路由信息", description = "获取登录用户的路由信息")
@GetMapping("/route")
public R<List<RouteVO>> listMenu() {
Long userId = LoginHelper.getUserId();
List<RouteVO> routeTree = loginService.buildRouteTree(userId);
return R.ok(routeTree);
}
}