|
@@ -60,54 +60,11 @@ class Router_frame(BaseModel):
|
|
|
|
|
|
|
|
|
|
|
|
-def get_video_routers(db:Session):
|
|
|
- from utils.video_util import tag_get_video_tag_list
|
|
|
- query = db.query(SysDictData)
|
|
|
- query = query.filter(SysDictData.dict_type == 'video_type')
|
|
|
- query = query.filter(SysDictData.del_flag != '2')
|
|
|
- query = query.order_by(SysDictData.dict_sort)
|
|
|
- # dict_data = db.query(SysDictData).filter_by(dict_type==dict_type and del_flag != '2').all()
|
|
|
- dict_data = query.all()
|
|
|
- # 将模型转换为字典
|
|
|
- dict_data_list = [{
|
|
|
- "component": '4',
|
|
|
- "isVideo":False,
|
|
|
- "hidden": True,
|
|
|
- "name": '4',
|
|
|
- "path": '2',
|
|
|
- # "redirect":'noRedirect',
|
|
|
- # "alwaysShow":True,
|
|
|
- "meta": {
|
|
|
- "title": '附近视频',
|
|
|
- 'icon': 'icon6',
|
|
|
- 'noCache': False,
|
|
|
-
|
|
|
- }
|
|
|
- }]
|
|
|
- for d in dict_data:
|
|
|
- li = tag_get_video_tag_list(db, d.dict_value)
|
|
|
- if len(li) > 0:
|
|
|
- dict_data_list.append({
|
|
|
- "component": d.dict_value or 'Layout',
|
|
|
- "isVideo":True,
|
|
|
- "hidden": True,
|
|
|
- "name": d.dict_value,
|
|
|
- "path": '2',
|
|
|
- # "redirect":'noRedirect',
|
|
|
- # "alwaysShow":True,
|
|
|
- "meta": {
|
|
|
- "title": d.dict_label,
|
|
|
- 'icon': 'icon6',
|
|
|
- 'noCache': False,
|
|
|
-
|
|
|
- }
|
|
|
- })
|
|
|
- return dict_data_list
|
|
|
+
|
|
|
|
|
|
@router.get('/getRouters')
|
|
|
async def getRouters(request: Request, db: Session = Depends(get_db),
|
|
|
body = Depends(remove_xss_json),
|
|
|
- ZT: str = Query(None, max_length=100),
|
|
|
user_id = Depends(valid_access_token)):
|
|
|
try:
|
|
|
# 查询数据库中的所有菜单项,根据 parent_id 排序以构建树形结构
|
|
@@ -115,8 +72,6 @@ async def getRouters(request: Request, db: Session = Depends(get_db),
|
|
|
query = query.filter_by(parent_id=0)
|
|
|
query = query.filter(SysMenuLayer.del_flag != '2')
|
|
|
query = query.filter(SysMenuLayer.status != '1')
|
|
|
- if ZT:
|
|
|
- query = query.filter(SysMenuLayer.layer_template.like(f"%;{ZT};%"))
|
|
|
query = query.order_by(SysMenuLayer.order_num)
|
|
|
|
|
|
menus =query.all() # 顶级菜单
|
|
@@ -154,16 +109,10 @@ async def getRouters(request: Request, db: Session = Depends(get_db),
|
|
|
)
|
|
|
# 如果菜单有子菜单,则递归构建子菜单
|
|
|
if menu.menu_type == 'D' or menu.menu_type == 'Z': # 假设 'M' 表示目录类型
|
|
|
- if menu.menu_id==11684:
|
|
|
- menu_data.children = get_video_routers(db)
|
|
|
- menu_tree.append(menu_data)
|
|
|
- continue
|
|
|
query = db.query(SysMenuLayer)
|
|
|
query = query.filter_by(parent_id=menu.menu_id)
|
|
|
query = query.filter(SysMenuLayer.del_flag != '2')
|
|
|
query = query.filter(SysMenuLayer.status != '1')
|
|
|
- if ZT:
|
|
|
- query = query.filter(SysMenuLayer.layer_template.like(f"%;{ZT};%"))
|
|
|
query = query.order_by(SysMenuLayer.order_num)
|
|
|
# children_menus = db.query(SysMenu).filter_by(parent_id=menu.menu_id).all()
|
|
|
children_menus = query.all()
|
|
@@ -183,12 +132,11 @@ async def getRouters(request: Request, db: Session = Depends(get_db),
|
|
|
for router in routers:
|
|
|
router_info = router.dict()
|
|
|
print(router_info)
|
|
|
- if 'children' in router_info:
|
|
|
- if len(router_info['children'])==0:
|
|
|
- del router_info['children']
|
|
|
- del router_info['redirect']
|
|
|
- del router_info['alwaysShow']
|
|
|
- router_info['path'] = router_info['path'][1:]
|
|
|
+ if len(router_info['children'])==0:
|
|
|
+ del router_info['children']
|
|
|
+ del router_info['redirect']
|
|
|
+ del router_info['alwaysShow']
|
|
|
+ router_info['path'] = router_info['path'][1:]
|
|
|
|
|
|
routers_dict.append(router_info)
|
|
|
# 返回构建好的路由数据
|
|
@@ -209,7 +157,6 @@ async def get_list(
|
|
|
# request: Request,
|
|
|
menuName: str = Query(None, max_length=100),
|
|
|
status: str = Query(None, max_length=100),
|
|
|
- ZT: str = Query(None, max_length=100),
|
|
|
db: Session = Depends(get_db),
|
|
|
body = Depends(remove_xss_json),
|
|
|
user_id = Depends(valid_access_token)
|
|
@@ -221,8 +168,6 @@ async def get_list(
|
|
|
query = query.filter(SysMenuLayer.menu_type=='T')
|
|
|
if status:
|
|
|
query = query.filter(SysMenuLayer.status==status)
|
|
|
- if ZT:
|
|
|
- query = query.filter(SysMenuLayer.layer_template.like(f"%;{ZT};%"))
|
|
|
query = query.order_by(SysMenuLayer.order_num)
|
|
|
# 应用查询
|
|
|
# menu_list = db.query(SysMenu).filter(
|
|
@@ -250,7 +195,7 @@ async def get_list(
|
|
|
"remark": menu.remark,
|
|
|
"createTime": menu.create_time.strftime('%Y-%m-%d %H:%M:%S') if menu.create_time else '',
|
|
|
"children": [] , # 递归调用以获取子菜单
|
|
|
- "ZT":[i for i in menu.layer_template.split(';') if i != ''] if menu.layer_template else []
|
|
|
+ # "layer_template":menu.layer_template
|
|
|
} for menu in menu_list]
|
|
|
|
|
|
|
|
@@ -297,7 +242,7 @@ async def get_list(
|
|
|
"remark": menu.remark,
|
|
|
"createTime": menu.create_time.strftime('%Y-%m-%d %H:%M:%S') if menu.create_time else '',
|
|
|
"children": [], # 递归调用以获取子菜单
|
|
|
- "ZT":[i for i in menu.layer_template.split(';') if i != ''] if menu.layer_template else []
|
|
|
+ # "layer_template":menu.layer_template
|
|
|
}
|
|
|
|
|
|
return {
|
|
@@ -321,7 +266,7 @@ async def create(
|
|
|
# 开始事务
|
|
|
# db.begin()
|
|
|
|
|
|
- layer_template = ';'+';'.join(body['ZT'])+';'
|
|
|
+
|
|
|
# 创建新的菜单层,此时还不能使用new_menu.menu_id,因为它还没有被赋值
|
|
|
new_menu_layer = SysMenuLayer(
|
|
|
menu_name=body['menuName'],
|
|
@@ -338,7 +283,7 @@ async def create(
|
|
|
# perms=body['perms'],
|
|
|
# query_param=body['queryParam'],
|
|
|
create_by=user_id,
|
|
|
- layer_template=layer_template
|
|
|
+ # layer_template=body['layer_template']
|
|
|
)
|
|
|
db.add(new_menu_layer)
|
|
|
|
|
@@ -411,9 +356,8 @@ async def update(
|
|
|
menu.status = body['status']
|
|
|
# if 'layer_visible' in body:
|
|
|
# menu.layer_visible = body['layerVisible']
|
|
|
- if 'ZT' in body:
|
|
|
- layer_template = ';' + ';'.join(body['ZT']) + ';'
|
|
|
- menu.layer_template = layer_template
|
|
|
+ # if 'layer_template' in body:
|
|
|
+ # menu.layer_template = body['layer_template']
|
|
|
|
|
|
menu.update_by = user_id
|
|
|
menu.update_time = datetime.now()
|