config.py 13 KB

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