| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | 
							- import datetime
 
- import json
 
- import threading
 
- from django.utils.timezone import utc
 
- from Model.models import Access_Log
 
- from Object.TokenObject import TokenObject
 
- from Service.CommonService import CommonService
 
- from Service.TemplateService import TemplateService
 
- class MiscellService:
 
-     @staticmethod
 
-     def add_access_log(request, status_code):
 
-         asy = threading.Thread(target=add_log_thread, args=(request, status_code))
 
-         asy.start()
 
- def add_log_thread(request, status_code):
 
-     try:
 
-         request.encoding = 'utf-8'
 
-         if request.method == 'GET':
 
-             request_dict = request.GET
 
-         elif request.method == 'POST':
 
-             request_dict = request.POST
 
-         else:
 
-             return
 
-         api_list = TemplateService.log_api()
 
-         request_path = request.path.strip().strip('/')
 
-         if request_path in api_list:
 
-             user = get_access_name(request_dict=request_dict)
 
-             ip = CommonService.get_ip_address(request)
 
-             now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
 
-             password = request_dict.get('userPwd', None)
 
-             if password is not None:
 
-                 request_dict = dict(request_dict)
 
-                 request_dict.pop('userPwd')
 
-             content = json.dumps(request_dict)
 
-             add_data = {
 
-                 'user': user,
 
-                 'ip': ip,
 
-                 'status': status_code,
 
-                 'url': request.META['SERVER_PROTOCOL'] + '-' + request.method + '-' + request.path,
 
-                 'operation': request_path,
 
-                 'time': now_time,
 
-                 'content': content
 
-             }
 
-             Access_Log.objects.create(**add_data)
 
-     except Exception as e:
 
-         print(repr(e))
 
-         pass
 
- def get_access_name(request_dict):
 
-     user_name = request_dict.get('userName', None)
 
-     if user_name:
 
-         return user_name
 
-     email = request_dict.get('email', None)
 
-     if email:
 
-         return email
 
-     phone = request_dict.get('phone', None)
 
-     if phone:
 
-         return phone
 
-     token = request_dict.get('token', None)
 
-     user = ''
 
-     if token is not None:
 
-         tko = TokenObject(token)
 
-         if tko.code == 0:
 
-             user = tko.user
 
-     return user
 
 
  |