Files
ShowenV2/clients
showen d30c111c71 feat: M1.1 完成 + M1.2 启动 — 全量更新
M1.1 收尾:
- 24项 P0/P1/P2 bug 修复 (Rust 107 tests + Flutter 15 tests)
- Flutter App v0.3: cupertino_icons 修复, 单元测试, 调试面板, APK 52.6MB
- 示例插件完善: manifest.json + 请求/响应示范 + 7个测试
- API 文档重写 (以 routes.rs 为唯一权威)
- MILESTONES.md 更新至 100%

M1.2 启动:
- P0: 插件管理 API 闭环 (handle_manager_message Custom 分支 + broadcast_plugin_states)
- ServiceManager 集成测试 8/8 (tests/m1_2_service_manager.rs)
- M1.2 测试计划 (docs/M1.2_TEST_PLAN.md, 18个E2E场景)
- 动态插件系统: auto_rollback + version_manager GC + 路径穿越防护

总计: Rust 115/115 测试, Flutter 15/15 测试, 零 warning

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 18:12:42 +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
负责人: 赵雨薇 (前端 & 屏幕工程师)