chenjunkai 5 éve
szülő
commit
4f84f04b69
1 módosított fájl, 49 hozzáadás és 3 törlés
  1. 49 3
      Controller/UserController.py

+ 49 - 3
Controller/UserController.py

@@ -2029,7 +2029,8 @@ class alexaAuthView(TemplateView):
         return self.valid_login(user_qs, password, response)
 
     def do_name_login(self, username, password, response):
-        user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username), is_active=True, user_isValid=True)
+        user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username),
+                                             is_active=True, user_isValid=True)
         return self.valid_login(user_qs, password, response)
 
     def valid_login(self, user_qs, password, response):
@@ -2039,12 +2040,57 @@ class alexaAuthView(TemplateView):
         if not check_password(password, users['password']):
             return response.json(111)
         userID = users['userID']
-        uid_qs = Device_Info.objects.filter(userID_id=userID, isExist=1).values('UID', 'NickName','View_Password')
+        uid_qs = Device_Info.objects.filter(userID_id=userID, isExist=1).values('UID', 'NickName', 'View_Password')
         uid_arr = []
         for uid_q in uid_qs:
-            uid_arr.append({'uid': uid_q['UID'], 'nick': uid_q['NickName'],'password':uid_q['View_Password']})
+            uid_arr.append({'uid': uid_q['UID'], 'nick': uid_q['NickName'], 'password': uid_q['View_Password']})
         res = {
             'userID': userID,
             'uid_arr': uid_arr
         }
         return response.json(0, res)
+
+
+# 登出
+class V2LogoutView(TemplateView):
+    @method_decorator(csrf_exempt)
+    def dispatch(self, *args, **kwargs):
+        return super(LogoutView, self).dispatch(*args, **kwargs)
+
+    def post(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        request_dict = request.POST
+        return self.Logout(request_dict)
+
+    def get(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        request_dict = request.GET
+        return self.Logout(request_dict)
+
+    def Logout(self, request_dict):
+        response = ResponseObject()
+        token = request_dict.get('token')
+        tko = TokenObject(token)
+        userID = tko.userID
+        if tko.code == 0:
+            Device_User.objects.filter(userID=tko.userID).update(online=False)
+
+            redisObj = RedisObject(db=3)
+            redisObj.del_data(key=tko.userID)
+            m_code = request_dict.get('m_code', None)
+            if m_code:
+                try:
+                    UidPushModel.objects.filter(userID_id=userID, m_code=m_code).delete()
+                except Exception as e:
+                    pass
+                else:
+                    pass
+            os_type = request_dict.get('os_type', None)
+            appid = request_dict.get('appid', None)
+            udid = request_dict.get('udid', None)
+            tutk_push_url = "http://push.iotcplatform.com/tpns?cmd=mapsync&os={os_type}&appid={appid}&udid={udid}".format(
+                os_type=os_type, appid=appid, udid=udid)
+            res = requests.get(url=tutk_push_url)
+            return response.json(0)
+        else:
+            return response.json(tko.code)