config.py 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
  5. @AUTHOR: ASJRD018
  6. @NAME: Ansjer
  7. @software: PyCharm
  8. @DATE: 2018/7/2 14:06
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: Conf.py
  12. @Contact: chanjunkai@163.com
  13. """
  14. # 主要静态变量配置文件
  15. import datetime, os
  16. SERVER_TYPE = os.environ.get('DJANGO_SETTINGS_MODULE')
  17. print(SERVER_TYPE)
  18. # 亚马逊的数据库DynamoDB的密钥
  19. AWS_DynamoDB_REGION = 'us-west-1'
  20. AWS_DynamoDB_ACCESS_KEY = 'AKIA2E67UIMD6X23FEBG'
  21. AWS_DynamoDB_SECRET_KEY = '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'
  22. # 阿里云发邮箱
  23. ALY_SES_ACCESS_NAME = 'message@dvema.com'
  24. ALY_SES_ACCESS_PAW = 'SMtp123456'
  25. ALY_SES_ACCESS_REPLYTO = '***'
  26. # 发送邮件邮箱
  27. SES_COMPANY_EMAIL = 'user_server@nsst.com'
  28. AWS_SES_ACCESS_ID = 'AKIAJKPU23EU5QWHFPKQ'
  29. AWS_SES_ACCESS_SECRET = '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'
  30. AWS_SES_ACCESS_REGION = 'us-east-1'
  31. AWS_SES_ACCESS_REGION_WEST = 'us-west-1'
  32. AWS_BUCKET = 'ansjertest'
  33. # 设定离线时间为5分钟
  34. OFF_LINE_TIME_DELTA = 5
  35. # token的secret
  36. OAUTH_ACCESS_TOKEN_SECRET = 'a+jbgnw%@1%zy^=@dn62%'
  37. OAUTH_REFRESH_TOKEN_SECRET = 'r+jbgnw%@1%zy^=@dn62%'
  38. # access_token超时
  39. # OAUTH_ACCESS_TOKEN_TIME = datetime.timedelta(hours=1)
  40. OAUTH_ACCESS_TOKEN_TIME = datetime.timedelta(days=30)
  41. # refresh_token超时
  42. OAUTH_REFRESH_TOKEN_TIME = datetime.timedelta(days=30)
  43. # 腾讯验证,短信发送
  44. TX_PHONE_APP_ID = '1400052907'
  45. TX_PHONE_APP_KEY = '7705976ca6e85fe7b86d6bc2d11f7783'
  46. # 验证码超时时间
  47. AuthCode_Expire = 600
  48. RTMP_PUSH_URL = 'http://13.56.215.252:8091/hls'
  49. # 根路径
  50. BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
  51. ADDR_URL = []
  52. # uid token key
  53. UID_TOKEN_KEY = 'c+565*j@%^'
  54. UNICODE_ASCII_CHARACTER_SET = ('abcdefghijklmnopqrstuvwxyz'
  55. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  56. '0123456789')
  57. # oss param
  58. OSS_STS_ACCESS_KEY = 'LTAIyMkGfEdogyL9'
  59. OSS_STS_ACCESS_SECRET = '71uIjpsqVOmF7DAITRyRuc259jHOjO'
  60. OSS_ROLE_ARN = 'acs:ram::1901342792446414:role/stsoss'
  61. # aws api key
  62. AWS_ACCESS_KEY_ID = ['AKIA2MMWBR4DSFG67DTG','AKIA2E67UIMD45Y3HL53'] #0国内, 1国外
  63. AWS_SECRET_ACCESS_KEY = ['aI9gxcAKPmiGgPy9axrtFKzjYGbvpuytEX4xWweL','ckYLg4Lo9ZXJIcJEAKkzf2rWvs8Xth1FCjqiAqUw']
  64. AWS_ARN = ['arn:aws-cn:s3','arn:aws:s3']
  65. #尚云服务器CRCKey
  66. CRCKey = {'AUS':'CRCKey', 'ACN':'CRCKey'} #{平台名:CRCKey值}
  67. # 不同环境配置
  68. #美国
  69. if SERVER_TYPE == 'Ansjer.us_config.local_settings':
  70. from Ansjer.us_config.config_local import *
  71. elif SERVER_TYPE == 'Ansjer.us_config.test_settings':
  72. from Ansjer.us_config.config_test import *
  73. elif SERVER_TYPE == 'Ansjer.us_config.formal_settings':
  74. from Ansjer.us_config.config_formal import *
  75. #国内
  76. elif SERVER_TYPE == 'Ansjer.cn_config.formal_settings':
  77. from Ansjer.cn_config.config_formal import *
  78. elif SERVER_TYPE == 'Ansjer.cn_config.test_settings':
  79. from Ansjer.cn_config.config_test import *
  80. DEVICE_TYPE = {
  81. 0: 'UNKOWN',
  82. 1: 'DVR',
  83. 2: 'NVR',
  84. 3: 'POENVR',
  85. 4: 'WIRELESSNVR',
  86. 5: 'POEIPC',
  87. 6: 'BOLTIPC',
  88. 7: 'IPC',
  89. 8: 'KAPIANJI',
  90. 9: 'FISHEYE',
  91. 10: 'C512',
  92. 11: 'C611',
  93. 12: 'C612',
  94. 13: 'C199',
  95. 14: 'C190',
  96. 15: 'C199_PRO',
  97. 17: 'C289',
  98. 18: 'C308',
  99. 10001: 'DVRPTZ'
  100. }
  101. APP_FREQUENT = {
  102. 0: 'UNKOWN',
  103. 1: '每天',
  104. 2: '三天',
  105. 3: '一周',
  106. 4: '两周',
  107. 5: '一个月',
  108. 6: '一个月以上',
  109. }
  110. # Iot Core国外
  111. AWS_IOT_SES_ACCESS_FOREIGN_ID = 'AKIA2E67UIMD62VUBV5I'
  112. AWS_IOT_SES_ACCESS_FOREIGN_SECRET = '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'
  113. AWS_IOT_SES_ACCESS_FOREIGN_REGION_AMERICA = 'us-east-1'
  114. AWS_IOT_SES_ACCESS_FOREIGN_REGION_ASIA = 'ap-southeast-1'
  115. AWS_IOT_SES_ACCESS_FOREIGN_REGION_EUROPE = 'eu-west-1'
  116. AWS_IOT_SES_ACCESS_FOREIGN_ROLE = 'arn:aws:iam::697864307463:role/Ansjer_Iot_Admin'
  117. # Iot Core国内
  118. AWS_IOT_SES_ACCESS_CHINA_ID = 'AKIA2MMWBR4DUUYPCFNJ'
  119. AWS_IOT_SES_ACCESS_CHINA_SECRET = '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'
  120. AWS_IOT_SES_ACCESS_CHINA_REGION = 'cn-northwest-1'
  121. AWS_IOT_SES_ACCESS_CHINA_ROLE = 'arn:aws-cn:iam::713816116999:role/service-role/Ansjer_Iot_Admin'
  122. IOT_HOST = {
  123. 1: 'a250bbr0p9u7as-ats.iot.cn-northwest-1.amazonaws.com.cn',
  124. 2: 'a2rqy12o004ad8-ats.iot.ap-southeast-1.amazonaws.com',
  125. 3: 'a2rqy12o004ad8-ats.iot.eu-west-1.amazonaws.com',
  126. 4: 'a2rqy12o004ad8-ats.iot.us-east-1.amazonaws.com'
  127. }
  128. ONLINE_DEVICE = 1000000
  129. SALES = {
  130. 2020: [
  131. {
  132. 'name': 'United States',
  133. 'value': [3768901, 23.337, '美国']
  134. },
  135. {
  136. 'name': 'Japan',
  137. 'value': [1886988, 9.027, '日本']
  138. },
  139. {
  140. 'name': 'Russia',
  141. 'value': [1940038, 7.923, '俄国']
  142. },
  143. {
  144. 'name': 'Germany',
  145. 'value': [1319651, 6.253, '德国']
  146. },
  147. {
  148. 'name': 'France',
  149. 'value': [1291157, 5.825, '法国']
  150. },
  151. {
  152. 'name': 'United Kingdom',
  153. 'value': [1041917, 4.567, '英国']
  154. },
  155. {
  156. 'name': 'Italy',
  157. 'value': [859811, 3.875, '意大利']
  158. }
  159. ],
  160. 2019: [
  161. {
  162. 'name': 'United States',
  163. 'value': [2768900, 37.374, '美国']
  164. },
  165. {
  166. 'name': 'Japan',
  167. 'value': [1086988, 14.672, '日本']
  168. },
  169. {
  170. 'name': 'Russia',
  171. 'value': [940038, 12.689, '俄国']
  172. },
  173. {
  174. 'name': 'Germany',
  175. 'value': [919651, 12.413, '德国']
  176. },
  177. {
  178. 'name': 'France',
  179. 'value': [691157, 9.329, '法国']
  180. },
  181. {
  182. 'name': 'United Kingdom',
  183. 'value': [541917, 7.315, '英国']
  184. },
  185. {
  186. 'name': 'Italy',
  187. 'value': [459811, 6.206, '意大利']
  188. }
  189. ],
  190. 2018: [
  191. {
  192. 'name': 'United States',
  193. 'value': [2068912, 32.329, '美国']
  194. },
  195. {
  196. 'name': 'Japan',
  197. 'value': [1007988, 15.751, '日本']
  198. },
  199. {
  200. 'name': 'Germany',
  201. 'value': [909653, 14.214, '德国']
  202. },
  203. {
  204. 'name': 'Russia',
  205. 'value': [900038, 14.064, '俄国']
  206. },
  207. {
  208. 'name': 'France',
  209. 'value': [601158, 9.394, '法国']
  210. },
  211. {
  212. 'name': 'United Kingdom',
  213. 'value': [501920, 7.843, '英国']
  214. },
  215. {
  216. 'name': 'Italy',
  217. 'value': [409813, 6.404, '意大利']
  218. }
  219. ],
  220. 2017: [
  221. {
  222. 'name': 'United States',
  223. 'value': [1668900, 30.914, '美国']
  224. },
  225. {
  226. 'name': 'Japan',
  227. 'value': [906988, 16.800, '日本']
  228. },
  229. {
  230. 'name': 'Germany',
  231. 'value': [809651, 14.998, '德国']
  232. },
  233. {
  234. 'name': 'Russia',
  235. 'value': [800038, 14.820, '俄国']
  236. },
  237. {
  238. 'name': 'France',
  239. 'value': [501157, 9.283, '法国']
  240. },
  241. {
  242. 'name': 'United Kingdom',
  243. 'value': [401920, 7.445, '英国']
  244. },
  245. {
  246. 'name': 'Italy',
  247. 'value': [309822, 5.739, '意大利']
  248. }
  249. ],
  250. 2016: [
  251. {
  252. 'name': 'United States',
  253. 'value': [1468900, 31.943, '美国']
  254. },
  255. {
  256. 'name': 'Japan',
  257. 'value': [806988, 17.549, '日本']
  258. },
  259. {
  260. 'name': 'Germany',
  261. 'value': [709651, 15.432, '德国']
  262. },
  263. {
  264. 'name': 'Russia',
  265. 'value': [700038, 15.223, '俄国']
  266. },
  267. {
  268. 'name': 'France',
  269. 'value': [401157, 8.724, '法国']
  270. },
  271. {
  272. 'name': 'United Kingdom',
  273. 'value': [301917, 6.566, '英国']
  274. },
  275. {
  276. 'name': 'Italy',
  277. 'value': [209811, 4.562, '意大利']
  278. }
  279. ]
  280. }
  281. # type =2
  282. JPUSH_CONFIG = {
  283. 'com.ansjer.accloud_ab': {
  284. 'Key': 'f0dc047e5e53fd14199de5b0',
  285. 'Secret': 'aa7f7db33e9f0a7f3871aa1c'},
  286. 'com.ansjer.adcloud_ab': {
  287. 'Key': '76d97b535185114985608234',
  288. 'Secret': 'c9a92b301043cc9c52778692'},
  289. 'com.ansjer.zccloud_ab': {
  290. 'Key': 'd9924f56d3cc7c6017965130',
  291. 'Secret': '869d832d126a232f158b5987'},
  292. 'com.ansjer.loocamccloud_ab': {
  293. 'Key': 'd1cc44797b4642b0e05304fe',
  294. 'Secret': 'c3e8b4ca8c576de61401e56a'},
  295. 'com.ansjer.loocamdcloud_ab': {
  296. 'Key': '76d97b535185114985608234',
  297. 'Secret': 'c9a92b301043cc9c52778692'},
  298. 'com.ansjer.zccloud_a': {
  299. 'Key': '57de2a80d68bf270fd6bdf5a',
  300. 'Secret': '3d354eb6a0b49c2610decf42'},
  301. 'com.ansjer.accloud_a': {
  302. 'Key': 'ff95ee685f49c0dc4013347b',
  303. 'Secret': 'de2c20959f5516fdeeafe78e'},
  304. 'com.ansjer.adcloud_a': {
  305. 'Key': '2e47eb1aee9b164460df3668',
  306. 'Secret': 'b9137d8d684bc248f1809b6d'},
  307. 'com.ansjer.loocamccloud_a': {
  308. 'Key': '23c9213215c7ca0ec945629b',
  309. 'Secret': '81e4b1e859cc8387e2e6c431'},
  310. 'com.ansjer.loocamdcloud_a': {
  311. 'Key': '1dbdd60a16e9892d6f68a073',
  312. 'Secret': '80a97690e7e043109059b403'},
  313. 'com.ansjer.customizedb_a': {
  314. 'Key': '9d79630aa49adfa291fe2568',
  315. 'Secret': '4d8ff52f88136561875a0212'},
  316. 'com.ansjer.customizedd_a': {
  317. 'Key': '8fc4f495685bde53341ee25d',
  318. 'Secret': 'f1da11fa466509fa2670fb66',
  319. }
  320. }
  321. # type =1
  322. FCM_CONFIG = {
  323. 'com.ansjer.zccloud_a': 'AAAAb9YP3rk:APA91bHu8u-CTpcd0g6lKPo0WNVqCi8jZub1cPPbSAY9AucT1HxlF65ZDUko9iG8q2ch17bwu9YWHpK1xI1gHSRXCslLvZlXEmHZC0AG3JKg15XuUvlFKACIajUFV-pOeGRT8tM6-31I',
  324. 'com.ansjer.loocamccloud_a': 'AAAAb9YP3rk:APA91bFCgd-kbVmpK4EVpfdHH_PJZQCYTkOGnTZdIuBWEz2r7aMRsJYHOH3sB-rwcbaRWgnufTyjX9nGQxb6KxQbWVk4ah_H-M3IqGh6Mb60WQQAuR33V6g_Jes5pGL6ViuIxGHqVMaR',
  325. 'com.ansjer.loocamdcloud_a': 'AAAAb9YP3rk:APA91bGw2I2KMD4i-5T7nZO_wB8kuAOuqgyqe5rxmY-W5qkpYEx9IL2IfmC_qf6B_xOyjIDDSjckvMo-RauN__SEoxvAkis7042GRkoKpw7cjZ_H8lC-d50PC0GclPzccrOGFusyKbFY',
  326. 'com.ansjer.customizedb_a': 'AAAAb9YP3rk:APA91bE7kI4vcm-9h_CJNFlOZfc-xwP4Btn6AnjOrwoKV6fgYN7fdarkO76sYxVZiAbDnxsFfOJyP7vQfwyan6mdjuyD5iHdt_XgO22VqniC0vA1V4GJiCS8Tp7LxIX8JVKZl9I_Powt',
  327. 'com.ansjer.customizeda_a': 'AAAAb9YP3rk:APA91bF0HzizVWDc6dKzobY9fsaKDK4veqkOZehDXshVXs8pEEvNWjR_YWbhP60wsRYCHCal8fWN5cECVOWNMMzDsfU88Ty2AUl8S5FtZsmeDTkoGntQOswBr8Ln7Fm_LAp1VqTf9CpM',
  328. 'com.ansjer.customizedd_a': 'AAAAb9YP3rk:APA91bHkxOozJWBrlv3eNT0PgwosYENI9aM4Zuzd418cX-iKkpa1zFNC5MkNDKApx1KH4fhmAfaJ6IMRZ0nj5GIxCpstDYCaZWwgC7-etqfSxG5JAq8LOwJx0o_1tUZqwjIic8ztsg0o',
  329. 'com.ansjer.adcloud_a': 'AAAAb9YP3rk:APA91bFm06w8b9OKQ0gz0iaWFuRqRIkvgAz6z7Gp3dBU_X-LNGJQd1hc1QR2W7QzBglF8SHtERA45a2lbdLRa5qv7hxfd6W_sJLBK7dA8jklsOQBvy505oUzTwMKWy4TwH-exps9KrhO',
  330. 'com.ansjer.accloud_a': 'AAAAb9YP3rk:APA91bFm06w8b9OKQ0gz0iaWFuRqRIkvgAz6z7Gp3dBU_X-LNGJQd1hc1QR2W7QzBglF8SHtERA45a2lbdLRa5qv7hxfd6W_sJLBK7dA8jklsOQBvy505oUzTwMKWy4TwH-exps9KrhO',
  331. 'com.ansjer.zccloud_ab': 'AAAAb9YP3rk:APA91bHu8u-CTpcd0g6lKPo0WNVqCi8jZub1cPPbSAY9AucT1HxlF65ZDUko9iG8q2ch17bwu9YWHpK1xI1gHSRXCslLvZlXEmHZC0AG3JKg15XuUvlFKACIajUFV-pOeGRT8tM6-31I',
  332. }
  333. APNS_CONFIG = {
  334. 'com.ansjer.loocamccloud': {
  335. 'pem_path': 'AnsjerPush/file/apns_pem/lcc-dev.pem',
  336. },
  337. 'com.ansjer.zosidcloud': {
  338. 'pem_path': 'AnsjerPush/file/apns_pem/zosidcloud-dev.pem',
  339. },
  340. 'com.ansjer.customizedb': {
  341. 'pem_path': 'AnsjerPush/file/apns_pem/customizedb-dev.pem',
  342. },
  343. 'com.ansjer.customizeda': {
  344. 'pem_path': 'AnsjerPush/file/apns_pem/customizeda-dev.pem',
  345. },
  346. 'com.ansjer.zccloud': {
  347. 'pem_path': 'AnsjerPush/file/apns_pem/zccloud-dev.pem',
  348. },
  349. 'com.ansjer.accloud': {
  350. 'pem_path': 'AnsjerPush/file/apns_pem/accloud-dev.pem',
  351. },
  352. 'com.ansjer.customizedc':{
  353. 'pem_path': 'AnsjerPush/file/apns_pem/customizedc.pem',
  354. },
  355. 'com.ansjer.customizede': {
  356. 'pem_path': 'AnsjerPush/file/apns_pem/customizede.pem',
  357. },
  358. }
  359. APNS_MODE = 'dev'
  360. SERVER_TYPE = os.environ.get('DJANGO_SETTINGS_MODULE')
  361. JPUSH_CODE = {
  362. -1: '只库存不推送',
  363. 200: '推送成功',
  364. 400: '错误请求',
  365. 401: '没有验证信息或者验证失败',
  366. 403: '请求被拒绝',
  367. 404: '资源不存在,请求的用户的不存在,请求的格式不被支持',
  368. 405: '请求方法不合适',
  369. 410: '请求的资源已下线',
  370. 429: '请求超出了频率限制',
  371. 500: '极光内部服务错误',
  372. 502: '业务服务器下线了或者正在升级。请稍后重试',
  373. 503: '服务暂时失效',
  374. 504: '代理超时'
  375. }
  376. APNS_CODE = {
  377. -1: '只库存不推送',
  378. 200: '推送成功',
  379. 400: '请求有问题',
  380. 403: '证书或Token有问题',
  381. 405: '请求方式不正确, 只支持POST请求',
  382. 410: '设备的Token与证书不一致'
  383. }
  384. APP_TYPE = {
  385. 1: 'ios',
  386. 2: 'android'
  387. }