ShadowController.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import logging
  2. import threading
  3. import time
  4. import requests
  5. from django.http import JsonResponse
  6. from ratelimit.decorators import ratelimit
  7. from AnsjerPush.config import SERVER_TYPE
  8. from Model.models import Device_Info, UidSetModel, UID_Preview, VoicePromptModel, UID_Bucket, UidChannelSetModel, \
  9. AiService, CountryModel
  10. from Object.ETkObject import ETkObject
  11. from Object.ResponseObject import ResponseObject
  12. from Service.CommonService import CommonService
  13. def generate_utk(request):
  14. request.encoding = 'utf-8'
  15. response = ResponseObject()
  16. if request.method == 'GET':
  17. request_dict = request.GET
  18. elif request.method == 'POST':
  19. request_dict = request.POST
  20. else:
  21. return response.json(444, 'wrong method')
  22. username = request_dict.get('username', None)
  23. password = request_dict.get('password', None)
  24. uid = request_dict.get('uid', None)
  25. if username and password:
  26. if username == 'debug_user' and password == 'debug_password':
  27. etkObj = ETkObject(etk='')
  28. etk = etkObj.encrypt(uid)
  29. return response.json(0, {'etk': etk})
  30. else:
  31. return response.json(404)
  32. else:
  33. return response.json(444, 'username password')
  34. # 更新设备影子
  35. def update_device_shadow(request):
  36. return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
  37. def do_request_thread(domain_name_list, data):
  38. for domain_name in domain_name_list:
  39. url = 'http://{}/deviceShadow/update'.format(domain_name)
  40. requests.post(url=url, data=data, timeout=2)