Files
ShowenV2/clients
showen bff9ec535d feat: Flutter 客户端 App + Web UI APK 下载入口
- 新增 Flutter 跨平台客户端项目 (clients/flutter/)
  - 29 个 Dart 文件: 服务层/状态管理/5个页面/BLE配网
  - BLE 蓝牙配网: 扫描设备、写入WiFi凭据、配网状态监听
  - HTTP API 客户端: 覆盖全部端点 (播放/场景/WiFi/视频/配置/文件/插件)
  - WebSocket 实时通信: 事件流 + 自动重连
  - 暗色主题 Material 3 UI, 中文界面
  - Android 配置: minSdkVersion 21, BLE/网络权限
  - PRD 产品需求文档 + 开发任务看板
- Web UI 添加 APK 下载入口 (routes.rs)
  - 下载弹窗 + 二维码 + /download/{filename} 静态文件路由
- BLE 插件增加自动重连循环 (ble/mod.rs)
- BLE 默认设备名修正为 'Showen' (config.rs)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 02:09:52 +08:00
..

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
负责人: 赵雨薇 (前端 & 屏幕工程师)