feat: 菜单管理新增路由名称
This commit is contained in:
@@ -17,6 +17,7 @@ class SysMenu(Base):
|
||||
path = Column(String(200), nullable=True, default='', comment='路由地址')
|
||||
component = Column(String(255), nullable=True, default=None, comment='组件路径')
|
||||
query = Column(String(255), nullable=True, default=None, comment='路由参数')
|
||||
route_name = Column(String(50), nullable=True, default='', comment='路由名称')
|
||||
is_frame = Column(Integer, default=1, comment='是否为外链(0是 1否)')
|
||||
is_cache = Column(Integer, default=0, comment='是否缓存(0缓存 1不缓存)')
|
||||
menu_type = Column(String(1), nullable=True, default='', comment='菜单类型(M目录 C菜单 F按钮)')
|
||||
|
@@ -20,6 +20,7 @@ class MenuModel(BaseModel):
|
||||
path: Optional[str] = Field(default=None, description='路由地址')
|
||||
component: Optional[str] = Field(default=None, description='组件路径')
|
||||
query: Optional[str] = Field(default=None, description='路由参数')
|
||||
route_name: Optional[str] = Field(default=None, description='路由名称')
|
||||
is_frame: Optional[Literal[0, 1]] = Field(default=None, description='是否为外链(0是 1否)')
|
||||
is_cache: Optional[Literal[0, 1]] = Field(default=None, description='是否缓存(0缓存 1不缓存)')
|
||||
menu_type: Optional[Literal['M', 'C', 'F']] = Field(default=None, description='菜单类型(M目录 C菜单 F按钮)')
|
||||
|
@@ -341,7 +341,7 @@ class LoginService:
|
||||
children = RouterModel(
|
||||
path=permission.path,
|
||||
component=permission.component,
|
||||
name=permission.path.capitalize(),
|
||||
name=RouterUtil.get_route_name(permission.route_name, permission.path),
|
||||
meta=MetaModel(
|
||||
title=permission.menu_name,
|
||||
icon=permission.icon,
|
||||
@@ -360,7 +360,7 @@ class LoginService:
|
||||
children = RouterModel(
|
||||
path=router_path,
|
||||
component=MenuConstant.INNER_LINK,
|
||||
name=router_path.capitalize(),
|
||||
name=RouterUtil.get_route_name(permission.route_name, permission.path),
|
||||
meta=MetaModel(
|
||||
title=permission.menu_name,
|
||||
icon=permission.icon,
|
||||
@@ -504,11 +504,23 @@ class RouterUtil:
|
||||
:param menu: 菜单数对象
|
||||
:return: 路由名称
|
||||
"""
|
||||
router_name = menu.path.capitalize()
|
||||
# 非外链并且是一级目录(类型为目录)
|
||||
if cls.is_menu_frame(menu):
|
||||
router_name = ''
|
||||
return ''
|
||||
|
||||
return router_name
|
||||
return cls.get_route_name(menu.route_name, menu.path)
|
||||
|
||||
@classmethod
|
||||
def get_route_name(cls, name: str, path: str):
|
||||
"""
|
||||
获取路由名称,如没有配置路由名称则取路由地址
|
||||
|
||||
:param name: 路由名称
|
||||
:param path: 路由地址
|
||||
:return: 路由名称(驼峰格式)
|
||||
"""
|
||||
router_name = name if name else path
|
||||
return router_name.capitalize()
|
||||
|
||||
@classmethod
|
||||
def get_router_path(cls, menu: MenuTreeModel):
|
||||
|
Reference in New Issue
Block a user