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

修改sts证书存储起来

chenjunkai 6 жил өмнө
parent
commit
e6ba1ffa85

+ 8 - 2
Ansjer/local_settings.py

@@ -74,12 +74,18 @@ WSGI_APPLICATION = 'Ansjer.local_wsgi.application'
 # 服务器类型
 DATABASE_DATA = 'AnsjerLocal'
 SERVER_HOST = '192.168.136.45'
+DATABASES_USER = 'ansjer'
+DATABASES_PASS = '1234'
+# DATABASE_DATA = 'AnsjerLocal'
+# SERVER_HOST = 'ansjertest.clraczw4p0yj.us-west-1.rds.amazonaws.com'
+# DATABASES_USER = 'root'
+# DATABASES_PASS = 'ansjer999999'
 
 DATABASES = {'default': {
     'ENGINE': 'django.db.backends.mysql',
     'NAME': DATABASE_DATA,
-    'USER': 'ansjer',
-    'PASSWORD': '1234',
+    'USER': DATABASES_USER,
+    'PASSWORD': DATABASES_PASS,
     'HOST': SERVER_HOST,
     'PORT': '3306',
     'OPTIONS': {'charset': 'utf8mb4', 'use_unicode': True, 'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"},

+ 17 - 4
Controller/CloudVod.py

@@ -28,7 +28,7 @@ import urllib
 
 from Ansjer.config import OSS_BUCKET_ENDPOINT, OSS_BUCKET_VOD_LIST, OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, \
     OSS_REGION_ID, OSS_ROLE_ARN, SERVER_DOMAIN
-from Model.models import Device_Meal, Device_Info, Order_Model, Store_Meal, VodHlsModel
+from Model.models import Device_Meal, Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.UidTokenObject import UidTokenObject
@@ -196,11 +196,20 @@ class CloudVodView(View):
         print(channel)
         print(UID)
         qs = Device_Meal.objects.filter(uid=UID, channel=channel, status=1).values("rank", "channel", "end_time")
+        if not qs.exists():
+            return response.json(10, '设备未购买')
         now_time = timezone.localtime(timezone.now())
         if now_time > qs[0]['end_time']:
             return response.json(10, '已过期')
-        if not qs.exists():
-            return response.json(10, '设备未购买')
+        now_time_stamp = int(time.time())
+        oc_qs = OssCrdModel.objects.filter(uid=UID, channel=channel).values("addTime", "data")
+        if oc_qs.exists():
+            endTime = int(oc_qs[0]["addTime"])+3500
+            if endTime > now_time_stamp:
+                print(endTime)
+                print(now_time_stamp)
+                res = json.loads(oc_qs[0]["data"])
+                return JsonResponse(status=200, data=res)
         # 套餐id
         rank = qs[0]['rank']
         storage = '{uid}/vod{channel}/'.format(uid=UID, channel=channel)
@@ -265,6 +274,10 @@ class CloudVodView(View):
             'storage': storage,
             'ip': ip
         }
+        if oc_qs.exists():
+            oc_qs.update(data=json.dumps(res),addTime=now_time_stamp)
+        else:
+            OssCrdModel.objects.create(uid=UID,channel=channel,data=json.dumps(res),addTime=now_time_stamp)
         return JsonResponse(status=200, data=res)
 
     # 获取设备回放列表
@@ -381,7 +394,7 @@ class CloudVodView(View):
         uidTkUrl = "{SERVER_DOMAIN}cloudVod/getSts?uidToken={uidToken}".format(uidToken=utko.token,
                                                                                SERVER_DOMAIN=SERVER_DOMAIN)
         return response.json(0, {
-            'uidTkUrl':uidTkUrl
+            'uidTkUrl': uidTkUrl
         })
 
     def do_store_palylist(self, request_dict, response):

+ 17 - 0
Model/models.py

@@ -586,3 +586,20 @@ class VodHlsModel(models.Model):
         verbose_name = u'云存回放信息表'
         verbose_name_plural = verbose_name
         ordering = ('-id',)
+
+
+class OssCrdModel(models.Model):
+    id = models.AutoField(primary_key=True, verbose_name='主键')
+    uid = models.CharField(max_length=20, verbose_name='设备UID')
+    channel = models.SmallIntegerField(default=0, verbose_name='通道')
+    data = models.TextField(verbose_name='设备UID')
+    addTime = models.IntegerField(verbose_name='添加事件',default=0)
+
+    def __str__(self):
+        return self.id
+
+    class Meta:
+        db_table = 'osscrd'
+        verbose_name = u'设备证书'
+        verbose_name_plural = verbose_name
+        ordering = ('-id',)

+ 4 - 0
README.md

@@ -1,3 +1,7 @@
+### 软件版本:V1.4.0.218-12-12
+多语言OTA功能
+云存基础架构,付款,签名
+
 ### 软件版本:V1.1.1.218-9-12
 更新内容:
 令牌加密方案使用jwt

+ 1 - 1
templates/hlsvod.html

@@ -10,7 +10,7 @@
 <!-- <script src="https://cdn.jsdelivr.net/npm/hls.js@canary"></script> -->
 <video id="video"></video>
 <script>
-    var url = 'http://cloudvod1.oss-cn-shenzhen.aliyuncs.com/FTSLL8HM437Z38WU111A/vod4/2018121001/1543902118/1543902118.m3u8?x-oss-process=hls%2Fsign&Expires=1544522491&Signature=K8GqjUMS7YJP5vuWR2Z2mqFltrs%3D&OSSAccessKeyId=LTAIyMkGfEdogyL9'
+    var url = 'http://cloudvod1.oss-cn-shenzhen.aliyuncs.com/FTSLL8HM437Z38WU111A/vod4/2018121001/1543902118/1543902118.m3u8?Expires=1544608220&OSSAccessKeyId=LTAIyMkGfEdogyL9&Signature=%2FZ7iTBO%2F0Q8xW7oOfIQWBTTW8gQ%3D&x-oss-process=hls%2Fsign'
     var video = document.getElementById('video');
     if (Hls.isSupported()) {
         var hls = new Hls();