#include "Config.h" #include #include "common/JsonN.h" #include "Logger.h" #include "AppData.h" AppOption Config::option; bool Config::init(std::string filename) { NJsonNode jsonroot; bool ret = NJson::load(filename, jsonroot); if (!ret) { XLOGE() << "[APP] load config failed, filename=" << filename; return false; } XLOGI() << "[APP] load config 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") : ""; XLOGI() << "[APP] load database config end. host=" << option.database.host; } else { XLOGI() << "[APP] load database config error: not found. host=" << option.database.host; } if (jsonroot.contains("token")) { std::string token = jsonroot["token"]; option.useToken = !token.empty(); } return true; }