|
@@ -190,7 +190,49 @@ async def getRouters(request: Request, db: Session = Depends(get_db),
|
|
|
traceback.print_exc()
|
|
|
raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
|
|
|
|
|
|
+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('/qydt/getRouters')
|
|
|
async def getRouters(request: Request, db: Session = Depends(get_db),
|
|
|
body = Depends(remove_xss_json),
|
|
@@ -210,6 +252,7 @@ async def getRouters(request: Request, db: Session = Depends(get_db),
|
|
|
for menu in menus:
|
|
|
menu_data = {
|
|
|
"component": menu.component or 'Layout',
|
|
|
+ "isVideo":False,
|
|
|
"hidden": menu.visible == '1',
|
|
|
"name": menu.path,
|
|
|
"path": '/' + menu.path,
|
|
@@ -227,14 +270,19 @@ async def getRouters(request: Request, db: Session = Depends(get_db),
|
|
|
|
|
|
# 如果菜单有子菜单,则递归构建子菜单
|
|
|
if menu.menu_type == 'M': # 假设 'M' 表示目录类型
|
|
|
+ menu_data['redirect'] = 'noRedirect'
|
|
|
+ menu_data['alwaysShow'] = True
|
|
|
+ if menu.menu_id==11684:
|
|
|
+ menu_data['children']= get_video_routers(db)
|
|
|
+ menu_tree.append(menu_data)
|
|
|
+ continue
|
|
|
query = db.query(SysMenu)
|
|
|
query = query.filter_by(parent_id=menu.menu_id)
|
|
|
query = query.filter(SysMenu.del_flag != '2')
|
|
|
query = query.order_by(SysMenu.order_num.asc())
|
|
|
# children_menus = db.query(SysMenu).filter_by(parent_id=menu.menu_id).all()
|
|
|
children_menus = query.all()
|
|
|
- menu_data['redirect'] = 'noRedirect'
|
|
|
- menu_data['alwaysShow'] = True
|
|
|
+
|
|
|
# print( menu.menu_id)
|
|
|
# children_menus = parent_id_get_menu_info(db, menu.menu_id)
|
|
|
if len(children_menus) > 0:
|