mirror of
https://github.com/laomms/wxhelper.git
synced 2025-04-19 19:59:15 +08:00
198 lines
8.7 KiB
C++
198 lines
8.7 KiB
C++
#include "misc_controller.h"
|
|
#include <locale>
|
|
#include <codecvt>
|
|
#include "json_utils.h"
|
|
#include "nlohmann/json.hpp"
|
|
#include "spdlog/spdlog.h"
|
|
#include "wechat_interface.h"
|
|
#include "wechat_service.h"
|
|
|
|
namespace jsonutils = wxhelper::jsonutils;
|
|
|
|
namespace wxhelper {
|
|
std::string MiscController::CheckLogin(std::string params) {
|
|
int64_t success = wechat::WeChatService::GetInstance().CheckLogin();
|
|
nlohmann::json ret = {{"code", success}, {"data", {}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::GetUserInfo(std::string params) {
|
|
wechat::SelfInfoInner out;
|
|
int64_t success = wechat::WeChatService::GetInstance().GetSelfInfo(out);
|
|
nlohmann::json ret = {{"code", success}, {"data", {}}, {"msg", "success"}};
|
|
nlohmann::json j_info = {
|
|
{"name", out.name},
|
|
{"city", out.city},
|
|
{"province", out.province},
|
|
{"country", out.country},
|
|
{"account", out.account},
|
|
{"wxid", out.wxid},
|
|
{"mobile", out.mobile},
|
|
{"headImage", out.head_img},
|
|
{"signature", out.signature},
|
|
{"dataSavePath", out.data_save_path},
|
|
{"currentDataPath", out.current_data_path},
|
|
{"dbKey", out.db_key},
|
|
{"publicKey", out.public_key},
|
|
{"privateKey", out.private_key},
|
|
};
|
|
ret["data"] = j_info;
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::GetSNSFirstPage(std::string params) {
|
|
int64_t success = wechat::WeChatService::GetInstance().GetSNSFirstPage();
|
|
nlohmann::json ret = {{"code", success}, {"data", {}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::GetSNSNextPage(std::string params) {
|
|
SPDLOG_INFO("GetSNSNextPage params:{}", params);
|
|
nlohmann::json jp = nlohmann::json::parse(params);
|
|
int64_t sns_id = jsonutils::GetInt64Param(jp, "snsId");
|
|
int64_t success = wechat::WeChatService::GetInstance().GetSNSNextPage(sns_id);
|
|
nlohmann::json ret = {{"code", success}, {"data", {}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::AddFavFromMsg(std::string params) {
|
|
SPDLOG_INFO("AddFavFromMsg params:{}", params);
|
|
nlohmann::json jp = nlohmann::json::parse(params);
|
|
int64_t sns_id = jsonutils::GetInt64Param(jp, "msgId");
|
|
int64_t success = wechat::WeChatService::GetInstance().AddFavFromMsg(sns_id);
|
|
nlohmann::json ret = {{"code", success}, {"data", {}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::AddFavFromImage(std::string params) {
|
|
SPDLOG_INFO("AddFavFromImage params:{}", params);
|
|
nlohmann::json jp = nlohmann::json::parse(params);
|
|
std::wstring wxid = jsonutils::GetWStringParam(jp, "wxid");
|
|
std::wstring image_path = jsonutils::GetWStringParam(jp, "imagePath");
|
|
int64_t success =
|
|
wechat::WeChatService::GetInstance().AddFavFromImage(wxid, image_path);
|
|
nlohmann::json ret = {{"code", success}, {"data", {}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::DecodeImage(std::string params) {
|
|
SPDLOG_INFO("DecodeImage params:{}", params);
|
|
nlohmann::json jp = nlohmann::json::parse(params);
|
|
std::wstring file_path = jsonutils::GetWStringParam(jp, "filePath");
|
|
std::wstring store_dir = jsonutils::GetWStringParam(jp, "storeDir");
|
|
int64_t success =
|
|
wechat::WeChatService::GetInstance().DecodeImage(file_path, store_dir);
|
|
nlohmann::json ret = {{"code", success}, {"data", {}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::GetVoiceByMsgId(std::string params) {
|
|
SPDLOG_INFO("GetVoiceByMsgId params:{}", params);
|
|
nlohmann::json jp = nlohmann::json::parse(params);
|
|
int64_t msg_id = jsonutils::GetInt64Param(jp, "msgId");
|
|
std::wstring store_dir = jsonutils::GetWStringParam(jp, "storeDir");
|
|
int64_t success =
|
|
wechat::WeChatService::GetInstance().GetVoiceByDB(msg_id, store_dir);
|
|
nlohmann::json ret = {{"code", success}, {"data", {}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::DoOcrTask(std::string params) {
|
|
SPDLOG_INFO("DoOcrTask params:{}", params);
|
|
nlohmann::json jp = nlohmann::json::parse(params);
|
|
std::wstring image_path = jsonutils::GetWStringParam(jp, "imagePath");
|
|
std::string text("");
|
|
int64_t success =
|
|
wechat::WeChatService::GetInstance().DoOCRTask(image_path, text);
|
|
nlohmann::json ret = {
|
|
{"code", success}, {"data", {{"content", text}}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::LockWeChat(std::string params) {
|
|
int64_t success = wechat::WeChatService::GetInstance().LockWeChat();
|
|
nlohmann::json ret = {{"code", success}, {"data", {}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::UnlockWeChat(std::string params) {
|
|
int64_t success = wechat::WeChatService::GetInstance().UnlockWeChat();
|
|
nlohmann::json ret = {{"code", success}, {"data", {}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::ClickEnterWeChat(std::string params) {
|
|
int64_t success = wechat::WeChatService::GetInstance().EnterWeChat();
|
|
nlohmann::json ret = {{"code", success}, {"data", {}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::GetLoginUrl(std::string params) {
|
|
std::string login_url = wechat::WeChatService::GetInstance().GetLoginUrl();
|
|
nlohmann::json ret = {
|
|
{"code", 1}, {"data", {"loginUrl", login_url}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::TranslateVoice(std::string params) {
|
|
SPDLOG_INFO("TranslateVoice params:{}", params);
|
|
nlohmann::json jp = nlohmann::json::parse(params);
|
|
int64_t msg_id = jsonutils::GetInt64Param(jp, "msgId");
|
|
int64_t success = wechat::WeChatService::GetInstance().TranslateVoice(msg_id);
|
|
nlohmann::json ret = {{"code", success}, {"data", {}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::GetTranslateVoiceText(std::string params) {
|
|
nlohmann::json jp = nlohmann::json::parse(params);
|
|
int64_t msg_id = jsonutils::GetInt64Param(jp, "msgId");
|
|
std::string content =
|
|
wechat::WeChatService::GetInstance().GetTranslateVoiceText(msg_id);
|
|
nlohmann::json ret_data = {
|
|
{"code", 1}, {"msg", "success"}, {"data", {{"transtext", content}}}};
|
|
return ret_data.dump();
|
|
}
|
|
std::string MiscController::OpenUrlByWeChat(std::string params) {
|
|
SPDLOG_INFO("OpenUrlByWeChat params:{}", params);
|
|
nlohmann::json jp = nlohmann::json::parse(params);
|
|
std::wstring url = jsonutils::GetWStringParam(jp, "url");
|
|
int flag = jsonutils::GetIntParam(jp, "flag");
|
|
int64_t success =
|
|
wechat::WeChatService::GetInstance().OpenUrlByWeChatBrowser(url, flag);
|
|
nlohmann::json ret = {{"code", success}, {"data", {}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::ConfirmReceipt(std::string params) {
|
|
SPDLOG_INFO("ConfirmReceipt params:{}", params);
|
|
nlohmann::json jp = nlohmann::json::parse(params);
|
|
std::wstring wxid = jsonutils::GetWStringParam(jp, "wxid");
|
|
std::wstring transcationid = jsonutils::GetWStringParam(jp, "transcationId");
|
|
std::wstring transferid = jsonutils::GetWStringParam(jp, "transferId");
|
|
int64_t success = wechat::WeChatService::GetInstance().DoConfirmReceipt(
|
|
wxid, transcationid, transferid);
|
|
nlohmann::json ret = {{"code", success}, {"data", {}}, {"msg", "success"}};
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::RefundReceipt(std::string params)
|
|
{
|
|
SPDLOG_INFO("RefuseReceipt params:{}", params);
|
|
nlohmann::json jp = nlohmann::json::parse(params);
|
|
std::wstring wxid = jsonutils::GetWStringParam(jp, "wxid");
|
|
std::wstring transcationid = jsonutils::GetWStringParam(jp, "transcationId");
|
|
std::wstring transferid = jsonutils::GetWStringParam(jp, "transferId");
|
|
int64_t success = wechat::WeChatService::GetInstance().DoRefuseReceipt(
|
|
wxid, transcationid, transferid);
|
|
nlohmann::json ret = { {"code", success}, {"data", {}}, {"msg", "success"} };
|
|
return ret.dump();
|
|
}
|
|
|
|
std::string MiscController::DownloadAttach(std::string params) {
|
|
SPDLOG_INFO("DownloadAttach params:{}", params);
|
|
nlohmann::json jp = nlohmann::json::parse(params);
|
|
int64_t msg_id = jsonutils::GetInt64Param(jp, "msgId");
|
|
std::wstring result = wechat::WeChatService::GetInstance().DoDownloadTask(msg_id);
|
|
std::string result_str = std::wstring_convert<std::codecvt_utf8<wchar_t>>().to_bytes(result);
|
|
nlohmann::json ret = {
|
|
{"code", 1}, {"data", {"result", result_str}}, {"msg", "success"} };
|
|
return ret.dump();
|
|
}
|
|
std::string MiscController::VerifyApply(std::string params)
|
|
{
|
|
SPDLOG_INFO("verifyApply params:{}", params);
|
|
nlohmann::json jp = nlohmann::json::parse(params);
|
|
int32_t permission = jsonutils::GetIntParam(jp, "permission");
|
|
std::wstring v3 = jsonutils::GetWStringParam(jp, "v3");
|
|
std::wstring v4 = jsonutils::GetWStringParam(jp, "v4");
|
|
int64_t success = wechat::WeChatService::GetInstance().VerifyApply(v3, v4, permission);
|
|
nlohmann::json ret = { {"code", success}, {"data", {}}, {"msg", "success"} };
|
|
return ret.dump();
|
|
}
|
|
|
|
} // namespace wxhelper
|