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

Merge branch 'test' into pzb

# Conflicts:
#	Controller/EquipmentOTA.py
#	Controller/OTAEquipment.py
chenjunkai 6 жил өмнө
parent
commit
e83843ecef

+ 4 - 0
Ansjer/config.py

@@ -56,6 +56,7 @@ UID_TOKEN_KEY = 'c+565*j@%^'
 if SERVER_TYPE == 'Ansjer.local_settings':
     NGINX_RTMP_STAT = 'http://192.168.136.45:8077/stat'
     SERVER_DOMAIN = 'http://192.168.136.45:8077/'
+    SERVER_DOMAIN_SSL = 'http://192.168.136.45:8077/'
     SERVER_HOST = '192.168.136.45'
     DOMAIN_HOST = '192.168.136.45'
     RTMP_PUSH_URL = 'rtmp://192.168.136.45:1935/hls'
@@ -67,6 +68,8 @@ if SERVER_TYPE == 'Ansjer.local_settings':
 elif SERVER_TYPE == 'Ansjer.test_settings':
     NGINX_RTMP_STAT = 'http://test.dvema.com/stat'
     SERVER_DOMAIN = 'http://test.dvema.com/'
+    SERVER_DOMAIN_SSL = 'https://test.dvema.com/'
+
     DOMAIN_HOST = 'test.dvema.com'
     SERVER_HOST = 'localhost'
     PAYPAL_CRD = {
@@ -80,6 +83,7 @@ elif SERVER_TYPE == 'Ansjer.test_settings':
 elif SERVER_TYPE == 'Ansjer.formal_settings':
     NGINX_RTMP_STAT = 'http://www.dvema.com/stat'
     SERVER_DOMAIN = 'http://www.dvema.com/'
+    SERVER_DOMAIN_SSL = 'https://www.dvema.com/'
     DOMAIN_HOST = 'www.dvema.com'
     SERVER_HOST = 'localhost'
     PAYPAL_CRD = {

+ 3 - 0
Ansjer/file/alipay/zosi_alipay_private_2048.pem

@@ -0,0 +1,3 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCAtJ/+dopwzLOA6yq4yDiOIWRs1z1vJicOZF/O1xZOs+UN+B5yJvCsyyInEY9kWFRPoZoYjuZ5x8of23zELozZuebt1cbJOikRhMYQ8HiIZfPX+v9Uqve+j7qDcOAzJJwRz26eak8WA6+au6BVTyOKQa35oY3tbOQWN+Nu7zxqMjxrLmy/+af6WuQhhOY+EYjEMqMpc5iDRJzkSjPuWWzvD9PE5/AJiYsUs0lb9z1s2+O15eKp1nwEOJp3rOwfowin8MjR2BbGZ8SuugK3cU49X84sAsNXo0Anv/htV9Pp6QgAPs0b1E3F3NrHJifl/GAd/hpLby0tsoHKY8d7He+3AgMBAAECggEAEPe/IA0As15JS/W07Cd5TUOZub+mmcCt5XfWKa6xgi61Q+IyIVqA4Ebneb8W6GO8ucLUTeiI+gUc4JZPHI4Gg62+hBxq2JySTXzzn8gUG+dU/mRYxRDFGJpaPHnlFNj+ulpeewQI6R4TSJLz0EtepBuElCR4UZTJfSRhF37yuA03aqp2WVTDmvdLxY8ZIZcbovPA34VIs91Bs+s7UmgQKIT5YkMRUG7En5dgGB0Uce0JeoN35P9U+DrplX0YP51qwf7APQxEeKY/ifaDdGf69tm86wz188/HWOVUeBXKNbcPN/CtreLgb0zR8OLji/FKMIIW3JMrAlQEu3H6t3HIAQKBgQDDufBDF2fn+DmpyggNsKbS/L8M4n9Ak7W/5r3L9vh0RQ+fbqGMazURoqQOt6e+rjnPuoTB42Yk9XEUzZcXF65klq+kY+PVNKOuvVXMJpO+kb71aP6heJ5CQ0KHUsQ2zMxrxl0xdcj8WkBP5mLyz6gdNX8Ypfgq7Rn9YVddYtpPUQKBgQCoVxzyjbEhM5WmhhlUQ+2i/fz0hVmNPC52FN5xhI11VAqT4rS+EBr2LPaWJz0bsVCsaPshePNc/yNwUbWpg4VmdIc9NLHXOyq3mI9uLt4Nzwtm15UrVGuJA2c9CEIBRsrsX89tO1xvOPeHJ0GnX6rV0WByg/uGWyw4Ga3kIG1chwKBgC3t7S6hSHXL7yQjz73+rTcnrmGEqR3rS6QrrnA1lVobdq4QFQLRiZOI2fzGJiv90H0ppMum5CpaGl4qXIFDwl3CapcmBanbf2ma7o5IozT+GJSYPeCAYIrmI6+DwZ2mc3X7B5V6sV5eg2b8hk26YxXvntKW5+SS3R1zgT/d2aLxAoGAMq3XJyaFFuvCt9lTMs0oc5NnXe3vYdemXSI3PZGcTKA6dv8fTsDmfQpYSigR+45MLTuFrzQMgAjHkH7o49mWhZu7Qy/kAlnrqE4jkBZH/3w/gHySifLmVN9Ta0pbJKs9WCAYAFiIoWtTCbtFxq/EbI6WLKOTS4WTMGh6s10Xz20CgYEAmLF68mrO7Noq6w5jy7P2Gb6SvmriUW1jSwcpgq/jC/u83iMg2+++TYmGp01CCxZVPQ+pU8VOuMLoKlm4mn0Im4gxXU6GeGerVb/LO2WkYn7aFMNRV05bgg7nCM5Df1vV6UzYsU4uzM/VC8FFm7/bRTqKv0u3pv+sYGB0YrlZaHs=
+-----END RSA PRIVATE KEY-----

+ 3 - 0
Ansjer/file/alipay/zosi_alipay_public_2048.pem

@@ -0,0 +1,3 @@
+-----BEGIN PUBLIC KEY-----
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1usde7ybZRkDB0cx2a1QAgoVqwV+3HLOmB/f2lmqvWGhT9Kv2T09yu5+HuckQIr7EXIsyd+8gxv483xXkSdzVgm4UKD5QrVSaSs0s0iKOUAc2QOWF/rmzZ8/hDLHteNcYzyOYkr7ws7woCw0aN76oABzpBuch070mvTS7XNvV64YHtBeDo0iAGRaLu7OuHOOUJwQqFGzgaTtZz+TGXNk6ZonfYTcWbTw5Pc4kG9PjweBPpcsJXoCB0Ul9t/V66grhjnJ1TcYqzO0wY1Lr6J3p/0PtKVaG4Ijf6iGfmkOPBMy3lV9NPf/t20nuGLeBPkMMlGTytXVH5DkSB/6INytcQIDAQAB
+-----END PUBLIC KEY-----

+ 1 - 0
Ansjer/urls.py

@@ -120,6 +120,7 @@ urlpatterns = [
     url(r'^vodBucket/(?P<operation>.*)$', VodBucket.VodBucketView.as_view()),
     url(r'^UIDBucket/(?P<operation>.*)$', VodBucket.UidBucketView.as_view()),
     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()),
 

+ 19 - 23
Controller/CloudVod.py

@@ -27,7 +27,7 @@ from django.views.generic.base import View
 from alipay import AliPay
 
 from Ansjer.config import BASE_DIR
-from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD
+from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD,SERVER_DOMAIN_SSL
 from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
@@ -58,7 +58,8 @@ http://test.dvema.com/cloudVod/getHlsList?uid=xxxx&channel=4&token=test&daytime=
 
 2设备端
 http://test.dvema.com/cloudVod/getSts?uidToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjaGFubmVsIjoiNCIsInVpZCI6IkZUU0xMOEhNNDM3WjM4V1UxMTFBIn0.wkrwYvIYf5qEukOSTxALSAgSqop-gNBdEvSwScOgYB8
-
+# 支付宝支付
+http://192.168.136.40:8077/cloudVod/aliPayCreateOrder?token=local&channel=2&rank=1&uid=OOBDSU9547NTRSMF111A
 '''
 
 
@@ -131,10 +132,14 @@ class CloudVodView(View):
         print(json.dumps(data))
         print(signature)
         # verify
-        app_private_key_string = open(BASE_DIR + '/Ansjer/file/alipay/alipay_private_2048.pem').read()
-        alipay_public_key_string = open(BASE_DIR + '/Ansjer/file/alipay/alipay_public_2048.pem').read()
+
+        # app_private_key_string = open(BASE_DIR + '/Ansjer/file/alipay/alipay_private_2048.pem').read()
+        # alipay_public_key_string = open(BASE_DIR + '/Ansjer/file/alipay/alipay_public_2048.pem').read()
+        app_private_key_string = open(BASE_DIR + '/Ansjer/file/alipay/zosi_alipay_private_2048.pem').read()
+        alipay_public_key_string = open(BASE_DIR + '/Ansjer/file/alipay/zosi_alipay_public_2048.pem').read()
         alipay = AliPay(
-            appid="2016092200569234",
+            # appid="2016092200569234",
+            appid="2019041663958142",
             app_notify_url=None,  # the default notify path
             app_private_key_string=app_private_key_string,
             alipay_public_key_string=alipay_public_key_string,
@@ -222,11 +227,14 @@ class CloudVodView(View):
         nowTime = int(time.time())
         # 新增流程
         orderID = CommonService.createOrderID()
-        app_private_key_string = open(BASE_DIR + '/Ansjer/file/alipay/alipay_private_2048.pem').read()
-        alipay_public_key_string = open(BASE_DIR + '/Ansjer/file/alipay/alipay_public_2048.pem').read()
+        app_private_key_string = open(BASE_DIR + '/Ansjer/file/alipay/zosi_alipay_private_2048.pem').read()
+        alipay_public_key_string = open(BASE_DIR + '/Ansjer/file/alipay/zosi_alipay_public_2048.pem').read()
+        # app_private_key_string = open(BASE_DIR + '/Ansjer/file/alipay/alipay_private_2048.pem').read()
+        # alipay_public_key_string = open(BASE_DIR + '/Ansjer/file/alipay/alipay_public_2048.pem').read()
         try:
             alipay = AliPay(
-                appid="2016092200569234",
+                # appid="2016092200569234",
+                appid="2019041663958142",
                 app_notify_url=None,  # the default notify path
                 app_private_key_string=app_private_key_string,
                 alipay_public_key_string=alipay_public_key_string,
@@ -243,31 +251,19 @@ class CloudVodView(View):
                 # return_url="http://192.168.136.40/cloudVod/payOK",
                 # notify_url="http://192.168.136.40/cloudVod/aliPayCallback"
             )
-            app_pay = alipay.api_alipay_trade_app_pay(
-                out_trade_no=orderID,
-                total_amount=price,
-                subject="oeo",
-                return_url="https://test.dvema.com/cloudVod/payOK",
-                notify_url="https://test.dvema.com/cloudVod/aliPayCallback"
-            )
-            # order_string = alipay.api_alipay_trade_page_pay(
-            #     out_trade_no=orderID,
-            #     total_amount=price,
-            #     subject="实用性充气式玩具",
-            #     return_url="https://test.dvema.com/cloudVod/payOK",
-            #     notify_url="https://test.dvema.com/cloudVod/aliPayCallback")
         except Exception as e:
             print(repr(e))
             return response.json(10, repr(e))
         if order_string:
-            redirectUrl = "https://openapi.alipaydev.com/gateway.do?" + order_string
+            # redirectUrl = "https://openapi.alipaydev.com/gateway.do?" + order_string
+            redirectUrl = "https://openapi.alipay.com/gateway.do?" + order_string
             # from django.http import HttpResponseRedirect
             # return HttpResponseRedirect("https://openapi.alipaydev.com/gateway.do?" + order_string)
             Order_Model.objects.create(orderID=orderID, UID=uid, channel=channel, userID_id=userID, desc=content,
                                        price=price, currency=currency, addTime=nowTime, updTime=nowTime,
                                        endTime=nowTime + int(day) * 3600 * 24, rank_id=rank, paypal='', payType=1)
             return JsonResponse(status=200,
-                                data={'result_code': 0, 'reason': 'success', 'result': {"redirectUrl": redirectUrl,"appPay":app_pay},
+                                data={'result_code': 0, 'reason': 'success', 'result': {"redirectUrl": redirectUrl},
                                       'error_code': 0})
         else:
             return response.json(10, '生成订单错误')

+ 10 - 8
Controller/DetectController.py

@@ -104,10 +104,15 @@ class DetectControllerView(View):
         app_type = request_dict.get('app_type', None)
         push_type = request_dict.get('push_type', None)
         status = request_dict.get('status', None)
+        m_code = request_dict.get('m_code',None)
         print('status')
         print(status)
+        if not status:
+            return response.json(444,'status')
         if status == '0':
-            uid_app_qs = UID_App.objects.filter(appBundleId=appBundleId, userID_id=userID, token_val=token_val,
+            if not all([app_type,appBundleId,uid,m_code]):
+                return response.json(444,'app_type,appBundleId,uid,m_code')
+            uid_app_qs = UID_App.objects.filter(appBundleId=appBundleId, userID_id=userID, m_code=m_code,
                                                 uid=uid,app_type=app_type)
             if uid_app_qs.exists():
                 uid_app_qs.update(status=0)
@@ -115,18 +120,15 @@ class DetectControllerView(View):
             else:
                 return response.json(173)
         elif status == '1':
-            # return response.json(10)
-
+            if not all([appBundleId,app_type,token_val,uid,m_code]):
+                return response.json(444,'appBundleId,app_type,token_val,uid,m_code')
             dvqs = Device_Info.objects.filter(userID_id=userID, UID=uid)
-            # aiqs = App_Info.objects.filter(appBundleId=appBundleId).values('app_type')
-            # print(dvqs)
-            # print(aiqs)
-            # if dvqs.exists() and aiqs.exists():
+
             if dvqs.exists():
                 now_time = int(time.time())
                 try:
                     uid_app_qs = UID_App.objects.filter(appBundleId=appBundleId, userID_id=userID, token_val=token_val,
-                                                        uid=uid)
+                                                        uid=uid,m_code=m_code)
                     print(uid_app_qs)
                     if uid_app_qs.exists():
                         uid_app_qs.update(status=1)

+ 0 - 2
Controller/DeviceShare.py

@@ -137,8 +137,6 @@ class DeviceShareView(View):
             data_str = redisObj.get_data(key=shareToken)
             if not data_str:
                 return response.json(119)
-            else:
-                redisObj.del_data(key=shareToken)
             data = json.loads(data_str)
             # 分享者userID
             sharer = data.get('sharer', None)

+ 1 - 1
Controller/EquipmentManager.py

@@ -296,7 +296,7 @@ def addInterface(request):
     UID = request_dict.get('UID', None)
     NickName = request_dict.get('NickName', None)
     View_Account = request_dict.get('View_Account', None)
-    View_Password = request_dict.get('View_Password', None)
+    View_Password = request_dict.get('View_Password', '')
     Type = request_dict.get('Type', None)
     ChannelIndex = request_dict.get('ChannelIndex', None)
     if all([UID, NickName, View_Account, Type, ChannelIndex]):

+ 2 - 1
Controller/EquipmentOTA.py

@@ -200,7 +200,8 @@ class EquipmentVersionView(View):
             path = file_path.replace('static/Upgrade/', '').replace('\\', '/')
             url = SERVER_DOMAIN + 'OTA/downloads/' + path + '?time=' + str(time.time())
         elif file_path.find('static/otapack') != -1:
-            url = SERVER_DOMAIN + 'OTA/downloadsPack/' +file_path+ '?time=' + str(time.time())
+            #url = SERVER_DOMAIN + 'OTA/downloadsPack/' +file_path+ '?time=' + str(time.time())
+            # url = SERVER_DOMAIN + 'dl/otaPack/' + file_path + '?time=' + str(time.time())
         else:
             return response.json(900, '2')
         res = {

+ 7 - 6
Controller/UserController.py

@@ -301,12 +301,13 @@ class LogoutView(TemplateView):
 
             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)
+            m_code = request_dict.get('m_code', None)
+            if m_code:
+                userID = tko.userID
+                uid_app = UID_App.objects.filter(userID_id=userID, m_code=m_code, status=1)
+                print(uid_app)
+                if uid_app.exists():
+                    uid_app.update(status=3)
             return response.json(0)
         else:
             return response.json(tko.code)

+ 1 - 0
Model/models.py

@@ -572,6 +572,7 @@ class UID_App(models.Model):
     push_type = models.IntegerField(default=0, verbose_name=u'推送类型')  # 0,apns 1,安卓gcm 2,激光
     token_val = models.CharField(default='', max_length=160, verbose_name=u'设备验证令牌')
     status = models.SmallIntegerField(default=0, verbose_name='状态[0:关闭,1:开启,2:用户解绑]')
+    m_code = models.CharField(default='',max_length=64,verbose_name='手机唯一标识')
     addTime = models.IntegerField(verbose_name='添加时间', default=0)
     updTime = models.IntegerField(verbose_name='更新时间', default=0)
 

+ 8 - 1
Object/TokenObject.py

@@ -61,7 +61,7 @@ class TokenObject:
             else:
                 self.code = 0
                 return res
-
+    # token加密
     def generate(self, data={}):
         try:
             access_expire = int(OAUTH_ACCESS_TOKEN_TIME.total_seconds())
@@ -111,3 +111,10 @@ class TokenObject:
             lang = self.lang
             refreshRes = self.generate(data={'userID': userID, 'lang':lang , 'user': user})
             return refreshRes
+
+# import jwt
+#
+#
+# token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySUQiOiIxNTMzODg0NDE4NTE5MTM4MDAxMzgwMDAiLCJleHAiOjE1NTU1NTEwNjUsInVzZXIiOiIxMTFAcXEuY29tIiwibGFuZyI6ImVuIn0.waPlfIBucSA7rFfnsxOKIVJ_cL6xiP33cAiz1IDoteY'
+# res = jwt.decode(token, 'a+jbgnw%@1%zy^=@dn62%', algorithms='HS256')
+# print(res)

+ 17 - 17
templates/testttt.py

@@ -22,27 +22,27 @@
 # udt = uuid.uuid1()
 # print(udt)
 # exit()
-import oss2
-
-# 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
-auth = oss2.Auth('LTAIyMkGfEdogyL9', '71uIjpsqVOmF7DAITRyRuc259jHOjO')
-# Endpoint以杭州为例,其它Region请按实际情况填写。
-bucket = oss2.Bucket(auth, 'oss-cn-shenzhen.aliyuncs.com', 'apg')
-
-# 设置此签名URL在60秒内有效。
-# url = bucket.sign_url('PUT', 'wupengyangceshi.png', 60)
-url = bucket.sign_url('GET', 'ADD2JGTZG22XBL2S111A/9/1546545891.jpeg', 60)
-print(url)
-
-exit()
-
+# import oss2
+#
+# # 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
+# auth = oss2.Auth('LTAIyMkGfEdogyL9', '71uIjpsqVOmF7DAITRyRuc259jHOjO')
+# # Endpoint以杭州为例,其它Region请按实际情况填写。
+# bucket = oss2.Bucket(auth, 'oss-cn-shenzhen.aliyuncs.com', 'apg')
+#
+# # 设置此签名URL在60秒内有效。
+# # url = bucket.sign_url('PUT', 'wupengyangceshi.png', 60)
+# url = bucket.sign_url('GET', 'ADD2JGTZG22XBL2S111A/9/1546545891.jpeg', 60)
+# print(url)
+#
+# exit()
+#
 import requests
 
 
-didir = 'D:/13.56.215.252/git/AnsjerFormal/templates/adf.jpg'
-url = 'http://apg.oss-cn-shenzhen.aliyuncs.com/ADD2JGTZG22XBL2S111A%2F3%2F1546545891.jpeg?Expires=1554801938&Signature=UlZ5pCeBwYlVm07gdL2gp2UOFuU%3D&OSSAccessKeyId=LTAIyMkGfEdogyL9'
+# didir = 'D:/13.56.215.252/git/AnsjerFormal/templates/adf.jpg'
+url = 'http://apg.oss-cn-shenzhen.aliyuncs.com/ADD2JGTZG22XBL2S111A%2F9%2F1546545891.jpeg?Signature=mLm0%2BrKpgRW5KGBmmmuLnCg4nPQ%3D&Expires=1555322681&OSSAccessKeyId=LTAIyMkGfEdogyL9'
 
-r = requests.put(url,data=open(didir,'rb'))
+r = requests.put(url,data='aadsf;llllllllllllllllllllllllllllllllllllllllllllljk')
 print(r.status_code)
 exit()
 import smtplib