#include "GlobalConfig.h" #include #include "spdlog/spdlog.h" /* ==================================================================================== * ************************** GlobalConfig成员函数 ****************************** * ====================================================================================*/ GlobalConfig::GlobalConfig() { ThreadSleepMS = 300; } /* 读取配置文件 */ bool GlobalConfig::readConfig(const QString& strConfigFile) { if(strConfigFile.isEmpty()) { SPDLOG_ERROR("读取配置文件失败! 配置文件名为空"); return false; } SPDLOG_DEBUG("读取配置文件: {}", strConfigFile.toStdString()); QSettings settings(strConfigFile, QSettings::IniFormat); settings.setIniCodec("UTF-8"); settings.beginGroup("System"); AppUpdateOnWorkTimeInterval_Time = settings.value("WorkOnInfoSecond", 600).toInt(); /* 更新在岗信息的时间间隔 */ AppPeopleOnWork_Time = settings.value("APPPEPOLEONWORK", 300).toInt(); /* 离岗时间 */ AppContraband_Time = settings.value("APPBADTHING", 50).toInt(); /* 违禁物品出现的时间 */ AppBadMan_Time = settings.value("APPBADMAN", 50).toInt(); /* 非法入侵 */ AppTired_Time = settings.value("APPTIRED", 50).toInt(); /* 疲劳检测时间 */ AppPeopleCont = settings.value("APPPEPOLECONT", 50).toInt(); /* 人员聚集时间 */ AppPlayPhone = settings.value("APPPLAYPHONE", 50).toInt(); /* 玩手机识别 */ AppMouse = settings.value("APPMOUSE", 50).toInt(); /* 手势识别 */ AppMask = settings.value("APPMASK", 5).toInt(); /* 戴口罩识别 */ CheckSet = settings.value("CHECKSET", 300).toInt(); /* 服务端多久检测一次配置 */ EventTimeValid = settings.value("EventTimeValid", 300).toInt(); /* 事件时间有效期 */ Key = settings.value("Key").toString().toStdString(); /* Key */ Secret = settings.value("Secret").toString().toStdString(); /* Secret */ settings.endGroup(); if(Key.empty() || Secret.empty()) { SPDLOG_ERROR("读取配置文件失败! Key或Secret为空"); return false; } return true; } /* 打印读取到的值 */ void GlobalConfig::printValue() { SPDLOG_INFO("APPPEPOLEONWORK: {}", AppPeopleOnWork_Time); SPDLOG_INFO("APPBADTHING: {}", AppContraband_Time); SPDLOG_INFO("APPBADMAN: {}", AppBadMan_Time); SPDLOG_INFO("APPTIRED: {}", AppTired_Time); SPDLOG_INFO("APPPEOPLECONT: {}", AppPeopleCont); SPDLOG_INFO("APPPLAYPHONE: {}", AppPlayPhone); SPDLOG_INFO("APPMOUSE: {}", AppMouse); SPDLOG_INFO("APPMASK: {}", AppMask); SPDLOG_INFO("CHECKSET: {}", CheckSet); SPDLOG_INFO("EventTimeValid: {}", EventTimeValid); } /* 添加通道信息 */ void GlobalConfig::setChannelInfo(std::map mapChannelName) { m_rwLockChnInfo.lockForWrite(); m_mapChannelName.clear(); m_mapChannelName = mapChannelName; m_rwLockChnInfo.unlock(); } /* 清空通道信息 */ void GlobalConfig::clearChannelInfo() { m_rwLockChnInfo.lockForWrite(); m_mapChannelName.clear(); m_rwLockChnInfo.unlock(); } /* 获取通道名称 */ std::string GlobalConfig::getChannelName(int ChannelID) { m_rwLockChnInfo.lockForRead(); std::string strName = ""; auto it = m_mapChannelName.find(ChannelID); if(it != m_mapChannelName.end()) { strName = it->second; } m_rwLockChnInfo.unlock(); return strName; } /* 添加摄像机信息 */ void GlobalConfig::setCameraInfo(std::map mapCameraName) { m_rwLockCamInfo.lockForWrite(); m_mapCameraName.clear(); m_mapCameraName = mapCameraName; m_rwLockCamInfo.unlock(); } /* 获取摄像机名称 */ std::string GlobalConfig::getCameraName(int CameraID) { m_rwLockCamInfo.lockForRead(); std::string strName = ""; auto it = m_mapCameraName.find(CameraID); if(it != m_mapCameraName.end()) { strName = it->second; } m_rwLockCamInfo.unlock(); return strName; }