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

Merge branch 'dev' into lang

lang 4 жил өмнө
parent
commit
7b6df1d5b7

+ 3 - 0
Ansjer/config_test.py

@@ -65,6 +65,9 @@ APNS_CONFIG = {
     'com.ansjer.customizede': {
     'com.ansjer.customizede': {
         'pem_path': 'Ansjer/file/apns_pem/ZhouShi-dev.pem',
         'pem_path': 'Ansjer/file/apns_pem/ZhouShi-dev.pem',
     },
     },
+    'com.ansjer.customizedc': {
+        'pem_path': 'Ansjer/file/apns_pem/customizedc.pem',
+    }
 }
 }
 APNS_MODE = 'dev'
 APNS_MODE = 'dev'
 TUTK_PUSH_DOMAIN = 'http://push.iotcplatform.com/tpns'
 TUTK_PUSH_DOMAIN = 'http://push.iotcplatform.com/tpns'

+ 68 - 0
Ansjer/file/apns_pem/customizedc.pem

@@ -0,0 +1,68 @@
+Bag Attributes
+    friendlyName: Apple Push Services: com.ansjer.customizedc
+    localKeyID: 7C 1A EE 33 33 71 66 7C 92 4E 03 CC F9 CA 61 C4 EC 4B C7 61 
+subject=/UID=com.ansjer.customizedc/CN=Apple Push Services: com.ansjer.customizedc/OU=9NRJLKV9UB/O=SMD Technologies Pty LTD/C=ZA
+issuer=/C=US/O=Apple Inc./OU=Apple Worldwide Developer Relations/CN=Apple Worldwide Developer Relations Certification Authority
+-----BEGIN CERTIFICATE-----
+MIIGODCCBSCgAwIBAgIId0lTH2/IAa4wDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNV
+BAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3Js
+ZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3
+aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw
+HhcNMjEwMzEwMTA1NTE0WhcNMjIwNDA5MTA1NTEzWjCBozEmMCQGCgmSJomT8ixk
+AQEMFmNvbS5hbnNqZXIuY3VzdG9taXplZGMxNDAyBgNVBAMMK0FwcGxlIFB1c2gg
+U2VydmljZXM6IGNvbS5hbnNqZXIuY3VzdG9taXplZGMxEzARBgNVBAsMCjlOUkpM
+S1Y5VUIxITAfBgNVBAoMGFNNRCBUZWNobm9sb2dpZXMgUHR5IExURDELMAkGA1UE
+BhMCWkEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCaX1qQS/CHT5r5
+EVvly9+0XHhTt8I6Rynom3Y7NIoYb1TMTBHlIE9DQ+g4VXBrENkdYjRuicR5ADto
+MfNjRxse3+7E3gg1Nt2oUsDodWDlrjLEUDh+FFF8mcXAAwiiOdB3daUUvxkplcCU
+4/3mNpBmVfCWenCKY8gLHqtXHC71SWd4dSTj0tg8/62F1MUCh3gPpb65hhDAtWgS
+KiQ3rbsL/kXllEGbAkO7fokRu3Nd7telCnO8PHT30BSqgJnOSJZhD+ZGxZLlqIqS
+T6axSWeZC0dllZO/XAPkfQmJgMl7fS5PdSrfoPl2CM+Xa1f/eUrxa86tRSGAgl8G
+O3JZMAZ3AgMBAAGjggJ5MIICdTAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFIgn
+Fwmpthhgi+zruvZHWcVSVKO3MIIBHAYDVR0gBIIBEzCCAQ8wggELBgkqhkiG92Nk
+BQEwgf0wgcMGCCsGAQUFBwICMIG2DIGzUmVsaWFuY2Ugb24gdGhpcyBjZXJ0aWZp
+Y2F0ZSBieSBhbnkgcGFydHkgYXNzdW1lcyBhY2NlcHRhbmNlIG9mIHRoZSB0aGVu
+IGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNl
+LCBjZXJ0aWZpY2F0ZSBwb2xpY3kgYW5kIGNlcnRpZmljYXRpb24gcHJhY3RpY2Ug
+c3RhdGVtZW50cy4wNQYIKwYBBQUHAgEWKWh0dHA6Ly93d3cuYXBwbGUuY29tL2Nl
+cnRpZmljYXRlYXV0aG9yaXR5MBMGA1UdJQQMMAoGCCsGAQUFBwMCMDAGA1UdHwQp
+MCcwJaAjoCGGH2h0dHA6Ly9jcmwuYXBwbGUuY29tL3d3ZHJjYS5jcmwwHQYDVR0O
+BBYEFHwa7jMzcWZ8kk4DzPnKYcTsS8dhMA4GA1UdDwEB/wQEAwIHgDAQBgoqhkiG
+92NkBgMBBAIFADAQBgoqhkiG92NkBgMCBAIFADCBiQYKKoZIhvdjZAYDBgR7MHkM
+FmNvbS5hbnNqZXIuY3VzdG9taXplZGMwBQwDYXBwDBtjb20uYW5zamVyLmN1c3Rv
+bWl6ZWRjLnZvaXAwBgwEdm9pcAwjY29tLmFuc2plci5jdXN0b21pemVkYy5jb21w
+bGljYXRpb24wDgwMY29tcGxpY2F0aW9uMA0GCSqGSIb3DQEBCwUAA4IBAQAwrr5I
+UlUPnRi7j2lEWx3GHK1iovps25C2rz4f11d3+9cZQfOFW96cjoFp2o9hILzril4P
+0YVkaWF3RBGngT27j1OdsdQCRwLHBVw42J4njrNUINJ3FVlSEVXJtAo3fHm3PajB
+KZo96vNbFbZe3MFC+CfEctM1lyizAWEWp68exyZeC8ppM7og55BSWEjSRJQRuon2
+wVHsWUwCNfuTNBomwzzSfQVaZkQogFNwO0F0AIxYUhHDUFG3/v+HfvmIpz0QTH+g
+nzvheeNzz44zDfetSCEy/7z0d4lgCw4QQ3hCko3jvNuv8vF3yZ4Y4Im2VqqFFWuX
+mXV7h0xmGK9HGJZH
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAml9akEvwh0+a+RFb5cvftFx4U7fCOkcp6Jt2OzSKGG9UzEwR
+5SBPQ0PoOFVwaxDZHWI0bonEeQA7aDHzY0cbHt/uxN4INTbdqFLA6HVg5a4yxFA4
+fhRRfJnFwAMIojnQd3WlFL8ZKZXAlOP95jaQZlXwlnpwimPICx6rVxwu9UlneHUk
+49LYPP+thdTFAod4D6W+uYYQwLVoEiokN627C/5F5ZRBmwJDu36JEbtzXe7XpQpz
+vDx099AUqoCZzkiWYQ/mRsWS5aiKkk+msUlnmQtHZZWTv1wD5H0JiYDJe30uT3Uq
+36D5dgjPl2tX/3lK8WvOrUUhgIJfBjtyWTAGdwIDAQABAoIBAAObzwYogErpdXn1
+CezpQyV4M+fhF8089KHXYIApzkCb+aN8874jbzbnU3pdpO8bybeCIC+lUM5zTvA0
+mrfrZZrnKTG47wAvdCcHKDNG6yjzVYR5S5jG6NC8136Rk5YXO+RO/7jobrImKgZQ
+/hJvnBiIUcNywUa65mY8JU03/3EEaPd0CESSvX+IAbJzIW0vRvYJQ5YthiKzBwFg
+2FA7dLnIwMY9vL3ggYPrAgKfyyIGB0wlsLygrldnb2sJ+KiG3r7WlLTIb9Vs9UTv
+09q+Hk4fdRbg/vw1AyUE4oWcZdFGNI8fobUN30u6rjrhJj8ZS4JVngfvShgKiU65
+T0q032ECgYEAx5SpbAr3xebfG2iNPZeV1KlUIXqRVxYvguztgk0m7Q30rTuOfJtp
+SdHRGE+sLPKa3jQXi4xlx0J5oZt0USl6Y0hlWrq2C2W7DXF2T2WEJ/G9HLWZ5yXO
+zt4V6+4t0r9Tn/fPcSAYQzs5brUY1M/Sd7ygD/JIK25V+FxIOseDncsCgYEAxgML
+RHFrGfpN0TPd8Pkycw4NKl+Ft5+iWgyH4TwcXik8otu7vwwWvQRTjToSUtC7W1Vh
+C+S9c4ruX+4QWESiNNDsyybwrfTEQ/8+zoLrLDq6lJLkowqDShMY/Rsrn5ALK91M
+BSnhjTB0Jc20lIXz7KrqbkMfYSDF6Mru3qsLpIUCgYBkEOJ9XGZsoFv+pwYh+o3S
+CXA4NPcIPgRmVZqj+UDqHFQwQysmyNkafQukb9X4107U2DNx8Vvaczb+0y2Xv/8w
+Jk1DF1hNEJ2fmOLj3hdL28WgzmCy517wk6NUHqB1CR7Jlvs4Ugo4M0qRelVP5j81
+b6qlNCoBNJoAI2zHo98WzwKBgQCqnGzU6DS0CWuLWfldbBn/8Jd/bxa0BKPKmwlp
+FHYM29MXL+Uw06Wz70peYS7wlFEafRJFQS3LpGWH2oPSyjBI+ctNr5upB0EkpYTk
+QwGG9oNVCMxffutoo9PgIc0QivhVLzQVLuTc1mb9O6TgZBqsTQf5QXSEJ8zerBvt
+V8uMUQKBgCI93kALFOS/pc3CnKOtapyIGvyrOx7FX7WbhUiQzgiWlNVxkjklSPba
+H3I2hsjMnfiYXAHZcFl62z6/3v7C0oet2F+dAezMogEvrKhxqXPna+kFV0TLNkxa
+B9eJ1ZaZKdYZzra8nB+YwUbqd6xnCx5+YUETquInluyBv6T41xPp
+-----END RSA PRIVATE KEY-----

