chenjunkai 6 년 전
부모
커밋
dc2fd8c436
3개의 변경된 파일28개의 추가작업 그리고 7개의 파일을 삭제
  1. 5 4
      Ansjer/test/osssigput.py
  2. 21 2
      Controller/CloudVod.py
  3. 2 1
      requirements.txt

+ 5 - 4
Ansjer/test/osssigput.py

@@ -22,7 +22,7 @@ import oss2
 import base64
 
 
-tokenss = {"AccessKeyId": "STS.NK9QEdKycTqd6JDyprKzbrcLL", "AccessKeySecret": "HXB8Aug13472E8YrvVPC7jSfgAz42dwqHbBZQEQWEWNx", "SecurityToken": "CAIS0wJ1q6Ft5B2yfSjIr4iMGv/QpqZC47OPNGz1nXAnR/VOnabnrjz2IHFIf3NhAe0bv/kzm2lX7/YYlqN4S5ZDR1HCbsJxtmOEMNYwJ9ivgde8yJBZoljMewHKedGSvqL7Z+H+U6mMGJOEYEzFkSle2KbzcS7YMXWuLZyOj+wuDLEQRRLqVSdaI91UKwB+yrcdLmCDGfupPwLnpWDSAUF0wFce71ly8qOi2MaRxwPDhVnhsI8vqp/2P4KvYrsdXuh2WMzn2/dtJOiTknxb7x9X+LlxgPUDu02D3LC8G3Bd7w+LKPGultRkN11CYbUgEKNltIqF95oh4LSVzd+ojU8QYqcMA3j9PNnxmJKfRLn2Z4xlKeinYij3v4rRZsWvgWQNemkGMQ5GQd0lJ0JrBAYkIjOgcf77owqbOlr+GvXZj/hpiMov1Tvz4cGNPEOf5T4EVOPY4vQagAG0T92WVVVpbT+yvK+aV0f1E46g6p/f7/JlQn0v3coLRbl4XfjTWH9NlUNTnYTljAsBRKPaYMZWJQGGSlACgE8pN+AtyZDsyKX8nCvs/utaMxVwcI1fq9GZLlw1MLhOJK7mkpGqDduoPy/tC1w6EGUZtLng/PwUNu68CXvu8rz/BA==", "Expiration": "2018-12-10T10:29:43Z", "expire": "3600", "endpoint": "oss-cn-shenzhen.aliyuncs.com", "bucket_name": "cloudvod1", "arn": "acs:ram::1901342792446414:role/stsoss/chanjunkai"}
+tokenss = {"bucket_name": "cloudvod1", "arn": "acs:ram::1901342792446414:role/stsoss/5ZBU8UD6RHMZJ5JW111A", "AccessKeySecret": "6nM385rNpH1wxd76c3Kq2ye2m1FVrHEWkhu2Qe7JaQfP", "Expiration": "2018-12-11T02:21:02Z", "code": 0, "expire": "3600", "AccessKeyId": "STS.NJ8y9DZ4vEpGUkoVc1szyu73X", "endpoint": "oss-cn-shenzhen.aliyuncs.com", "ip": "120.237.157.184", "storage": "5ZBU8UD6RHMZJ5JW111A/vod2/", "SecurityToken": "CAISyQJ1q6Ft5B2yfSjIr4mNMoPwt+tX8rKsV03esmNkf/VVmvKYujz2IHFIf3NhAe0bv/kzm2lX7/YYlr0uebV4FXHoM/FQy6Z1rCGeOtOYkpQ/GhG0Gdn3d1KIAjvXgeUjCoeQFaEmE5XAQlTAkTAJkNmeXD6+XlujHISUgJp8FLo+VRW5ajw0TbUzIRB5+vcHKVzbN/umLnyShXHLXmZlvgdghER166m03re7iHzkgUb91/UeqqnoP5GgdLMMBppkVMqv1+EELciY2SVLuR9R7/U03u4W8jPAo92DBFUIpEi0GdeEz/ExFi9cVIpnOZEd9aHV0uN/traU1aaPkkcVZLoJCXuOHtz8npedRNnEbIhpKezJXF3Wyc2KO5XPtAcpXGkWLgsieaB6eyMrU010F2yLd/P4oQ+TMl25JbOZy6YtyorTRMhtOBpSTBqAAXdgEJUchXuUdb0mOpUMiacAha7yLBGu1L/FBUJ82PpMiJSPvSQFP2ThMCK8oNiBAPsTf9i7eLFlB++JHWuJ0LwXPFiFpi6+M+hRL6sMTqzl0KN5WI5qQcuGuK6V08Bi4d/hE9znjRtqx1uECjDYg8I88xWMWLwjjZQuCjVM7cI8"}
 # 使用RAM账号的AccessKeyId和AccessKeySecret向STS申请临时token。
 
 # 使用临时token中的认证信息初始化StsAuth实例。
