# mobile_sync_client **Repository Path**: nemo2023/mobile_sync_client ## Basic Information - **Project Name**: mobile_sync_client - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-28 - **Last Updated**: 2025-11-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 无线文件同步工具 - 手机客户端 (Mobile Sync Client) 这是一个使用 Flutter 构建的跨平台移动应用程序,旨在与 `pc_sync_server` 配套使用,实现将手机文件通过本地 Wi-Fi 网络无线同步到PC的功能。 ## ✨ 功能列表 - **自动发现**: 在局域网内通过网络服务发现(NSD)自动扫描并连接到正在运行的PC服务端。 - **文件选择**: 支持从手机存储中选择一个或多个任意类型的文件。 - **列表管理**: 在上传前可以查看已选择的文件列表,并可以单独移除不需要同步的文件。 - **状态显示**: 实时显示与PC服务端的连接状态(扫描中... / 已连接 / 发现失败)。 - **同步上传**: - 将选中的文件通过 `HTTP POST` 请求上传到PC服务器。 - 上传过程中,“同步”按钮会显示加载动画并被禁用,防止重复操作。 - 上传结束后,会弹出提示信息,告知用户同步结果。 - 同步完成后自动清空文件列表,方便下一次使用。 ## 🛠️ 技术栈 - **核心框架**: [Flutter](https://flutter.dev/) - **关键依赖库**: - `nsd`: 用于实现网络服务发现,自动找到PC服务端。 - `file_picker`: 用于调用系统原生界面来选择文件。 - `http`: 用于执行网络请求,将文件以 `multipart/form-data` 格式上传。 ## 📂 项目结构 ``` mobile_sync_client/ ├── lib/ │ └── main.dart # App 的所有UI和逻辑代码 ├── pubspec.yaml # 项目依赖和配置信息 └── README.md # 你正在阅读的这个文件 ``` - 所有核心的应用逻辑都包含在 `lib/main.dart` 文件中。 ## 🚀 如何运行 ### **前提条件** 1. 确保您的电脑上已经安装并配置好了 [Flutter SDK](https://flutter.cn/docs/get-started/install)。 2. 确保 `pc_sync_server` 服务端程序正在您的电脑上运行,并且手机和电脑连接在**同一个Wi-Fi网络**下。 ### **运行步骤** 1. **进入项目目录** ```bash cd mobile_sync_client ``` 2. **获取项目依赖** ```bash flutter pub get ``` 3. **运行应用** 确保您已连接一个Android/iOS物理设备,或已经启动了一个模拟器/仿真器。 ```bash flutter run ``` ## 📋 使用流程 1. 在PC上运行 `pc_sync_server` 程序。 2. 在手机上启动本应用。 3. 等待应用界面顶部的状态从“扫描中...”变为绿色的“已连接”。 4. 点击底部的 **选择文件** 按钮,从您的手机中挑选一个或多个文件。 5. 点击底部的 **开始同步** 按钮。 6. 等待同步完成的提示弹出。 7. 前往PC端的 `uploads` 文件夹,即可看到刚刚同步成功的文件。