+ 2 - 2
Controller/EquipmentManager.py

@@ -478,7 +478,7 @@ def addInterface(request):
                                                                     'isShare',
                                                                     'isShare',
                                                                     'primaryUserID', 'primaryMaster', 'vodPrimaryUserID', 'vodPrimaryMaster', 'userID__userEmail',
                                                                     'primaryUserID', 'primaryMaster', 'vodPrimaryUserID', 'vodPrimaryMaster', 'userID__userEmail',
                                                                     'data_joined', 'version',
                                                                     'data_joined', 'version',
-                                                                    'isVod', 'isExist', 'isCameraOpenCloud')
+                                                                    'isVod', 'isExist', 'isCameraOpenCloud', 'endpoint', 'token_iot_number')
                     dvql = CommonService.qs_to_list(dvqs)
                     dvql = CommonService.qs_to_list(dvqs)
                     ubqs = UID_Bucket.objects.filter(uid=UID). \
                     ubqs = UID_Bucket.objects.filter(uid=UID). \
                         values('bucket__content', 'status', 'channel', 'endTime', 'uid')
                         values('bucket__content', 'status', 'channel', 'endTime', 'uid')
@@ -814,7 +814,7 @@ def queryInterface(request):
         dvql = dvqs[(page - 1) * line:page * line].values('id', 'userID', 'NickName', 'UID', 'View_Account',
         dvql = dvqs[(page - 1) * line:page * line].values('id', 'userID', 'NickName', 'UID', 'View_Account',
                                                           'View_Password', 'ChannelIndex', 'Type', 'isShare',
                                                           'View_Password', 'ChannelIndex', 'Type', 'isShare',
                                                           'primaryUserID', 'primaryMaster', 'data_joined', 'version', 'vodPrimaryUserID', 'vodPrimaryMaster', 'userID__userEmail',
                                                           'primaryUserID', 'primaryMaster', 'data_joined', 'version', 'vodPrimaryUserID', 'vodPrimaryMaster', 'userID__userEmail',
-                                                          'isVod', 'isExist', 'NotificationMode', 'isCameraOpenCloud', 'endpoint')
+                                                          'isVod', 'isExist', 'NotificationMode', 'isCameraOpenCloud', 'endpoint', 'token_iot_number')
         dvls = CommonService.qs_to_list(dvql)
         dvls = CommonService.qs_to_list(dvql)
         uid_list = []
         uid_list = []
         for dvl in dvls:
         for dvl in dvls:

