|
|
@ -11,23 +11,12 @@ const dev = process.env.NODE_ENV == 'development'; |
|
|
|
args.option(['p', 'port'], '启动端口'); |
|
|
|
args.option(['g', 'pg'], 'postgre 服务 URL'); |
|
|
|
args.option(['f', 'fileHost'], '文件中心本地化存储: WebApi 服务器地址(必填), 该服务器提供文件上传Web服务'); |
|
|
|
args.option(['k', 'kafka'], 'kafka 服务 URL'); |
|
|
|
|
|
|
|
args.option('iotaProxy', '以太代理') |
|
|
|
|
|
|
|
args.option('redisHost', 'redisHost'); |
|
|
|
args.option('redisPort', 'redisPort'); |
|
|
|
args.option('redisPswd', 'redisPassword'); |
|
|
|
|
|
|
|
args.option('axyApiUrl', '安心云 api'); |
|
|
|
args.option('apiEmisUrl', '企业管理 api'); |
|
|
|
args.option('apiVcmpUrl', '视频平台 api'); |
|
|
|
args.option('apiIotAuth', 'IOT 鉴权平台') |
|
|
|
|
|
|
|
args.option('godUrl', '高德地图API请求地址'); |
|
|
|
args.option('godKey', '高德地图API key'); |
|
|
|
|
|
|
|
args.option('mqttVideoServer', '视频后台 mqtt 服务 URL'); |
|
|
|
|
|
|
|
// 七牛云存储参数
|
|
|
|
args.option('qnak', 'qiniuAccessKey'); |
|
|
@ -38,49 +27,20 @@ args.option('qndmn', 'qiniuDomain'); |
|
|
|
// clickHouse
|
|
|
|
args.option('clickHouseUrl', 'clickHouse Url'); |
|
|
|
args.option('clickHousePort', 'clickHouse Port'); |
|
|
|
args.option('clickHouseAnxincloud', 'clickHouse 安心云数据库名称'); |
|
|
|
args.option('clickHousePepEmis', 'clickHouse 项企数据库名称'); |
|
|
|
args.option('clickHouseProjectManage', 'clickHouse 项目管理数据库名称'); |
|
|
|
args.option('clickHouseVcmp', 'clickHouse 视频平台数据库名称'); |
|
|
|
args.option('clickHouseDataAlarm', 'clickHouse 视频平台数据告警库名称'); |
|
|
|
|
|
|
|
args.option('confirmAlarmAnxinUserId', '确认告警时保存到 ES 的安心云的用户的 id'); |
|
|
|
|
|
|
|
// 视频应用秘钥
|
|
|
|
args.option('vcmpAppId', '视频平台 应用 id') |
|
|
|
args.option('vcmpAppSecret', '视频平台 应用秘钥') |
|
|
|
|
|
|
|
const flags = args.parse(process.argv); |
|
|
|
|
|
|
|
const POMS_DB = process.env.POMS_DB || flags.pg; |
|
|
|
const LOCAL_SVR_ORIGIN = process.env.LOCAL_SVR_ORIGIN || flags.fileHost; |
|
|
|
|
|
|
|
// kafka
|
|
|
|
const ANXINCLOUD_KAFKA_BROKERS = process.env.ANXINCLOUD_KAFKA_BROKERS || flags.kafka; |
|
|
|
|
|
|
|
// 以太代理
|
|
|
|
const IOT_PROXY = process.env.IOT_PROXY || flags.iotaProxy; |
|
|
|
|
|
|
|
// Redis 参数
|
|
|
|
const IOTA_REDIS_SERVER_HOST = process.env.IOTA_REDIS_SERVER_HOST || flags.redisHost || "localhost";//redis IP
|
|
|
|
const IOTA_REDIS_SERVER_PORT = process.env.IOTA_REDIS_SERVER_PORT || flags.redisPort || "6379";//redis 端口
|
|
|
|
const IOTA_REDIS_SERVER_PWD = process.env.IOTA_REDIS_SERVER_PWD || flags.redisPswd || "";//redis 密码
|
|
|
|
|
|
|
|
// 安心云api
|
|
|
|
const API_ANXINYUN_URL = process.env.API_ANXINYUN_URL || flags.axyApiUrl; |
|
|
|
// 企业管理 api
|
|
|
|
const API_EMIS_URL = process.env.API_EMIS_URL || flags.apiEmisUrl; |
|
|
|
// 视频平台 api
|
|
|
|
const API_VCMP_URL = process.env.API_VCMP_URL || flags.apiVcmpUrl; |
|
|
|
// iot鉴权平台 api
|
|
|
|
const API_IOT_AUTH = process.env.API_IOT_AUTH || flags.apiIotAuth; |
|
|
|
|
|
|
|
// 高德地图的参数
|
|
|
|
const GOD_URL = process.env.GOD_URL || flags.godUrl || 'https://restapi.amap.com/v3'; |
|
|
|
const GOD_KEY = process.env.GOD_KEY || flags.godKey; |
|
|
|
|
|
|
|
// 视频后台 mqtt 信息推送地址
|
|
|
|
const MQTT_VIDEO_SERVER = process.env.MQTT_VIDEO_SERVER || flags.mqttVideoServer; |
|
|
|
|
|
|
|
// 七牛云存储参数
|
|
|
|
const QINIU_DOMAIN_QNDMN_RESOURCE = process.env.ANXINCLOUD_QINIU_DOMAIN_QNDMN_RESOURCE || flags.qndmn; |
|
|
@ -93,34 +53,15 @@ const CLICKHOUST_URL = process.env.CLICKHOUST_URL || flags.clickHouseUrl |
|
|
|
const CLICKHOUST_PORT = process.env.CLICKHOUST_PORT || flags.clickHousePort |
|
|
|
const CLICKHOUST_USER = process.env.CLICKHOUST_USER || flags.clickHouseUser |
|
|
|
const CLICKHOUST_PASSWORD = process.env.CLICKHOUST_PASSWORD || flags.clickHousePassword |
|
|
|
const CLICKHOUST_ANXINCLOUD = process.env.CLICKHOUST_ANXINCLOUD || flags.clickHouseAnxincloud |
|
|
|
const CLICKHOUST_PEP_EMIS = process.env.CLICKHOUST_PEP_EMIS || flags.clickHousePepEmis |
|
|
|
const CLICKHOUST_PROJECT_MANAGE = process.env.CLICKHOUST_PROJECT_MANAGE || flags.clickHouseProjectManage |
|
|
|
const CLICKHOUST_VCMP = process.env.CLICKHOUST_VCMP || flags.clickHouseVcmp |
|
|
|
const CLICKHOUST_DATA_ALARM = process.env.CLICKHOUST_DATA_ALARM || flags.clickHouseDataAlarm |
|
|
|
|
|
|
|
const CONFIRM_ALARM_ANXIN_USER_ID = process.env.CONFIRM_ALARM_ANXIN_USER_ID || flags.confirmAlarmAnxinUserId |
|
|
|
|
|
|
|
const PLATFORM_NAME = process.env.PLATFORM_NAME || flags.platformName || 'anxinyun'; |
|
|
|
|
|
|
|
// 视频平台应用秘钥
|
|
|
|
const VCMP_APP_ID = process.env.VCMP_APP_ID || flags.vcmpAppId |
|
|
|
const VCMP_APP_SECRET = process.env.VCMP_APP_SECRET || flags.vcmpAppSecret |
|
|
|
|
|
|
|
if ( |
|
|
|
!POMS_DB |
|
|
|
|| !IOTA_REDIS_SERVER_HOST || !IOTA_REDIS_SERVER_PORT |
|
|
|
|| !ANXINCLOUD_KAFKA_BROKERS |
|
|
|
|| !GOD_KEY |
|
|
|
|| !API_ANXINYUN_URL |
|
|
|
|| !API_EMIS_URL |
|
|
|
|| !API_VCMP_URL |
|
|
|
|| !API_IOT_AUTH |
|
|
|
|| !QINIU_DOMAIN_QNDMN_RESOURCE || !QINIU_BUCKET_RESOURCE || !QINIU_AK || !QINIU_SK |
|
|
|
|| !CLICKHOUST_URL || !CLICKHOUST_PORT |
|
|
|
|| !CLICKHOUST_ANXINCLOUD || !CLICKHOUST_PEP_EMIS || !CLICKHOUST_PROJECT_MANAGE || !CLICKHOUST_VCMP || !CLICKHOUST_DATA_ALARM |
|
|
|
|| !CONFIRM_ALARM_ANXIN_USER_ID |
|
|
|
|| !VCMP_APP_ID || !VCMP_APP_SECRET |
|
|
|
|| !CLICKHOUST_PEP_EMIS |
|
|
|
) { |
|
|
|
console.log('缺少启动参数,异常退出'); |
|
|
|
args.showHelp(); |
|
|
@ -147,32 +88,13 @@ const product = { |
|
|
|
opts: { |
|
|
|
dev, |
|
|
|
exclude: [ |
|
|
|
{ p: '/attachments/:p', o: 'POST' }, |
|
|
|
{ p: '/alarm/application/inspection', o: 'POST' }, |
|
|
|
{ p: '/project/app_list', o: 'GET' }, |
|
|
|
{ p: '/alarm/application/api', o: 'POST' } |
|
|
|
|
|
|
|
], // 不做认证的路由,也可以使用 exclude: ["*"] 跳过所有路由
|
|
|
|
anxinCloud: { |
|
|
|
confirmAlarmAnxinUserId: CONFIRM_ALARM_ANXIN_USER_ID |
|
|
|
}, |
|
|
|
vcmp: { |
|
|
|
app: { |
|
|
|
id: VCMP_APP_ID, |
|
|
|
secret: VCMP_APP_SECRET |
|
|
|
} |
|
|
|
}, |
|
|
|
kafka: { |
|
|
|
rootURL: ANXINCLOUD_KAFKA_BROKERS, |
|
|
|
topicPrefix: PLATFORM_NAME |
|
|
|
}, |
|
|
|
redis: { |
|
|
|
host: IOTA_REDIS_SERVER_HOST, |
|
|
|
port: IOTA_REDIS_SERVER_PORT, |
|
|
|
pwd: IOTA_REDIS_SERVER_PWD |
|
|
|
}, |
|
|
|
mqtt: { |
|
|
|
mqttVideoServer: MQTT_VIDEO_SERVER, |
|
|
|
}, |
|
|
|
sms: { |
|
|
|
///阿里云-安心云
|
|
|
|
accessKey: 'LTAI5tAFdjz7j38aNF2C9Qe8', |
|
|
@ -183,34 +105,14 @@ const product = { |
|
|
|
host: 'smtp.exmail.qq.com', |
|
|
|
port: 465, |
|
|
|
sender: { |
|
|
|
name: '运维服务', |
|
|
|
name: '人资服务', |
|
|
|
address: 'fsiot@free-sun.com.cn', |
|
|
|
password: 'Fs2689' |
|
|
|
} |
|
|
|
}, |
|
|
|
pssaRequest: [{// name 会作为一个 request 出现在 ctx.app.fs
|
|
|
|
name: 'axyRequest', |
|
|
|
root: API_ANXINYUN_URL |
|
|
|
}, { |
|
|
|
pssaRequest: [{ |
|
|
|
name: 'emisRequest', |
|
|
|
root: API_EMIS_URL |
|
|
|
}, { |
|
|
|
name: 'vcmpRequest', |
|
|
|
root: API_VCMP_URL |
|
|
|
}, { |
|
|
|
name: 'iotAuthRequest', |
|
|
|
root: API_IOT_AUTH |
|
|
|
}, { |
|
|
|
name: 'iotRequest', |
|
|
|
root: IOT_PROXY + '/_iota_api' |
|
|
|
}, { |
|
|
|
name: 'godRequest', |
|
|
|
root: GOD_URL, |
|
|
|
params: { |
|
|
|
query: { |
|
|
|
key: GOD_KEY |
|
|
|
} |
|
|
|
} |
|
|
|
},], |
|
|
|
clickHouse: { |
|
|
|
url: CLICKHOUST_URL, |
|
|
@ -219,20 +121,8 @@ const product = { |
|
|
|
password: CLICKHOUST_PASSWORD, |
|
|
|
db: [ |
|
|
|
{ |
|
|
|
name: 'anxinyun', |
|
|
|
db: CLICKHOUST_ANXINCLOUD |
|
|
|
}, { |
|
|
|
name: 'pepEmis', |
|
|
|
db: CLICKHOUST_PEP_EMIS |
|
|
|
}, { |
|
|
|
name: 'projectManage', |
|
|
|
db: CLICKHOUST_PROJECT_MANAGE |
|
|
|
}, { |
|
|
|
name: 'vcmp', |
|
|
|
db: CLICKHOUST_VCMP |
|
|
|
}, { |
|
|
|
name: 'dataAlarm', |
|
|
|
db: CLICKHOUST_DATA_ALARM |
|
|
|
} |
|
|
|
] |
|
|
|
} |
|
|
|