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

4.8 KiB
Raw Blame History

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

cd clients/web
npm install
npm run dev

Flutter App

cd clients/flutter
flutter pub get
flutter run

微信小程序

cd clients/wechat-miniapp
# 使用微信开发者工具打开

API 文档

详见 docs/API.md

设计规范

详见 docs/DESIGN.md

贡献指南

欢迎贡献新的客户端实现!请参考 docs/DEVELOPMENT.md


文档版本: v1.0
最后更新: 2026-03-12
负责人: 赵雨薇 (前端 & 屏幕工程师)