config.py 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417
  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.local_config.local_settings':
  70. from Ansjer.local_config.config_local import *
  71. # 美国
  72. elif SERVER_TYPE == 'Ansjer.us_config.test_settings':
  73. from Ansjer.us_config.config_test import *
  74. elif SERVER_TYPE == 'Ansjer.us_config.formal_settings':
  75. from Ansjer.us_config.config_formal import *
  76. # 国内
  77. elif SERVER_TYPE == 'Ansjer.cn_config.formal_settings':
  78. from Ansjer.cn_config.config_formal import *
  79. elif SERVER_TYPE == 'Ansjer.cn_config.test_settings':
  80. from Ansjer.cn_config.config_test import *
  81. DEVICE_TYPE = {
  82. 0: 'UNKOWN',
  83. 1: 'DVR',
  84. 2: 'NVR',
  85. 3: 'POENVR',
  86. 4: 'WIRELESSNVR',
  87. 5: 'POEIPC',
  88. 6: 'BOLTIPC',
  89. 7: 'IPC',
  90. 8: 'KAPIANJI',
  91. 9: 'FISHEYE',
  92. 10: 'C512',
  93. 11: 'C611',
  94. 12: 'C612',
  95. 13: 'C199',
  96. 14: 'C190',
  97. 15: 'C199_PRO',
  98. 17: 'C289',
  99. 18: 'C308',
  100. 10001: 'DVRPTZ'
  101. }
  102. APP_FREQUENT = {
  103. 0: 'UNKOWN',
  104. 1: '每天',
  105. 2: '三天',
  106. 3: '一周',
  107. 4: '两周',
  108. 5: '一个月',
  109. 6: '一个月以上',
  110. }
  111. # Iot Core国外
  112. AWS_IOT_SES_ACCESS_FOREIGN_ID = 'AKIA2E67UIMD62VUBV5I'
  113. AWS_IOT_SES_ACCESS_FOREIGN_SECRET = '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'
  114. AWS_IOT_SES_ACCESS_FOREIGN_REGION_AMERICA = 'us-east-1'
  115. AWS_IOT_SES_ACCESS_FOREIGN_REGION_ASIA = 'ap-southeast-1'
  116. AWS_IOT_SES_ACCESS_FOREIGN_REGION_EUROPE = 'eu-west-1'
  117. AWS_IOT_SES_ACCESS_FOREIGN_ROLE = 'arn:aws:iam::697864307463:role/Ansjer_Iot_Admin'
  118. # Iot Core国内
  119. AWS_IOT_SES_ACCESS_CHINA_ID = 'AKIA2MMWBR4DUUYPCFNJ'
  120. AWS_IOT_SES_ACCESS_CHINA_SECRET = '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'
  121. AWS_IOT_SES_ACCESS_CHINA_REGION = 'cn-northwest-1'
  122. AWS_IOT_SES_ACCESS_CHINA_ROLE = 'arn:aws-cn:iam::713816116999:role/service-role/Ansjer_Iot_Admin'
  123. IOT_HOST = {
  124. 1: 'a250bbr0p9u7as-ats.iot.cn-northwest-1.amazonaws.com.cn',
  125. 2: 'a2rqy12o004ad8-ats.iot.ap-southeast-1.amazonaws.com',
  126. 3: 'a2rqy12o004ad8-ats.iot.eu-west-1.amazonaws.com',
  127. 4: 'a2rqy12o004ad8-ats.iot.us-east-1.amazonaws.com'
  128. }
  129. ONLINE_DEVICE = 1000000
  130. SALES = {
  131. 2020: [
  132. {
  133. 'name': 'United States',
  134. 'value': [3768901, 23.337, '美国']
  135. },
  136. {
  137. 'name': 'Japan',
  138. 'value': [1886988, 9.027, '日本']
  139. },
  140. {
  141. 'name': 'Russia',
  142. 'value': [1940038, 7.923, '俄国']
  143. },
  144. {
  145. 'name': 'Germany',
  146. 'value': [1319651, 6.253, '德国']
  147. },
  148. {
  149. 'name': 'France',
  150. 'value': [1291157, 5.825, '法国']
  151. },
  152. {
  153. 'name': 'United Kingdom',
  154. 'value': [1041917, 4.567, '英国']
  155. },
  156. {
  157. 'name': 'Italy',
  158. 'value': [859811, 3.875, '意大利']
  159. }
  160. ],
  161. 2019: [
  162. {
  163. 'name': 'United States',
  164. 'value': [2768900, 37.374, '美国']
  165. },
  166. {
  167. 'name': 'Japan',
  168. 'value': [1086988, 14.672, '日本']
  169. },
  170. {
  171. 'name': 'Russia',
  172. 'value': [940038, 12.689, '俄国']
  173. },
  174. {
  175. 'name': 'Germany',
  176. 'value': [919651, 12.413, '德国']
  177. },
  178. {
  179. 'name': 'France',
  180. 'value': [691157, 9.329, '法国']
  181. },
  182. {
  183. 'name': 'United Kingdom',
  184. 'value': [541917, 7.315, '英国']
  185. },
  186. {
  187. 'name': 'Italy',
  188. 'value': [459811, 6.206, '意大利']
  189. }
  190. ],
  191. 2018: [
  192. {
  193. 'name': 'United States',
  194. 'value': [2068912, 32.329, '美国']
  195. },
  196. {
  197. 'name': 'Japan',
  198. 'value': [1007988, 15.751, '日本']
  199. },
  200. {
  201. 'name': 'Germany',
  202. 'value': [909653, 14.214, '德国']
  203. },
  204. {
  205. 'name': 'Russia',
  206. 'value': [900038, 14.064, '俄国']
  207. },
  208. {
  209. 'name': 'France',
  210. 'value': [601158, 9.394, '法国']
  211. },
  212. {
  213. 'name': 'United Kingdom',
  214. 'value': [501920, 7.843, '英国']
  215. },
  216. {
  217. 'name': 'Italy',
  218. 'value': [409813, 6.404, '意大利']
  219. }
  220. ],
  221. 2017: [
  222. {
  223. 'name': 'United States',
  224. 'value': [1668900, 30.914, '美国']
  225. },
  226. {
  227. 'name': 'Japan',
  228. 'value': [906988, 16.800, '日本']
  229. },
  230. {
  231. 'name': 'Germany',
  232. 'value': [809651, 14.998, '德国']
  233. },
  234. {
  235. 'name': 'Russia',
  236. 'value': [800038, 14.820, '俄国']
  237. },
  238. {
  239. 'name': 'France',
  240. 'value': [501157, 9.283, '法国']
  241. },
  242. {
  243. 'name': 'United Kingdom',
  244. 'value': [401920, 7.445, '英国']
  245. },
  246. {
  247. 'name': 'Italy',
  248. 'value': [309822, 5.739, '意大利']
  249. }
  250. ],
  251. 2016: [
  252. {
  253. 'name': 'United States',
  254. 'value': [1468900, 31.943, '美国']
  255. },
  256. {
  257. 'name': 'Japan',
  258. 'value': [806988, 17.549, '日本']
  259. },
  260. {
  261. 'name': 'Germany',
  262. 'value': [709651, 15.432, '德国']
  263. },
  264. {
  265. 'name': 'Russia',
  266. 'value': [700038, 15.223, '俄国']
  267. },
  268. {
  269. 'name': 'France',
  270. 'value': [401157, 8.724, '法国']
  271. },
  272. {
  273. 'name': 'United Kingdom',
  274. 'value': [301917, 6.566, '英国']
  275. },
  276. {
  277. 'name': 'Italy',
  278. 'value': [209811, 4.562, '意大利']
  279. }
  280. ]
  281. }
  282. # type =2
  283. JPUSH_CONFIG = {
  284. 'com.ansjer.accloud_ab': {
  285. 'Key': 'f0dc047e5e53fd14199de5b0',
  286. 'Secret': 'aa7f7db33e9f0a7f3871aa1c'},
  287. 'com.ansjer.adcloud_ab': {
  288. 'Key': '76d97b535185114985608234',
  289. 'Secret': 'c9a92b301043cc9c52778692'},
  290. 'com.ansjer.zccloud_ab': {
  291. 'Key': 'd9924f56d3cc7c6017965130',
  292. 'Secret': '869d832d126a232f158b5987'},
  293. 'com.ansjer.loocamccloud_ab': {
  294. 'Key': 'd1cc44797b4642b0e05304fe',
  295. 'Secret': 'c3e8b4ca8c576de61401e56a'},
  296. 'com.ansjer.loocamdcloud_ab': {
  297. 'Key': '76d97b535185114985608234',
  298. 'Secret': 'c9a92b301043cc9c52778692'},
  299. 'com.ansjer.zccloud_a': {
  300. 'Key': '57de2a80d68bf270fd6bdf5a',
  301. 'Secret': '3d354eb6a0b49c2610decf42'},
  302. 'com.ansjer.accloud_a': {
  303. 'Key': 'ff95ee685f49c0dc4013347b',
  304. 'Secret': 'de2c20959f5516fdeeafe78e'},
  305. 'com.ansjer.adcloud_a': {
  306. 'Key': '2e47eb1aee9b164460df3668',
  307. 'Secret': 'b9137d8d684bc248f1809b6d'},
  308. 'com.ansjer.loocamccloud_a': {
  309. 'Key': '23c9213215c7ca0ec945629b',
  310. 'Secret': '81e4b1e859cc8387e2e6c431'},
  311. 'com.ansjer.loocamdcloud_a': {
  312. 'Key': '1dbdd60a16e9892d6f68a073',
  313. 'Secret': '80a97690e7e043109059b403'},
  314. 'com.ansjer.customizedb_a': {
  315. 'Key': '9d79630aa49adfa291fe2568',
  316. 'Secret': '4d8ff52f88136561875a0212'},
  317. 'com.ansjer.customizedd_a': {
  318. 'Key': '8fc4f495685bde53341ee25d',
  319. 'Secret': 'f1da11fa466509fa2670fb66',
  320. }
  321. }
  322. # type =1
  323. FCM_CONFIG = {
  324. 'com.ansjer.zccloud_a': 'AAAAb9YP3rk:APA91bHu8u-CTpcd0g6lKPo0WNVqCi8jZub1cPPbSAY9AucT1HxlF65ZDUko9iG8q2ch17bwu9YWHpK1xI1gHSRXCslLvZlXEmHZC0AG3JKg15XuUvlFKACIajUFV-pOeGRT8tM6-31I',
  325. 'com.ansjer.loocamccloud_a': 'AAAAb9YP3rk:APA91bFCgd-kbVmpK4EVpfdHH_PJZQCYTkOGnTZdIuBWEz2r7aMRsJYHOH3sB-rwcbaRWgnufTyjX9nGQxb6KxQbWVk4ah_H-M3IqGh6Mb60WQQAuR33V6g_Jes5pGL6ViuIxGHqVMaR',
  326. 'com.ansjer.loocamdcloud_a': 'AAAAb9YP3rk:APA91bGw2I2KMD4i-5T7nZO_wB8kuAOuqgyqe5rxmY-W5qkpYEx9IL2IfmC_qf6B_xOyjIDDSjckvMo-RauN__SEoxvAkis7042GRkoKpw7cjZ_H8lC-d50PC0GclPzccrOGFusyKbFY',
  327. 'com.ansjer.customizedb_a': 'AAAAb9YP3rk:APA91bE7kI4vcm-9h_CJNFlOZfc-xwP4Btn6AnjOrwoKV6fgYN7fdarkO76sYxVZiAbDnxsFfOJyP7vQfwyan6mdjuyD5iHdt_XgO22VqniC0vA1V4GJiCS8Tp7LxIX8JVKZl9I_Powt',
  328. 'com.ansjer.customizeda_a': 'AAAAb9YP3rk:APA91bF0HzizVWDc6dKzobY9fsaKDK4veqkOZehDXshVXs8pEEvNWjR_YWbhP60wsRYCHCal8fWN5cECVOWNMMzDsfU88Ty2AUl8S5FtZsmeDTkoGntQOswBr8Ln7Fm_LAp1VqTf9CpM',
  329. 'com.ansjer.customizedd_a': 'AAAAb9YP3rk:APA91bHkxOozJWBrlv3eNT0PgwosYENI9aM4Zuzd418cX-iKkpa1zFNC5MkNDKApx1KH4fhmAfaJ6IMRZ0nj5GIxCpstDYCaZWwgC7-etqfSxG5JAq8LOwJx0o_1tUZqwjIic8ztsg0o',
  330. 'com.ansjer.adcloud_a': 'AAAAb9YP3rk:APA91bFm06w8b9OKQ0gz0iaWFuRqRIkvgAz6z7Gp3dBU_X-LNGJQd1hc1QR2W7QzBglF8SHtERA45a2lbdLRa5qv7hxfd6W_sJLBK7dA8jklsOQBvy505oUzTwMKWy4TwH-exps9KrhO',
  331. 'com.ansjer.accloud_a': 'AAAAb9YP3rk:APA91bFm06w8b9OKQ0gz0iaWFuRqRIkvgAz6z7Gp3dBU_X-LNGJQd1hc1QR2W7QzBglF8SHtERA45a2lbdLRa5qv7hxfd6W_sJLBK7dA8jklsOQBvy505oUzTwMKWy4TwH-exps9KrhO',
  332. 'com.ansjer.zccloud_ab': 'AAAAb9YP3rk:APA91bHu8u-CTpcd0g6lKPo0WNVqCi8jZub1cPPbSAY9AucT1HxlF65ZDUko9iG8q2ch17bwu9YWHpK1xI1gHSRXCslLvZlXEmHZC0AG3JKg15XuUvlFKACIajUFV-pOeGRT8tM6-31I',
  333. }
  334. APNS_CONFIG = {
  335. 'com.ansjer.loocamccloud': {
  336. 'pem_path': 'AnsjerPush/file/apns_pem/lcc-dev.pem',
  337. },
  338. 'com.ansjer.zosidcloud': {
  339. 'pem_path': 'AnsjerPush/file/apns_pem/zosidcloud-dev.pem',
  340. },
  341. 'com.ansjer.customizedb': {
  342. 'pem_path': 'AnsjerPush/file/apns_pem/customizedb-dev.pem',
  343. },
  344. 'com.ansjer.customizeda': {
  345. 'pem_path': 'AnsjerPush/file/apns_pem/customizeda-dev.pem',
  346. },
  347. 'com.ansjer.zccloud': {
  348. 'pem_path': 'AnsjerPush/file/apns_pem/zccloud-dev.pem',
  349. },
  350. 'com.ansjer.accloud': {
  351. 'pem_path': 'AnsjerPush/file/apns_pem/accloud-dev.pem',
  352. },
  353. 'com.ansjer.customizedc':{
  354. 'pem_path': 'AnsjerPush/file/apns_pem/customizedc.pem',
  355. },
  356. 'com.ansjer.customizede': {
  357. 'pem_path': 'AnsjerPush/file/apns_pem/customizede.pem',
  358. },
  359. }
  360. APNS_MODE = 'dev'
  361. SERVER_TYPE = os.environ.get('DJANGO_SETTINGS_MODULE')
  362. JPUSH_CODE = {
  363. -1: '只库存不推送',
  364. 200: '推送成功',
  365. 400: '错误请求',
  366. 401: '没有验证信息或者验证失败',
  367. 403: '请求被拒绝',
  368. 404: '资源不存在,请求的用户的不存在,请求的格式不被支持',
  369. 405: '请求方法不合适',
  370. 410: '请求的资源已下线',
  371. 429: '请求超出了频率限制',
  372. 500: '极光内部服务错误',
  373. 502: '业务服务器下线了或者正在升级。请稍后重试',
  374. 503: '服务暂时失效',
  375. 504: '代理超时'
  376. }
  377. APNS_CODE = {
  378. -1: '只库存不推送',
  379. 200: '推送成功',
  380. 400: '请求有问题',
  381. 403: '证书或Token有问题',
  382. 405: '请求方式不正确, 只支持POST请求',
  383. 410: '设备的Token与证书不一致'
  384. }
  385. APP_TYPE = {
  386. 1: 'ios',
  387. 2: 'android'
  388. }