Files
energy_storage/src/app/Config.cpp

48 lines
1.4 KiB
C++
Raw Normal View History

#include "Config.h"
#include <fstream>
#include "common/JsonN.h"
#include "common/Spdlogger.h"
2025-08-31 14:38:53 +08:00
#include "AppData.h"
AppOption Config::option;
bool Config::init(std::string filename)
{
NJsonNode jsonroot;
bool ret = NJson::load(filename, jsonroot);
if (!ret)
{
spdlog::error("[config] load config file failed, filename={}", filename);
return false;
}
spdlog::info("[config] load config file success, filename={}", filename);
if (jsonroot.contains("database"))
{
NJsonNode json = jsonroot.at("database");
option.database.host = json.contains("host") ? json.at("host") : "";
option.database.port = json.contains("port") ? json.at("port") : 0;
option.database.user = json.contains("user") ? json.at("user") : "";
option.database.passwd = json.contains("passwd") ? json.at("passwd") : "";
option.database.dbname = json.contains("dbname") ? json.at("dbname") : "";
spdlog::info("[config] parse database success. host={}", option.database.host);
}
else
{
spdlog::info("[config] parse database failed: not found. host={}", option.database.host);
}
if (jsonroot.contains("http"))
2025-08-31 14:38:53 +08:00
{
NJsonNode json = jsonroot.at("http");
std:string token;
NJson::read(json, "token", token);
option.http.useToken = !token.empty();
NJson::read(json, "port", option.http.port);
2025-08-31 14:38:53 +08:00
}
return true;
}