瀏覽代碼

ts oss meal增加字段

chenjunkai 6 年之前
父節點
當前提交
4b5f8052be
共有 7 個文件被更改,包括 31 次插入21 次删除
  1. 3 1
      Ansjer/test/oss.py
  2. 5 2
      Ansjer/test/osssigput.py
  3. 10 5
      Controller/CloudVod.py
  4. 8 10
      Controller/MealManage.py
  5. 1 1
      Controller/UserController.py
  6. 3 1
      Model/models.py
  7. 1 1
      templates/hlsvod.html

+ 3 - 1
Ansjer/test/oss.py

@@ -19,6 +19,7 @@ import urllib
 
 ###########
 host = "oss-cn-shenzhen.aliyuncs.com"  # just for example
+# host = "hlsvoda.zositech.cn"  # just for example
 
 accessid = 'LTAIyMkGfEdogyL9'
 accesskey = '71uIjpsqVOmF7DAITRyRuc259jHOjO'
@@ -28,8 +29,9 @@ auth = Auth(accessid, accesskey)
 bucket = Bucket(auth, host, bucket_name)
 ######################
 # 生成oss签名url
+
 # url = bucket.sign_url('GET', 'vod/1543902118/1543902118.m3u8', 60 * 60, params={'x-oss-process': 'hls/sign'})
-url = bucket.sign_url('GET', 'vod/1543902584/1543902584.m3u8', 60 * 60, params={'x-oss-process': 'hls/sign'})
+url = bucket.sign_url('GET', 'FTSLL8HM437Z38WU111A/vod4/2018121001/1543902118/1543902118.m3u8', 60 * 60, params={'x-oss-process': 'hls/sign'})
 # url = urllib.parse.unquote(url, encoding='utf-8', errors='replace')
 urllst = url.split('?')
 url_start = urllib.parse.unquote(urllst[0])

+ 5 - 2
Ansjer/test/osssigput.py

@@ -20,9 +20,12 @@ from aliyunsdksts.request.v20150401 import AssumeRoleRequest
 import json
 import oss2
 import base64
