# info **Repository Path**: ALONE_WORK/info ## Basic Information - **Project Name**: info - **Description**: AI 编写的个人信息管理系统 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-27 - **Last Updated**: 2026-03-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 个人信息管理系统 基于TCP协议的客户端-服务端个人信息管理系统。 ## 项目结构 ``` . ├── CMakeLists.txt # 根CMake配置文件 ├── third_party/ # 第三方库 │ └── nlohmann_json/ # nlohmann/json 子模块 ├── server/ # 服务端代码 │ ├── main.cpp # 主程序入口 │ ├── tcp_server.h/cpp # TCP服务器类 │ ├── client_handler.h/cpp # 客户端处理器 │ ├── user_manager.h/cpp # 用户管理类 │ ├── common.h # 公共定义 │ └── CMakeLists.txt # CMake配置文件 │ ├── client/ # 客户端代码 │ ├── src/ # 源代码 │ │ ├── main.cpp # 主程序入口 │ │ ├── tcpclient.h/cpp # TCP客户端类 │ │ ├── loginwindow.h/cpp # 登录窗口 │ │ ├── registerdialog.h/cpp # 注册对话框 │ │ ├── mainwindow.h/cpp # 主窗口 │ │ └── accountdialog.h/cpp # 账号对话框 │ ├── ui/ # UI文件 │ │ ├── loginwindow.ui │ │ ├── registerdialog.ui │ │ ├── mainwindow.ui │ │ └── accountdialog.ui │ ├── CMakeLists.txt # CMake配置文件 │ └── InfoClient.pro # Qt项目文件(可选) │ └── README.md # 说明文档 ``` ## 功能特性 ### 服务端 - 监听端口 7788 - 支持多客户端同时连接 - 用户注册和登录验证 - 个人信息存储和管理 - 其他平台账号管理 ### 客户端 - 连接服务器 - 用户注册和登录 - 个人信息管理 - 其他平台账号管理 ## 编译说明 ### 前置准备:初始化子模块 本项目使用 Git 子模块管理 nlohmann_json 库。编译前请先初始化子模块: ```bash # 方式一:克隆时自动初始化 git clone --recursive https://gitee.com/ALONE_WORK/info.git # 方式二:已克隆的项目初始化子模块 git submodule update --init --recursive # 方式三:如果网络无法访问 GitHub,使用 CMake FetchContent mkdir build && cd build cmake -DUSE_FETCHCONTENT=ON .. ``` > **注意**:如果 `git submodule` 命令失败,可以使用 `-DUSE_FETCHCONTENT=ON` 选项让 CMake 自动下载依赖。 ### 方式一:统一编译(推荐) 使用根目录的 CMakeLists.txt 同时编译服务端和客户端: ```bash # 创建构建目录 mkdir build cd build # 生成构建文件(自动检测Qt) cmake .. # 编译 cmake --build . --config Release # 可执行文件位于 build/bin/ 目录 ``` #### 编译选项 ```bash # 仅编译服务端 cmake -DBUILD_CLIENT=OFF .. # 仅编译客户端 cmake -DBUILD_SERVER=OFF .. # 同时编译(默认) cmake .. ``` ### 方式二:分别编译 #### 服务端编译 ##### Windows ```bash cd server mkdir build cd build cmake .. cmake --build . --config Release ``` ##### Linux ```bash cd server mkdir build cd build cmake .. make ``` #### 客户端编译 ##### 前置要求 - Qt 5.12 或 Qt 6.x - CMake 3.10+ ##### 使用 CMake 编译 ```bash cd client mkdir build cd build # 指定Qt路径(如果CMake找不到Qt) # Windows示例: cmake -DCMAKE_PREFIX_PATH="C:/Qt/6.5.0/msvc2019_64" .. # Linux示例: cmake -DCMAKE_PREFIX_PATH="/opt/Qt/6.5.0/gcc_64" .. # 编译 cmake --build . --config Release ``` ##### 使用 Qt Creator 1. 打开 Qt Creator 2. 文件 -> 打开文件或项目 3. 选择 `CMakeLists.txt`(根目录)或 `client/CMakeLists.txt` 4. 配置项目并编译 ##### 使用 qmake(旧方式) ```bash cd client qmake make # Linux/macOS # 或 nmake # Windows (MSVC) # 或 mingw32-make # Windows (MinGW) ``` ### 依赖说明 #### 服务端依赖 - C++17 编译器 - CMake 3.10+ - nlohmann/json(已包含在项目中,或从 https://github.com/nlohmann/json/releases 下载) #### 客户端依赖 - Qt 5.12+ 或 Qt 6.x - Qt 模块:Core, Gui, Widgets, Network - CMake 3.10+ ## 运行说明 ### 1. 启动服务端 ```bash # 从统一编译目录运行 cd build/bin ./server # Linux/macOS # 或 server.exe # Windows # 或从单独编译目录运行 cd server/build ./server # Linux/macOS # 或 server.exe # Windows ``` 服务端将在端口 7788 上监听连接。 ### 2. 启动客户端 ```bash # 从统一编译目录运行 cd build/bin ./InfoClient # Linux/macOS # 或 InfoClient.exe # Windows ``` ### 3. 使用流程 #### 连接服务器 1. 输入服务器地址(默认:127.0.0.1) 2. 输入端口号(默认:7788) 3. 点击"连接服务器"按钮 #### 用户注册 1. 点击"注册"按钮 2. 填写个人信息: - 姓名 - 身份证号 - 年龄 - 性别 - 手机号 - 邮箱 - 密码 3. 点击"注册"按钮 4. **注意:注册成功后会显示用户ID,请妥善保管,登录时需要使用** #### 用户登录 1. 输入注册时获得的用户ID 2. 输入密码 3. 点击"登录"按钮 #### 个人信息管理 1. 登录成功后进入主界面 2. 在"个人信息"标签页: - 点击"获取信息"查看当前信息 - 修改信息后点击"保存信息"更新 3. 在"其他平台账号"标签页: - 点击"添加账号"添加新账号 - 点击"刷新列表"查看所有账号 ## 数据存储 服务端数据存储在 `server/data/` 目录下: - `.json` - 用户个人信息 - `_accounts.json` - 用户的其他平台账号信息 ## 通信协议 使用 JSON 格式进行通信: ### 请求格式 ```json { "type": "register|login|save_info|get_info|save_account|get_accounts", "data": { // 具体数据 } } ``` ### 响应格式 ```json { "success": true|false, "message": "操作结果信息", "data": { // 返回数据(如果有) } } ``` ## 注意事项 1. 首次运行前请确保下载 nlohmann/json 库(已包含在项目中) 2. 服务端需要防火墙允许端口 7788 3. 客户端连接前确保服务端已启动 4. 用户ID是系统自动生成的,注册时请注意记录 ## 技术栈 - **服务端**:C++17, TCP Socket, nlohmann/json - **客户端**:Qt 5/6, QTcpSocket - **构建系统**:CMake 3.10+ ## 开发环境 - 编译器:支持 C++17 的编译器(GCC 7+, Clang 5+, MSVC 2017+) - CMake:3.10 或更高版本 - Qt:5.12+ 或 6.x ## License MIT License