# 📺 IPTV 跨平台应用

基于 Web 技术的跨平台 IPTV 播放器，一套代码支持 Windows、Mac、Android、Android TV、Web。

## 项目结构

```
iptv-app/
├── ui/                 # 🌐 Web 核心代码 (Vue 3)
│   ├── src/
│   │   ├── components/ # 播放器组件
│   │   ├── utils/      # M3U 解析等工具
│   │   └── App.vue     # 主应用
│   ├── public/         # 静态资源
│   └── dist-web/       # 📦 Web 构建输出（各平台共用）
├── web/                # 网页端，nodejs中间层+docker封装
├── desktop/            # 🖥️ Tauri 桌面端 (Win/Mac)
├── android/            # 📱 Android WebView 壳
├── android-tv/         # 📺 Android TV WebView 壳
└── web/                # 🐳 Docker Web 服务端
```

## 技术栈

| 平台 | 技术 | 说明 |
|------|------|------|
| UI 核心 | Vue 3 + Vite + hls.js | 一套代码，所有平台共用 |
| Web | Nodejs | 中间层代理，解决跨域问题 |
| Desktop | Tauri (Rust) | 轻量 (~5MB)，高性能 |
| Android | WebView + ExoPlayer | 手机/平板 Web 壳 |
| Android TV | WebView + Leanback | TV 专用，支持遥控器导航 |
| Web | Node.js + Docker | 网页端 + 代理服务 |

## 快速开始

### Docker Web（推荐）

```bash
# 1. 构建 Web UI
cd ui && npm run build

# 2. 启动 Docker 服务
cd ../web
docker-compose up -d

# 访问 http://localhost:3000
```

### Android 构建

```bash
# 1. 构建 Web UI
cd ui
npm install
npm run build

# 2. 构建 Android APK
cd ../android
./build.sh
```

APK 输出位置: `android/app/build/outputs/apk/debug/app-debug.apk`

### Android TV 构建

```bash
cd android-tv
./build.sh
```

---