From 8f2bdd2285f34b718fe9c65a66fc4d54c51173aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E5=85=A8?= Date: Mon, 22 Apr 2019 19:26:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E6=80=81=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- seal/settings.py | 2 +- system/urls.py | 5 +++-- system/views.py | 57 ++++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 59 insertions(+), 5 deletions(-) diff --git a/seal/settings.py b/seal/settings.py index ee2aa6d..af1b386 100644 --- a/seal/settings.py +++ b/seal/settings.py @@ -234,7 +234,7 @@ REST_FRAMEWORK = { 'rest_framework.renderers.BrowsableAPIRenderer' #注释掉 可以关闭 api web界面 ), 'DEFAULT_PERMISSION_CLASSES': ( - # 'rest_framework.permissions.AllowAny', + 'rest_framework.permissions.AllowAny', 'rest_framework.permissions.IsAuthenticated', ), 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', diff --git a/system/urls.py b/system/urls.py index 6f1e5e4..ee1d1f2 100644 --- a/system/urls.py +++ b/system/urls.py @@ -1,5 +1,5 @@ from django.urls import path -from system.views import login_view, UserPasswordUpdateView, logout_view, UserInfo, UserLogout +from system.views import login_view, UserPasswordUpdateView, logout_view, UserInfo, UserLogout,MockMenu app_name = "system" @@ -10,5 +10,6 @@ urlpatterns = [ path('api/user_info', UserInfo.as_view()), - path('api/logout', UserLogout.as_view()) + path('api/logout', UserLogout.as_view()), + path('mock_menu',MockMenu.as_view()) ] diff --git a/system/views.py b/system/views.py index 710f593..464c177 100644 --- a/system/views.py +++ b/system/views.py @@ -34,7 +34,8 @@ class UserInfo(APIView): result = { 'name': obj.username, 'user_id': obj.id, - 'access': list(obj.get_all_permissions())+['admin'] if obj.is_superuser else list(obj.get_all_permissions()), + 'access': list(obj.get_all_permissions()) + ['admin'] if obj.is_superuser else list( + obj.get_all_permissions()), 'token': token, 'avatar': 'https://file.iviewui.com/dist/a0e88e83800f138b94d2414621bd9704.png' } @@ -49,11 +50,63 @@ class UserLogout(APIView): obj = Token.objects.get(key=token) obj.delete() result = { - "status": True + "status": True } return HttpResponse(json.dumps(result)) +class MockMenu(APIView): + + def post(self, request): + result = [ + + { + "path": '/assets', + "name": 'assets', + "meta": { + "icon": 'md-menu', + "title": '资产管理' + }, + "component": 'Main', + "children": [ + { + 'path': 'ecs', + 'name': 'ecs', + 'meta': { + 'access': ['assets.view_ecs'], + 'icon': 'md-funnel', + 'title': 'ecs' + }, + 'component': 'assets/ecs/ecs-list' + } + ] + }, + { + "path": '/multilevel', + "name": 'multilevel', + "meta": { + "icon": 'md-menu', + "title": '多级菜单' + }, + "component": 'Main', + "children": [ + { + "path": '/level_2_1', + "name": 'level_2_1', + "meta": { + "icon": 'md-funnel', + "title": '二级-1' + }, + "component": 'multilevel/level-2-1' + }, + + ] + } + ] + print(result) + return HttpResponse(json.dumps(result)) + + class CustomBackend(ModelBackend): """ 用户名字/邮箱名字 登录