|
@@ -789,3 +789,107 @@ class powerController(TemplateView):
|
|
else:
|
|
else:
|
|
logger.info('请求MQTT下发指令成功')
|
|
logger.info('请求MQTT下发指令成功')
|
|
return JsonResponse({'result_code': '0'})
|
|
return JsonResponse({'result_code': '0'})
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class VesseTest(TemplateView):
|
|
|
|
+ def get(self, request, *args, **kwargs):
|
|
|
|
+ request.encoding = 'utf-8'
|
|
|
|
+ operation = kwargs.get('operation')
|
|
|
|
+ return self.validation(request.GET, operation, request)
|
|
|
|
+
|
|
|
|
+ def post(self, request, *args, **kwargs):
|
|
|
|
+ request.encoding = 'utf-8'
|
|
|
|
+ operation = kwargs.get('operation')
|
|
|
|
+ return self.validation(request.POST, operation, request)
|
|
|
|
+
|
|
|
|
+ def validation(self, request_dict, operation, request):
|
|
|
|
+ response = ResponseObject()
|
|
|
|
+
|
|
|
|
+ if operation == 'get-token': # 获取token
|
|
|
|
+ return self.get_token(response)
|
|
|
|
+ elif operation == 'get-user-id': # 获取userid
|
|
|
|
+ return self.get_user_id(request_dict, response, request)
|
|
|
|
+ elif operation == 'get-user-info': # 获取用户信息
|
|
|
|
+ return self.get_user_info(request_dict, response, request)
|
|
|
|
+
|
|
|
|
+ def get_token(self, response):
|
|
|
|
+ data = {
|
|
|
|
+ 'corpid': 'ww467ec1685e8262e6',
|
|
|
|
+ 'corpsecret': 'IeUoaQ-0hEhEduCQq1zyfVXjfeZpMsThK1nklszRzUY'
|
|
|
|
+ }
|
|
|
|
+ try:
|
|
|
|
+ token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken'
|
|
|
|
+ token_response = requests.get(token_url, params=data)
|
|
|
|
+ if token_response.status_code == 200:
|
|
|
|
+ data = token_response.json()
|
|
|
|
+ access_token = data.get("access_token")
|
|
|
|
+ if access_token:
|
|
|
|
+ return response.json(0, {'access_token': access_token})
|
|
|
|
+ else:
|
|
|
|
+ return response.json(0, "Failed to get AccessToken.")
|
|
|
|
+ else:
|
|
|
|
+ code = token_response.status_code
|
|
|
|
+ content = token_response.content
|
|
|
|
+ return response.json(code, content)
|
|
|
|
+ except requests.exceptions.RequestException as e:
|
|
|
|
+ print(e)
|
|
|
|
+ return response.json(500, repr(e))
|
|
|
|
+
|
|
|
|
+ def get_user_id(self, request_dict, response, request):
|
|
|
|
+ access_token = request_dict.get('access_token', None)
|
|
|
|
+ code = request_dict.get('code', None)
|
|
|
|
+ if not all([access_token, code]):
|
|
|
|
+ return response.json(444, 'error: access_token, code')
|
|
|
|
+ data = {
|
|
|
|
+ 'access_token': access_token,
|
|
|
|
+ 'code': code
|
|
|
|
+ }
|
|
|
|
+ try:
|
|
|
|
+ token_url = 'https://qyapi.weixin.qq.com/cgi-bin/auth/getuserinfo'
|
|
|
|
+ token_response = requests.get(token_url, params=data)
|
|
|
|
+ if token_response.status_code == 200:
|
|
|
|
+ data = token_response.json()
|
|
|
|
+ userid = data.get("userid")
|
|
|
|
+ if userid:
|
|
|
|
+ return response.json(0, {'userid': userid})
|
|
|
|
+ else:
|
|
|
|
+ code = token_response.status_code
|
|
|
|
+ content = token_response.content
|
|
|
|
+ return response.json(code, content)
|
|
|
|
+ except Exception as e:
|
|
|
|
+ print(e)
|
|
|
|
+ return response.json(500, repr(e))
|
|
|
|
+
|
|
|
|
+ def get_user_info(self, request_dict, response, request):
|
|
|
|
+ access_token = request_dict.get('access_token', None)
|
|
|
|
+ userid = request_dict.get('userid', None)
|
|
|
|
+ if not all([access_token, userid]):
|
|
|
|
+ return response.json(444, 'error: access_token, userid')
|
|
|
|
+ data = {
|
|
|
|
+ 'access_token': access_token,
|
|
|
|
+ 'userid': userid
|
|
|
|
+ }
|
|
|
|
+ try:
|
|
|
|
+ token_url = 'https://qyapi.weixin.qq.com/cgi-bin/user/get'
|
|
|
|
+ token_response = requests.get(token_url, params=data)
|
|
|
|
+ if token_response.status_code == 200:
|
|
|
|
+ data = token_response.json()
|
|
|
|
+ userid = data.get("userid")
|
|
|
|
+ name = data.get('name')
|
|
|
|
+ position = data.get('position')
|
|
|
|
+ status = data.get('status')
|
|
|
|
+ if userid:
|
|
|
|
+ url_data = {
|
|
|
|
+ 'userid': userid,
|
|
|
|
+ 'name': name,
|
|
|
|
+ 'position': position,
|
|
|
|
+ 'status': status
|
|
|
|
+ }
|
|
|
|
+ return response.json(0, {'data': url_data})
|
|
|
|
+ else:
|
|
|
|
+ code = token_response.status_code
|
|
|
|
+ content = token_response.content
|
|
|
|
+ return response.json(code, content)
|
|
|
|
+ except Exception as e:
|
|
|
|
+ print(e)
|
|
|
|
+ return response.json(500, repr(e))
|