Files
ShowenV2/clients/README.md
showen b6e05e743f feat: 插件动态注册和多架构扩展设计
更新 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)
- 客户端类型可无限扩展
- 支持第三方开发者贡献
2026-03-12 06:47:57 +08:00

202 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/` - 各语言 SDKPython、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 23个月
- [ ] Flutter App - 跨平台移动应用
- [ ] 微信小程序 - 快速访问
- [ ] WebSocket 实时推送
### Phase 36个月
- [ ] iOS 原生 App
- [ ] Android 原生 App
- [ ] 智能音箱集成
### Phase 412个月
- [ ] 智能手表应用
- [ ] 智能家居集成
- [ ] 桌面应用
## 技术栈
### 移动端
- **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
**负责人**: 赵雨薇 (前端 & 屏幕工程师)