chenjunkai 7 жил өмнө
parent
commit
528771c50c

+ 8 - 4
Ansjer/urls.py

@@ -72,10 +72,6 @@ urlpatterns = [
     url(r'^perms/modifyPerms$', PermissionManager.modifyPermsView.as_view(), name=u'modify_Perms'),
     url(r'^permsManager/queryRolePerms$', PermissionManager.queryRolePermsView.as_view(), name=u'query_Role_Perms'),
 
-    # url(r'^api-token-auth$', obtain_jwt_token),
-    # url(r'^api-token-refresh$', refresh_jwt_token),
-    # url(r'^api-token-verify$', verify_jwt_token),
-
     url(r'^uploads/upgrade$', OTAEquipment.getUploadFiletoDirView.as_view(), name=u'upload_upgrade'),
     url(r'^upgrade/download/(\w+.[^_w]*\w+.\w+)$', CheckUserData.download_file, name='download_upgrade'),
     url(r'^downloads/upgrade/(\w+)/(\w+.[^_w]*\w+.\w+)$', OTAEquipment.downloadUpdataFileUrlInterface,
@@ -127,6 +123,14 @@ urlpatterns = [
     # 上传操作文档
     url(r'^HelpCHM/upload$', LogManager.upload_help_chm, name=u'upload_help'),
     url(r'^admin/userIDs$', AdminManage.getUserIds, name=u'getUserIds'),
+    # 统计访问日志路径
+    path('access/staticPath/', AccessLog.statisticsPath),
+
+
+
+
+
+
 
     # 测试专用api
     url('Test', Test.Test.as_view(), name=u'Test'),

+ 29 - 1
Controller/AccessLog.py

@@ -3,15 +3,17 @@ from django.utils.decorators import method_decorator
 from django.views.decorators.csrf import csrf_exempt
 from Service.TokenManager import JSONTokenManager
 from Service.ModelService import ModelService
+from Service.TemplateService import TemplateService
 from Model.models import Access_Log
 import datetime
-from var_dump import var_dump
 from Service.ResponseService import *
 
 '''
 http://192.168.136.40:8077/accesslog?operation=queryByAdmin&token=test&page=1&line=5&order=-id
 http://192.168.136.40:8077/accesslog?operation=truncateByAdmin&token=test
 http://192.168.136.40:8077/accesslog?operation=searchByAdmin&token=test&page=1&line=10&content={"status":20}&order=-id
+
+http://192.168.136.40:8077/access/staticPath/?token=stest
 '''
 
 
@@ -124,3 +126,29 @@ class AccessLog(View):
                 return ResponseJSON(404)
         else:
             return ResponseJSON(444)
+
+@csrf_exempt
+def statisticsPath(request):
+    if request.method == 'GET':
+        request_dict = request.GET
+    if request.method == 'POST':
+        request_dict = request.POST
+    token = request_dict.get('token', None)
+    if token is not None:
+        tokenManager = JSONTokenManager()
+        error_code = tokenManager.verify_AToken(token)
+        if error_code == 0:
+            userID = tokenManager.accessDict.get('userID', None)
+            own_perm = ModelService.check_permission(userID,10)
+            if own_perm is True:
+                paths = TemplateService.log_api()
+                datas={}
+                for path in paths:
+                    count = Access_Log.objects.filter(operation=path).count()
+                    datas[path] = count
+                return ResponseJSON(0,{'datas':datas})
+            return ResponseJSON(444)
+        else:
+            return HttpResponse(tokenManager.errorCodeInfo(error_code))
+    else:
+        return ResponseJSON(311)