# ShowenV2 客户端应用 本目录包含 ShowenV2 的外部控制应用,用户可以通过这些客户端远程控制 ShowenV2 设备。 ## 客户端类型 ### 1. 移动端应用 - **iOS App** - `ios/` - 原生 iOS 应用(Swift/SwiftUI) - **Android App** - `android/` - 原生 Android 应用(Kotlin/Jetpack Compose) - **Flutter App** - `flutter/` - 跨平台移动应用(iOS + Android) ### 2. 小程序 - **微信小程序** - `wechat-miniapp/` - 微信生态 - **支付宝小程序** - `alipay-miniapp/` - 支付宝生态 - **抖音小程序** - `douyin-miniapp/` - 抖音生态 ### 3. Web 应用 - **Web App** - `web/` - 响应式 Web 应用(React/Vue) - **桌面应用** - `desktop/` - Electron 桌面应用(Windows/macOS/Linux) ### 4. 智能设备 - **智能手表** - `watch/` - Apple Watch / Wear OS - **智能音箱** - `voice/` - 语音控制集成 - **智能家居** - `smarthome/` - HomeKit / 米家 / 小度 ### 5. 开发者工具 - **CLI 工具** - `cli/` - 命令行控制工具 - **SDK** - `sdk/` - 各语言 SDK(Python、JavaScript、Go、Rust) - **插件开发工具** - `plugin-dev/` - 插件开发和调试工具 **扩展性说明**: - 客户端类型可以无限扩展 - 任何能发送 HTTP/WebSocket/BLE 请求的设备都可以作为客户端 - 支持第三方开发者贡献新的客户端类型 ## 通信协议 所有客户端通过以下方式与 ShowenV2 设备通信: ### HTTP API - **地址**: `http://:8080/api/` - **协议**: RESTful API - **格式**: JSON - **认证**: Token / API Key ### WebSocket - **地址**: `ws://:8080/ws` - **用途**: 实时状态推送 - **格式**: JSON ### BLE (蓝牙) - **协议**: GATT - **用途**: 近场控制、配网 - **服务**: 自定义 GATT Service ## 核心功能 ### 设备管理 - 设备发现和配对 - WiFi 配置 - 设备状态监控 ### 播放控制 - 播放/暂停/停止 - 上一个/下一个 - 跳转到指定视频 - 音量控制 ### 状态机控制 - 触发状态切换 - 场景切换 - 查看当前状态 ### 配置管理 - 查看配置 - 修改配置 - 导入/导出配置 ### 内容管理 - 浏览视频列表 - 上传新视频 - 删除视频 - 视频预览 ## 开发计划 ### Phase 1(当前) - [ ] Web App - 基础控制界面 - [ ] HTTP API 文档 ### Phase 2(3个月) - [ ] Flutter App - 跨平台移动应用 - [ ] 微信小程序 - 快速访问 - [ ] WebSocket 实时推送 ### Phase 3(6个月) - [ ] iOS 原生 App - [ ] Android 原生 App - [ ] 智能音箱集成 ### Phase 4(12个月) - [ ] 智能手表应用 - [ ] 智能家居集成 - [ ] 桌面应用 ## 技术栈 ### 移动端 - **iOS**: Swift 5.9+, SwiftUI, Combine - **Android**: Kotlin 1.9+, Jetpack Compose, Coroutines - **Flutter**: Flutter 3.x, Dart 3.x ### Web 端 - **前端**: React 18+ / Vue 3+, TypeScript - **状态管理**: Redux / Pinia - **UI 框架**: Ant Design / Element Plus - **构建工具**: Vite / Webpack ### 小程序 - **微信**: 原生小程序框架 / uni-app - **支付宝**: 原生小程序框架 - **抖音**: 原生小程序框架 ### 桌面端 - **Electron**: Electron 28+, React/Vue - **Tauri**: Tauri 1.x, Rust + Web ## 目录结构 ``` clients/ ├── README.md # 本文件 ├── shared/ # 共享代码 │ ├── api/ # API 客户端库 │ ├── models/ # 数据模型 │ └── utils/ # 工具函数 ├── web/ # Web 应用 │ ├── package.json │ ├── src/ │ └── public/ ├── flutter/ # Flutter 应用 │ ├── pubspec.yaml │ ├── lib/ │ └── assets/ ├── ios/ # iOS 应用 │ ├── ShowenV2.xcodeproj │ └── ShowenV2/ ├── android/ # Android 应用 │ ├── build.gradle │ └── app/ ├── wechat-miniapp/ # 微信小程序 │ ├── app.json │ └── pages/ ├── desktop/ # 桌面应用 │ ├── package.json │ └── src/ └── docs/ # 客户端开发文档 ├── API.md # API 文档 ├── DESIGN.md # 设计规范 └── DEVELOPMENT.md # 开发指南 ``` ## 快速开始 ### Web App ```bash cd clients/web npm install npm run dev ``` ### Flutter App ```bash cd clients/flutter flutter pub get flutter run ``` ### 微信小程序 ```bash cd clients/wechat-miniapp # 使用微信开发者工具打开 ``` ## API 文档 详见 `docs/API.md` ## 设计规范 详见 `docs/DESIGN.md` ## 贡献指南 欢迎贡献新的客户端实现!请参考 `docs/DEVELOPMENT.md` --- **文档版本**: v1.0 **最后更新**: 2026-03-12 **负责人**: 赵雨薇 (前端 & 屏幕工程师)