+ 1 - 1
Controller/EquipmentManagerV2.py

@@ -220,7 +220,7 @@ class EquipmentManagerV2(View):
                            'View_Password', 'ChannelIndex', 'Type', 'isShare',
                            'View_Password', 'ChannelIndex', 'Type', 'isShare',
                            'primaryUserID', 'primaryMaster', 'data_joined', 'vodPrimaryUserID', 'vodPrimaryMaster',
                            'primaryUserID', 'primaryMaster', 'data_joined', 'vodPrimaryUserID', 'vodPrimaryMaster',
                            'userID__userEmail',
                            'userID__userEmail',
-                           'version', 'isVod', 'isExist', 'NotificationMode', 'isCameraOpenCloud', 'endpoint')
+                           'version', 'isVod', 'isExist', 'NotificationMode', 'isCameraOpenCloud', 'endpoint', 'token_iot_number')
         dvls = CommonService.qs_to_list(dvql)
         dvls = CommonService.qs_to_list(dvql)
         uid_list = []
         uid_list = []
         for dvl in dvls:
         for dvl in dvls:

+ 3 - 3
Controller/EquipmentManagerV3.py

@@ -196,7 +196,7 @@ class EquipmentManagerV3(View):
                                                                         'vodPrimaryUserID', 'vodPrimaryMaster',
                                                                         'vodPrimaryUserID', 'vodPrimaryMaster',
                                                                         'userID__userEmail',
                                                                         'userID__userEmail',
                                                                         'data_joined', 'version',
                                                                         'data_joined', 'version',
-                                                                        'isVod', 'isExist', 'isCameraOpenCloud')
+                                                                        'isVod', 'isExist', 'isCameraOpenCloud', 'endpoint', 'token_iot_number')
                         dvql = CommonService.qs_to_list(dvqs)
                         dvql = CommonService.qs_to_list(dvqs)
                         ubqs = UID_Bucket.objects.filter(uid=UID). \
                         ubqs = UID_Bucket.objects.filter(uid=UID). \
                             values('bucket__content', 'status', 'channel', 'endTime', 'uid')
                             values('bucket__content', 'status', 'channel', 'endTime', 'uid')
