diff --git a/src/api/controlCenter/controlPanel/eqControl.ts b/src/api/controlCenter/controlPanel/eqControl.ts new file mode 100644 index 0000000..825abfe --- /dev/null +++ b/src/api/controlCenter/controlPanel/eqControl.ts @@ -0,0 +1,114 @@ +import xhyc from '@/api/controlCenter/controlPanel/670' +import fys from '@/api/controlCenter/controlPanel/index' + + +var dic = [{ + typeNames: ['670'],//星汉的配置 + sendMsg: { + cfg: ['sendMsg', 'deviceIds', 'deviceImeiList', 'instructValue', 'batchId'], + method: xhyc.SendMessage + }, + SOS: { + + cfg: ["deviceIds", "typeName", "batchId", "deviceImeiList", "instructValue"], + method: xhyc.SosSettingBatch + }, + sendImg: { + cfg: [], + method: null + } +}, +{ + typeNames: ['6170', '210'],//富源晟的配置 + sendMsg: { + cfg: ["deviceIds", "typeName", "batchId", "deviceImeiList", "sendMsg"], + method: fys.deviceSendMessage + }, + SOS: { + cfg: ["deviceIds", "typeName", "batchId", "deviceImeiList", "instructValue"], + method: fys.sendAlarmMessage + }, + sendImg: { + cfg: [], + method: null + } +}, +{ + typeNames: null,//如果找不到,以富源晟的配置为准 + sendMsg: { + cfg: ["deviceIds", "typeName", "batchId", "deviceImeiList", "sendMsg"], + method: fys.deviceSendMessage + }, + SOS: { + cfg: ["deviceIds", "typeName", "batchId", "deviceImeiList", "instructValue"], + method: fys.sendAlarmMessage + }, + sendImg: { + cfg: [], + method: null + } + +} +]; + +function getCfg(json, type) { + let f = dic.find(v => { + + let flag = false; + for (let index = 0; index < v.typeNames.length; index++) { + let i = v.typeNames[index]; + if (i.toLowerCase().indexOf(json.typeName.toLowerCase()) > -1 || json.typeName.toLowerCase().indexOf(i.toLowerCase()) > -1) { + flag = true; + break; + } + } + return flag; + }); + + if (!f) { + f = dic.find(v => { + return !v.typeNames; + }); + } + if (f) { + let keys = f[type].cfg; + let method = f[type].method; + + let formData = {}; + keys.forEach(key => { + formData[key] = json[key]; + }); + + return { + formData: formData, + method: method + } + + + } + return null; +} + +//发送信息 +function deviceSendMessage(json) { + let cfg = getCfg(json, 'sendMsg'); + if (cfg.method) { + return cfg.method(cfg.formData); + } + return Promise.reject({ code: 500, msg: '配置中找不到该类型的设备' }); + +} + +//强制报警 +function sendAlarmMessage(json) { + + let cfg = getCfg(json, 'SOS'); + if (cfg.method) { + return cfg.method(cfg.formData); + } + return Promise.reject({ code: 500, msg: '配置中找不到该类型的设备' }); +} +export default { + deviceSendMessage: deviceSendMessage, + sendAlarmMessage: sendAlarmMessage +}