Эх сурвалжийг харах

kvs增加询问app是否扫码接口

peng 2 жил өмнө
parent
commit
7f40732e9c

+ 36 - 7
Controller/AWS/KVSController.py

@@ -35,6 +35,8 @@ class UserRelatedView(View):
         response = ResponseObject()
         if operation == 'generate-qr-code':  # 网页生成二维码
             return self.generate_qr_code(response)
+        elif operation == 'get-scanning-status':  # 确认app是否扫码
+            return self.get_scanning_status(request_dict, response)
         elif operation == 'web-login':  # 网页登录
             return self.web_login(request_dict, response)
         elif operation == 'confirm-login':  # app确认登录
@@ -74,9 +76,9 @@ class UserRelatedView(View):
             return response.json(500)
 
     @staticmethod
-    def web_login(request_dict, response):
+    def get_scanning_status(request_dict, response):
         """
-        网页登录
+        获取app扫码状态
         @param request_dict: 请求参数
         @request_dict serial_number: 序列号
         @param response: 响应对象
@@ -88,6 +90,36 @@ class UserRelatedView(View):
         try:
             redis_obj = RedisObject()
             status = redis_obj.get_data(uuid_number)
+            if status is False:
+                return response.json(119)
+            elif status == '0':
+                res = {'status': 0}  # 未扫码
+            else:
+                res = {'status': 1}  # 已扫码
+            return response.json(0, res)
+        except Exception as e:
+            print(e)
+            return response.json(500)
+
+    @staticmethod
+    def web_login(request_dict, response):
+        """
+        网页登录
+        @param request_dict: 请求参数
+        @request_dict serial_number: 序列号
+        @param response: 响应对象
+        @return: response
+        """
+        uuid_number = request_dict.get('uuid', None)
+        confirm = request_dict.get('confirm', None)
+        if not all([uuid_number, confirm]):
+            return response.json(444, {'error param': 'uuid or confirm'})
+        try:
+            redis_obj = RedisObject()
+            if confirm == '1':
+                redis_obj.del_data(uuid_number)
+                return response.json(0)
+            status = redis_obj.get_data(uuid_number)
             if status == '0':
                 return response.json(18)
             elif status is False:
@@ -128,16 +160,13 @@ class UserRelatedView(View):
         """
         uuid_number = request_dict.get('uuid', None)
         token = request_dict.get('token', None)
-        confirm = request_dict.get('confirm', None)
-        if not all([uuid_number, token, confirm]):
-            return response.json(444, {'error param': 'uuid or token or confirm'})
+        if not all([uuid_number, token]):
+            return response.json(444, {'error param': 'uuid or token'})
         redis_obj = RedisObject()
         try:
             status = redis_obj.get_data(uuid_number)
             if status is False:
                 return response.json(119)
-            if confirm == '1':
-                redis_obj.del_data(uuid_number)
             flag = redis_obj.set_ex_data(uuid_number, token, 300)
             if flag is False:
                 return response.json(309)