chenjunkai 5 سال پیش
والد
کامیت
435ca8e36a
3فایلهای تغییر یافته به همراه43 افزوده شده و 16 حذف شده
  1. 38 12
      controller/index.py
  2. 5 3
      model/models.py
  3. 0 1
      templates/login.html

+ 38 - 12
controller/index.py

@@ -19,7 +19,9 @@ from django.shortcuts import render_to_response
 from django.http import JsonResponse
 from object.ResObject import ResObject
 import subprocess
-from gevent.pool import Pool
+# from gevent.pool import Pool
+from model.models import UserModel, UidRtspModel
+from object.tkObject import tkObject
 
 
 class authView(TemplateView):
@@ -34,7 +36,6 @@ class authView(TemplateView):
         return self.validate(request_dict)
 
     def validate(self, request_dict):
-        rq_data = request_dict
         state = request_dict.get("state", '')
         client_id = request_dict.get("client_id", '')
         response_type = request_dict.get("response_type", '')
@@ -75,20 +76,42 @@ class loginHandleView(TemplateView):
         code = user
         print(user)
         print(pwd)
-        auth_request_url = 'http://test.dvema.com/account/login'
-        requests_data = {
-            'userName': user,
-            'userPwd': pwd
-        }
+        # auth_request_url = 'http://test.dvema.com/account/login'
+        auth_request_url = 'http://192.168.136.40:8077/oalexa/auth'
+        requests_data = {'userName': user, 'userPwd': pwd}
         res = requests.post(url=auth_request_url, data=requests_data)
         print(res.json())
         print(res.json()['result_code'])
+        res_json = res.json()
+        if res_json['result_code'] == 0:
+            userID = res_json['result']['userID']
+            uid_arr = res_json['result']['uid_arr']
+            tko = tkObject(tk='', rank=3)
+            token = tko.encrypt(data=userID)
+            nowTime = int(time.time())
+            user_qs = UserModel.objects.filter(userID=userID)
+            userID = user_qs[0].userID
+            if not user_qs.exists():
+                user_qs = UserModel.objects.create(userID=userID, token=token, addTime=nowTime, updTime=nowTime)
+                userID = user_qs.userID
+            querysetlist = []
+            rtko = tkObject(rank=1)
+            UidRtspModel.objects.filter(user_id=userID).delete()
+            for uid_a in uid_arr:
+                rtsp_url = rtko.encrypt(data=uid_a['uid'])
+                create_data = {
+                    'uid': uid_a['uid'],
+                    'nick': uid_a['nick'],
+                    'addTime': nowTime,
+                    'updTime': nowTime,
+                    'user_id': userID,
+                    'rtsp_url': rtsp_url
+                }
+                querysetlist.append(UidRtspModel(**create_data))
+            UidRtspModel.objects.bulk_create(querysetlist)
 
-        if res.json()['result_code'] == 0:
             redirect_uri = redirect_uri + '?code=' + code + '&state=' + state
-            from var_dump import var_dump
-            var_dump(redirect_uri)
-            return response.json(0,res=redirect_uri)
+            return response.json(0, res=redirect_uri)
         else:
             return response.json(0, res={'msg': 'error'})
 
@@ -108,6 +131,8 @@ class oa2TokenView(TemplateView):
 
     def validate(self, request_dict):
         # 增加对code和client_id的校验代码,返回access_token和refresh_token
+        from var_dump import var_dump
+        var_dump(request_dict)
         code = request_dict.get("code", None)
         client_id = request_dict.get("client_id", None)
         access_token = "aaaaaaaaaaaaaaa"
@@ -126,7 +151,8 @@ class oa2TokenView(TemplateView):
 class oa2RtspStartView(TemplateView):
     def post(self, request, *args, **kwargs):
         request.encoding = 'utf-8'
-        request_dict = json.loads(request.body.decode('utf-8'))
+        request_dict = request.POST
+        # request_dict = json.loads(request.body.decode('utf-8'))
         return self.validate(request_dict)
 
     def get(self, request, *args, **kwargs):

+ 5 - 3
model/models.py

@@ -5,8 +5,9 @@ from django.db import models
 
 
 class UserModel(models.Model):
-    userID = models.AutoField(primary_key=True)
-    token = models.CharField(max_length=64, unique=True, default='', verbose_name='用户名')
+    userID = models.CharField(blank=True, max_length=32, primary_key=True,
+                              verbose_name=u'用户ID', unique=True)
+    token = models.CharField(max_length=64, unique=True, default='', verbose_name='令牌')
     addTime = models.IntegerField(verbose_name='添加时间', default=0)
     updTime = models.IntegerField(verbose_name='更新时间', default=0)
 
@@ -22,7 +23,8 @@ class UserModel(models.Model):
 class UidRtspModel(models.Model):
     id = models.AutoField(primary_key=True)
     user = models.ForeignKey(UserModel, verbose_name='用户表id', to_field='userID', on_delete=models.CASCADE)
-    uid = models.CharField(max_length=32, verbose_name=u'设备UID', default='')
+    nick = models.CharField(max_length=32, verbose_name=u'设备昵称', default='')
+    uid = models.CharField(max_length=20, verbose_name=u'设备UID', default='')
     rtsp_url = models.CharField(max_length=128, verbose_name='rtsp流地址', default='')
     addTime = models.IntegerField(verbose_name='添加时间', default=0)
     updTime = models.IntegerField(verbose_name='更新时间', default=0)

+ 0 - 1
templates/login.html

@@ -33,7 +33,6 @@
             var params = "user=" + user.value + "&pwd=" + pwd.value + "&state={{ state }}" + "&client_id={{ client_id }}" +
                 "&response_type={{ response_type }}" + "&scope={{ scope }}" + "&redirect_uri={{ redirect_uri }}";
 
-            alert('1234')
             $.get("/oa2/login", params, function (reUrl) {
                 alert(reUrl);
                 let data = JSON.parse(reUrl)