更新 PLUGIN_DEPENDENCY.md: - 支持多架构并存(WiFi、BLE、Zigbee、LoRa、NFC 等) - 新增动态扩展原则: - 插件动态注册和卸载 - 插件动态安装(从插件市场) - 热插拔(不重启系统) - 版本管理和更新 - 依赖检查 插件动态管理: - 插件生命周期(下载→安装→注册→运行→卸载) - 动态注册 API 设计 - 插件安装/卸载/更新流程 - 插件市场功能设计 - 安全机制(签名验证、沙箱隔离) 通讯插件扩展性: - 有线通讯:以太网、USB、串口、CAN 总线 - 无线通讯:WiFi、BLE、Zigbee、LoRa、NFC、红外 - 网络协议:HTTP、WebSocket、MQTT、CoAP、gRPC - 所有通讯方式都可以作为独立插件 更新 clients/: - 新增开发者工具目录(cli、sdk、plugin-dev) - 客户端类型可无限扩展 - 支持第三方开发者贡献
202 lines
4.8 KiB
Markdown
202 lines
4.8 KiB
Markdown
# 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://<device-ip>:8080/api/`
|
||
- **协议**: RESTful API
|
||
- **格式**: JSON
|
||
- **认证**: Token / API Key
|
||
|
||
### WebSocket
|
||
- **地址**: `ws://<device-ip>: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
|
||
**负责人**: 赵雨薇 (前端 & 屏幕工程师)
|