diff --git a/appdep/iflytop/core/components/config_template/config_template.hpp b/appdep/iflytop/core/components/config_template/config_template.hpp index 1f48067..7d48980 100644 --- a/appdep/iflytop/core/components/config_template/config_template.hpp +++ b/appdep/iflytop/core/components/config_template/config_template.hpp @@ -77,7 +77,7 @@ \ string config; \ if (!FileUtils().exist(configFile)) { \ - logger->error("can't find configfile ,create default config:{}", configFile); \ + logger->warn("can't find configfile ,create default config:{}", configFile); \ auto defaultConfigFile = FileUtils().openTrunc(configFile); \ defaultConfigFile->write("{}", 2); \ } \ diff --git a/appsrc/appsetting/project_port/project_port.cpp b/appsrc/appsetting/project_port/project_port.cpp index 6b291d8..f20efa2 100644 --- a/appsrc/appsetting/project_port/project_port.cpp +++ b/appsrc/appsetting/project_port/project_port.cpp @@ -23,23 +23,43 @@ static string projectType2Str(int val) { } } +// /etc/hostname +static string readHostname() { + string hostname; + ifstream file("/etc/hostname"); + if (file.is_open()) { + getline(file, hostname); + file.close(); + } + return hostname; +} + void ProjectPort::initialize() { GET_TO_SERVICE(gConfig); - if (gConfig->get_projectType() == PROJECT_LARGE_SPACE_DM) { + + string projectTypeName = gConfig->get_projectType(); + if (projectTypeName.empty()) { + projectTypeName = readHostname(); + } + + if (projectTypeName == PROJECT_LARGE_SPACE_DM) { initProjectSetting(klarge_space_disinfection_machine); - } else if (gConfig->get_projectType() == PROJECT_SMALL_SPACE_DM) { + } else if (projectTypeName == PROJECT_SMALL_SPACE_DM) { initProjectSetting(ksmall_space_disinfection_machine); - } else if (gConfig->get_projectType() == PROJECT_PIPE_DM) { + } else if (projectTypeName == PROJECT_PIPE_DM) { initProjectSetting(kpipe_disinfection_machine); - } else if (gConfig->get_projectType() == PROJECT_DRAW_BAR_DM) { + } else if (projectTypeName == PROJECT_DRAW_BAR_DM) { initProjectSetting(kdraw_bar_disinfection_box); } else { // THROW_APP_EXCEPTION(err::kappe_code_error, "ProjectPort::initialize: projectType not found"); - logger->error("project type not support:{}", gConfig->get_projectType()); + logger->error("project type not support:{}", projectTypeName); exit(-1); } } +int32_t ProjectPort::getProjType() { return projectTypeInt; } +string ProjectPort::getProjTypeString() { return projectType; } + void ProjectPort::initProjectSetting(int projectTypeInt) { projectTypeInt = projectTypeInt; projectType = projectType2Str(projectTypeInt); diff --git a/appsrc/appsetting/project_port/project_port.hpp b/appsrc/appsetting/project_port/project_port.hpp index f67cc3e..8c5670f 100644 --- a/appsrc/appsetting/project_port/project_port.hpp +++ b/appsrc/appsetting/project_port/project_port.hpp @@ -54,6 +54,7 @@ class ProjectPort { public: int32_t getProjType(); + string getProjTypeString(); /******************************************************************************* * //设备类型判断 * diff --git a/appsrc/service/device_info_mgr_service.cpp b/appsrc/service/device_info_mgr_service.cpp index ea0ba27..9ec62e1 100644 --- a/appsrc/service/device_info_mgr_service.cpp +++ b/appsrc/service/device_info_mgr_service.cpp @@ -16,8 +16,8 @@ void DeviceInfoMgrService::initialize() { void DeviceInfoMgrService::getDeviceInfo(shared_ptr cxt) { // auto& content = cxt->content; - content["projectType"] = m_gConfig->get_projectType(); + content["projectType"] = PORT.getProjTypeString(); content["appVersion"] = VERSION; - content["mircoVersion"] = "3.0.0";//TODO:换成真实的版本信息 + content["mircoVersion"] = "3.0.0"; // TODO:换成真实的版本信息 content["ip"] = "192.168.8.10"; }