| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #pragma once
- #include <codecvt>
- #include "IDingDing.h"
- class CDingDing :public IDingDing
- {
- public:
-
- // 推送信息到钉钉
- virtual bool Push(const std::string& strInfo) override;
- // 推送心跳提醒消息到钉钉
- virtual bool PushHeart(const std::string& strDev)override;
- virtual bool PushHeart(const std::string& strDev, const bool& bIsPush, const bool& bIsRm = false)override;
- // 推送连接断开消息到钉钉
- virtual bool PushDisConn(const std::string& strDev)override;
- // 推送IVR流程节点超时提醒到钉钉
- virtual bool PushIVRCellTimeOut()override;
- // 推送SQL执行失败语句到钉钉
- virtual bool PushFailSQL(const std::string&strSql, const std::string& strErrInfo = "")override;
- // 推送fslink不能找到对应通道消息到钉钉
- virtual bool PushFindFailChan() override;
- static CDingDing* GetInstance() { return &instance; }
- virtual ~CDingDing() = default;
- private:
- CDingDing() = default;
-
- CDingDing(const CDingDing&) = default;
- CDingDing& operator=(const CDingDing&) = default;
- private:
- static std::wstring string_to_wstring(const std::string &s)
- {
- using default_convert = std::codecvt<wchar_t, char, std::mbstate_t>;
- static std::wstring_convert<default_convert>conv(new(std::nothrow) default_convert("CHS"));
- return conv.from_bytes(s);
- }
- static std::string ansi_to_utf8(const std::string &s)
- {
- static std::wstring_convert<std::codecvt_utf8<wchar_t> > conv;
- return conv.to_bytes(string_to_wstring(s));
- }
- static std::string wstring_to_string(const std::wstring &s)
- {
- using default_convert = std::codecvt<wchar_t, char, std::mbstate_t>;
- static std::wstring_convert<default_convert>conv(new(std::nothrow) default_convert("CHS"));
- return conv.to_bytes(s);
- }
- static std::string utf8_to_ansi(const std::string& s)
- {
- static std::wstring_convert<std::codecvt_utf8<wchar_t> > conv;
- return wstring_to_string(conv.from_bytes(s));
- }
- private:
- static CDingDing instance;
- };
|