#include "stdafx.h" #include "CUserInfo.h" #include "FileOperate.h" CUserInfo::CUserInfo() : id(0), port(0) { } CUserInfo::~CUserInfo() { } bool CUserInfo::Init(std::string data) { if (data.empty()) { return false; } try { nlohmann::json j = nlohmann::json::parse(data.begin(), data.end()); if (j["ret"].get() == 1) { // this->access_token = j["data"]["access_token"].get(); this->affurl = j["data"]["affurl"].get(); this->swoftdownload = j["data"]["swoftdownload"].get(); this->clash_config = j["data"]["clash_config"].get(); // this->id = j["data"]["user"].at("id").get(); this->username = j["data"]["user"].at("account").get(); this->expiretime = j["data"]["user"].at("expired_at").get(); this->password = j["data"]["user"].at("passwd").get(); this->unusedTraffic = j["data"]["user"].at("unusedTraffic").get(); this->uuid = j["data"]["user"].at("uuid").get(); this->level = j["data"]["user"].at("level").get(); this->port = j["data"]["user"].at("port").get(); return true; } else { this->m_error_msg = S_CA2W(j["msg"].get().c_str(),CP_UTF8).GetBuffer(0); return false; } } catch (...) { this->m_error_msg = L"½âÎöÊý¾Ý´íÎó"; return false; } return false; } SStringA CUserInfo::GetLastErrorA() { return S_CW2A(m_error_msg,CP_UTF8); } SStringW CUserInfo::GetLastErrorW() { return m_error_msg.GetBuffer(0); }