Client/ÓÚÎÄÁú/log/ÈÕÖ¾-ÓÚÎÄÁú-250625.docBinary files differ
Client/¿Ü°ÙÊ¢/log/ÈÕÖ¾_¿Ü°ÙÊ¢_0624.docBinary files differ
Client/¿Ü°ÙÊ¢/log/ÈÕÖ¾_¿Ü°ÙÊ¢_0625.docBinary files differ
Client/ʦºÆ/log/ÈÕÖ¾_ʦºÆ_250625.docBinary files differ
Client/ʦºÆ/log/ÈÕÖ¾_ʦºÆ_250626.docBinary files differ
Client/ÐìÂûÔÆ/log/ÈÕÖ¾_ÐìÂûÔÆ_0625.docBinary files differ
Client/ÐìÂûÔÆ/log/ÈÕÖ¾_ÐìÂûÔÆ_0626.docBinary files differ
Client/Å£Ñå½/log/ÈÕÖ¾_Å£Ñå½_250624.docBinary files differ
Client/Å£Ñå½/log/ÈÕÖ¾_Å£Ñå½_250625.docBinary files differ
Client/Íõ¹ú׳/log/ÈÕÖ¾_Íõ¹ú׳_0623.docBinary files differ
Client/Íõ¹ú׳/log/ÈÕÖ¾_Íõ¹ú׳_0624.docBinary files differ
Client/Íõ¹ú׳/log/ÈÕÖ¾_Íõ¹ú׳_0625.docBinary files differ
Client/Êæº£ÁÖ/log/ÈÕÖ¾_Êæº£ÁÖ_0625.docBinary files differ
Client/³ÂºÀ/log/ÈÕÖ¾_³ÂºÀ_250624.docBinary files differ
Client/³ÂºÀ/log/ÈÕÖ¾_³ÂºÀ_250625.docBinary files differ
Client/κǿ/log/ÈÕÖ¾_κǿ_0625.docBinary files differ
Server/common_type.h
New file @@ -0,0 +1,72 @@ #ifndef TCPDATATYPE_H #define TCPDATATYPE_H /* */ enum class ActionType { HeartCheck = 100, Login = 110, Register = 120, Msg = 200, Download = 300 }; /* ο HTTP Ó¦ */ enum class ResponseCode { ResponseOK = 200, // ɹ BadRequest = 400, // Í» 󣬷 Þ· Unauthorized = 401, // Òª û Ö¤ Forbidden = 403, // Í» ˵ 󣬵 Ǿܾ Ö´ д NotFound = 404, // Þ· Òµ Ô´ MethodNotAllowed = 405 // Í» еķ Ö¹ }; /* Ï¢ */ struct Head { ActionType type; int len; int version; Head(ActionType ptype, int plen, int pversion) { len = plen; type = ptype; version = pversion; } }; struct HeartCheckReq // { ActionType type; int len; HeartCheckReq() { type = ActionType::HeartCheck; len = sizeof(HeartCheckReq); } }; struct HeartCheckRes // Ó¦ { ActionType type; int len; HeartCheckRes() { type = ActionType::HeartCheck; len = sizeof(HeartCheckRes); } }; struct RegisterRequest { Head head; char name[64]; char password[64]; char email[32]; char phone[32]; }; struct LoginRequest { Head head; char name[64]; char password[64]; }; #endif Server/Áõ±ó/log/ÈÕÖ¾_Áõ±ó_20250624.docBinary files differ
Server/Áõ±ó/log/ÈÕÖ¾_Áõ±ó_20250625.docBinary files differ
Server/ÐìÒÝ·²/log/ÈÕÖ¾_ÐìÒÝ·²_250624.docBinary files differ
Server/ÐìÒÝ·²/log/ÈÕÖ¾_ÐìÒÝ·²_250625.docBinary files differ
Server/ÁÖÓà½Ü/log/ÈÕÖ¾_ÁÖÓà½Ü_20250624.docBinary files differ
Server/ÁÖÓà½Ü/log/ÈÕÖ¾_ÁÖÓà½Ü_20250625.docBinary files differ
Server/Áº²©/log/~$_Áº²©_0624.docBinary files differ
Server/Áº²©/log/~WRL0005.tmpBinary files differ
Server/Áº²©/log/ÈÕÖ¾_Áº²©_0624.docBinary files differ
Server/Áº²©/log/ÈÕÖ¾_Áº²©_0625.docBinary files differ
Server/¶ÎÑÓ³å/log/ÈÕÖ¾_¶ÎÑÓ³å_0623.docBinary files differ
Server/¶ÎÑÓ³å/log/ÈÕÖ¾_¶ÎÑÓ³å_0624 .docBinary files differ
Server/¶ÎÑÓ³å/log/ÈÕÖ¾_¶ÎÑÓ³å_0625.docBinary files differ
Server/ÍôÎÀ¾ü/code/ImageStorage.cpp
New file @@ -0,0 +1,54 @@ // ImageStorage.cpp - ç §çå卿¨¡åå®ç° #include "stdafx.h" #include "ImageStorage.h" #include <fstream> #include <opencv2/opencv.hpp> ImageStorage::ImageStorage() {} ImageStorage::~ImageStorage() {} bool ImageStorage::SaveImage(const std::string& filePath, const unsigned char* imageData, int width, int height) { try { // å建OpenCVå¾å cv::Mat image(height, width, CV_8UC3, const_cast<unsigned char*>(imageData)); // ä¿åå¾å return cv::imwrite(filePath, image); } catch (const std::exception& e) { std::cerr << "ä¿åå¾å失败: " << e.what() << std::endl; return false; } } bool ImageStorage::LoadImage(const std::string& filePath, unsigned char*& imageData, int& width, int& height) const { try { // å è½½å¾å cv::Mat image = cv::imread(filePath, cv::IMREAD_COLOR); if (image.empty()) { return false; } // åé å åå¹¶å¤å¶æ°æ® width = image.cols; height = image.rows; size_t dataSize = width * height * 3; imageData = new unsigned char[dataSize]; memcpy(imageData, image.data, dataSize); return true; } catch (const std::exception& e) { std::cerr << "å è½½å¾å失败: " << e.what() << std::endl; return false; } } bool ImageStorage::DeleteImage(const std::string& filePath) { return (remove(filePath.c_str()) == 0); } Server/ÍôÎÀ¾ü/code/ImageStorage.h
New file @@ -0,0 +1,17 @@ // ImageStorage.h - ç §çå卿¨¡å #pragma once #include <string> #include <vector> #include "FaceImageManager.h" class ImageStorage { public: ImageStorage(); ~ImageStorage(); bool SaveImage(const std::string& filePath, const unsigned char* imageData, int width, int height); bool LoadImage(const std::string& filePath, unsigned char*& imageData, int& width, int& height) const; bool DeleteImage(const std::string& filePath); }; Server/ÍôÎÀ¾ü/code/ÐèÇó·ÖÎöÎĵµ.docBinary files differ
Server/ÍôÎÀ¾ü/log/1.2.docBinary files differ
Server/ÍôÎÀ¾ü/log/ÈÕÖ¾_ÍôÎÀ¾ü_0625.docBinary files differ
Server/ÍõÅôÕÜ/log/ÈÕÖ¾_ÍõÅôÕÜ_20250625.docBinary files differ
Server/ºúÖØÑô/log/Êý¾ÝÄ£ÐÍÔ¤´¦ÀíÈÕÖ¾_ºúÖØÑô_20250624.docBinary files differ
Server/ºúÖØÑô/log/Êý¾ÝÄ£ÐÍÔ¤´¦ÀíÈÕÖ¾_ºúÖØÑô_20250625.docBinary files differ
ÖÇÄÜÍøÁª_25-0305_617_v1
New file @@ -1 +1 @@ Subproject commit 0000000000000000000000000000000000000000 Subproject commit 89d19ad386e768e8e54b6aa4b1d42f4617ceed03