chenjunkai 6 years ago
parent
commit
3ff53b9030
5 changed files with 62 additions and 14 deletions
  1. 3 0
      Ansjer/urls.py
  2. 1 1
      Controller/DetectController.py
  3. 56 11
      Controller/UserController.py
  4. 1 1
      Controller/UserManger.py
  5. 1 1
      Object/TokenObject.py

+ 3 - 0
Ansjer/urls.py

@@ -120,6 +120,9 @@ urlpatterns = [
     url(r'^EquipmentVersion/(?P<operation>.*)$', EquipmentOTA.EquipmentVersionView.as_view()),
     url(r'^deviceShare/(?P<operation>.*)$', DeviceShare.DeviceShareView.as_view()),
     url(r'^appVer/views$', AppInfo.AppVersionView.as_view()),
+
+    url(r'^user/init$', UserController.InitInfoView.as_view()),
+
     # 新的设备接口
     path('Test', Test.Test.as_view()),
     # 路由加参数参考

+ 1 - 1
Controller/DetectController.py

@@ -62,7 +62,7 @@ class DetectControllerView(View):
             if operation == 'changeStatus':
                 return self.do_change_status(userID, request_dict, response)
             # 查询推送信息
-            if operation == 'queryInfo':
+            elif operation == 'queryInfo':
                 return self.do_query(request_dict, response, userID)
             else:
                 return response.json(414)

+ 56 - 11
Controller/UserController.py

@@ -36,6 +36,8 @@ from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
 from Service.ModelService import ModelService
 from Service.TemplateService import TemplateService
+from Model.models import UID_App
+from django.views.generic import View
 
 
 # 获取验证码
@@ -282,23 +284,32 @@ class LogoutView(TemplateView):
 
     def post(self, request, *args, **kwargs):
         request.encoding = 'utf-8'
-        token = request.POST.get('token')
-        return self.Logout(request, token)
+        request_dict = request.POST
+        return self.Logout(request_dict)
 
     def get(self, request, *args, **kwargs):
         request.encoding = 'utf-8'
-        token = request.GET.get('token')
-        return self.Logout(request, token)
+        request_dict = request.GET
+        return self.Logout(request_dict)
 
-    def Logout(self, request, token):
+    def Logout(self, request_dict):
         response = ResponseObject()
+        token = request_dict.get('token')
         tko = TokenObject(token)
-        if tko.code != 0:
+        if tko.code == 0:
+            Device_User.objects.filter(userID=tko.userID).update(online=False)
+
+            redisObj = RedisObject(db=3)
+            redisObj.del_data(key=tko.userID)
+            token_val = request_dict.get('token_val', None)
+            userID = tko.userID
+            uid_app = UID_App.objects.filter(userID_id=userID, token_val=token_val, status=1)
+            print(uid_app)
+            if uid_app.exists():
+                uid_app.update(status=3)
+            return response.json(0)
+        else:
             return response.json(tko.code)
-        Device_User.objects.filter(userID=tko.userID).update(online=False)
-        redisObj = RedisObject(db=3)
-        redisObj.del_data(key=tko.userID)
-        return response.json(0)
 
 
 # 修改密码
@@ -1077,7 +1088,8 @@ class v2LoginView(TemplateView):
             return response.json(111)
         userID = users['userID']
         tko = TokenObject()
-        res = tko.generate(data={'userID': userID, 'lang': response.lang, 'user': users['username'],'m_code':'123413243214'})
+        res = tko.generate(
+            data={'userID': userID, 'lang': response.lang, 'user': users['username'], 'm_code': '123413243214'})
         if tko.code == 0:
             now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
             user_qs.update(last_login=now_time, language=response.lang)
@@ -1099,3 +1111,36 @@ class v2LoginView(TemplateView):
             return response.json(0, res)
         else:
             return response.json(tko.code)
+
+
+# 用户登录后初始化接口
+class InitInfoView(View):
+
+    def get(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        return self.validation(request.GET)
+
+    def post(self, request, *args, **kwargs):
+        request.encoding = 'utf-8'
+        return self.validation(request.POST)
+
+    def validation(self, request_dict):
+        response = ResponseObject()
+        token = request_dict.get('token', None)
+        tko = TokenObject(token)
+        if tko.code == 0:
+            userID = tko.userID
+            self.init_uid_app(request_dict, userID, response)
+            return response.json(0)
+        else:
+            return response.json(tko.code)
+
+    # 初始化设备token
+    def init_uid_app(self, request_dict, userID, response):
+        token_val = request_dict.get('token_val', None)
+        uid_app = UID_App.objects.filter(userID_id=userID, token_val=token_val, status=3)
+        if uid_app.exists():
+            uid_app.update(status=1)
+            return response.json(0)
+        else:
+            return response.json(0)

+ 1 - 1
Controller/UserManger.py

@@ -375,4 +375,4 @@ class setUserValidView(View):
 
 @csrf_exempt
 def success(request):
-    return HttpResponse(status=200)
+    return HttpResponse(status=200)

+ 1 - 1
Object/TokenObject.py

@@ -21,7 +21,7 @@ class TokenObject:
 
     def __init__(self, token=None):
         if token == 'local':
-            token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySUQiOiIxNTQzOTA5MDUwNDEzMTM4MDAxMzgwMDAiLCJsYW5nIjoiZW4iLCJ1c2VyIjoiMTM4MDAxMzgwMDEiLCJleHAiOjE1NTQ3MTQ2OTJ9.jMVRK8GtkZsTfypykBKOHL7Kyxf3BCs0_FQpmK6fAis'
+            token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySUQiOiIxNTQzOTA5MDUwNDEzMTM4MDAxMzgwMDAiLCJsYW5nIjoiZW4iLCJ1c2VyIjoiMTM4MDAxMzgwMDEiLCJtX2NvZGUiOiIxMjM0MTMyNDMyMTQiLCJleHAiOjE1NTU2NTQ5NzZ9.vRMeHK_RRpJirvO_ceQqnEI6PQ8WUrxFcGdNl7xw3SA'
         if token == 'test':
             token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiMTM4MDAxMzgwMDEiLCJ1c2VySUQiOiIxNTE1NjQyNjIzMzc5Mzk1MTM4MDAxMzgwMDEiLCJsYW5nIjoiZW4iLCJleHAiOjE1NTI2MTIxOTF9.sO8BtSclN6B-qwqNmYWbICatHYEtyMdoqzZ0hcOSsmg'
         self.token = token