+'''
+http://test.dvema.com/cloudVod/getSts?uidToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjaGFubmVsIjoiNCIsInVpZCI6IkZUU0xMOEhNNDM3WjM4V1UxMTFBIn0.wkrwYvIYf5qEukOSTxALSAgSqop-gNBdEvSwScOgYB8
+'''
 
 
-tokenss = {"bucket_name": "cloudvod1", "arn": "acs:ram::1901342792446414:role/stsoss/5ZBU8UD6RHMZJ5JW111A", "endpoint": "oss-cn-shenzhen.aliyuncs.com", "AccessKeyId": "STS.NHCAdgRJxXRDvaDL4VAcYjA7c", "ip": "120.237.157.184", "AccessKeySecret": "ESy53e6b15AnH8XDujGjpxVx5TUXgH8zNhrXdsY3aENL", "storage": "5ZBU8UD6RHMZJ5JW111A/vod2/", "code": 0, "SecurityToken": "CAIS9wJ1q6Ft5B2yfSjIr4v2Ct7Tv5VZ75CvdEf1qDQDTex1hYScgTz2IHFIf3NhAe0bv/kzm2lX7/YYlr0uebV4FXHoM/FQy6Z1rCGeOtOYkpQXEQqzGdn3d1KIAjvXgeV9CoeQFaF0E5XAQlTAkTAJkNmeXD6+XlujHISUgJp8FLo+VRW5ajw0TbUzIRB5+vcHKVzbN/umLnyShXHLXmZlvgdghER166m03re7iHzkgUb91/UeqqnoP5GgdLMMBppkVMqv1+EELciY2SVLuR9R7/U03u4W8jPAo92DBFUIpEi0GdeEz/ExFi9cVIpnOZEd9aHV0uN/traU1f6zqXdsJchZXz7SX5vapMLPA7GSMcsjfrvaIwa0sLfWbMGz6Vh7JytGa0UTK4YDUiYhUUV3FmuFe/X7pA6WO1uZJvLbgP1s4/1c1E71+NeGHV+LToiC3DwQUp1GNBJ0bERHhTG8I/JaLFUTKgM9HdiOUZ50dwtODyh1OMgSjkYagAGfVUONq88xLWe/Sx9AoL/zVbTnZudpYaNPnossXbNGQ52xmtcLclxEnRoTi5WLrqt/KSxtw9fG1HU3XlPFfUDNoteqkgYZV5uHUjxQq9b9Ov0SnbPecRbqCTb1y55KdtxKDVNOcH+62xeHOCA2Ni/yljEtUez9BPMtz1pqRAzHLw==", "Expiration": "2018-12-11T06:32:30Z", "expire": "3600"}
+tokenss = {"code": 0, "AccessKeySecret": "A1TLLTq834TEUXT7pDckQvArstq3nwfTHLqG4xBvghFJ", "bucket_name": "cloudvod1", "expire": "3600", "AccessKeyId": "STS.NH8o6YfLNTGs8s75UMCs4ENj5", "ip": "120.237.157.184", "Expiration": "2018-12-14T09:59:17Z", "SecurityToken": "CAIS9wJ1q6Ft5B2yfSjIr4uNJIzti5Nv44WYOlWG0VUYT/wYqovB1zz2IHFIf3NhAe0bv/kzm2lX7/YYlr1dd6RhYRzkSJcrsaYMoTycOtOYkpQYWEuNGtn3d1KIAjvXgeV9CoeQFaF0E5XAQlTAkTAJkNmeXD6+XlujHISUgJp8FLo+VRW5ajw0TbUzIRB5+vcHKVzbN/umLnyShXHLXmZlvgdghER166m03re7iHzkgUb91/UeqqnoP5GgdLMMBppkVMqv1+EELciY2SVLuR9R7/U03u4W8jPAo92DBFUIpDu6CM7wov1KcFQmVPNqJJMd9aHV0uN/trCU1f6zqXdsJchZXz7SX5vapMLPA7GSMcsjfrvaIwa0sLfWbMGz6Vh7JytGa0UTK4YDUiYhUUV3FmuFe/X7pA6WO1uZJvLbgP1s4/1c1E71+NeGHV+LToiC3DwQUp1GNBJ0bERHhTG8I/JaLFUTKgM9HdiOUZ50dwtODyh1OMgSjkYagAFVlqu9K9oeqNWbBQbdYnGje20BzSjGcKaQ9+keYW4ErhfGpcK/hTZemX4CmtvYeqBnNgo/Qwhm1WeI9E+jdq2Sk390yqTw0scFuNhyhiimU2+HwIgkUNUvgOALvZLklpoaXMTrgANicuTPO5JYXSGj6YgvdoCX8ejHdHCMfA12aQ==", "endpoint": "oss-cn-shenzhen.aliyuncs.com", "storage": "FTSLL8HM437Z38WU111A/vod4/", "arn": "acs:ram::1901342792446414:role/stsoss/FTSLL8HM437Z38WU111A"}
 # 使用RAM账号的AccessKeyId和AccessKeySecret向STS申请临时token。
 
 # 使用临时token中的认证信息初始化StsAuth实例。
@@ -53,7 +56,7 @@ bucket = oss2.Bucket(auth, tokenss['endpoint'], tokenss['bucket_name'])
 # exit()
 
 # bucket.put_object('5ZBU8UD6RHMZJ5JW111A/vod2/3agjj.txt', b'gjjs')
-bucket.put_object('5ZBU8UD6RHMZJ5JW111A/vod2/asdf.txt', b'12345646',headers)
+bucket.put_object('FTSLL8HM437Z38WU111A/vod4/1234.txt', b'12345646',headers)
 exit()
 res = bucket.get_object('1234.txt')
 print(res.read())

+ 10 - 5
Controller/CloudVod.py

@@ -197,14 +197,19 @@ class CloudVodView(View):
         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, '设备未购买')
+            res = {'code': 403}
+            return JsonResponse(status=200,data=res)
+            # return response.json(10, '设备未购买')
         now_time = timezone.localtime(timezone.now())
         if now_time > qs[0]['end_time']:
-            return response.json(10, '已过期')
+            res = {'code': 403}
+            return JsonResponse(status=200, data=res)
+
+
         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
+            endTime = int(oc_qs[0]["addTime"]) + 3500
             if endTime > now_time_stamp:
                 print(endTime)
                 print(now_time_stamp)
@@ -275,9 +280,9 @@ class CloudVodView(View):
             'ip': ip
         }
         if oc_qs.exists():
-            oc_qs.update(data=json.dumps(res),addTime=now_time_stamp)
+            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)
+            OssCrdModel.objects.create(uid=UID, channel=channel, data=json.dumps(res), addTime=now_time_stamp)
         return JsonResponse(status=200, data=res)
 
     # 获取设备回放列表

+ 8 - 10
Controller/MealManage.py

@@ -79,17 +79,12 @@ class MealManage(View):
         price = request_dict.get('price', None)
         content = request_dict.get('content', None)
         day = request_dict.get('day', None)