@@ -30,7 +30,7 @@ auth = oss2.StsAuth(tokenss['AccessKeyId'],
                     tokenss['AccessKeySecret'],
                     tokenss['SecurityToken'])
 print(auth)
-''''''
+############### callback
 callback_dict = {}
 callback_dict['callbackUrl'] = 'http://www.dvema.com:3000/?token=token&filename=shijianchuo&size=1234&len=1234'
 # 设置回调请求消息头中Host的值, 如oss-cn-hangzhou.aliyuncs.com。
@@ -44,7 +44,7 @@ callback_param = json.dumps(callback_dict).strip()
 base64_callback_body = oss2.utils.b64encode_as_string(callback_param)
 # 回调参数编码后放在Header中发送给OSS。
 headers = {'x-oss-callback': base64_callback_body}
-''''''
+################
 # exit()
 # 使用StsAuth实例初始化存储空间。
 bucket = oss2.Bucket(auth, tokenss['endpoint'], tokenss['bucket_name'])
@@ -52,7 +52,8 @@ bucket = oss2.Bucket(auth, tokenss['endpoint'], tokenss['bucket_name'])
 # bucket.delete_object('a-3.txt')
 # exit()
 
-bucket.put_object('123456.txt', b'241234124',headers)
+# bucket.put_object('5ZBU8UD6RHMZJ5JW111A/vod2/3agjj.txt', b'gjjs')
+bucket.put_object('5ZBU8UD6RHMZJ5JW111A/vod2/asdf.txt', b'12345646',headers)
 exit()
 res = bucket.get_object('1234.txt')
 print(res.read())

+ 21 - 2
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
+from Model.models import Device_Meal, Device_Info, Order_Model, Store_Meal, VodHlsModel
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.UidTokenObject import UidTokenObject
@@ -36,7 +36,7 @@ from Service.CommonService import CommonService
 
 '''
 # 获取设备推送hls流 证书
-http://192.168.136.40:8077/cloudVod/getSts?uidToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJGVFNMTDhITTQzN1ozOFdVMTExQSJ9.GIBt8SgY-3yRt9mlihtvRwLM-MT8uVPDKCUQ2yvV3Vo
+http://192.168.136.40:8077/cloudVod/getSts?uidToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJGVFNMTDhITTQzN1ozOFdVMTExQSIsImNoYW5uZWwiOiI0In0.HO-PzoRwhQ4CFNkjthqOitf48c-XOvHjtNGCeUmBe9g
 # 获取存储的播放文件列表
 #修改状态
 http://192.168.136.40:8077/cloudVod/status?token=local&did=138001380001543918745881545&channel=4&status=1
@@ -70,6 +70,8 @@ class CloudVodView(View):
         # 付款完成
         elif operation == 'payExecute':
             return self.do_paypal_execute(request_dict, response)
+        elif operation == 'storeplaylist':
+            return self.do_store_palylist(request_dict,response)
         else:
             token = request_dict.get('token', None)
             # 设备主键uid
@@ -352,3 +354,20 @@ class CloudVodView(View):
         utko = UidTokenObject()
         utko.generate(data={'uid': UID, 'channel': channel})
         return response.json(0,utko.token)
+
+    def do_store_palylist(self,request_dict,response):
+        uidToken = request_dict.get('uidToken', None)
+        time = request_dict.get('time',None)
+        utko = UidTokenObject(uidToken)
+        if utko.flag is False:
+            return response.json(444, 'uidToken')
+        UID = utko.UID
+        channel = utko.channel
+        print(channel)
+        print(UID)
+        qs = Device_Meal.objects.filter(uid=UID, channel=channel, status=1).values("rank", "channel")
+        if not qs.exists():
+            return response.json(10, '设备未购买')
+        time = int(time)
+        VodHlsModel.objects.create(uid=UID,channel=channel,time=time)
+        return response.json(0)

+ 2 - 1
requirements.txt

@@ -17,4 +17,5 @@ ffmpy
 xmltodict
 var_dump
 django-middleware-global-request
-
+oss2
+aliyun-python-sdk-sts