package cn.reghao.bnt.web.admin.service;

import cn.reghao.bnt.web.admin.model.dto.MenuDto;
import cn.reghao.bnt.web.admin.model.po.Menu;
import cn.reghao.bnt.web.admin.model.po.Role;
import cn.reghao.bnt.web.admin.model.vo.MenuTree;
import cn.reghao.bnt.web.admin.model.vo.ResourceTree;
import cn.reghao.jutil.jdk.web.result.Result;

import java.util.List;

/**
 * @author reghao
 * @date 2021-07-21 15:17:14
 */
public interface MenuService {
    Result updateMenu(MenuDto menuDto);
    Result deleteMenu(Integer menuId);
    List<MenuTree> getMenuTreeByRole(Role role);
    List<ResourceTree> getMenuTreeByRole1(Role role);
    List<MenuTree> getDirMenus();
    /**
     * 获取 url 对应的 Role, 不需要认证的 url 则返回空集合
     *
     * @param
     * @return
     * @date 2025-09-30 15:14:16
     */
    List<String> getRolesByUrl(String method, String requestUrl);
    /**
     * 根据用户的角色获取页面侧边栏的树形菜单
     *
     * @param
     * @return
     * @date 2021-09-10 下午6:27
     */
    List<MenuTree> getSideMenus();
    Menu getMenu(String method, String url);
}
