Browse Source

model 代码

chenjunkai 6 years ago
parent
commit
b487ed1c98
1 changed files with 29 additions and 27 deletions
  1. 29 27
      Controller/DeviceShare.py

+ 29 - 27
Controller/DeviceShare.py

@@ -67,40 +67,42 @@ class DeviceShareView(View):
         userqs = Device_User.objects.filter(userID=userID).values('username', 'userEmail', 'phone')
         if dvqs:
             data = {'sharer': userID, 'UID': UID}
-            # share_token = jwt.encode(data, '.#^^&', algorithm='HS256').decode('utf-8')
-            redisObj = RedisObject()
-            share_token = str(int(time.time())) + CommonService.RandomStr(8)
-            if redisObj.set_data(key=share_token, val=json.dumps(data),expire=3600):
-                # share_url = '{SERVER_DOMAIN}deviceShare/confirm?shareToken={shareToken}' \
-                #     .format(SERVER_DOMAIN=SERVER_DOMAIN, shareToken=share_token.decode('utf-8'))
-                # return response.json(0, {'share_url': share_url})
-                if userqs[0]['username']:
-                    share_user = userqs[0]['username']
-                elif userqs[0]['userEmail']:
-                    share_user = userqs[0]['userEmail']
-                elif userqs[0]['phone']:
-                    share_user = userqs[0]['phone']
-                else:
-                    share_user = ''
-                return response.json(0, {
-                    'shareToken': share_token,
-                    'deviceName': dvqs[0]['NickName'],
-                    'shareUser': share_user,
-                })
+            share_token = jwt.encode(data, '.#^^&', algorithm='HS256').decode('utf-8')
+            # redisObj = RedisObject()
+            # share_token = str(int(time.time())) + CommonService.RandomStr(8)
+            # if not redisObj.set_data(key=share_token, val=json.dumps(data),expire=3600):
+            #     return response.json(10,'生成失败')
+            if userqs[0]['username']:
+                share_user = userqs[0]['username']
+            elif userqs[0]['userEmail']:
+                share_user = userqs[0]['userEmail']
+            elif userqs[0]['phone']:
+                share_user = userqs[0]['phone']
             else:
-                return response.json(10,'生成失败')
+                share_user = ''
+            return response.json(0, {
+                'shareToken': share_token,
+                'deviceName': dvqs[0]['NickName'],
+                'shareUser': share_user,
+            })
+
         else:
             return response.json(173)
 
     def do_confirm(self, userID, request_dict, response):
         shareToken = request_dict.get('shareToken', None)
         if shareToken is not None:
-            # data = jwt.decode(shareToken, '.#^^&', algorithms='HS256')
-            redisObj = RedisObject()
-            data_str = redisObj.get_data(key=shareToken)
-            if not data_str:
-                return response.json(404)
-            data = json.loads(data_str)
+            try:
+                data = jwt.decode(shareToken, '.#^^&', algorithms='HS256')
+            except Exception as e:
+                return response.json(10,repr(e))
+            # redisObj = RedisObject()
+            # data_str = redisObj.get_data(key=shareToken)
+            # if not data_str:
+            #     return response.json(404)
+            # else:
+            #     redisObj.del_data(key=shareToken)
+            # data = json.loads(data_str)
             # 分享者userID
             sharer = data.get('sharer', None)
             # 分享的uid