+        storeDay = request_dict.get('storeDay', None)
         param_flag = CommonService.get_param_flag(data=[title, price, content])
         if param_flag is not True:
-            return response.json(444)
+            return response.json(444,'title,id,price,content,day,storeDay')
         try:
-            store_meal = Store_Meal(
-                id=id,
-                title=title,
-                price=price,
-                content=content,
-                day=day,
-            )
+            store_meal = Store_Meal(id=id,title=title,price=price,content=content,day=day,storeDay=storeDay)
             store_meal.save()
         except Exception:
             errorInfo = traceback.format_exc()
@@ -104,7 +99,8 @@ class MealManage(View):
                     'content': store_meal.content,
                     'day': store_meal.day,
                     'add_time': str(store_meal.add_time),
-                    'update_time': str(store_meal.update_time)})
+                    'update_time': str(store_meal.update_time),
+                    'storeDay':storeDay})
 
     def query(self, request_dict, response):
         page = int(request_dict.get('page', None))
@@ -127,6 +123,7 @@ class MealManage(View):
             title = request_dict.get('title', None)
             price = request_dict.get('price', None)
             day = request_dict.get('day', None)
+            storeDay = request_dict.get('storeDay', None)
             content = request_dict.get('content', None)
 
             param_flag = CommonService.get_param_flag(
@@ -145,6 +142,7 @@ class MealManage(View):
                         store_meal.title = title
                         store_meal.price = price
                         store_meal.content = content
+                        store_meal.storeDay = storeDay
                         store_meal.day = day
                         store_meal.save()
                         return response.json(0, {'update_id': store_meal.id,
@@ -232,7 +230,7 @@ class MealView(View):
             return response.json(414)
 
     def do_query_list(self, response):
-        qs = Store_Meal.objects.all().values("id","title","content","price","day")
+        qs = Store_Meal.objects.all().values("id","title","content","price","day","storeDay")
         if qs.exists():
             # res = CommonService.qs_to_list(qs)
             return response.json(0, list(qs))

+ 1 - 1
Controller/UserController.py

@@ -558,7 +558,7 @@ class v2authCodeView(TemplateView):
         reds = RedisObject()
         identifyingCode = reds.get_data(key=email + '_identifyingCode')
         # 是否以获取邮箱验证码
-        if identifyingCode is True:
+        if identifyingCode:
             return response.json(89)
         user_qs = Device_User.objects.filter(username=email)
         email_qs = Device_User.objects.filter(userEmail=email)

+ 3 - 1
Model/models.py

@@ -459,10 +459,11 @@ class Store_Meal(models.Model):
     title = models.CharField(blank=True, max_length=32, verbose_name=u'标题')
     currency = models.CharField(blank=True,default='USD', max_length=32, verbose_name=u'货币')
     price = models.CharField(blank=True, max_length=32, verbose_name=u'价格')
-    day = models.IntegerField(default=0, blank=True, verbose_name=u'存储时间')
+    day = models.IntegerField(default=0, blank=True, verbose_name=u'套餐天数')
     content = models.TextField(blank=True, null=True, verbose_name=u'描述')
     add_time = models.DateTimeField(blank=True, null=True, verbose_name=u'加入时间', auto_now_add=True)
     update_time = models.DateTimeField(blank=True, verbose_name=u'更新时间', auto_now=True)
+    # storeDay = models.IntegerField(default=0, blank=True, verbose_name=u'存储的天数')
 
     def __str__(self):
         return self.id
@@ -577,6 +578,7 @@ class VodHlsModel(models.Model):
     uid = models.CharField(max_length=20, verbose_name='设备UID')
     channel = models.SmallIntegerField(default=0, verbose_name='通道')
     time = models.IntegerField(verbose_name='播放列表名字时间戳', default=0)
+    endTime = models.IntegerField(verbose_name='结束时间',default=0)
 
     def __str__(self):
         return self.id

+ 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?Expires=1544608220&OSSAccessKeyId=LTAIyMkGfEdogyL9&Signature=%2FZ7iTBO%2F0Q8xW7oOfIQWBTTW8gQ%3D&x-oss-process=hls%2Fsign'
+    var url = 'http://cloudvod1.oss-cn-shenzhen.aliyuncs.com/FTSLL8HM437Z38WU111A/vod4/2018121001/1543902118/1543902118.m3u8?Signature=7V5EbsWhhxVF4HVzw%2BIGEZo67fk%3D&OSSAccessKeyId=LTAIyMkGfEdogyL9&x-oss-process=hls%2Fsign&Expires=1544780759'
     var video = document.getElementById('video');
     if (Hls.isSupported()) {
         var hls = new Hls();