@@ -307,7 +307,7 @@ class EquipmentManagerV3(View):
                                'primaryUserID', 'primaryMaster', 'data_joined', 'vodPrimaryUserID', 'vodPrimaryMaster',
                                'primaryUserID', 'primaryMaster', 'data_joined', 'vodPrimaryUserID', 'vodPrimaryMaster',
                                'userID__userEmail',
                                'userID__userEmail',
                                'version', 'isVod', 'isExist', 'NotificationMode', 'isCameraOpenCloud',
                                'version', 'isVod', 'isExist', 'NotificationMode', 'isCameraOpenCloud',
-                               'endpoint')
+                               'endpoint', 'token_iot_number')
             dvls = CommonService.qs_to_list(dvql)
             dvls = CommonService.qs_to_list(dvql)
             uid_list = []
             uid_list = []
             for dvl in dvls:
             for dvl in dvls:
@@ -486,7 +486,7 @@ class EquipmentManagerV3(View):
                                              'View_Password', 'ChannelIndex', 'Type', 'isShare',
                                              'View_Password', 'ChannelIndex', 'Type', 'isShare',
                                              'primaryUserID', 'primaryMaster', 'data_joined', 'vodPrimaryUserID',
                                              'primaryUserID', 'primaryMaster', 'data_joined', 'vodPrimaryUserID',
                                              'vodPrimaryMaster', 'userID__userEmail',
                                              'vodPrimaryMaster', 'userID__userEmail',
-                                             'version', 'isVod', 'isExist', 'NotificationMode', 'isCameraOpenCloud')
+                                             'version', 'isVod', 'isExist', 'NotificationMode', 'isCameraOpenCloud', 'endpoint', 'token_iot_number')
 
 
                 dvls = CommonService.qs_to_list(device_qs)
                 dvls = CommonService.qs_to_list(device_qs)
                 uid_list = []
                 uid_list = []

+ 5 - 1
Controller/IotCoreController.py

@@ -1,7 +1,9 @@
 #!/usr/bin/env python3
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 # -*- coding: utf-8 -*-
+import hashlib
 import json
 import json
 import time
 import time
+import uuid
 
 
 import boto3
 import boto3
 from django.views import View
 from django.views import View
@@ -122,7 +124,9 @@ class IotCoreView(View):
                     else:
                     else:
                         iotClient = AmericaIOTClient()
                         iotClient = AmericaIOTClient()
                     res = iotClient.create_keys_and_certificate(uid)
                     res = iotClient.create_keys_and_certificate(uid)
-                    Device_Info.objects.filter(UID=uid).update(endpoint=res[0]['endpoint'])
+                    nowTime = int(time.time())
+                    token_iot_number = hashlib.md5((str(uuid.uuid1()) + str(nowTime)).encode('utf-8')).hexdigest()
+                    Device_Info.objects.filter(UID=uid).update(endpoint=res[0]['endpoint'], token_iot_number=token_iot_number )
                     iotdeviceInfoModel.objects.create(uid=uid, certificateId=res[0]['certificateId'],
                     iotdeviceInfoModel.objects.create(uid=uid, certificateId=res[0]['certificateId'],
                                                       certificatePem=res[0]['certificatePem'],
                                                       certificatePem=res[0]['certificatePem'],
                                                       publicKey=res[0]['publicKey'],
                                                       publicKey=res[0]['publicKey'],

+ 1 - 0
Model/models.py

@@ -258,6 +258,7 @@ class Device_Info(models.Model):
     isExist = models.SmallIntegerField(blank=True, default=1, verbose_name='是否被删除')  # 是否被删除了(需主用户交互) 1存在,0不存在,2设备被重置
     isExist = models.SmallIntegerField(blank=True, default=1, verbose_name='是否被删除')  # 是否被删除了(需主用户交互) 1存在,0不存在,2设备被重置
     isCameraOpenCloud =  models.SmallIntegerField(blank=True, default=1, verbose_name='是否开启云存')  # 0:不开启  1:开启
     isCameraOpenCloud =  models.SmallIntegerField(blank=True, default=1, verbose_name='是否开启云存')  # 0:不开启  1:开启
     endpoint = models.CharField(blank=True, max_length=256, default='', verbose_name=u'iot端点')
     endpoint = models.CharField(blank=True, max_length=256, default='', verbose_name=u'iot端点')
+    token_iot_number = models.CharField(blank=True, default='', max_length=50, verbose_name='连接iot令牌')
     ###
     ###
     REQUIRED_FIELDS = []
     REQUIRED_FIELDS = []