Browse Source

250326-2代码。

baoyubo 3 months ago
parent
commit
f8bd96cdbc
1 changed files with 50 additions and 2 deletions
  1. 50 2
      routers/prod_api/system/menu/__init__.py

+ 50 - 2
routers/prod_api/system/menu/__init__.py

@@ -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: