#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved. @AUTHOR: ASJRD018 @NAME: Ansjer @software: PyCharm @DATE: 2018/6/7 9:27 @Version: python3.6 @MODIFY DECORD:ansjer dev @file: EquipmentStat.py @Contact: chanjunkai@163.com """ import base64 import urllib.parse from Ansjer.config import BASE_DIR from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt import ipdb from Model.models import Device_Info from Object.ResponseObject import ResponseObject from Service.CommonService import CommonService ''' http://192.168.136.45:8077/device/online?UID=C2887N9EBS87ZAT1111A http://192.168.136.45:8077/device/offline?UID=C2887N9EBS87ZAT1111A http://192.168.136.45:8077/device/updateIP?UID=C2887N9EBS87ZAT1111A?ip=190.9.194.216 ''' @csrf_exempt def EquipmentOnline(request): response = ResponseObject() if request.method == 'GET': request.encoding = 'utf-8' UID = request.GET.get('UID', None) if request.method == 'POST': request.encoding = 'utf-8' UID = request.POST.get('UID', None) qs = Device_Info.objects.filter(UID=UID) if not qs.exists(): return response.json(173) @csrf_exempt def EquipmentOffline(request): response = ResponseObject() if request.method == 'GET': request.encoding = 'utf-8' UID = request.GET.get('UID', None) if request.method == 'POST': request.encoding = 'utf-8' UID = request.POST.get('UID', None) qs = Device_Info.objects.filter(UID=UID) if not qs.exists(): return response.json(173) try: qs.update(Online=False) except Exception as e: print(repr(e)) return response.json(0) @csrf_exempt def updateIP(request): response = ResponseObject() if request.method == 'GET': request.encoding = 'utf-8' request_dict = request.GET if request.method == 'POST': request.encoding = 'utf-8' request_dict = request.POST UID = request_dict.get('UID', None) ip = request_dict.get('ip', None) qs = Device_Info.objects.filter(UID=UID) if not qs.exists(): return response.json(173) area = '' try: area = CommonService.getAddr(ip=ip) qs.update(ip=ip, area=area) except Exception as e: print(repr(e)) return response.json(0, {'area': area}) def getTZ(request): request.encoding = 'utf-8' if request.method == 'GET': request_dict = request.GET elif request.method == 'POST': request_dict = request.POST else: return JsonResponse(status=200, data={'code': 403, 'msg': '接口请求方法错误'}) c = request_dict.get('etk', None) # ip = request_dict.get('ip', None) lang = request_dict.get('lang', None) ip = CommonService.get_ip_address(request) if c: c = base64.b64decode(c) c = c[2:-2] c = urllib.parse.unquote(c.decode('utf-8')) c = base64.b64decode(c) uid = c.decode('utf-8') if len(uid) == 20: db = ipdb.City(BASE_DIR + "/DB/mydata4vipday2.ipdb") info = db.find_map(ip, lang) # tz = info.timezone # of = info.utc_offset # from var_dump import var_dump # var_dump(info) return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': info}) else: return JsonResponse(status=200, data={'code': 404, 'msg': '令牌错误'}) else: return JsonResponse(status=200, data={'code': 444, 'msg': '接口参数错误 etk'})