123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
- @AUTHOR: ASJRD018
- @NAME: AnsjerFormal
- @software: PyCharm
- @DATE: 2021/07/06 11:17
- @Version: python3.6
- @MODIFY DECORD:ansjer dev
- """
- import json
- import time
- import urllib
- import uuid
- import boto3
- import threading
- import logging
- from boto3.session import Session
- from django.http import JsonResponse, HttpResponseRedirect, HttpResponse
- from django.views.generic.base import View
- from Model.models import Device_Info, Role, MenuModel
- from Object.ResponseObject import ResponseObject
- from Object.TokenObject import TokenObject
- from Object.UidTokenObject import UidTokenObject
- from Service.CommonService import CommonService
- from django.db.models import Q, F
- from time import strftime
- class MenuView(View):
- def get(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- operation = kwargs.get('operation')
- return self.validation(request.GET, request, operation)
- def post(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- operation = kwargs.get('operation')
- return self.validation(request.POST, request, operation)
- def validation(self, request_dict, request, operation):
- language = request_dict.get('language', 'en')
- response = ResponseObject(language, 'pc')
- if operation == '??':
- return 0
- else:
- tko = TokenObject(request.META.get('HTTP_AUTHORIZATION'),returntpye='pc')
- if tko.code != 0:
- return response.json(tko.code)
- response.lang = tko.lang
- userID = tko.userID
- if operation == 'getList':
- return self.getList(userID, request_dict, response)
- else:
- return response.json(404)
- def getList(self, userID, request_dict, response):
- menu_qs = MenuModel.objects.filter(parentId=0);
- list = []
- i = 0
- for menu in menu_qs:
- list.append(
- {
- 'id': menu.id,
- 'parentId': menu.parentId,
- 'path': menu.path,
- 'name': menu.name,
- 'component': menu.component,
- 'meta': {
- 'hidden': menu.hidden,
- 'levelHidden': menu.levelHidden,
- 'title': menu.title,
- 'icon': menu.icon,
- 'isCustomSvg': menu.isCustomSvg,
- 'noKeepAlive': menu.noKeepAlive,
- 'noClosable': menu.noClosable,
- 'badge': menu.badge,
- 'tabHidden': menu.tabHidden,
- 'activeMenu': menu.activeMenu,
- 'dot': menu.dot,
- 'dynamicNewTab': menu.dynamicNewTab,
- 'sort': menu.sort
- }
- }
- )
- menu_qs = MenuModel.objects.all()
- menulist = self.menulist(menu_qs, list)
- return response.json(0, {'list': menulist})
- def menulist(self,menu_qs,list):
- for menulist in list:
- for menu in menu_qs:
- if menulist['id'] == menu.parentId:
- if 'children' not in menulist:
- menulist['children'] = []
- menulist['children'].append(
- {
- 'id': menu.id,
- 'parentId': menu.parentId,
- 'path': menu.path,
- 'name': menu.name,
- 'component': menu.component,
- 'meta': {
- 'hidden': menu.hidden,
- 'levelHidden': menu.levelHidden,
- 'title': menu.title,
- 'icon': menu.icon,
- 'isCustomSvg': menu.isCustomSvg,
- 'noKeepAlive': menu.noKeepAlive,
- 'noClosable': menu.noClosable,
- 'badge': menu.badge,
- 'tabHidden': menu.tabHidden,
- 'activeMenu': menu.activeMenu,
- 'dot': menu.dot,
- 'dynamicNewTab': menu.dynamicNewTab,
- 'sort': menu.sort
- }
- }
- )
- self.menulist(menu_qs,menulist['children'])
- return list
|