diff --git a/CHANGELOG b/CHANGELOG index 2414277458d4ddc062a7e0db5be55bb68ce9234e..38f8e7b6c15c0fc4085d4547ab55c6108d995acf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,29 @@ +XEngine_APIService V3.3.0.1001 + +增加:行政区域ID转换支持 +增加:天气信息查询支持 +增加:图像质量和压缩级别设置支持 +增加:日志表枚举支持 +更新:匹配XEngine V8.25版本 +修改:后台下载服务不需要等待完成即可返回消息了 +修改:后台上传服务不需要等待完成即可返回消息了 +修改:在进入HTTPTask_TastPost_Handle函数就进行解码了 +修复:创建日志表错误的问题 +修复:日志表字符集不正确的问题 +修复:日志协议删除表协议错误 + +added:id region convert supported +added:weather info query supported +added:image quality and compress level set supported +added:list xlog database table supported +update:match xengine v8.25 +modify:does not wait completed reply msg for download of back service +modify:does not wait completed reply msg for upload of back service +modify:after entering the HTTPTask_TastPost_Handle function, the url encoding starts to be processed. +fixed:create log table is incorrect +fixed:log table charsets is incorrect +fixed:log protocol delete table is incorrect +====================================================================================== XEngine_APIService V3.2.0.1001 增加:编译开关日志提示 diff --git a/README.en.md b/README.en.md index cb286a824f57b32f52b8c13e3063657d781b5b2e..e31db86cdf57aa29b7ffe0b7c5dc658af5401729 100644 --- a/README.en.md +++ b/README.en.md @@ -23,7 +23,7 @@ Support privatization deployment, free, safe, open source, controllable 2. support ip address location information query 3. support ID verification and information query 4. support phone number information query -5. Weather forecast (planned) +5. Weather forecast 6. Lunar calendar conversion (planning) 7. News headlines (planned) 8. Standard height and weight @@ -49,7 +49,7 @@ Support privatization deployment, free, safe, open source, controllable 28. remote control(back management) 29. Image Process 30. process deamon - +31. Region ID Convert ## install #### XEngine Evn diff --git a/README.md b/README.md index 3c544397817d67f5aaad03d7fb5f549cd01e0b19..f64c2d0714fbebc288b0ca05c621032034fc9c82 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ c c++ interface api service 2. 支持IP地址位置信息查询 3. 支持身份证校验与信息查询 4. 支持手机号信息归属查询 -5. 天气预报(计划中) +5. 天气预报 6. 农历公历转换(计划中) 7. 新闻头条(计划中) 8. 标准身高体重 @@ -48,6 +48,7 @@ c c++ interface api service 28. 远程控制(后台管理) 29. 图像处理 30. 进程守护 +31. 行政区域ID转换 ## 安装教程 @@ -123,6 +124,9 @@ make FLAGS=CleanAll 清理编译 ## 其他问题 你可以参考docment目录下的文档.里面包含了API协议和服务说明. +## 视频教程 +你也可以观看视频教程来了解我们的代码框架情况:https://www.bilibili.com/video/BV13z421d7W8 + ## 测试服务器 地址:app.xyry.org,端口:5501 diff --git a/XEngine_APPClient/APPClient_BackExample/APPClient_BackExample.cpp b/XEngine_APPClient/APPClient_BackExample/APPClient_BackExample.cpp index 89953c67f0d0876f1d6605b813db466e01259a74..ca9f6a7bcb1fc902eb220149b55f74d533ccf942 100644 --- a/XEngine_APPClient/APPClient_BackExample/APPClient_BackExample.cpp +++ b/XEngine_APPClient/APPClient_BackExample/APPClient_BackExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -16,13 +16,12 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_ImageExample.cpp -o APPClient_ImageExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_ImageExample.cpp -o APPClient_ImageExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_ImageExample.cpp -o APPClient_ImageExample.exe -lXEngine_BaseLib -lXClient_APIHelp int test_query() diff --git a/XEngine_APPClient/APPClient_BankExample/APPClient_BankExample.cpp b/XEngine_APPClient/APPClient_BankExample/APPClient_BankExample.cpp index 6e4d9853b20bb1f927e88d8c2ab97ce418db7ded..3914bc4850dea491a4fd13eee485d9a49614ad7b 100644 --- a/XEngine_APPClient/APPClient_BankExample/APPClient_BankExample.cpp +++ b/XEngine_APPClient/APPClient_BankExample/APPClient_BankExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,13 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_BankExample.cpp -o APPClient_BankExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_BankExample.cpp -o APPClient_BankExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,9 +29,9 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszUrl = _T("http://127.0.0.1:5501/api?function=bank¶ms1=6214111100184841¶ms2=0"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5501/api?function=bank¶ms1=6214111100184841¶ms2=0"); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_DTestExample/APPClient_DTestExample.cpp b/XEngine_APPClient/APPClient_DTestExample/APPClient_DTestExample.cpp index 8f681710378e394556e1e8ab7fa43ae44314449a..65f27e545197dcfcd2f17bfe814db87afcbd43aa 100644 --- a/XEngine_APPClient/APPClient_DTestExample/APPClient_DTestExample.cpp +++ b/XEngine_APPClient/APPClient_DTestExample/APPClient_DTestExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,13 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_DTestExample.cpp -o APPClient_DTestExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_DTestExample.cpp -o APPClient_DTestExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,9 +29,9 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszUrl = _T("http://127.0.0.1:5501/api?function=dtest¶ms1=0"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5501/api?function=dtest¶ms1=0"); - if (!APIClient_Http_Request(_T("POST"), lpszUrl, "hello", NULL, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszUrl, "hello", NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_DeamonExample/APPClient_DeamonExample.cpp b/XEngine_APPClient/APPClient_DeamonExample/APPClient_DeamonExample.cpp index 818ab6a29dc2fda559f8d901a338fa1986499a69..9eed4e3311443634659c401a04e801159b311101 100644 --- a/XEngine_APPClient/APPClient_DeamonExample/APPClient_DeamonExample.cpp +++ b/XEngine_APPClient/APPClient_DeamonExample/APPClient_DeamonExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -16,13 +16,12 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_DeamonExample.cpp -o APPClient_DeamonExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -ljsoncpp -//macos::g++ -std=c++17 -Wall -g APPClient_DeamonExample.cpp -o APPClient_DeamonExample.exe -lXEngine_BaseLib -lNetHelp_APIClient -ljsoncpp +//g++ -std=c++17 -Wall -g APPClient_DeamonExample.cpp -o APPClient_DeamonExample.exe -lXEngine_BaseLib -lXClient_APIHelp -ljsoncpp int test_insert() @@ -35,8 +34,8 @@ int test_insert() Json::Value st_JsonRoot; st_JsonRoot["bEnable"] = true; st_JsonRoot["nRetime"] = 3; - st_JsonRoot["tszAPPName"] = "1.exe"; - st_JsonRoot["tszAPPPath"] = "D:\\path\\"; + st_JsonRoot["tszAPPName"] = "Fairdell_HexCmp2.exe"; + st_JsonRoot["tszAPPPath"] = "D:\\"; if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { diff --git a/XEngine_APPClient/APPClient_IDExample/APPClient_IDExample.cpp b/XEngine_APPClient/APPClient_IDExample/APPClient_IDExample.cpp index d9a25703364c2ab7cf58c5aeff48f34fae7f4853..0f6c23646dd1b75970a7046bb3e0d3ca4e4bbca3 100644 --- a/XEngine_APPClient/APPClient_IDExample/APPClient_IDExample.cpp +++ b/XEngine_APPClient/APPClient_IDExample/APPClient_IDExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,13 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_IDExample.cpp -o APPClient_IDExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_IDExample.cpp -o APPClient_IDExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,9 +29,9 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszUrl = _T("http://127.0.0.1:5501/api?function=id¶ms1=511025191101018792¶ms2=0"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5501/api?function=id¶ms1=511025191101018792¶ms2=0"); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_IPExample/APPClient_IPExample.cpp b/XEngine_APPClient/APPClient_IPExample/APPClient_IPExample.cpp index 71db3301d0587328fd07c89f4b83c8a634d2d815..0c6146a6a571c25ff1c4558366d4df7cc9fc6318 100644 --- a/XEngine_APPClient/APPClient_IPExample/APPClient_IPExample.cpp +++ b/XEngine_APPClient/APPClient_IPExample/APPClient_IPExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,13 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_IPExample.cpp -o APPClient_IPExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_IPExample.cpp -o APPClient_IPExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,9 +29,9 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszUrl = _T("http://127.0.0.1:5501/api?function=ip¶ms1=1.29.164.255¶ms2=0"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5501/api?function=ip¶ms1=1.29.164.255¶ms2=0"); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_ImageExample/APPClient_ImageExample.cpp b/XEngine_APPClient/APPClient_ImageExample/APPClient_ImageExample.cpp index 1985ea598f67a15c57af7daefc4408bfef095d53..639b3772fe539e2fe27c53c6505ac4ba875e16ec 100644 --- a/XEngine_APPClient/APPClient_ImageExample/APPClient_ImageExample.cpp +++ b/XEngine_APPClient/APPClient_ImageExample/APPClient_ImageExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi") #endif #include @@ -17,16 +17,15 @@ #include #include #include -#include -#include +#include +#include #include #include #include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_ImageExample.cpp -o APPClient_ImageExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_ImageExample.cpp -o APPClient_ImageExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_ImageExample.cpp -o APPClient_ImageExample.exe -lXEngine_BaseLib -lXClient_APIHelp bool APPClient_ImageExample_GetAttr(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_Width, int* pInt_Height) diff --git a/XEngine_APPClient/APPClient_LanguageExample/APPClient_LanguageExample.cpp b/XEngine_APPClient/APPClient_LanguageExample/APPClient_LanguageExample.cpp index 9bce4acb3f723f9dac965c23efcbbb436c3c8926..6f0124495a0acc8fd7dfc634862d93f26a44e163 100644 --- a/XEngine_APPClient/APPClient_LanguageExample/APPClient_LanguageExample.cpp +++ b/XEngine_APPClient/APPClient_LanguageExample/APPClient_LanguageExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,13 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_LanguageExample.cpp -o APPClient_LanguageExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_LanguageExample.cpp -o APPClient_LanguageExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,9 +29,9 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszUrl = _T("http://127.0.0.1:5501/api?function=language¶ms1=简体¶ms2=0¶m3=1"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5501/api?function=language¶ms1=简体¶ms2=0¶m3=1"); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_LibPluginExample/APPClient_LibPluginExample.cpp b/XEngine_APPClient/APPClient_LibPluginExample/APPClient_LibPluginExample.cpp index 62532278a8478d37ecefdaa40f1d691adb09c66f..32a33cfcf846ceada89d7650c0a889d278174601 100644 --- a/XEngine_APPClient/APPClient_LibPluginExample/APPClient_LibPluginExample.cpp +++ b/XEngine_APPClient/APPClient_LibPluginExample/APPClient_LibPluginExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,12 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_LibPluginExample.cpp -o APPClient_LibPluginExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_LibPluginExample.cpp -o APPClient_LibPluginExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//macos::g++ -std=c++17 -Wall -g APPClient_LibPluginExample.cpp -o APPClient_LibPluginExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,8 +28,8 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszPassUrl = _T("http://127.0.0.1:5501/api?function=pass¶ms1=1¶ms2=4"); - if (!APIClient_Http_Request(_T("GET"), lpszPassUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszPassUrl = _X("http://127.0.0.1:5501/api?function=pass¶ms1=1¶ms2=4"); + if (!APIClient_Http_Request(_X("GET"), lpszPassUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -38,8 +37,8 @@ int main() printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - LPCXSTR lpszZodiacUrl = _T("http://127.0.0.1:5501/api?function=zodiac¶ms1=19880121"); - if (!APIClient_Http_Request(_T("GET"), lpszZodiacUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszZodiacUrl = _X("http://127.0.0.1:5501/api?function=zodiac¶ms1=19880121"); + if (!APIClient_Http_Request(_X("GET"), lpszZodiacUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -47,8 +46,8 @@ int main() printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - LPCXSTR lpszTimeUrl = _T("http://127.0.0.1:5501/api?function=timezone¶ms1=1¶ms2=1-20"); - if (!APIClient_Http_Request(_T("GET"), lpszTimeUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszTimeUrl = _X("http://127.0.0.1:5501/api?function=timezone¶ms1=1¶ms2=1-20"); + if (!APIClient_Http_Request(_X("GET"), lpszTimeUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -56,8 +55,8 @@ int main() printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); - LPCXSTR lpszBmiUrl = _T("http://127.0.0.1:5501/api?function=bmindex¶ms1=1.78¶ms2=62"); - if (!APIClient_Http_Request(_T("GET"), lpszBmiUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszBmiUrl = _X("http://127.0.0.1:5501/api?function=bmindex¶ms1=1.78¶ms2=62"); + if (!APIClient_Http_Request(_X("GET"), lpszBmiUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_LockExample/APPClient_LockExample.cpp b/XEngine_APPClient/APPClient_LockExample/APPClient_LockExample.cpp index 370f285bc5660249a0d4f925c54821966c83ba45..0e8f80d7058a292283def6c0e4e9b0a682315dcd 100644 --- a/XEngine_APPClient/APPClient_LockExample/APPClient_LockExample.cpp +++ b/XEngine_APPClient/APPClient_LockExample/APPClient_LockExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,12 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_LockExample.cpp -o APPClient_LockExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_LockExample.cpp -o APPClient_LockExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//macos::g++ -std=c++17 -Wall -g APPClient_LockExample.cpp -o APPClient_LockExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -28,10 +27,10 @@ int main() WSAStartup(MAKEWORD(2, 2), &st_WSAData); #endif int nLen = 0; - LPCXSTR lpszOPenUrl = _T("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms1=1"); + LPCXSTR lpszOPenUrl = _X("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms1=1"); //自己创建打开 XCHAR* ptszBuffer = NULL; - if (!APIClient_Http_Request(_T("GET"), lpszOPenUrl, NULL, NULL, &ptszBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszOPenUrl, NULL, NULL, &ptszBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -39,8 +38,8 @@ int main() printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); //打开读锁 - LPCXSTR lpszReadUrl = _T("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=3"); - if (!APIClient_Http_Request(_T("GET"), lpszReadUrl, NULL, NULL, &ptszBuffer, &nLen)) + LPCXSTR lpszReadUrl = _X("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=3"); + if (!APIClient_Http_Request(_X("GET"), lpszReadUrl, NULL, NULL, &ptszBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -48,8 +47,8 @@ int main() printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); //打开写锁 - LPCXSTR lpszWriteUrl = _T("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=5"); - if (!APIClient_Http_Request(_T("GET"), lpszWriteUrl, NULL, NULL, &ptszBuffer, &nLen)) + LPCXSTR lpszWriteUrl = _X("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=5"); + if (!APIClient_Http_Request(_X("GET"), lpszWriteUrl, NULL, NULL, &ptszBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -57,8 +56,8 @@ int main() printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); //释放读锁 - LPCXSTR lpszUNReadUrl = _T("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=4"); - if (!APIClient_Http_Request(_T("GET"), lpszUNReadUrl, NULL, NULL, &ptszBuffer, &nLen)) + LPCXSTR lpszUNReadUrl = _X("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=4"); + if (!APIClient_Http_Request(_X("GET"), lpszUNReadUrl, NULL, NULL, &ptszBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -66,7 +65,7 @@ int main() printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); //打开解锁 - if (!APIClient_Http_Request(_T("GET"), lpszWriteUrl, NULL, NULL, &ptszBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszWriteUrl, NULL, NULL, &ptszBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -74,8 +73,8 @@ int main() printf("接受到数据,大小:%d,内容:\n%s\n", nLen, ptszBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBuffer); //关闭 - LPCXSTR lpszCloseUrl = _T("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=2"); - if (!APIClient_Http_Request(_T("GET"), lpszCloseUrl, NULL, NULL, &ptszBuffer, &nLen)) + LPCXSTR lpszCloseUrl = _X("http://127.0.0.1:5501/api?function=lock¶ms1=1000106561¶ms2=2"); + if (!APIClient_Http_Request(_X("GET"), lpszCloseUrl, NULL, NULL, &ptszBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_LuaPluginExample/APPClient_LuaPluginExample.cpp b/XEngine_APPClient/APPClient_LuaPluginExample/APPClient_LuaPluginExample.cpp index c3fb727727b08e5321aaa8e0312a4a807340da60..f770506b0d6cee4c30c0637e38db1e3488ef3294 100644 --- a/XEngine_APPClient/APPClient_LuaPluginExample/APPClient_LuaPluginExample.cpp +++ b/XEngine_APPClient/APPClient_LuaPluginExample/APPClient_LuaPluginExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,12 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_LuaPluginExample.cpp -o APPClient_LuaPluginExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_LuaPluginExample.cpp -o APPClient_LuaPluginExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//macos::g++ -std=c++17 -Wall -g APPClient_LuaPluginExample.cpp -o APPClient_LuaPluginExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,8 +28,8 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszPassUrl = _T("http://127.0.0.1:5501/api?function=cal¶ms1=1¶ms2=2&type=0"); - if (!APIClient_Http_Request(_T("GET"), lpszPassUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszPassUrl = _X("http://127.0.0.1:5501/api?function=cal¶ms1=1¶ms2=2&type=0"); + if (!APIClient_Http_Request(_X("GET"), lpszPassUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_P2PExample/APPClient_P2PExample.cpp b/XEngine_APPClient/APPClient_P2PExample/APPClient_P2PExample.cpp index 9c617ecc049d06cb324be84b846366047e0d3b0e..eb5c49cade8507e687a98cb5f087d468b68c7f51 100644 --- a/XEngine_APPClient/APPClient_P2PExample/APPClient_P2PExample.cpp +++ b/XEngine_APPClient/APPClient_P2PExample/APPClient_P2PExample.cpp @@ -2,8 +2,8 @@ #include #include #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_Core/XEngine_NetXApi") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") +#pragma comment(lib,"XEngine_NetHelp/NetHelp_XSocket") #pragma comment(lib,"Ws2_32") #pragma comment(lib,"../../XEngine_Source/x64/Debug/jsoncpp") #else @@ -15,18 +15,18 @@ #include #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include "../../XEngine_Source/XEngine_UserProtocol.h" //需要优先配置XEngine //WINDOWS使用VS2022 x64 debug 编译 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_P2PExample.cpp -o APPClient_P2PExample.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lXEngine_NetXApi -lNetHelp_APIClient -ljsoncpp +//g++ -std=c++17 -Wall -g APPClient_P2PExample.cpp -o APPClient_P2PExample.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lXEngine_NetXApi -lXClient_APIHelp -ljsoncpp -LPCXSTR lpszUserName = _T("123123aa"); +LPCXSTR lpszUserName = _X("123123aa"); XCHAR tszPublicAddr[128]; XCHAR tszPrivateAddr[128]; @@ -38,10 +38,10 @@ BOOL APIHelp_NetWork_GetIPNet(XCHAR* ptszIPAddr) //获取本地外网IP地址 int nBLen = 0; XCHAR* ptszBody = NULL; - LPCXSTR lpszUrl = _T("http://members.3322.org/dyndns/getip"); - LPCXSTR lpszHdrBuffer = _T("Connection: close\r\nDNT: 1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.55\r\nAccept: text/html\r\nAccept-Language: zh-CN,zh\r\nAccept-Encoding: deflate\r\n"); + LPCXSTR lpszUrl = _X("http://members.3322.org/dyndns/getip"); + LPCXSTR lpszHdrBuffer = _X("Connection: close\r\nDNT: 1\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.55\r\nAccept: text/html\r\nAccept-Language: zh-CN,zh\r\nAccept-Encoding: deflate\r\n"); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszBody, &nBLen, lpszHdrBuffer)) + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszBody, &nBLen, lpszHdrBuffer)) { return FALSE; } @@ -52,19 +52,19 @@ BOOL APIHelp_NetWork_GetIPNet(XCHAR* ptszIPAddr) int APPClient_P2XPLogin() { Json::Value st_JsonRoot; - LPCXSTR lpszAddr = _T("http://127.0.0.1:5501/api?function=p2p¶ms1=24577"); - ENUM_XENGINE_NETXAPI_SOCKET_CONNECTTYPE dwNetType; + LPCXSTR lpszAddr = _X("http://127.0.0.1:5501/api?function=p2p¶ms1=24577"); + ENUM_NETHELP_XSOCKET_API_CONNECTTYPE dwNetType; memset(tszPublicAddr, '\0', sizeof(tszPublicAddr)); memset(tszPrivateAddr, '\0', sizeof(tszPrivateAddr)); //获取网络连接类型 - if (!NetXApi_Socket_GetNetConnectType(&dwNetType)) + if (!XSocket_Api_GetNetConnectType(&dwNetType)) { return -1; } int nListCount = 0; - NETXAPI_CARDINFO** ppSt_APICard; - NetXApi_Socket_GetCardInfo(&ppSt_APICard, &nListCount, AF_INET); + XSOCKET_CARDINFO** ppSt_APICard; + XSocket_Api_GetCardInfo(&ppSt_APICard, &nListCount, AF_INET); APIHelp_NetWork_GetIPNet(tszPublicAddr); if (nListCount <= 0) { @@ -83,7 +83,7 @@ int APPClient_P2XPLogin() int nMsgLen = 0; int nHTTPCode = 0; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAddr, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAddr, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) { return -1; } @@ -95,7 +95,7 @@ int APPClient_P2XPLogin() int APPClient_P2XPList() { Json::Value st_JsonRoot; - LPCXSTR lpszAddr = _T("http://127.0.0.1:5501/api?function=p2p¶ms1=24581"); + LPCXSTR lpszAddr = _X("http://127.0.0.1:5501/api?function=p2p¶ms1=24581"); st_JsonRoot["tszUserName"] = lpszUserName; st_JsonRoot["tszPrivateAddr"] = tszPrivateAddr; @@ -104,7 +104,7 @@ int APPClient_P2XPList() int nMsgLen = 0; int nHTTPCode = 0; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAddr, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAddr, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) { return -1; } @@ -116,12 +116,12 @@ int APPClient_P2XPList() int APPClient_P2XPWan() { Json::Value st_JsonRoot; - LPCXSTR lpszAddr = _T("http://127.0.0.1:5501/api?function=p2p¶ms1=24583"); + LPCXSTR lpszAddr = _X("http://127.0.0.1:5501/api?function=p2p¶ms1=24583"); int nMsgLen = 0; int nHTTPCode = 0; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAddr, NULL, &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAddr, NULL, &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) { return -1; } @@ -133,7 +133,7 @@ int APPClient_P2XPWan() int APPClient_P2XPLogout() { Json::Value st_JsonRoot; - LPCXSTR lpszAddr = _T("http://127.0.0.1:5501/api?function=p2p¶ms1=24579"); + LPCXSTR lpszAddr = _X("http://127.0.0.1:5501/api?function=p2p¶ms1=24579"); st_JsonRoot["tszUserName"] = lpszUserName; st_JsonRoot["tszPrivateAddr"] = tszPrivateAddr; @@ -142,7 +142,7 @@ int APPClient_P2XPLogout() int nMsgLen = 0; int nHTTPCode = 0; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAddr, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAddr, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBuffer, &nMsgLen)) { return -1; } diff --git a/XEngine_APPClient/APPClient_PhoneExample/APPClient_PhoneExample.cpp b/XEngine_APPClient/APPClient_PhoneExample/APPClient_PhoneExample.cpp index d19a1002188901385f6edb0e22ebda150d646984..c74fbfe5ade5053069f0eb3903af86626898d3e3 100644 --- a/XEngine_APPClient/APPClient_PhoneExample/APPClient_PhoneExample.cpp +++ b/XEngine_APPClient/APPClient_PhoneExample/APPClient_PhoneExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,13 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_PhoneExample.cpp -o APPClient_PhoneExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_PhoneExample.cpp -o APPClient_PhoneExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,9 +29,9 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszUrl = _T("http://127.0.0.1:5501/api?function=phone¶ms1=13699438888¶ms2=0"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5501/api?function=phone¶ms1=13699438888¶ms2=0"); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_QRExample/APPClient_QRExample.cpp b/XEngine_APPClient/APPClient_QRExample/APPClient_QRExample.cpp index 32ff1ff6fd361a3e25cf3798c9a930d8c9b89c20..8588a8fa2d82fcf91aee3135f8c7da96c64aada1 100644 --- a/XEngine_APPClient/APPClient_QRExample/APPClient_QRExample.cpp +++ b/XEngine_APPClient/APPClient_QRExample/APPClient_QRExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -15,30 +15,29 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_QRExample.cpp -o APPClient_QRExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_QRExample.cpp -o APPClient_QRExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//macos::g++ -std=c++17 -Wall -g APPClient_QRExample.cpp -o APPClient_QRExample.exe -lXEngine_BaseLib -lXClient_APIHelp #define QRCODE_BUFFER_SIZE 1024 * 1024 * 10 -LPCXSTR lpszFileName = _T("D:\\XEngine_APIService\\XEngine_APPClient\\x64\\Debug\\1.png"); +LPCXSTR lpszFileName = _X("D:\\XEngine_APIService\\XEngine_APPClient\\x64\\Debug\\1.png"); int test_create() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=qrcode¶ms1=0"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=qrcode¶ms1=0"); Json::Value st_JsonRoot; st_JsonRoot["tszMsgBuffer"] = lpszAPIUrl; st_JsonRoot["tszFmtBuffer"] = ".png"; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -59,16 +58,16 @@ int test_parse() int nCode = 0; XCHAR* ptszMsgBuffer = (XCHAR*)malloc(QRCODE_BUFFER_SIZE); - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=qrcode¶ms1=1"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=qrcode¶ms1=1"); FILE* pSt_File = fopen(lpszFileName, "rb"); if (NULL != pSt_File) { - LPCXSTR lpszCustomHdr = _T("Content-Type: image/png\r\n"); + LPCXSTR lpszCustomHdr = _X("Content-Type: image/png\r\n"); memset(ptszMsgBuffer, '\0', QRCODE_BUFFER_SIZE); int nRet = fread(ptszMsgBuffer, 1, QRCODE_BUFFER_SIZE, pSt_File); XCHAR* ptszBodyBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, ptszMsgBuffer, &nCode, &ptszBodyBuffer, &nRet, lpszCustomHdr)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, ptszMsgBuffer, &nCode, &ptszBodyBuffer, &nRet, lpszCustomHdr)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_SLinkExample/APPClient_SLinkExample.cpp b/XEngine_APPClient/APPClient_SLinkExample/APPClient_SLinkExample.cpp index 54c245921fb746b2c9b6580254a526da8b4b4754..59906d76deb4e5fa7d26d8261e9e498f7595c22a 100644 --- a/XEngine_APPClient/APPClient_SLinkExample/APPClient_SLinkExample.cpp +++ b/XEngine_APPClient/APPClient_SLinkExample/APPClient_SLinkExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -15,23 +15,22 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_SLinkExample.cpp -o APPClient_SLinkExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_SLinkExample.cpp -o APPClient_SLinkExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//macos::g++ -std=c++17 -Wall -g APPClient_SLinkExample.cpp -o APPClient_SLinkExample.exe -lXEngine_BaseLib -lXClient_APIHelp XNETHANDLE xhToken = 0; #define QRCODE_BUFFER_SIZE 1024 * 1024 * 10 -LPCXSTR lpszFileName = _T("D:\\XEngine_APIService\\XEngine_APPClient\\x64\\Debug\\1.png"); +LPCXSTR lpszFileName = _X("D:\\XEngine_APIService\\XEngine_APPClient\\x64\\Debug\\1.png"); int test_create() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=slink¶ms1=0"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=slink¶ms1=0"); Json::Value st_JsonRoot; st_JsonRoot["tszFullUrl"] = "http://bbs.xyry.org/forum.php?mod=viewthread&tid=2&extra=page%3D1"; @@ -39,7 +38,7 @@ int test_create() st_JsonRoot["nLength"] = 6; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -56,8 +55,8 @@ int test_get() Json::Value st_JsonRoot; st_JsonRoot["tszMapUrl"] = "http://app.xyry.org:5501"; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=slink¶ms1=1"); - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=slink¶ms1=1"); + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -74,8 +73,8 @@ int test_delete() Json::Value st_JsonRoot; st_JsonRoot["tszMapUrl"] = "http://app.xyry.org:5501"; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=slink¶ms1=2"); - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=slink¶ms1=2"); + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_SocketExample/APPClient_SocketExample.cpp b/XEngine_APPClient/APPClient_SocketExample/APPClient_SocketExample.cpp index b27de6b5bdde3185a300f5fd50b0c8000036812b..7af3244c5341a00c5e644ade13daf278946b67f8 100644 --- a/XEngine_APPClient/APPClient_SocketExample/APPClient_SocketExample.cpp +++ b/XEngine_APPClient/APPClient_SocketExample/APPClient_SocketExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -15,23 +15,22 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_SocketExample.cpp -o APPClient_SocketExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_SocketExample.cpp -o APPClient_SocketExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_SocketExample.cpp -o APPClient_SocketExample.exe -lXEngine_BaseLib -lXClient_APIHelp XNETHANDLE xhToken = 0; #define QRCODE_BUFFER_SIZE 1024 * 1024 * 10 -LPCXSTR lpszFileName = _T("D:\\XEngine_APIService\\XEngine_APPClient\\x64\\Debug\\1.png"); +LPCXSTR lpszFileName = _X("D:\\XEngine_APIService\\XEngine_APPClient\\x64\\Debug\\1.png"); int test_create() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=socket¶ms1=0"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=socket¶ms1=0"); Json::Value st_JsonRoot; st_JsonRoot["tszAPIUrl"] = "http://127.0.0.1:5501/api?function=report¶ms1=0"; @@ -45,7 +44,7 @@ int test_create() st_JsonRoot["nContWaitTime"] = 1000; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -79,8 +78,8 @@ int test_delete() st_JsonRoot["bConn"] = true; st_JsonRoot["xhToken"] = xhToken; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=socket¶ms1=1"); - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=socket¶ms1=1"); + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_TranslationExample/APPClient_TranslationExample.cpp b/XEngine_APPClient/APPClient_TranslationExample/APPClient_TranslationExample.cpp index 5f9a0e39e9cef928a155b2701ee5c773875d1b86..6e3a86b5aee1e89d74aea6ba958fa76e61d2582e 100644 --- a/XEngine_APPClient/APPClient_TranslationExample/APPClient_TranslationExample.cpp +++ b/XEngine_APPClient/APPClient_TranslationExample/APPClient_TranslationExample.cpp @@ -3,7 +3,7 @@ #include #pragma comment(lib,"Ws2_32") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -13,13 +13,12 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_TranslationExample.cpp -o APPClient_TranslationExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_TranslationExample.cpp -o APPClient_TranslationExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_TranslationExample.cpp -o APPClient_TranslationExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -29,9 +28,9 @@ int main() #endif int nLen = 0; XCHAR* ptszMsgBuffer = NULL; - LPCXSTR lpszUrl = _T("http://127.0.0.1:5501/api?function=translation¶ms1=中国¶ms2=0¶m3=0"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5501/api?function=translation¶ms1=中国¶ms2=0¶m3=0"); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_WordFilter/APPClient_WordFilter.cpp b/XEngine_APPClient/APPClient_WordFilter/APPClient_WordFilter.cpp index 58979ed54a36269f40a89e1e89de763cccd88344..8701cf288f2a4e5cf70f76d8974bcd29ec86f3e1 100644 --- a/XEngine_APPClient/APPClient_WordFilter/APPClient_WordFilter.cpp +++ b/XEngine_APPClient/APPClient_WordFilter/APPClient_WordFilter.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -15,21 +15,20 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_WordFilter.cpp -o APPClient_WordFilter.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_WordFilter.cpp -o APPClient_WordFilter.exe -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_WordFilter.cpp -o APPClient_WordFilter.exe -lXEngine_BaseLib -lXClient_APIHelp -LPCXSTR lpszTableName = _T("xengine"); +LPCXSTR lpszTableName = _X("xengine"); int test_insert() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=wordfilter¶ms1=0"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=wordfilter¶ms1=0"); Json::Value st_JsonRoot; Json::StreamWriterBuilder st_JsonBuilder; @@ -40,7 +39,7 @@ int test_insert() st_JsonBuilder["emitUTF8"] = true; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -54,13 +53,13 @@ int test_query() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=wordfilter¶ms1=2"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=wordfilter¶ms1=2"); Json::Value st_JsonRoot; st_JsonRoot["tszWordsFrom"] = "root"; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -74,13 +73,13 @@ int test_delete() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=wordfilter¶ms1=1"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=wordfilter¶ms1=1"); Json::Value st_JsonRoot; st_JsonRoot["tszWordsFrom"] = "root"; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp b/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp index cc23bdadf014fd88fefb66238b4359cfda4d93df..79cfa516eb6858b32c148c179ca446fd7bc56f54 100644 --- a/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp +++ b/XEngine_APPClient/APPClient_XLogExample/APPClient_XLogExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -15,27 +15,26 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_XLogExample.cpp -o APPClient_XLogExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_XLogExample.cpp -o APPClient_XLogExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_XLogExample.cpp -o APPClient_XLogExample.exe -lXEngine_BaseLib -lXClient_APIHelp -LPCXSTR lpszTableName = _T("xengine"); +LPCXSTR lpszTableName = _X("xengine"); int test_create() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=log¶ms1=0"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=log¶ms1=0"); Json::Value st_JsonRoot; st_JsonRoot["tszTableName"] = lpszTableName; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -49,8 +48,8 @@ int test_insert() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=log¶ms1=1"); - LPCXSTR lpszMsgBuffer = _T("adwdad12d21d123d132rd213d32f23df23rf"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=log¶ms1=1"); + LPCXSTR lpszMsgBuffer = _X("adwdad12d21d123d132rd213d32f23df23rf"); Json::Value st_JsonRoot; Json::StreamWriterBuilder st_JsonBuilder; @@ -67,7 +66,7 @@ int test_insert() st_JsonBuilder["emitUTF8"] = true; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -81,7 +80,7 @@ int test_query() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=log¶ms1=2"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=log¶ms1=2"); Json::Value st_JsonRoot; st_JsonRoot["tszTableName"] = lpszTableName; @@ -89,7 +88,26 @@ int test_query() st_JsonRoot["tszTimeEnd"] = "2023-01-13 22:10:02"; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + { + printf("发送投递失败!\n"); + return 0; + } + printf("接受到数据,大小:%d,内容:%s\n", nLen, ptszMsgBuffer); + BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); + + return 0; +} +int test_list() +{ + int nLen = 0; + int nCode = 0; + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=log¶ms1=3"); + + Json::Value st_JsonRoot; + + XCHAR* ptszMsgBuffer = NULL; + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -103,13 +121,13 @@ int test_delete() { int nLen = 0; int nCode = 0; - LPCXSTR lpszAPIUrl = _T("http://127.0.0.1:5501/api?function=log¶ms1=3"); + LPCXSTR lpszAPIUrl = _X("http://127.0.0.1:5501/api?function=log¶ms1=4"); Json::Value st_JsonRoot; st_JsonRoot["tszTableName"] = lpszTableName; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszAPIUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; @@ -130,6 +148,7 @@ int main() test_insert(); test_insert(); test_query(); + test_list(); test_delete(); #ifdef _MSC_BUILD diff --git a/XEngine_APPClient/APPClient_ZIPCodeExample/APPClient_ZIPCodeExample.cpp b/XEngine_APPClient/APPClient_ZIPCodeExample/APPClient_ZIPCodeExample.cpp index 822f5c795b4d6dbbbe657dc9501177c52f0d8230..e23a63f4fc251af48e6fd94a2d37cc330daf53fa 100644 --- a/XEngine_APPClient/APPClient_ZIPCodeExample/APPClient_ZIPCodeExample.cpp +++ b/XEngine_APPClient/APPClient_ZIPCodeExample/APPClient_ZIPCodeExample.cpp @@ -4,7 +4,7 @@ #pragma comment(lib,"Ws2_32") #pragma comment(lib,"jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp") #endif #include #include @@ -15,13 +15,12 @@ #include #include #include -#include -#include +#include +#include //需要优先配置XEngine //WINDOWS支持VS2022 x64 debug 编译调试 -//linux::g++ -std=c++17 -Wall -g APPClient_ZIPCodeExample.cpp -o APPClient_ZIPCodeExample.exe -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -//macos::g++ -std=c++17 -Wall -g APPClient_ZIPCodeExample.cpp -o APPClient_ZIPCodeExample.exe -lXEngine_BaseLib -lNetHelp_APIClient +//g++ -std=c++17 -Wall -g APPClient_ZIPCodeExample.cpp -o APPClient_ZIPCodeExample.exe -lXEngine_BaseLib -lXClient_APIHelp int main() { @@ -32,7 +31,7 @@ int main() int nLen = 0; int nCode = 0; XCHAR tszMsgBuffer[1024]; - LPCXSTR lpszCreateUrl = _T("http://127.0.0.1:5501/api?function=zipcode¶ms1=0"); + LPCXSTR lpszCreateUrl = _X("http://127.0.0.1:5501/api?function=zipcode¶ms1=0"); memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); @@ -40,7 +39,7 @@ int main() st_JsonRoot["nZipCode"] = 100010; XCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszCreateUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszCreateUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) { printf("发送投递失败!\n"); return 0; diff --git a/XEngine_APPClient/VSCopy-x64.bat b/XEngine_APPClient/VSCopy-x64.bat index 85529ded3b70e00c1aafcfb1223f0f56ff089e7a..c82ea024f0cebbaa7190c6f0565e0d6801c76687 100644 --- a/XEngine_APPClient/VSCopy-x64.bat +++ b/XEngine_APPClient/VSCopy-x64.bat @@ -1,8 +1,2 @@ copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_BaseLib.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_OPenSsl.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" - -copy /y "%XEngine_Lib64%\XEngine_HelpComponents\zlib1.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_LibEx\libssl-3-x64.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_LibEx\libcrypto-3-x64.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_NetHelp\libcurl.dll" "./" \ No newline at end of file +copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./" \ No newline at end of file diff --git a/XEngine_Docment/Docment_en.docx b/XEngine_Docment/Docment_en.docx index 1cc98de38e1008d8e23ff3561fb8f001328dcdd7..21866dcc3fa2154e03caf155462e0232771489b2 100644 Binary files a/XEngine_Docment/Docment_en.docx and b/XEngine_Docment/Docment_en.docx differ diff --git a/XEngine_Docment/Docment_zh.docx b/XEngine_Docment/Docment_zh.docx index 1941bc638c0b79a42c3fa7e2e8f0a2bf06550aaf..a445b39f86f632a3af2f91103832e66561fdef61 100644 Binary files a/XEngine_Docment/Docment_zh.docx and b/XEngine_Docment/Docment_zh.docx differ diff --git a/XEngine_Release/XEngine_Config/XEngine_Config.json b/XEngine_Release/XEngine_Config/XEngine_Config.json index 02338b7eccbcab56f1b96f083eb77a113eb6234e..f6e2968cea7e757693f019dc55068332da53287c 100644 --- a/XEngine_Release/XEngine_Config/XEngine_Config.json +++ b/XEngine_Release/XEngine_Config/XEngine_Config.json @@ -29,6 +29,7 @@ "SQLPass":"123123" }, "XApi":{ + "tszWeatherUrl":"https://restapi.amap.com/v3/weather/weatherInfo?city=%s&key=3239fc302d6480ce49973f4d1c59e5d8", "tszBankUrl":"https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?cardNo=%s&cardBinCheck=true", "tszTranslationUrl":"https://fanyi-api.baidu.com/api/trans/vip/translate", "st_TranslationInfo":{ @@ -55,11 +56,12 @@ "tszUserName":"xyry", "tszUserPass":"11", "st_VerSwitch":{ - "bBackService":true, - "bDeamon":true + "bBackService":false, + "bDeamon":false } }, "XVer":[ + "3.3.0.1001 Build20240308", "3.2.0.1001 Build20231229", "3.1.0.1001 Build20231102", "3.0.0.1001 Build20230908", diff --git a/XEngine_Source/VSCopy-Debug.bat b/XEngine_Source/VSCopy-Debug.bat index c8a3fee0d2211fca5a87685d50eda959c6c935e1..0a6e3644ee9bdb2e494c20e51dcdd92065cd2e9c 100644 --- a/XEngine_Source/VSCopy-Debug.bat +++ b/XEngine_Source/VSCopy-Debug.bat @@ -3,16 +3,16 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Algorithm.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_Core.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_ManagePool.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_OPenSsl.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_NetXApi.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_SystemApi.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIHelp.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_APIHelp.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Stream.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XClient_Socket.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_XSocket.dll" "./" +copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_SystemApi.dll" "./" + copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_DataBase.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_Packets.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_XLog.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_Authorize.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_HttpProtocol.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_AVHelp.dll" "./" @@ -20,13 +20,11 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_VideoCodec.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_AudioCodec.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\XEngine_AVCollect.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\StreamMedia_StreamClient.dll" "./" - -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avcodec-59.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avdevice-59.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avfilter-8.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avformat-59.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\avutil-57.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\swresample-4.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\swscale-6.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_LibEx\AVCodec\postproc-56.dll" "./" \ No newline at end of file +copy /y "%XEngine_Lib32%\XEngine_AVCodec\avcodec-60.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_AVCodec\avdevice-60.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_AVCodec\avfilter-9.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_AVCodec\avformat-60.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_AVCodec\avutil-58.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_AVCodec\swresample-4.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_AVCodec\swscale-7.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_AVCodec\postproc-57.dll" "./" \ No newline at end of file diff --git a/XEngine_Source/VSCopy-x64.bat b/XEngine_Source/VSCopy-x64.bat index 56c7c3d8a5e1b20c08ca9ffcb73eb667e3440f1d..f5028d0fcff7b09358dfaef3c3317117f2c6376d 100644 --- a/XEngine_Source/VSCopy-x64.bat +++ b/XEngine_Source/VSCopy-x64.bat @@ -3,24 +3,23 @@ copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_OPenSsl.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_NetXApi.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_Client\XClient_APIHelp.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Stream.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./" + +copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_Client\XClient_Socket.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_Authorize.dll" "./" copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_StreamMedia\StreamMedia_StreamClient.dll" "./" - copy /y "%XEngine_Lib64%\XEngine_AVCodec\XEngine_AVHelp.dll" "./" copy /y "%XEngine_Lib64%\XEngine_AVCodec\XEngine_VideoCodec.dll" "./" copy /y "%XEngine_Lib64%\XEngine_AVCodec\XEngine_AudioCodec.dll" "./" copy /y "%XEngine_Lib64%\XEngine_AVCodec\XEngine_AVCollect.dll" "./" + copy /y "%XEngine_Lib64%\XEngine_AVCodec\avcodec-60.dll" "./" copy /y "%XEngine_Lib64%\XEngine_AVCodec\avdevice-60.dll" "./" copy /y "%XEngine_Lib64%\XEngine_AVCodec\avfilter-9.dll" "./" diff --git a/XEngine_Source/VSCopy-x86.bat b/XEngine_Source/VSCopy-x86.bat index 679e9a9c6d30952390bea1b19fce3947b667e01d..01737559dfc3a7d05c3353d8d32535f02dd2b802 100644 --- a/XEngine_Source/VSCopy-x86.bat +++ b/XEngine_Source/VSCopy-x86.bat @@ -3,24 +3,23 @@ copy /y "%XEngine_Lib32%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_Core.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_ManagePool.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_OPenSsl.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_Core\XEngine_NetXApi.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_Client\XClient_APIHelp.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Stream.dll" "./" copy /y "%XEngine_Lib32%\XEngine_Client\XClient_Socket.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_XSocket.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" + copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_Packets.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_Authorize.dll" "./" copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_StreamMedia\StreamMedia_StreamClient.dll" "./" - copy /y "%XEngine_Lib32%\XEngine_AVCodec\XEngine_AVHelp.dll" "./" copy /y "%XEngine_Lib32%\XEngine_AVCodec\XEngine_VideoCodec.dll" "./" copy /y "%XEngine_Lib32%\XEngine_AVCodec\XEngine_AudioCodec.dll" "./" copy /y "%XEngine_Lib32%\XEngine_AVCodec\XEngine_AVCollect.dll" "./" + copy /y "%XEngine_Lib32%\XEngine_AVCodec\avcodec-60.dll" "./" copy /y "%XEngine_Lib32%\XEngine_AVCodec\avdevice-60.dll" "./" copy /y "%XEngine_Lib32%\XEngine_AVCodec\avfilter-9.dll" "./" diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h index 88e918567bfe6f86220efeaa2d639f58deb5d60a..12fceeec6f2c03d972c009397997239574cd021f 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfig_Define.h @@ -51,6 +51,7 @@ typedef struct }st_XSql; struct { + XCHAR tszWeatherUrl[MAX_PATH]; //天气接口 XCHAR tszBankUrl[MAX_PATH]; //银行卡验证地址 XCHAR tszTranslationUrl[MAX_PATH]; //翻译接口 struct diff --git a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp index 3d50bca510da3f35a6f75ecc67f2a17a24006c64..3f2db7f25c74a67d0d31f1f030e660a359c6b385 100644 --- a/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp +++ b/XEngine_Source/XEngine_ModuleConfigure/ModuleConfigure_Json/ModuleConfigure_Json.cpp @@ -123,13 +123,15 @@ bool CModuleConfigure_Json::ModuleConfigure_Json_File(LPCXSTR lpszConfigFile, XE pSt_ServerConfig->st_XLog.nLogLeave = st_JsonXLog["LogLeave"].asInt(); _tcsxcpy(pSt_ServerConfig->st_XLog.tszLogFile, st_JsonXLog["tszLogFile"].asCString()); - if (st_JsonRoot["XApi"].empty() || (3 != st_JsonRoot["XApi"].size())) + if (st_JsonRoot["XApi"].empty() || (4 != st_JsonRoot["XApi"].size())) { Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_MODULE_CONFIGURE_JSON_XAPI; return false; } Json::Value st_JsonXApi = st_JsonRoot["XApi"]; + + _tcsxcpy(pSt_ServerConfig->st_XApi.tszWeatherUrl, st_JsonXApi["tszWeatherUrl"].asCString()); _tcsxcpy(pSt_ServerConfig->st_XApi.tszBankUrl, st_JsonXApi["tszBankUrl"].asCString()); _tcsxcpy(pSt_ServerConfig->st_XApi.tszTranslationUrl, st_JsonXApi["tszTranslationUrl"].asCString()); Json::Value st_JsonTranslationInfo = st_JsonXApi["st_TranslationInfo"]; diff --git a/XEngine_Source/XEngine_ModuleDatabase/Makefile b/XEngine_Source/XEngine_ModuleDatabase/Makefile index 750f4f4ee5a1d2f50f24c59f5624304422569c98..5773e9ce7cc00791bf5f5c1f7efe6afda35f2a7a 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/Makefile +++ b/XEngine_Source/XEngine_ModuleDatabase/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_HelpComponents +LOADSO = LIB = -lXEngine_BaseLib -lHelpComponents_DataBase LIBEX = OBJECTS = ModuleDatabase_IDCard.o ModuleDatabase_Bank.o ModuleDatabase_ZIPCode.o ModuleDatabase_XLog.o ModuleDatabase_ShortLink.o ModuleDatabase_WordFilter.o pch.o diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDB_Define.h b/XEngine_Source/XEngine_ModuleDatabase/ModuleDB_Define.h index f9cee09e5d0bae5cacdf2bd1f663706fff448736..31be19b82860b732d48c45984a8a48b5ef55147b 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDB_Define.h +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDB_Define.h @@ -59,6 +59,25 @@ extern "C" bool ModuleDatabase_IDCard_Destory(); 备注: *********************************************************************/ extern "C" bool ModuleDatabase_IDCard_QueryRegion(XENGINE_IDREGION * pSt_IDRegion, XENGINE_IDCARDINFO * pSt_IDInfo); +/******************************************************************** +函数名称:ModuleDatabase_IDCard_QueryByAddr +函数功能:查询地址对应的区域ID + 参数.一:pSt_IDRegion + In/Out:Out + 类型:数据结构指针 + 可空:N + 意思:输出查询到的位置信息 + 参数.二:pInt_IDNumber + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出对应ID +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleDatabase_IDCard_QueryByAddr(XENGINE_IDREGION* pSt_IDRegion, int* pInt_IDNumber); /************************************************************************/ /* 导出的银行卡信息函数 */ /************************************************************************/ @@ -255,6 +274,25 @@ extern "C" bool ModuleDatabase_XLog_Query(XENGINE_XLOGINFO*** pppSt_XLogInfo, in 备注: *********************************************************************/ extern "C" bool ModuleDatabase_XLog_Delete(LPCXSTR lpszTableName); +/******************************************************************** +函数名称:ModuleDatabase_XLog_Show +函数功能:日志表列举 + 参数.一:ppptszList + In/Out:Out + 类型:三级指针 + 可空:N + 意思:输出日志数据库里面的表列 + 参数.二:pInt_ListCount + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出列个数 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleDatabase_XLog_Show(XCHAR*** ppptszList, int* pInt_ListCount); /************************************************************************/ /* 导出的短连接数据库函数 */ /************************************************************************/ diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.cpp index 4acd167c1774bba29cceaf4294df909916184bbd..8410224951463cbfb2118a5f042f59716a7051ae 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.cpp @@ -97,6 +97,142 @@ bool CModuleDatabase_IDCard::ModuleDatabase_IDCard_QueryRegion(XENGINE_IDREGION* return true; } /******************************************************************** +函数名称:ModuleDatabase_IDCard_QueryByAddr +函数功能:查询地址对应的区域ID + 参数.一:pSt_IDRegion + In/Out:Out + 类型:数据结构指针 + 可空:N + 意思:输出查询到的位置信息 + 参数.二:pInt_IDNumber + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出对应ID +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleDatabase_IDCard::ModuleDatabase_IDCard_QueryByAddr(XENGINE_IDREGION* pSt_IDRegion, int* pInt_IDNumber) +{ + DBModule_IsErrorOccur = false; + + if ((NULL == pSt_IDRegion) || (NULL == pInt_IDNumber)) + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_PARAMENT; + return false; + } + //查询 + __int64u nLine = 0; + __int64u nRow = 0; + int nProvincer = 0; + int nCity = 0; + int nCounty = 0; + XNETHANDLE xhTable = 0; + XCHAR tszSQLStatement[1024]; + + memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); + _xstprintf(tszSQLStatement, _X("SELECT * FROM `RegionID` WHERE name = '%s'"), pSt_IDRegion->tszProvincer); + +#ifdef _MSC_BUILD + XCHAR tszUTFBuffer[1024] = {}; + int nULen = _tcsxlen(tszSQLStatement); + BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFBuffer, &nULen); + if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszUTFBuffer, &nLine, &nRow)) +#else + if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nLine, &nRow)) +#endif + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = DataBase_GetLastError(); + return false; + } + if (nLine <= 0) + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_NOTFOUND; + return false; + } + XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); + nProvincer = _ttxoi(pptszResult[0]); + DataBase_MySQL_FreeResult(xhDBSQL, xhTable); + + if (_tcsxlen(pSt_IDRegion->tszCity) > 0) + { + memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); + _xstprintf(tszSQLStatement, _X("SELECT * FROM `RegionID` WHERE name = '%s' AND parentCode = %d"), pSt_IDRegion->tszCity, nProvincer); + +#ifdef _MSC_BUILD + XCHAR tszUTFBuffer[1024] = {}; + int nULen = _tcsxlen(tszSQLStatement); + BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFBuffer, &nULen); + if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszUTFBuffer, &nLine, &nRow)) +#else + if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nLine, &nRow)) +#endif + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = DataBase_GetLastError(); + return false; + } + if (nLine <= 0) + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_NOTFOUND; + return false; + } + XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); + nCity = _ttxoi(pptszResult[0]); + DataBase_MySQL_FreeResult(xhDBSQL, xhTable); + } + + if (_tcsxlen(pSt_IDRegion->tszCounty) > 0) + { + memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); + _xstprintf(tszSQLStatement, _X("SELECT * FROM `RegionID` WHERE name = '%s' AND parentCode = %d"), pSt_IDRegion->tszCounty, nCity); + +#ifdef _MSC_BUILD + XCHAR tszUTFBuffer[1024] = {}; + int nULen = _tcsxlen(tszSQLStatement); + BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFBuffer, &nULen); + if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszUTFBuffer, &nLine, &nRow)) +#else + if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nLine, &nRow)) +#endif + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = DataBase_GetLastError(); + return false; + } + if (nLine <= 0) + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_NOTFOUND; + return false; + } + XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); + nCounty = _ttxoi(pptszResult[0]); + DataBase_MySQL_FreeResult(xhDBSQL, xhTable); + } + + if (0 == nCounty && 0 == nCity) + { + *pInt_IDNumber = nProvincer; + } + else if (0 == nCounty && 0 != nCity) + { + *pInt_IDNumber = nCity; + } + else + { + *pInt_IDNumber = nCounty; + } + + return true; +} +/******************************************************************** 函数名称:ModuleDatabase_IDCard_QueryProvincer 函数功能:查询省份信息 参数.一:pSt_IDRegion diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.h b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.h index e75a7bb20cb63d10940e070eabc576ec81013807..598f960fedaa557166913a3ce0af40a2874b0d67 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.h +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_IDCard/ModuleDatabase_IDCard.h @@ -21,6 +21,8 @@ public: bool ModuleDatabase_IDCard_Init(DATABASE_MYSQL_CONNECTINFO* pSt_DBConnector); bool ModuleDatabase_IDCard_Destory(); bool ModuleDatabase_IDCard_QueryRegion(XENGINE_IDREGION* pSt_IDRegion, XENGINE_IDCARDINFO* pSt_IDInfo); +public: + bool ModuleDatabase_IDCard_QueryByAddr(XENGINE_IDREGION* pSt_IDRegion, int* pInt_IDNumber); protected: bool ModuleDatabase_IDCard_QueryProvincer(XENGINE_IDREGION* pSt_IDRegion, XENGINE_IDCARDINFO* pSt_IDInfo); bool ModuleDatabase_IDCard_QueryCity(XENGINE_IDREGION* pSt_IDRegion, XENGINE_IDCARDINFO* pSt_IDInfo); diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp index 5ca75f6dfea20b01f6f0f5fbda28cdab531c0dcf..6f92697073fbe06bd7ea69fc8d150aa8bb4a8594 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.cpp @@ -92,21 +92,28 @@ bool CModuleDatabase_XLog::ModuleDatabase_XLog_Create(LPCXSTR lpszTableName) DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_PARAMENT; return false; } - XCHAR tszSQLStatement[10240]; + XCHAR tszSQLStatement[4096]; memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); _xstprintf(tszSQLStatement, _X("CREATE TABLE IF NOT EXISTS `%s` (" "`ID` int NOT NULL AUTO_INCREMENT," - "`tszFileName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文件名'," - "`tszFuncName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '函数名'," + "`tszFileName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文件名'," + "`tszFuncName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '函数名'," "`nLogLine` int NULL DEFAULT NULL COMMENT '第几行'," "`nLogLevel` int NULL DEFAULT NULL COMMENT '打印级别'," - "`tszLogBuffer` varchar(8196) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日志信息'," + "`tszLogBuffer` varchar(8196) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '日志信息'," "`tszLogTime` datetime NOT NULL COMMENT '日志时间'," "PRIMARY KEY (`ID`) USING BTREE" - ") ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;"), lpszTableName); + ") ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;"), lpszTableName); +#ifdef _MSC_BUILD + int nUTFLen = 0; + XCHAR tszUTFQuery[4096] = {}; + BaseLib_OperatorCharset_AnsiToUTF(tszSQLStatement, tszUTFQuery, &nUTFLen); + if (!DataBase_MySQL_Execute(xhDBSQL, tszUTFQuery)) +#else if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement)) +#endif { DBModule_IsErrorOccur = true; DBModule_dwErrorCode = DataBase_GetLastError(); @@ -274,7 +281,7 @@ bool CModuleDatabase_XLog::ModuleDatabase_XLog_Delete(LPCXSTR lpszTableName) XCHAR tszSQLStatement[10240]; memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); - _xstprintf(tszSQLStatement, _X("DROP TABLE IF EXISTS '%s'"), lpszTableName); + _xstprintf(tszSQLStatement, _X("DROP TABLE IF EXISTS `%s`"), lpszTableName); if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement)) { DBModule_IsErrorOccur = true; @@ -282,4 +289,57 @@ bool CModuleDatabase_XLog::ModuleDatabase_XLog_Delete(LPCXSTR lpszTableName) return false; } return true; +} +/******************************************************************** +函数名称:ModuleDatabase_XLog_Show +函数功能:日志表列举 + 参数.一:ppptszList + In/Out:Out + 类型:三级指针 + 可空:N + 意思:输出日志数据库里面的表列 + 参数.二:pInt_ListCount + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出列个数 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleDatabase_XLog::ModuleDatabase_XLog_Show(XCHAR*** ppptszList, int* pInt_ListCount) +{ + DBModule_IsErrorOccur = false; + + //查询 + XNETHANDLE xhTable = 0; + __int64u nllLine = 0; + __int64u nllRow = 0; + + XCHAR tszSQLStatement[1024]; + memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); + //名称为,消息名为必填 + _xstprintf(tszSQLStatement, _X("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'XEngine_APILog'")); + if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nllLine, &nllRow)) + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = DataBase_GetLastError(); + return false; + } + if (nllLine <= 0) + { + DBModule_IsErrorOccur = true; + DBModule_dwErrorCode = ERROR_APISERVICE_MODULE_DATABASE_NOTFOUND; + return false; + } + *pInt_ListCount = (int)nllLine; + BaseLib_OperatorMemory_Malloc((XPPPMEM)ppptszList, (int)nllLine, MAX_PATH); + for (__int64u i = 0; i < nllLine; i++) + { + XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); + _tcsxcpy((*ppptszList)[i], pptszResult[0]); + } + DataBase_MySQL_FreeResult(xhDBSQL, xhTable); + return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.h b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.h index 91eebf5b7a8a508a6fe763ee2d93764953647dfb..1df67701efd4c5fff095537a19ae240eedfd6a17 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.h +++ b/XEngine_Source/XEngine_ModuleDatabase/ModuleDatabase_XLog/ModuleDatabase_XLog.h @@ -24,6 +24,7 @@ public: bool ModuleDatabase_XLog_Insert(XENGINE_XLOGINFO* pSt_XLogInfo); bool ModuleDatabase_XLog_Query(XENGINE_XLOGINFO*** pppSt_XLogInfo, int* pInt_ListCount, LPCXSTR lpszTableName, LPCXSTR lpszTimeStart, LPCXSTR lpszTimeEnd); bool ModuleDatabase_XLog_Delete(LPCXSTR lpszTableName); + bool ModuleDatabase_XLog_Show(XCHAR*** ppptszList, int* pInt_ListCount); protected: private: XNETHANDLE xhDBSQL; diff --git a/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.def b/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.def index 29f6b3fe2cd65ad3274641568b5a653445a58529..770482d5e7bb1a145d7661c08126fe55535da6b5 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.def +++ b/XEngine_Source/XEngine_ModuleDatabase/XEngine_ModuleDatabase.def @@ -6,6 +6,7 @@ EXPORTS ModuleDatabase_IDCard_Init ModuleDatabase_IDCard_Destory ModuleDatabase_IDCard_QueryRegion + ModuleDatabase_IDCard_QueryByAddr ModuleDatabase_Bank_Init ModuleDatabase_Bank_Destory @@ -22,6 +23,7 @@ EXPORTS ModuleDatabase_XLog_Insert ModuleDatabase_XLog_Query ModuleDatabase_XLog_Delete + ModuleDatabase_XLog_Show ModuleDatabase_ShortLink_Init ModuleDatabase_ShortLink_Destory diff --git a/XEngine_Source/XEngine_ModuleDatabase/pch.cpp b/XEngine_Source/XEngine_ModuleDatabase/pch.cpp index d22236a630bb507283a6f89af824dc1c16bed0ed..8b0fb5246fffa302e1c507cfeb8a884d0adce262 100644 --- a/XEngine_Source/XEngine_ModuleDatabase/pch.cpp +++ b/XEngine_Source/XEngine_ModuleDatabase/pch.cpp @@ -51,6 +51,10 @@ extern "C" bool ModuleDatabase_IDCard_QueryRegion(XENGINE_IDREGION * pSt_IDRegio { return m_IDCard.ModuleDatabase_IDCard_QueryRegion(pSt_IDRegion, pSt_IDInfo); } +extern "C" bool ModuleDatabase_IDCard_QueryByAddr(XENGINE_IDREGION * pSt_IDRegion, int* pInt_IDNumber) +{ + return m_IDCard.ModuleDatabase_IDCard_QueryByAddr(pSt_IDRegion, pInt_IDNumber); +} /************************************************************************/ /* 导出的银行卡信息函数 */ /************************************************************************/ @@ -112,6 +116,10 @@ extern "C" bool ModuleDatabase_XLog_Delete(LPCXSTR lpszTableName) { return m_XLog.ModuleDatabase_XLog_Delete(lpszTableName); } +extern "C" bool ModuleDatabase_XLog_Show(XCHAR * **ppptszList, int* pInt_ListCount) +{ + return m_XLog.ModuleDatabase_XLog_Show(ppptszList, pInt_ListCount); +} /************************************************************************/ /* 导出的短连接数据库函数 */ /************************************************************************/ diff --git a/XEngine_Source/XEngine_ModuleHelp/Makefile b/XEngine_Source/XEngine_ModuleHelp/Makefile index 303546c29f90803a121b896f305dd0dcb1990876..fd0b628eff6bbe0f2e402c13cb132c426bf581ba 100644 --- a/XEngine_Source/XEngine_ModuleHelp/Makefile +++ b/XEngine_Source/XEngine_ModuleHelp/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I /usr/include/opencv4 -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Client +LOADSO = LIB = -lXEngine_BaseLib -lXClient_Socket LIBEX = OBJECTS = ModuleHelp_IDCard.o ModuleHelp_Language.o ModuleHelp_P2PClient.o ModuleHelp_Locker.o ModuleHelp_QRCode.o ModuleHelp_SocketTest.o ModuleHelp_ImageGet.o ModuleHelp_ImageSet.o pch.o diff --git a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h index 892436d248f7652fb3e89af19665589c52c18a35..3cd37d4932e48dad4596fa04a0a5b17a199cf3fc 100644 --- a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h +++ b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h @@ -1115,4 +1115,43 @@ extern "C" bool ModuleHelp_ImageSet_ColorCvt(LPCXSTR lpszSrcBuffer, int nSLen, L 意思:是否成功 备注: *********************************************************************/ -extern "C" bool ModuleHelp_ImageSet_Ligth(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, int nGamma); \ No newline at end of file +extern "C" bool ModuleHelp_ImageSet_Ligth(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, int nGamma); +/******************************************************************** +函数名称:ModuleHelp_ImageSet_Level +函数功能:图像压缩级别调整 + 参数.一:lpszSrcFile + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入原始缓冲区数据 + 参数.二:nSLen + In/Out:In + 类型:整数型 + 可空:N + 意思:输入原始缓冲区大小 + 参数.三:lpszExtFile + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入转换的图像格式.jpg .png .jpeg .webp + 参数.四:ptszDstBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出转换后的缓冲区 + 参数.五:pInt_DLen + In/Out:Out + 类型:整数型指针 + 可空:Y + 意思:输出转换后的大小 + 参数.六:nLevel + In/Out:In + 类型:整数型 + 可空:N + 意思:输入压缩后者质量级别.根据类型不同,此值作用不同 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleHelp_ImageSet_Level(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, int nLevel); \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.cpp b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.cpp index 468c3de2a2290027c04f9dc80011283f86ae6875..8be34fae0d54ab73268a1474ae2042a5d901c517 100644 --- a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.cpp +++ b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.cpp @@ -328,6 +328,102 @@ bool CModuleHelp_ImageSet::ModuleHelp_ImageSet_Ligth(LPCXSTR lpszSrcBuffer, int return false; } + *pInt_DLen = stl_VectorImage.size(); + memcpy(ptszDstBuffer, stl_VectorImage.data(), stl_VectorImage.size()); +#else + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_NOTSUPPORT; + return false; +#endif + return true; +} +/******************************************************************** +函数名称:ModuleHelp_ImageSet_Level +函数功能:图像压缩级别调整 + 参数.一:lpszSrcFile + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入原始缓冲区数据 + 参数.二:nSLen + In/Out:In + 类型:整数型 + 可空:N + 意思:输入原始缓冲区大小 + 参数.三:lpszExtFile + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入转换的图像格式.jpg .png .jpeg .webp + 参数.四:ptszDstBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出转换后的缓冲区 + 参数.五:pInt_DLen + In/Out:Out + 类型:整数型指针 + 可空:Y + 意思:输出转换后的大小 + 参数.六:nLevel + In/Out:In + 类型:整数型 + 可空:N + 意思:输入压缩后者质量级别.根据类型不同,此值作用不同 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleHelp_ImageSet::ModuleHelp_ImageSet_Level(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, int nLevel) +{ + ModuleHelp_IsErrorOccur = false; + + if (NULL == lpszSrcBuffer) + { + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_PARAMRT; + return false; + } +#if _XENGINE_BUILD_SWITCH_OPENCV == 1 + cv::_InputArray m_InputArray(lpszSrcBuffer, nSLen); + cv::Mat m_SrcFrame = cv::imdecode(m_InputArray, cv::IMREAD_UNCHANGED); + cv::Mat m_DstFrame; + + if (m_SrcFrame.empty()) + { + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_OPEN; + return false; + } + std::vector stl_ListCompress; + + if (0 == _tcsxnicmp(lpszExtFile, _X(".jpg"), 4) || 0 == _tcsxnicmp(lpszExtFile, _X(".jpeg"), 5)) + { + stl_ListCompress.push_back(cv::IMWRITE_JPEG_QUALITY); + } + else if (0 == _tcsxnicmp(lpszExtFile, _X(".png"), 4)) + { + stl_ListCompress.push_back(cv::IMWRITE_PNG_COMPRESSION); + } + else if (0 == _tcsxnicmp(lpszExtFile, _X(".exr"), 4)) + { + stl_ListCompress.push_back(cv::IMWRITE_EXR_COMPRESSION); + } + else if (0 == _tcsxnicmp(lpszExtFile, _X(".webp"), 5)) + { + stl_ListCompress.push_back(cv::IMWRITE_WEBP_QUALITY); + } + stl_ListCompress.push_back(nLevel); // 调整压缩质量,范围0-100 + //写到文件 + vector stl_VectorImage; + if (!cv::imencode(lpszExtFile, m_DstFrame, stl_VectorImage, stl_ListCompress)) + { + ModuleHelp_IsErrorOccur = true; + ModuleHelp_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_HELP_IAMGE_WRITE; + return false; + } + *pInt_DLen = stl_VectorImage.size(); memcpy(ptszDstBuffer, stl_VectorImage.data(), stl_VectorImage.size()); #else diff --git a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.h b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.h index 54ba2b7e8d17823fa51f30168602531a21993a84..e21de1f811e30d88cbae818c5bf7cf6703cff3de 100644 --- a/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.h +++ b/XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Image/ModuleHelp_ImageSet.h @@ -21,6 +21,7 @@ public: bool ModuleHelp_ImageSet_Flip(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, int nOPMethod); bool ModuleHelp_ImageSet_ColorCvt(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, ENUM_XENGINE_IMAGE_COLOR_INFO enColorInfo); bool ModuleHelp_ImageSet_Ligth(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, int nGamma); + bool ModuleHelp_ImageSet_Level(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR* ptszDstBuffer, int* pInt_DLen, int nLevel); protected: private: }; \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.def b/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.def index 780969514f9a112c670ca085999c2ef740ea6e7c..03a2402f4dbc71f5aec6f323974c210b65a2b9ca 100644 --- a/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.def +++ b/XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.def @@ -42,4 +42,5 @@ EXPORTS ModuleHelp_ImageSet_Resolution ModuleHelp_ImageSet_Flip ModuleHelp_ImageSet_ColorCvt - ModuleHelp_ImageSet_Ligth \ No newline at end of file + ModuleHelp_ImageSet_Ligth + ModuleHelp_ImageSet_Level \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleHelp/pch.cpp b/XEngine_Source/XEngine_ModuleHelp/pch.cpp index 00699b08bcf28daf4ad7bd6385f441a5f5f6b01e..db02eb97cf3575a61db446547df40918842327f2 100644 --- a/XEngine_Source/XEngine_ModuleHelp/pch.cpp +++ b/XEngine_Source/XEngine_ModuleHelp/pch.cpp @@ -196,4 +196,8 @@ extern "C" bool ModuleHelp_ImageSet_ColorCvt(LPCXSTR lpszSrcBuffer, int nSLen, L extern "C" bool ModuleHelp_ImageSet_Ligth(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR * ptszDstBuffer, int* pInt_DLen, int nGamma) { return m_ImageSet.ModuleHelp_ImageSet_Ligth(lpszSrcBuffer, nSLen, lpszExtFile, ptszDstBuffer, pInt_DLen, nGamma); +} +extern "C" bool ModuleHelp_ImageSet_Level(LPCXSTR lpszSrcBuffer, int nSLen, LPCXSTR lpszExtFile, XCHAR * ptszDstBuffer, int* pInt_DLen, int nLevel) +{ + return m_ImageSet.ModuleHelp_ImageSet_Level(lpszSrcBuffer, nSLen, lpszExtFile, ptszDstBuffer, pInt_DLen, nLevel); } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModulePlugin/Makefile b/XEngine_Source/XEngine_ModulePlugin/Makefile index 34bb4dbfec551c87077979f9abaa83f4a571ef98..51af2b7f3f4437ed5aa4391168b36b1bf9103c94 100644 --- a/XEngine_Source/XEngine_ModulePlugin/Makefile +++ b/XEngine_Source/XEngine_ModulePlugin/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I /usr/include/lua5.4 -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib +LOADSO = LIB = -lXEngine_BaseLib LIBEX = OBJECTS = ModulePlugin_LibCore.o ModulePlugin_LuaCore.o ModulePlugin_Loader.o pch.o diff --git a/XEngine_Source/XEngine_ModuleProtocol/Makefile b/XEngine_Source/XEngine_ModuleProtocol/Makefile index a0b40fd729632b174256f36c8716ee9713cc5608..b49289110467c267913fe228a9a3a50c7f7aafcd 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/Makefile +++ b/XEngine_Source/XEngine_ModuleProtocol/Makefile @@ -7,8 +7,8 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L ../XEngine_ThirdPart/jsoncpp -LIB = -lXEngine_BaseLib -lXEngine_NetXApi -ljsoncpp +LOADSO = -L ../XEngine_ThirdPart/jsoncpp +LIB = -lXEngine_BaseLib -lNetHelp_XSocket -ljsoncpp LIBEX = OBJECTS = ModuleProtocol_Packet.o ModuleProtocol_Parse.o pch.o diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h index f47c89e33e8e348f1e8a5a3867f51195feb7fd7d..deec84620487987bff253385abbd6fc6cc0da0c5 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Define.h @@ -86,6 +86,35 @@ extern "C" bool ModuleProtocol_Packet_Common(XCHAR * ptszMsgBuffer, int* pInt_Ms *********************************************************************/ extern "C" bool ModuleProtocol_Packet_IDQuery(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IDCARDINFO* pSt_IDInfo, XENGINE_IDREGION* pSt_IDRegion, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); /******************************************************************** +函数名称:ModuleProtocol_Packet_IDRegion +函数功能:ID区域转换 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打包的数据信息 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:pSt_IDRegion + In/Out:In + 类型:数据结构指针 + 可空:N + 意思:输入要打包的数据 + 参数.四:nIDRegion + In/Out:In + 类型:整数型 + 可空:Y + 意思:输入要打包的ID +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleProtocol_Packet_IDRegion(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IDREGION* pSt_IDRegion, int nIDRegion); +/******************************************************************** 函数名称:ModuleProtocol_Packet_BankQuery 函数功能:银行卡信息查询打包为JSON 参数.一:ptszMsgBuffer @@ -410,6 +439,59 @@ extern "C" bool ModuleProtocol_Packet_P2PWList(XCHAR* ptszMsgBuffer, int* pInt_M *********************************************************************/ extern "C" bool ModuleProtocol_Packet_Log(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_XLOGINFO*** pppSt_XLogList, int nListCount); /******************************************************************** +函数名称:ModuleProtocol_Packet_LogShow +函数功能:日志表名打包 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打包的数据信息 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:ppptszList + In/Out:In + 类型:三级指针 + 可空:N + 意思:输入要打包的数据 + 参数.四:nListCount + In/Out:In + 类型:整数型 + 可空:N + 意思:输入打包数据个数 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleProtocol_Packet_LogShow(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** ppptszList, int nListCount); +/******************************************************************** +函数名称:ModuleProtocol_Packet_Weather +函数功能:天气信息协议打包函数 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打包的数据信息 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:pSt_WeatherInfo + In/Out:In + 类型:数据结构 + 可空:N + 意思:输入要打包的信息 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleProtocol_Packet_Weather(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_WEATHERINFO* pSt_WeatherInfo); +/******************************************************************** 函数名称:ModuleProtocol_Packet_ShortLink 函数功能:短连接生成协议打包函数 参数.一:ptszMsgBuffer @@ -931,4 +1013,28 @@ extern "C" bool ModuleProtocol_Parse_Verifcation(LPCXSTR lpszMsgBuffer, int nMsg 意思:是否成功 备注: *********************************************************************/ -extern "C" bool ModuleProtocol_Parse_Deamon(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszAPPName, XCHAR* ptszAPPPath, int* pInt_Retime, bool* pbEnable); \ No newline at end of file +extern "C" bool ModuleProtocol_Parse_Deamon(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszAPPName, XCHAR* ptszAPPPath, int* pInt_Retime, bool* pbEnable); +/******************************************************************** +函数名称:ModuleProtocol_Parse_Weather +函数功能:解析天气信息 + 参数.一:lpszMsgBuffer + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入要解析的缓冲区 + 参数.二:nMsgLen + In/Out:In + 类型:整数型 + 可空:N + 意思:输入缓冲区大小 + 参数.三:pSt_WeatherInfo + In/Out:Out + 类型:数据结构指针 + 可空:N + 意思:输出解析后的信息 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +extern "C" bool ModuleProtocol_Parse_Weather(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_WEATHERINFO* pSt_WeatherInfo); \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp index 5ac3a89cc795badf756eadadd57a195bf949a7e7..d8c6a6c0e70b07c53bc70cd6cf1ee12ca0fc5b4a 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.cpp @@ -153,6 +153,62 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_IDQuery(XCHAR* ptszMsgBuffer, return true; } /******************************************************************** +函数名称:ModuleProtocol_Packet_IDRegion +函数功能:ID区域转换 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打包的数据信息 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:pSt_IDRegion + In/Out:In + 类型:数据结构指针 + 可空:N + 意思:输入要打包的数据 + 参数.四:nIDRegion + In/Out:In + 类型:整数型 + 可空:Y + 意思:输入要打包的ID +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleProtocol_Packet::ModuleProtocol_Packet_IDRegion(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IDREGION* pSt_IDRegion, int nIDRegion) +{ + ModuleProtocol_IsErrorOccur = false; + + if ((NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen)) + { + ModuleProtocol_IsErrorOccur = true; + ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PACKET_PARAMENT; + return false; + } + Json::Value st_JsonRoot; + Json::Value st_JsonObject; + Json::StreamWriterBuilder st_JsonBuilder; + + st_JsonObject["tszProvincer"] = pSt_IDRegion->tszProvincer; + st_JsonObject["tszCity"] = pSt_IDRegion->tszCity; + st_JsonObject["tszCounty"] = pSt_IDRegion->tszCounty; + st_JsonObject["nIDRegion"] = nIDRegion; + + st_JsonRoot["code"] = 0; + st_JsonRoot["msg"] = "success"; + st_JsonRoot["data"] = st_JsonObject; + st_JsonBuilder["emitUTF8"] = true; + + *pInt_MsgLen = Json::writeString(st_JsonBuilder, st_JsonRoot).length(); + memcpy(ptszMsgBuffer, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), *pInt_MsgLen); + return true; +} +/******************************************************************** 函数名称:ModuleProtocol_Packet_BankQuery 函数功能:银行卡信息查询打包为JSON 参数.一:ptszMsgBuffer @@ -502,6 +558,64 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_Log(XCHAR* ptszMsgBuffer, int return true; } /******************************************************************** +函数名称:ModuleProtocol_Packet_LogShow +函数功能:日志表名打包 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打包的数据信息 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:ppptszList + In/Out:In + 类型:三级指针 + 可空:N + 意思:输入要打包的数据 + 参数.四:nListCount + In/Out:In + 类型:整数型 + 可空:N + 意思:输入打包数据个数 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleProtocol_Packet::ModuleProtocol_Packet_LogShow(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** ppptszList, int nListCount) +{ + ModuleProtocol_IsErrorOccur = false; + + if ((NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen)) + { + ModuleProtocol_IsErrorOccur = true; + ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PACKET_PARAMENT; + return false; + } + Json::Value st_JsonRoot; + Json::Value st_JsonArray; + Json::StreamWriterBuilder st_JsonBuilder; + + for (int i = 0; i < nListCount; i++) + { + Json::Value st_JsonObject; + + st_JsonObject["tszTableName"] = (*ppptszList)[i]; + st_JsonArray.append(st_JsonObject); + } + st_JsonRoot["code"] = 0; + st_JsonRoot["msg"] = "success"; + st_JsonRoot["data"] = st_JsonArray; + st_JsonBuilder["emitUTF8"] = true; + + *pInt_MsgLen = Json::writeString(st_JsonBuilder, st_JsonRoot).length(); + memcpy(ptszMsgBuffer, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), *pInt_MsgLen); + return true; +} +/******************************************************************** 函数名称:ModuleProtocol_Packet_TestReport 函数功能:套接字测试信息打包 参数.一:ptszMsgBuffer @@ -633,6 +747,61 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_TestReply(XCHAR* ptszMsgBuffe return true; } /******************************************************************** +函数名称:ModuleProtocol_Packet_Weather +函数功能:天气信息协议打包函数 + 参数.一:ptszMsgBuffer + In/Out:Out + 类型:字符指针 + 可空:N + 意思:输出打包的数据信息 + 参数.二:pInt_MsgLen + In/Out:Out + 类型:整数型指针 + 可空:N + 意思:输出打包大小 + 参数.三:pSt_WeatherInfo + In/Out:In + 类型:数据结构 + 可空:N + 意思:输入要打包的信息 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleProtocol_Packet::ModuleProtocol_Packet_Weather(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_WEATHERINFO* pSt_WeatherInfo) +{ + ModuleProtocol_IsErrorOccur = false; + + if ((NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen)) + { + ModuleProtocol_IsErrorOccur = true; + ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PACKET_PARAMENT; + return false; + } + Json::Value st_JsonRoot; + Json::Value st_JsonObject; + Json::StreamWriterBuilder st_JsonBuilder; + + st_JsonObject["nHumidity"] = pSt_WeatherInfo->nHumidity; + st_JsonObject["nTemperature"] = pSt_WeatherInfo->nTemperature; + st_JsonObject["tszCity"] = pSt_WeatherInfo->tszCity; + st_JsonObject["tszProvince"] = pSt_WeatherInfo->tszProvince; + st_JsonObject["tszUPTime"] = pSt_WeatherInfo->tszUPTime; + st_JsonObject["tszWeatherStr"] = pSt_WeatherInfo->tszWeatherStr; + st_JsonObject["tszWinddiRection"] = pSt_WeatherInfo->tszWinddiRection; + st_JsonObject["tszWindPowerStr"] = pSt_WeatherInfo->tszWindPowerStr; + + st_JsonRoot["code"] = 0; + st_JsonRoot["msg"] = "success"; + st_JsonRoot["data"] = st_JsonObject; + st_JsonBuilder["emitUTF8"] = true; + + *pInt_MsgLen = Json::writeString(st_JsonBuilder, st_JsonRoot).length(); + memcpy(ptszMsgBuffer, Json::writeString(st_JsonBuilder, st_JsonRoot).c_str(), *pInt_MsgLen); + return true; +} +/******************************************************************** 函数名称:ModuleProtocol_Packet_ShortLink 函数功能:短连接生成协议打包函数 参数.一:ptszMsgBuffer @@ -1061,8 +1230,8 @@ bool CModuleProtocol_Packet::ModuleProtocol_Packet_HardWare(XCHAR* ptszHWInfo, i st_JsonSerial["SystemSerail"] = st_SDKSerial.tszSystemSerail; int nListCount = 0; - NETXAPI_CARDINFO** ppSt_ListIFInfo; - NetXApi_Socket_GetCardInfo(&ppSt_ListIFInfo, &nListCount); + XSOCKET_CARDINFO** ppSt_ListIFInfo; + XSocket_Api_GetCardInfo(&ppSt_ListIFInfo, &nListCount); for (int i = 0; i < nListCount; i++) { Json::Value st_JsonIPAddr; diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h index 227b98fe2e0b4f2ae4899f036198331274ca1745..c32d54cfefe3b50fc38e1b2ee000c84b82b4bc43 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Packet/ModuleProtocol_Packet.h @@ -24,13 +24,16 @@ public: public: bool ModuleProtocol_Packet_Common(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); bool ModuleProtocol_Packet_IDQuery(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IDCARDINFO* pSt_IDInfo, XENGINE_IDREGION* pSt_IDRegion, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); + bool ModuleProtocol_Packet_IDRegion(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IDREGION* pSt_IDRegion, int nIDRegion); bool ModuleProtocol_Packet_BankQuery(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_BANKINFO* pSt_BankInfo, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); bool ModuleProtocol_Packet_LanguageQuery(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_LANGUAGEINFO* pSt_LanguageInfo, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); bool ModuleProtocol_Packet_Locker(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XNETHANDLE xhToken, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); bool ModuleProtocol_Packet_ZIPCode(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_ZIPINFO* pSt_ZIPInfo, int nCode = 0, LPCXSTR lpszMsgBuffer = NULL); bool ModuleProtocol_Packet_Log(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_XLOGINFO*** pppSt_XLogList, int nListCount); + bool ModuleProtocol_Packet_LogShow(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** ppptszList, int nListCount); bool ModuleProtocol_Packet_TestReport(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XNETHANDLE xhToken, LPCXSTR lpszIPAddr, int nIPPort, __int64x nNumber, __int64x nFailed, __int64x nSuccess, int nStatus); bool ModuleProtocol_Packet_TestReply(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XNETHANDLE xhToken); + bool ModuleProtocol_Packet_Weather(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_WEATHERINFO* pSt_WeatherInfo); bool ModuleProtocol_Packet_ShortLink(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_SHORTLINK* pSt_ShortLink); bool ModuleProtocol_Packet_WordFilter(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_WORDFILTER* pSt_WordFilter); bool ModuleProtocol_Packet_ImageAttr(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IMGBASEATTR* pSt_BaseInfo, XENGINE_IMGEXTATTR* pSt_ExtAttr); diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp index 57a91b3dc4b0cb59b5939c217fdcbebc1cc651b6..5ad39ae9b6abc5ad6d94531f7e0c409979a05af8 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.cpp @@ -990,4 +990,84 @@ bool CModuleProtocol_Parse::ModuleProtocol_Parse_Deamon(LPCXSTR lpszMsgBuffer, i } } return true; +} +/******************************************************************** +函数名称:ModuleProtocol_Parse_Weather +函数功能:解析天气信息 + 参数.一:lpszMsgBuffer + In/Out:In + 类型:常量字符指针 + 可空:N + 意思:输入要解析的缓冲区 + 参数.二:nMsgLen + In/Out:In + 类型:整数型 + 可空:N + 意思:输入缓冲区大小 + 参数.三:pSt_WeatherInfo + In/Out:Out + 类型:数据结构指针 + 可空:N + 意思:输出解析后的信息 +返回值 + 类型:逻辑型 + 意思:是否成功 +备注: +*********************************************************************/ +bool CModuleProtocol_Parse::ModuleProtocol_Parse_Weather(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_WEATHERINFO* pSt_WeatherInfo) +{ + ModuleProtocol_IsErrorOccur = false; + + if ((NULL == lpszMsgBuffer) || (0 == nMsgLen)) + { + ModuleProtocol_IsErrorOccur = true; + ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PARSE_PARAMENT; + return false; + } + Json::Value st_JsonRoot; + JSONCPP_STRING st_JsonError; + Json::CharReaderBuilder st_JsonBuilder; + + std::unique_ptr const pSt_JsonReader(st_JsonBuilder.newCharReader()); + if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + nMsgLen, &st_JsonRoot, &st_JsonError)) + { + ModuleProtocol_IsErrorOccur = true; + ModuleProtocol_dwErrorCode = ERROR_XENGINE_APISERVICE_MODULE_PROTOCOL_PARSE_PARAMENT; + return false; + } + Json::Value st_JsonObject = st_JsonRoot["lives"][0]; + + if (!st_JsonObject["province"].isNull()) + { + _tcsxcpy(pSt_WeatherInfo->tszProvince, st_JsonObject["province"].asCString()); + } + if (!st_JsonObject["city"].isNull()) + { + _tcsxcpy(pSt_WeatherInfo->tszCity, st_JsonObject["city"].asCString()); + } + if (!st_JsonObject["weather"].isNull()) + { + _tcsxcpy(pSt_WeatherInfo->tszWeatherStr, st_JsonObject["weather"].asCString()); + } + if (!st_JsonObject["winddirection"].isNull()) + { + _tcsxcpy(pSt_WeatherInfo->tszWinddiRection, st_JsonObject["winddirection"].asCString()); + } + if (!st_JsonObject["windpower"].isNull()) + { + _tcsxcpy(pSt_WeatherInfo->tszWindPowerStr, st_JsonObject["windpower"].asCString()); + } + if (!st_JsonObject["reporttime"].isNull()) + { + _tcsxcpy(pSt_WeatherInfo->tszUPTime, st_JsonObject["reporttime"].asCString()); + } + if (!st_JsonObject["temperature"].isNull()) + { + pSt_WeatherInfo->nTemperature = _ttxoi(st_JsonObject["temperature"].asCString()); + } + if (!st_JsonObject["humidity"].isNull()) + { + pSt_WeatherInfo->nHumidity = _ttxoi(st_JsonObject["humidity"].asCString()); + } + return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h index 85151b12dcdb30dada4275cf00bb408056498191..02fe494a435c44d02eac8a5fb655a24c3548e8f8 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h +++ b/XEngine_Source/XEngine_ModuleProtocol/ModuleProtocol_Parse/ModuleProtocol_Parse.h @@ -31,5 +31,6 @@ public: bool ModuleProtocol_Parse_BackService(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszSrcBuffer = NULL, XCHAR* ptszDstBuffer = NULL, int* pInt_BSType = NULL); bool ModuleProtocol_Parse_Verifcation(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszUserName, XCHAR* ptszUserPass); bool ModuleProtocol_Parse_Deamon(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszAPPName, XCHAR* ptszAPPPath, int* pInt_Retime, bool* pbEnable); + bool ModuleProtocol_Parse_Weather(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_WEATHERINFO* pSt_WeatherInfo); private: }; \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def index bae354b2ba796a48fcda663a44ee9aa71f179c3f..eef071f0a2b423f1c0af4f56c48b4326d102f8c6 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def +++ b/XEngine_Source/XEngine_ModuleProtocol/XEngine_ModuleProtocol.def @@ -5,13 +5,16 @@ EXPORTS ModuleProtocol_Packet_Common ModuleProtocol_Packet_IDQuery + ModuleProtocol_Packet_IDRegion ModuleProtocol_Packet_BankQuery ModuleProtocol_Packet_LanguageQuery ModuleProtocol_Packet_Locker ModuleProtocol_Packet_ZIPCode ModuleProtocol_Packet_Log + ModuleProtocol_Packet_LogShow ModuleProtocol_Packet_TestReport ModuleProtocol_Packet_TestReply + ModuleProtocol_Packet_Weather ModuleProtocol_Packet_ShortLink ModuleProtocol_Packet_WordFilter ModuleProtocol_Packet_ImageAttr @@ -35,4 +38,5 @@ EXPORTS ModuleProtocol_Parse_WordFilter ModuleProtocol_Parse_BackService ModuleProtocol_Parse_Verifcation - ModuleProtocol_Parse_Deamon \ No newline at end of file + ModuleProtocol_Parse_Deamon + ModuleProtocol_Parse_Weather \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp index 0180755c54dcda5a2c6bd643797bdf8a0ea56bf8..ca82b5ec4cc9a2bb38c5ac57eff2d6147852fd8f 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/pch.cpp +++ b/XEngine_Source/XEngine_ModuleProtocol/pch.cpp @@ -39,6 +39,10 @@ extern "C" bool ModuleProtocol_Packet_IDQuery(XCHAR * ptszMsgBuffer, int* pInt_M { return m_ProtocolPacket.ModuleProtocol_Packet_IDQuery(ptszMsgBuffer, pInt_MsgLen, pSt_IDInfo, pSt_IDRegion, nCode, lpszMsgBuffer); } +extern "C" bool ModuleProtocol_Packet_IDRegion(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XENGINE_IDREGION * pSt_IDRegion, int nIDRegion) +{ + return m_ProtocolPacket.ModuleProtocol_Packet_IDRegion(ptszMsgBuffer, pInt_MsgLen, pSt_IDRegion, nIDRegion); +} extern "C" bool ModuleProtocol_Packet_BankQuery(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XENGINE_BANKINFO * pSt_BankInfo, int nCode, LPCXSTR lpszMsgBuffer) { return m_ProtocolPacket.ModuleProtocol_Packet_BankQuery(ptszMsgBuffer, pInt_MsgLen, pSt_BankInfo, nCode, lpszMsgBuffer); @@ -59,6 +63,14 @@ extern "C" bool ModuleProtocol_Packet_Log(XCHAR * ptszMsgBuffer, int* pInt_MsgLe { return m_ProtocolPacket.ModuleProtocol_Packet_Log(ptszMsgBuffer, pInt_MsgLen, pppSt_XLogList, nListCount); } +extern "C" bool ModuleProtocol_Packet_LogShow(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XCHAR * **ppptszList, int nListCount) +{ + return m_ProtocolPacket.ModuleProtocol_Packet_LogShow(ptszMsgBuffer, pInt_MsgLen, ppptszList, nListCount); +} +extern "C" bool ModuleProtocol_Packet_Weather(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XENGINE_WEATHERINFO * pSt_WeatherInfo) +{ + return m_ProtocolPacket.ModuleProtocol_Packet_Weather(ptszMsgBuffer, pInt_MsgLen, pSt_WeatherInfo); +} extern "C" bool ModuleProtocol_Packet_TestReport(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XNETHANDLE xhToken, LPCXSTR lpszIPAddr, int nIPPort, __int64x nNumber, __int64x nFailed, __int64x nSuccess, int nStatus) { return m_ProtocolPacket.ModuleProtocol_Packet_TestReport(ptszMsgBuffer, pInt_MsgLen, xhToken, lpszIPAddr, nIPPort, nNumber, nFailed, nSuccess, nStatus); @@ -161,4 +173,8 @@ extern "C" bool ModuleProtocol_Parse_Verifcation(LPCXSTR lpszMsgBuffer, int nMsg extern "C" bool ModuleProtocol_Parse_Deamon(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR * ptszAPPName, XCHAR * ptszAPPPath, int* pInt_Retime, bool* pbEnable) { return m_ProtocolParse.ModuleProtocol_Parse_Deamon(lpszMsgBuffer, nMsgLen, ptszAPPName, ptszAPPPath, pInt_Retime, pbEnable); +} +extern "C" bool ModuleProtocol_Parse_Weather(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_WEATHERINFO * pSt_WeatherInfo) +{ + return m_ProtocolParse.ModuleProtocol_Parse_Weather(lpszMsgBuffer, nMsgLen, pSt_WeatherInfo); } \ No newline at end of file diff --git a/XEngine_Source/XEngine_ModuleProtocol/pch.h b/XEngine_Source/XEngine_ModuleProtocol/pch.h index 624b9d0ed38e838b7730744c5f25f7881150bcc7..487cd59685546b5b55a35c9d151a5c7289709b8a 100644 --- a/XEngine_Source/XEngine_ModuleProtocol/pch.h +++ b/XEngine_Source/XEngine_ModuleProtocol/pch.h @@ -27,8 +27,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include @@ -55,7 +55,7 @@ extern XLONG ModuleProtocol_dwErrorCode; #ifdef _MSC_BUILD #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"XEngine_Core/XEngine_NetXApi") +#pragma comment(lib,"XEngine_NetHelp/NetHelp_XSocket") #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi") #ifdef _DEBUG #ifdef _WIN64 diff --git a/XEngine_Source/XEngine_ModuleSystem/Makefile b/XEngine_Source/XEngine_ModuleSystem/Makefile index f70755fe28d858bec14a44d19976477d75806a78..04ed1d1beb0e8f09b9249918155abb803bdc055e 100644 --- a/XEngine_Source/XEngine_ModuleSystem/Makefile +++ b/XEngine_Source/XEngine_ModuleSystem/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_SystemSdk +LOADSO = LIB = -lXEngine_BaseLib -lXEngine_SystemApi LIBEX = OBJECTS = ModuleSystem_API.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Makefile index a6904fae251f01327e4e77f69264ebc2fba379d7..11613aa2095d9aa8f67dae22c3203ebfa6436691 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_BMIndex/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = Plugin_BMIndex.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_IPAddr/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_IPAddr/Makefile index 26480fa255a9cc4292b7975b39013c61ca66bfc0..4a08ae08f5d692c44eba067e34562dade72b0da9 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_IPAddr/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_IPAddr/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = ModulePlugin_IPAddr.o ModulePlugin_Interface.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Makefile index a31909b93c5b3e3b626b9f100df0fd5344434324..fe14c338decc1aa3521b7f2d8e74bddad4627193 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Meter/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = Plugin_Meter.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Makefile index 64df18d06d09bc544048b40b4a871d662d379162..55d72fa888f36391de72242a2cc16fac37c278d1 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Password/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = Plugin_Password.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Phone/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Phone/Makefile index fc60636d147773de1284f8d92f745beb1ec9a8a9..485283ff2fd3bcb1b4efea1d319073a729e53826 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Phone/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Phone/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = ModulePlugin_DBPhone.o ModulePlugin_APIPhone.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Makefile index bb2b5ed250fee9fadcd9b0c1d37825907028fe19..448677d66a89a195734cbfbecbca0d853f8f11d6 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Timezone/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = Plugin_Timezone.o pch.o diff --git a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Makefile b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Makefile index 49a47fbd9bdcf79a8aa0d0b8eb5f54e709d09a80..1c9a66b88ce65f1c600a2723ef87486612d7d913 100644 --- a/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Makefile +++ b/XEngine_Source/XEngine_PluginModule/ModulePlugin_Zodiac/Makefile @@ -7,7 +7,7 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp LIBEX = OBJECTS = Plugin_Zodiac.o pch.o diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile index 12be67f99c68109541c8a37e04c8f7b015c67fdd..e4ad3dc0e678dbac619e34739f2e40b52787f733 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/Makefile @@ -7,15 +7,14 @@ LIBFLAG = RELEASE = 0 UNICODE = 0 LOADHDR = -I ./ -I ../XEngine_ThirdPart/jsoncpp -LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L /usr/local/lib/XEngine_Release/XEngine_HelpComponents -L /usr/local/lib/XEngine_Release/XEngine_RfcComponents -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -L /usr/local/lib/XEngine_Release/XEngine_SystemSdk -L /usr/local/lib/XEngine_Release/XEngine_AVCodec -L /usr/local/lib/XEngine_Release/XEngine_StreamMedia \ - -L ../../XEngine_ModuleConfigure -L ../../XEngine_ModuleDatabase -L ../../XEngine_ModuleProtocol -L ../../XEngine_ModuleSystem -L ../../XEngine_ModuleHelp -L ../../XEngine_ModulePlugin \ +LOADSO = -L ../../XEngine_ModuleConfigure -L ../../XEngine_ModuleDatabase -L ../../XEngine_ModuleProtocol -L ../../XEngine_ModuleSystem -L ../../XEngine_ModuleHelp -L ../../XEngine_ModulePlugin \ -L ../../XEngine_ThirdPart/jsoncpp -LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -lXEngine_OPenSsl -lHelpComponents_XLog -lRfcComponents_HttpProtocol -lNetHelp_APIClient -lXEngine_ProcFile -lXEngine_SystemApi -lXEngine_AVHelp -lXEngine_VideoCodec -lXEngine_AudioCodec -lXEngine_AVCollect -lStreamMedia_StreamClient \ +LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -lXEngine_OPenSsl -lXClient_Stream -lXClient_APIHelp -lHelpComponents_XLog -lRfcComponents_HttpProtocol -lXEngine_ProcFile -lXEngine_SystemApi -lXEngine_AVHelp -lXEngine_VideoCodec -lXEngine_AudioCodec -lXEngine_AVCollect \ -lXEngine_ModuleConfigure -lXEngine_ModuleDatabase -lXEngine_ModuleProtocol -lXEngine_ModuleSystem -lXEngine_ModuleHelp -lXEngine_ModulePlugin \ -ljsoncpp LIBEX = OBJECTS = XEngine_Configure.o XEngine_Network.o XEngine_HTTPTask.o XEngine_PluginTask.o XEngine_HttpApp.o \ - TaskGet_Bank.o TaskGet_IDCard.o TaskGet_Locker.o TaskGet_Translation.o TaskGet_Reload.o \ + TaskGet_Bank.o TaskGet_IDCard.o TaskGet_Locker.o TaskGet_Translation.o TaskGet_Reload.o TaskGet_Weather.o TaskGet_IDRegion.o \ TaskPost_DTest.o TaskPost_Log.o TaskPost_P2PClient.o TaskPost_PostCode.o TaskPost_QRCode.o TaskPost_ShortLink.o TaskPost_SocketTest.o TaskPost_WordFilter.o TaskPost_Image.o TaskPost_BackService.o TaskPost_Deamon.o ifeq ($(RELEASE),1) @@ -76,6 +75,10 @@ TaskGet_Translation.o:./XEngine_TaskGet/TaskGet_Translation.cpp $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskGet/TaskGet_Translation.cpp TaskGet_Reload.o:./XEngine_TaskGet/TaskGet_Reload.cpp $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskGet/TaskGet_Reload.cpp +TaskGet_Weather.o:./XEngine_TaskGet/TaskGet_Weather.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskGet/TaskGet_Weather.cpp +TaskGet_IDRegion.o:./XEngine_TaskGet/TaskGet_IDRegion.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskGet/TaskGet_IDRegion.cpp TaskPost_DTest.o:./XEngine_TaskPost/TaskPost_DTest.cpp $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_TaskPost/TaskPost_DTest.cpp diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp index 5fd47317ed3da607327348e1f49055f710e92214..971e27f70f35f60584a6b534777cca6a97ef9dec 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HTTPTask.cpp @@ -74,12 +74,22 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST int nListCount = 0; memset(tszUrlName, '\0', sizeof(tszUrlName)); + + XCHAR tszUrlBuffer[MAX_PATH] = {}; + XCHAR tszGBKBuffer[MAX_PATH] = {}; + OPenSsl_Codec_UrlDeCodec(pSt_HTTPParam->tszHttpUri, _tcsxlen(pSt_HTTPParam->tszHttpUri), tszUrlBuffer); +#ifdef _MSC_BUILD + int nCLen = _tcsxlen(tszUrlBuffer); + BaseLib_OperatorCharset_UTFToAnsi(tszUrlBuffer, tszGBKBuffer, &nCLen); +#else + _tcsxcpy(tszGBKBuffer, pSt_HTTPParam->tszHttpUri); +#endif //得到URL参数个数 - HttpProtocol_ServerHelp_GetParament(pSt_HTTPParam->tszHttpUri, &pptszList, &nListCount, tszUrlName); + HttpProtocol_ServerHelp_GetParament(tszGBKBuffer, &pptszList, &nListCount, tszUrlName); if (nListCount < 1) { //是不是代理转发 - if (HTTPTask_TaskPost_SLProxy(lpszClientAddr, pSt_HTTPParam->tszHttpUri, ppptszHDRList, nHDRCount)) + if (HTTPTask_TaskPost_SLProxy(lpszClientAddr, tszGBKBuffer, ppptszHDRList, nHDRCount)) { return true; } @@ -87,7 +97,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } XCHAR tszKey[MAX_PATH]; @@ -101,6 +111,8 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST LPCXSTR lpszParamTranslation = _X("translation"); LPCXSTR lpszParamLocker = _X("lock"); LPCXSTR lpszParamReload = _X("reload"); + LPCXSTR lpszParamWeather = _X("weather"); + LPCXSTR lpszParamRegion = _X("region"); //post LPCXSTR lpszParamP2PClient = _X("p2p"); LPCXSTR lpszParamZIPCode = _X("zipcode"); @@ -123,7 +135,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } //获得函数名 @@ -134,7 +146,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } //首先处理插件 @@ -158,7 +170,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TastPost_P2PClient(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszValue)); @@ -175,7 +187,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TastPost_PostCode(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszValue)); @@ -192,7 +204,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TastPost_LogInfo(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszValue)); @@ -209,7 +221,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TaskPost_QRCode(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszValue)); @@ -226,7 +238,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TastPost_SocketTest(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszValue)); @@ -243,7 +255,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TastPost_DTest(lpszClientAddr, lpszRVBuffer, nRVLen, _ttxoi(tszValue)); @@ -290,7 +302,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的请求不支持:%s,内容:\r\n%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri, lpszRVBuffer); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的请求不支持:%s,内容:\r\n%s"), lpszClientAddr, tszGBKBuffer, lpszRVBuffer); } } else if (0 == _tcsxnicmp(lpszMethodGet, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethodGet))) @@ -314,7 +326,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TaskGet_IDCard(lpszClientAddr, tszValue); @@ -331,7 +343,7 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszList, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的URL请求参数不正确:%s"), lpszClientAddr, tszGBKBuffer); return false; } HTTPTask_TaskGet_BankInfo(lpszClientAddr, tszValue); @@ -362,12 +374,64 @@ bool HTTPTask_TastPost_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszLockType); HTTPTask_TaskGet_Locker(lpszClientAddr, _ttxoll(tszLockToken), (ENUM_XENGINE_APISERVICE_LOCKER_TYPE)_ttxoi(tszLockType)); } + else if (0 == _tcsxnicmp(lpszParamWeather, tszValue, _tcsxlen(lpszParamWeather))) + { + //天气:http://127.0.0.1:5501/api?function=weather¶ms1=110101 + XCHAR tszIDAddr[128] = {}; + + BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszIDAddr); + HTTPTask_TaskGet_WeatherInfo(lpszClientAddr, tszIDAddr); + } + else if (0 == _tcsxnicmp(lpszParamRegion, tszValue, _tcsxlen(lpszParamRegion))) + { + //天气:http://127.0.0.1:5501/api?function=region&type=1¶ms=省份¶ms=市区¶ms=县级 + int nType = 0; + memset(tszValue, '\0', sizeof(tszValue)); + + BaseLib_OperatorString_GetKeyValue(pptszList[1], "=", tszKey, tszValue); + nType = _ttxoi(tszValue); + if (0 == nType) + { + memset(tszValue, '\0', sizeof(tszValue)); + BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszValue); + HTTPTask_TaskGet_IDRegion(lpszClientAddr, nType, tszValue, NULL, NULL); + } + else + { + if (2 == nListCount) + { + XCHAR tszProvincerStr[32] = {}; + BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszProvincerStr,NULL); + HTTPTask_TaskGet_IDRegion(lpszClientAddr, nType, tszProvincerStr, NULL, NULL); + } + else if (3 == nListCount) + { + XCHAR tszProvincerStr[32] = {}; + XCHAR tszCityStr[32] = {}; + BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszProvincerStr); + BaseLib_OperatorString_GetKeyValue(pptszList[3], "=", tszKey, tszCityStr); + + HTTPTask_TaskGet_IDRegion(lpszClientAddr, nType, tszProvincerStr, tszCityStr, NULL); + } + else + { + XCHAR tszProvincerStr[32] = {}; + XCHAR tszCityStr[32] = {}; + XCHAR tszCountyStr[32] = {}; + BaseLib_OperatorString_GetKeyValue(pptszList[2], "=", tszKey, tszProvincerStr); + BaseLib_OperatorString_GetKeyValue(pptszList[3], "=", tszKey, tszCityStr); + BaseLib_OperatorString_GetKeyValue(pptszList[4], "=", tszKey, tszCountyStr); + + HTTPTask_TaskGet_IDRegion(lpszClientAddr, nType, tszProvincerStr, tszCityStr, tszCountyStr); + } + } + } else { st_HDRParam.nHttpCode = 404; HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam); XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的请求不支持:%s,内容:\r\n%s"), lpszClientAddr, pSt_HTTPParam->tszHttpUri, lpszRVBuffer); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,发送的请求不支持:%s,内容:\r\n%s"), lpszClientAddr, tszGBKBuffer, lpszRVBuffer); } } else diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h index 028e02eddad864fa946ba1029954ff02fd64178b..27d28fcae2e7efb2e1e5af9e7b025d63765e88ed 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_Hdr.h @@ -30,14 +30,16 @@ using namespace std; #include #include #include +#include +#include +#include +#include #include #include #include #include #include #include -#include -#include #include #include #include @@ -49,8 +51,6 @@ using namespace std; #include #include #include -#include -#include //加载项目相关头文件 #include "../../XEngine_BuildSwitch.h" #include "../../XEngine_UserProtocol.h" @@ -89,6 +89,8 @@ using namespace std; #include "XEngine_TaskGet/TaskGet_Translation.h" #include "XEngine_TaskGet/TaskGet_Locker.h" #include "XEngine_TaskGet/TaskGet_Reload.h" +#include "XEngine_TaskGet/TaskGet_Weather.h" +#include "XEngine_TaskGet/TaskGet_IDRegion.h" /******************************************************************** // Created: 2022/01/20 14:42:06 // File Name: D:\XEngine_ServiceApp\XEngine_Source\XEngine_ServiceApp\XEngine_HttpApp\XEngine_Hdr.h @@ -156,14 +158,14 @@ extern XENGINE_DEAMONAPPLIST st_DeamonAppConfig; #pragma comment(lib,"XEngine_Core/XEngine_Core.lib") #pragma comment(lib,"XEngine_Core/XEngine_ManagePool.lib") #pragma comment(lib,"XEngine_Core/XEngine_OPenSsl.lib") +#pragma comment(lib,"XEngine_Client/XClient_Stream.lib") +#pragma comment(lib,"XEngine_Client/XClient_APIHelp.lib") #pragma comment(lib,"XEngine_HelpComponents/HelpComponents_XLog.lib") #pragma comment(lib,"XEngine_RfcComponents/RfcComponents_HttpProtocol.lib") -#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient.lib") #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi") #pragma comment(lib,"XEngine_AVCodec/XEngine_AVCollect.lib") #pragma comment(lib,"XEngine_AVCodec/XEngine_VideoCodec.lib") #pragma comment(lib,"XEngine_AVCodec/XEngine_AudioCodec.lib") #pragma comment(lib,"XEngine_AVCodec/XEngine_AVHelp.lib") -#pragma comment(lib,"XEngine_StreamMedia/StreamMedia_StreamClient.lib") #pragma comment(lib,"Ws2_32.lib") #endif \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj index 97346abdf55c2e4b90f0659b915f9b9ffc792a1d..fc3e57810683ac735c6d7dee1850be86ff2bcb5d 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj @@ -160,9 +160,11 @@ + + @@ -183,9 +185,11 @@ + + diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters index b6ace87711ea24764532d7de1c09518110fb2290..45e30d218ebe68b3e9fcc28cb034c85139960168 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_HttpApp.vcxproj.filters @@ -90,6 +90,12 @@ 源文件\XEngine_TaskPost + + 源文件\XEngine_TaskGet + + + 源文件\XEngine_TaskGet + @@ -155,5 +161,11 @@ 头文件\XEngine_TaskPost + + 头文件\XEngine_TaskGet + + + 头文件\XEngine_TaskGet + \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.cpp new file mode 100644 index 0000000000000000000000000000000000000000..5d93f81e07370991b231ca5843af1bcc71b1e9fe --- /dev/null +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.cpp @@ -0,0 +1,55 @@ +#include "../XEngine_Hdr.h" + +bool HTTPTask_TaskGet_IDRegion(LPCXSTR lpszClientAddr, int nType, LPCXSTR lpszProvincerStr, LPCXSTR lpszCityStr, LPCXSTR lpszCountyStr) +{ + int nMsgLen = 4096; + int nPktLen = 4096; + XCHAR tszMsgBuffer[4096]; + XCHAR tszPktBuffer[4096]; + + XENGINE_IDREGION st_IDRegion = {}; + RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam = {}; //发送给客户端的参数 + + memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); + memset(tszPktBuffer, '\0', sizeof(tszPktBuffer)); + + st_HDRParam.nHttpCode = 200; //HTTP CODE码 + st_HDRParam.bIsClose = true; //收到回复后就关闭 + + if (0 == nType) + { + XENGINE_IDCARDINFO st_IDInfo = {}; + _stxscanf(lpszProvincerStr, _X("%2hd%2hd%2hd"), &st_IDInfo.nIDProvince, &st_IDInfo.nIDCity, &st_IDInfo.nIDCounty); + ModuleDatabase_IDCard_QueryRegion(&st_IDRegion, &st_IDInfo); + ModuleProtocol_Packet_IDRegion(tszPktBuffer, &nPktLen, &st_IDRegion, _ttxoi(lpszProvincerStr)); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszPktBuffer, nPktLen); + XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求的行政区域ID转换地址成功,ID:%s,转换内容:%s-%s-%s"), lpszClientAddr, lpszProvincerStr, st_IDRegion.tszProvincer, st_IDRegion.tszCity, st_IDRegion.tszCounty); + } + else + { + int nIDRegion = 0; + _tcsxcpy(st_IDRegion.tszProvincer, lpszProvincerStr); + if (NULL != lpszCityStr) + { + _tcsxcpy(st_IDRegion.tszCity, lpszCityStr); + } + if (NULL != lpszCountyStr) + { + _tcsxcpy(st_IDRegion.tszCounty, lpszCountyStr); + } + ModuleDatabase_IDCard_QueryByAddr(&st_IDRegion, &nIDRegion); + ModuleProtocol_Packet_IDRegion(tszPktBuffer, &nPktLen, &st_IDRegion, nIDRegion); +#ifdef _MSC_BUILD + XCHAR tszUTFBuffer[1024] = {}; + int nULen = _tcsxlen(tszPktBuffer); + BaseLib_OperatorCharset_AnsiToUTF(tszPktBuffer, tszUTFBuffer, &nULen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszUTFBuffer, nULen); +#else + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszPktBuffer, nPktLen); +#endif + XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求的行政区域地址转ID成功,地址:%s-%s-%s,ID:%d"), lpszClientAddr, st_IDRegion.tszProvincer, st_IDRegion.tszCity, st_IDRegion.tszCounty, nIDRegion); + } + return true; +} \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.h b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.h new file mode 100644 index 0000000000000000000000000000000000000000..9c7ce7528075a81ea8dbca29f78cf0fcdf509f47 --- /dev/null +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_IDRegion.h @@ -0,0 +1,3 @@ +#pragma once + +bool HTTPTask_TaskGet_IDRegion(LPCXSTR lpszClientAddr, int nType, LPCXSTR lpszProvincerStr, LPCXSTR lpszCityStr, LPCXSTR lpszCountyStr); \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Translation.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Translation.cpp index 7756c9d9e2ac7cfc30e1a83d5506aabf12b00aaa..8d2e3dd048e498876bd6d3318e0d116378fae656 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Translation.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Translation.cpp @@ -8,14 +8,12 @@ bool HTTPTask_TaskGet_Translation(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, XCHAR* ptszBodyBuffer; XCHAR tszMsgBuffer[4096]; XCHAR tszPktBuffer[4096]; - XCHAR tszUrlBuffer[MAX_PATH]; XCHAR tszTypeBuffer[64]; XENGINE_LANGUAGEINFO st_LanguageInfo; RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam; //发送给客户端的参数 memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); memset(tszPktBuffer, '\0', sizeof(tszPktBuffer)); - memset(tszUrlBuffer, '\0', MAX_PATH); memset(tszTypeBuffer, '\0', sizeof(tszTypeBuffer)); memset(&st_LanguageInfo, '\0', sizeof(XENGINE_LANGUAGEINFO)); memset(&st_HDRParam, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM)); @@ -23,16 +21,13 @@ bool HTTPTask_TaskGet_Translation(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, st_HDRParam.nHttpCode = 200; //HTTP CODE码 st_HDRParam.bIsClose = true; //收到回复后就关闭 - XCHAR tszURLBuffer[MAX_PATH] = {}; XCHAR tszSignStr[MAX_PATH] = {}; XCHAR tszMD5Codec[MAX_PATH] = {}; XCHAR tszMD5Str[MAX_PATH] = {}; XCHAR tszURLStr[4096] = {}; - OPenSsl_Codec_UrlDeCodec(lpszMsgBuffer, _tcsxlen(lpszMsgBuffer), tszURLBuffer); - int nRandomNumber = rand(); - int nLen = _xstprintf(tszSignStr, _X("%s%s%d%s"), st_ServiceConfig.st_XApi.st_TranslationInfo.tszAPPID, tszURLBuffer, nRandomNumber, st_ServiceConfig.st_XApi.st_TranslationInfo.tszAPPKey); + int nLen = _xstprintf(tszSignStr, _X("%s%s%d%s"), st_ServiceConfig.st_XApi.st_TranslationInfo.tszAPPID, lpszMsgBuffer, nRandomNumber, st_ServiceConfig.st_XApi.st_TranslationInfo.tszAPPKey); OPenSsl_Api_Digest(tszSignStr, (XBYTE*)tszMD5Codec, &nLen); for (int i = 0; i < 16; i++) diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.cpp new file mode 100644 index 0000000000000000000000000000000000000000..27d04570817203749829b9ec1315a71ac6630c19 --- /dev/null +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.cpp @@ -0,0 +1,53 @@ +#include "../XEngine_Hdr.h" + +bool HTTPTask_TaskGet_WeatherInfo(LPCXSTR lpszClientAddr, LPCXSTR lpszAddrCode) +{ + int nMsgLen = 4096; + int nPktLen = 4096; + int nBLen = 0; + XCHAR* ptszBodyBuffer; + XCHAR tszMsgBuffer[4096]; + XCHAR tszPktBuffer[4096]; + XCHAR tszUrlBuffer[MAX_PATH]; + XENGINE_WEATHERINFO st_WeatherInfo = {}; + RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam = {}; //发送给客户端的参数 + + memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); + memset(tszPktBuffer, '\0', sizeof(tszPktBuffer)); + memset(tszUrlBuffer, '\0', MAX_PATH); + + st_HDRParam.nHttpCode = 200; //HTTP CODE码 + st_HDRParam.bIsClose = true; //收到回复后就关闭 + + _xstprintf(tszUrlBuffer, st_ServiceConfig.st_XApi.tszWeatherUrl, lpszAddrCode); + APIClient_Http_Request(_X("GET"), tszUrlBuffer, NULL, NULL, &ptszBodyBuffer, &nBLen); + + XCHAR tszGBKStr[1024] = {}; +#ifdef _MSC_BUILD + BaseLib_OperatorCharset_UTFToAnsi(ptszBodyBuffer, tszGBKStr, &nBLen); +#else + _tcsxcpy(tszGBKStr, ptszBodyBuffer); +#endif + BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszBodyBuffer); + //解析JSON信息 + if (!ModuleProtocol_Parse_Weather(tszGBKStr, nBLen, &st_WeatherInfo)) + { + ModuleProtocol_Packet_Common(tszPktBuffer, &nPktLen, 404, _X("address id is incorrect")); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszPktBuffer, nPktLen); + XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求的实时天气信息错误,可能ID:%s,不正确"), lpszClientAddr, lpszAddrCode); + return false; + } + //打包发送 + ModuleProtocol_Packet_Weather(tszPktBuffer, &nPktLen, &st_WeatherInfo); +#ifdef _MSC_BUILD + XCHAR tszUTFStr[1024] = {}; + BaseLib_OperatorCharset_AnsiToUTF(tszPktBuffer, tszUTFStr, &nPktLen); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszUTFStr, nPktLen); +#else + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszPktBuffer, nPktLen); +#endif + XEngine_Network_Send(lpszClientAddr, tszMsgBuffer, nMsgLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求的实时天气信息成功,查询ID:%s"), lpszClientAddr, lpszAddrCode); + return true; +} \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.h b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.h new file mode 100644 index 0000000000000000000000000000000000000000..491d47c54ac8330764237de0d89f797b7fac877b --- /dev/null +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskGet/TaskGet_Weather.h @@ -0,0 +1,3 @@ +#pragma once + +bool HTTPTask_TaskGet_WeatherInfo(LPCXSTR lpszClientAddr, LPCXSTR lpszAddrCode); \ No newline at end of file diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp index fda49557c2c3c9d7c4d313731ec9bb15a4018d0e..5730465e74ab19f38180baafe5151b73b5be5878 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_BackService.cpp @@ -9,14 +9,14 @@ static XHANDLE xhStream = NULL; void CALLBACK HTTPTask_TaskPost_CBVideo(uint8_t* punStringY, int nYLen, uint8_t* punStringU, int nULen, uint8_t* punStringV, int nVLen, XPVOID lParam) { - if (!StreamClient_StreamPush_PushVideo(xhStream, punStringY, nYLen, punStringU, nULen, punStringV, nVLen)) + if (!XClient_StreamPush_LiveVideo(xhStream, punStringY, nYLen, punStringU, nULen, punStringV, nVLen)) { XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("屏幕采集器,推流编码失败,需要关闭推流服务,错误码:%lX"), StreamClient_GetLastError()); } } void CALLBACK HTTPTask_TaskPost_CBAudio(uint8_t* punStringAudio, int nVLen, XPVOID lParam) { - if (!StreamClient_StreamPush_PushAudio(xhStream, punStringAudio, nVLen)) + if (!XClient_StreamPush_LiveAudio(xhStream, punStringAudio, nVLen)) { XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("音频采集器,推流编码失败,需要关闭推流服务,错误码:%lX"), StreamClient_GetLastError()); } @@ -92,22 +92,23 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,下载任务处理失败,请求下载地址:%s,下载路径:%s,错误码:%lX"), lpszClientAddr, tszSrcBuffer, tszDstBuffer, APIClient_GetLastError()); return false; } + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); while (true) { - NETHELP_FILEINFO st_TaskInfo; - memset(&st_TaskInfo, '\0', sizeof(NETHELP_FILEINFO)); + XCLIENT_APIFILE st_TaskInfo; + memset(&st_TaskInfo, '\0', sizeof(XCLIENT_APIFILE)); - if (APIClient_File_Query(xhTask, &st_TaskInfo)) + if (!APIClient_File_Query(xhTask, &st_TaskInfo)) + { + break; + } + if ((ENUM_XCLIENT_APIHELP_FILE_STATUS_INIT != st_TaskInfo.en_DownStatus) || (ENUM_XCLIENT_APIHELP_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus)) { - if ((ENUM_NETHELP_APICLIENT_FILE_STATUS_INIT != st_TaskInfo.en_DownStatus) || (ENUM_NETHELP_APICLIENT_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus)) - { - break; - } + break; } } APIClient_File_Delete(xhTask); - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:下载任务处理成功,下载地址:%s,保存地址:%s"),lpszClientAddr, tszSrcBuffer, tszDstBuffer); } break; @@ -148,21 +149,22 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s:FTP上传任务处理失败,上传的文件:%s,上传的地址:%s,错误码:%lX"), lpszClientAddr, tszSrcBuffer, tszDstBuffer, APIClient_GetLastError()); return false; } + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); while (true) { - NETHELP_FILEINFO st_TaskInfo; - memset(&st_TaskInfo, '\0', sizeof(NETHELP_FILEINFO)); + XCLIENT_APIFILE st_TaskInfo; + memset(&st_TaskInfo, '\0', sizeof(XCLIENT_APIFILE)); - if (APIClient_File_Query(xhTask, &st_TaskInfo)) + if (!APIClient_File_Query(xhTask, &st_TaskInfo)) + { + break; + } + if (ENUM_XCLIENT_APIHELP_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus) { - if (ENUM_NETHELP_APICLIENT_FILE_STATUS_DOWNLOADDING != st_TaskInfo.en_DownStatus) - { - break; - } + break; } } - HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); - XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); APIClient_File_Delete(xhTask); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s:上传文件处理成功,上传的文件:%s,上传的地址:%s"), lpszClientAddr, tszSrcBuffer, tszDstBuffer); } @@ -359,7 +361,7 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer return false; } - xhStream = StreamClient_StreamPush_Init(tszDstBuffer, &st_AVInfo); + xhStream = XClient_StreamPush_LiveInit(tszDstBuffer, &st_AVInfo); if (NULL == xhStream) { st_HDRParam.nHttpCode = 400; @@ -381,7 +383,7 @@ bool HTTPTask_TaskPost_BackService(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer { AVCollect_Video_Destory(xhScreen); AVCollect_Audio_Destory(xhSound); - StreamClient_StreamPush_Close(xhStream); + XClient_StreamPush_LiveClose(xhStream); VideoCodec_Stream_Destroy(xhVideo); AudioCodec_Stream_Destroy(xhAudio); bRecord = false; diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp index a8e2f5587ecc10f1ef00ee622899d17e07ae1821..7a31bc2859971d9cfdfe30d0ad7a85bf82a1078d 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Image.cpp @@ -139,6 +139,22 @@ bool HTTPTask_TaskPost_Image(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求设置图像亮度失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); } } + else if (5 == nOPCode) + { + if (ModuleHelp_ImageSet_Level(lpszMsgBuffer, nMsgLen, tszFileExt, ptszRVBuffer, &nRVLen, nWidth)) + { + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam, ptszRVBuffer, nRVLen); + XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求设置图像质量压缩值:%d"), lpszClientAddr, nWidth); + } + else + { + st_HDRParam.nHttpCode = 501; + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, ptszSDBuffer, &nSDLen, &st_HDRParam); + XEngine_Network_Send(lpszClientAddr, ptszSDBuffer, nSDLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求设置图像质量压缩失败,错误:%lX"), lpszClientAddr, ModuleHelp_GetLastError()); + } + } } free(ptszRVBuffer); free(ptszSDBuffer); diff --git a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Log.cpp b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Log.cpp index 657babd7a20721db2a1f1d55d94cee68bb3d42cd..17fc996ce1df0da5fb1794d8929751d2ccc4ddc5 100644 --- a/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Log.cpp +++ b/XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_Log.cpp @@ -44,6 +44,16 @@ bool HTTPTask_TastPost_LogInfo(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, in XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen); XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求日志查询成功,查询的表:%s,查询日期:%s - %s,查询条数:%d"), lpszClientAddr, st_XLogInfo.tszTableName, st_XLogInfo.tszTimeStart, st_XLogInfo.tszTimeEnd, nListCount); } + else if (3 == nType) + { + int nListCount = 0; + XCHAR** pptszList; + ModuleDatabase_XLog_Show(&pptszList, &nListCount); + ModuleProtocol_Packet_LogShow(tszRVBuffer, &nRVLen, &pptszList, nListCount); + HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); + XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求日志数据库表列举成功,查询到的个数:%d"), lpszClientAddr, nListCount); + } else { ModuleDatabase_XLog_Delete(st_XLogInfo.tszTableName); diff --git a/XEngine_Source/XEngine_UserProtocol.h b/XEngine_Source/XEngine_UserProtocol.h index d7b1e4ff218008fef01df7c9cbd30b4bf3e6179e..a1827e31e6bf5722d0163a0fb3df945536e14b2d 100644 --- a/XEngine_Source/XEngine_UserProtocol.h +++ b/XEngine_Source/XEngine_UserProtocol.h @@ -251,4 +251,16 @@ typedef struct int nItem; //单个数据长度 int nType; //数据类型,字符串形式 }XENGINE_IMGEXTATTR; +//天气 +typedef struct +{ + XCHAR tszUPTime[128]; //更新时间 + XCHAR tszProvince[32]; //省份 + XCHAR tszCity[32]; //城市 + XCHAR tszWeatherStr[32]; //天气 + XCHAR tszWinddiRection[32]; //风向 + XCHAR tszWindPowerStr[32]; //风力 + int nTemperature; //温度 + int nHumidity; //湿度 +}XENGINE_WEATHERINFO; #pragma pack(pop) \ No newline at end of file