diff --git a/.gitignore b/.gitignore index 0b51e96..8c400dc 100644 --- a/.gitignore +++ b/.gitignore @@ -481,3 +481,6 @@ Makefile deploy/ config.json + +# build +build/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 6334e31..d8567b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,10 @@ project(GimuServer) set(CMAKE_CXX_STANDARD 17) +if (NOT DEFINED GIMUSRV_FRONTEND) + set(GIMUSRV_FRONTEND "STANDALONE") +endif() + if ("${GIMUSRV_FRONTEND}" STREQUAL "STANDALONE") set(STANDALONE TRUE) elseif ("${GIMUSRV_FRONTEND}" STREQUAL "PROXYAPPX") diff --git a/gimuserver/core/Utils.cpp b/gimuserver/core/Utils.cpp index 30b411f..6355e19 100644 --- a/gimuserver/core/Utils.cpp +++ b/gimuserver/core/Utils.cpp @@ -63,6 +63,15 @@ std::string Utils::RandomAccountID() return r; } +void GetLocalTime(struct tm& timeinfo, time_t& rawtime) +{ + #ifdef _WIN32 + localtime_s(&timeinfo, &rawtime); + #else + localtime_r(&rawtime, &timeinfo); + #endif +} + void Utils::AppendJsonReqToFile(const Json::Value& v, const std::string& group) { if (!System::Instance().LogConfig().Enable) @@ -73,7 +82,7 @@ void Utils::AppendJsonReqToFile(const Json::Value& v, const std::string& group) time_t rawtime; time(&rawtime); struct tm timeinfo; - localtime_s(&timeinfo, &rawtime); + GetLocalTime(timeinfo, rawtime); auto ct = std::ctime(&rawtime); p += std::filesystem::path::preferred_separator; @@ -101,7 +110,7 @@ void Utils::AppendJsonResToFile(const Json::Value& v, const std::string& group) time_t rawtime; time(&rawtime); struct tm timeinfo; - localtime_s(&timeinfo, &rawtime); + GetLocalTime(timeinfo, rawtime); auto ct = std::ctime(&rawtime); p += std::filesystem::path::preferred_separator; diff --git a/gimuserver/db/MigrationManager_Register.cpp b/gimuserver/db/MigrationManager_Register.cpp index 17e57c3..4131da1 100644 --- a/gimuserver/db/MigrationManager_Register.cpp +++ b/gimuserver/db/MigrationManager_Register.cpp @@ -1,7 +1,7 @@ #include "MigrationManager.hpp" #include "migrations/CreateDefaultTables.hpp" -#define ADD(x) m_migs.push_back(std::make_shared()); +#define ADD(x) m_migs.push_back(std::make_shared()); void MigrationManager::Register() { diff --git a/gimuserver/gme/GmeController_Handlers.cpp b/gimuserver/gme/GmeController_Handlers.cpp index b9acaef..2d1ee4d 100644 --- a/gimuserver/gme/GmeController_Handlers.cpp +++ b/gimuserver/gme/GmeController_Handlers.cpp @@ -10,7 +10,7 @@ #include "handlers/DeckEditHandler.hpp" #include "handlers/MissionStartHandler.hpp" -#define REGISTER(name) InitializeHandler(std::make_shared()) +#define REGISTER(name) InitializeHandler(std::make_shared()) void GmeController::InitializeHandlers() { diff --git a/gimuserver/gme/handlers/InitializeHandler.cpp b/gimuserver/gme/handlers/InitializeHandler.cpp index 6db0dd9..97d1060 100644 --- a/gimuserver/gme/handlers/InitializeHandler.cpp +++ b/gimuserver/gme/handlers/InitializeHandler.cpp @@ -36,7 +36,7 @@ void Handler::InitializeHandler::OnUserInfoSuccess(const drogon::orm::Result& re if (result.size() > 0) { int col = 0; - auto& sql = result[0]; + const auto& sql = result[0]; user.info.accountID = sql[col++].as(); user.info.handleName = sql[col++].as(); user.info.debugMode = sql[col++].as() ? 1 : 0; diff --git a/gimuserver/gme/handlers/UserInfoHandler.cpp b/gimuserver/gme/handlers/UserInfoHandler.cpp index 0281679..4f77f3a 100644 --- a/gimuserver/gme/handlers/UserInfoHandler.cpp +++ b/gimuserver/gme/handlers/UserInfoHandler.cpp @@ -36,7 +36,7 @@ void Handler::UserInfoHandler::Handle(UserInfo& user, DrogonCallback cb, const J if (result.size() > 0) { int col = 0; - auto& sql = result[0]; + const auto& sql = result[0]; user.teamInfo.UserID = user.info.userID; user.teamInfo.Level = sql[col++].as(); user.teamInfo.Exp = sql[col++].as();