代码拉取完成,页面将自动刷新
#include <boost/thread/mutex.hpp>
#include "IweChenCfg.h"
#include "JsonHelper.h"
#include "trace_worker.h"
static boost::mutex g_insMutexCalc;
IWeChenCfg::IWeChenCfg(const std::string &cfgFile)
{ trace_worker();
trace_printf("cfgFile.c_str() %s", cfgFile.c_str());
printf("cfgFile.c_str() %s\n", cfgFile.c_str());
std::ifstream ifs(cfgFile);
rapidjson::IStreamWrapper isw(ifs);
if (m_cfggDocument.ParseStream(isw).HasParseError())
{
printf("GetParseError %d %s\n", m_cfggDocument.GetParseError(), __FUNCTION__);
return;
}
}
IWeChenCfg::~IWeChenCfg()
{}
CWeChenCfg* CWeChenCfg::_instance = NULL;
CWeChenCfg* CWeChenCfg::instance()
{
if (NULL == _instance)
{
boost::unique_lock<boost::mutex> guardMutex(g_insMutexCalc);
if (NULL == _instance)
{
_instance = new CWeChenCfg("config.json");
}
}
return _instance;
}
CWeChenCfg::CWeChenCfg(const std::string &cfgFile)
:IWeChenCfg(cfgFile)
{
}
CWeChenCfg::~CWeChenCfg()
{}
const rapidjson::Value &CWeChenCfg::Cfg()
{ trace_worker();
return m_cfggDocument;
}
const rapidjson::Value &CWeChenCfg::AppIdCfg(const std::string &appId)
{ trace_worker();
return m_cfggDocument["APPID"][appId.c_str()];
}
const char *CWeChenCfg::GetSecret(const std::string &appId)
{ trace_worker();
if (!m_cfggDocument.HasMember("APPID")
|| !m_cfggDocument["APPID"].HasMember(appId.c_str()))
{
return "";
}
return m_cfggDocument["APPID"][appId.c_str()]["secret"].GetString();
}
const char *CWeChenCfg::GetAppIdTemp(const std::string &appId, const std::string &tempName)
{ trace_worker();
if (!m_cfggDocument.HasMember("APPID")
|| !m_cfggDocument["APPID"].HasMember(appId.c_str()))
{
return "";
}
return m_cfggDocument["APPID"][appId.c_str()]["template"][tempName.c_str()].GetString();
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。