feat: 新增 macOS 原生 SwiftUI 客户端
CI / lint-and-build (push) Has been cancelled

- Swift 6 + SwiftUI + SwiftData 直接调用阿里云 VOD API

- 自实现 POP 签名,无需 Node 后端

- 视频列表、搜索、批量下载到用户选择目录

- 下载文件自动使用视频标题重命名

- 浏览器下载与下载工具(aria2/wget)两种方式

- Web 版标记为废弃,README/AGENTS/MEMORY 更新
This commit is contained in:
2026-06-30 08:38:43 +06:00
parent 50e5a4182a
commit e8c3e4644e
21 changed files with 1557 additions and 176 deletions
+57
View File
@@ -0,0 +1,57 @@
# 火炬 VOD 管理器 - macOS 原生版
基于 SwiftUI + Swift Package Manager 的阿里云 VOD 桌面管理客户端。
## 特性
- 原生 macOS SwiftUI 界面
- 直接调用阿里云 VOD OpenAPI,无需 Node 后端
- 多账号管理、切换
- 视频列表、搜索、详情
- 批量下载到用户指定目录
- 自定义下载文件名(自动清理非法字符)
- 下载任务历史
- 操作日志
## 技术栈
- Swift 6 + SwiftUI
- GRDBSQLite
- CryptoKit(阿里云 POP 签名)
- URLSession(网络请求与下载)
## 开发要求
- macOS 14+
- Xcode 15+
- Swift 5.9+
## 本地运行
```bash
cd apps/macos/VODManager
swift build
swift run
```
或在 Xcode 中打开 `Package.swift`
## App Store 上架准备
1. 在 Xcode 中创建正式的 macOS App 工程(或打开 Swift Package)。
2. 配置 Signing & Capabilities
- App Sandbox 开启
- 启用 entitlements 文件 `VODManager.entitlements`
- Team 与 Bundle Identifier
3. 提交 Mac App Store 审核。
### Entitlements 说明
- `com.apple.security.app-sandbox`:沙盒必须开启
- `com.apple.security.network.client`:访问阿里云 API
- `com.apple.security.files.user-selected.read-write`:用户选择下载目录
- `com.apple.security.files.downloads.read-write`:写入 Downloads 目录
## 与 Web 版的关系
Web 版(`apps/web` + `apps/server`)已废弃,不再维护。所有新功能在 macOS 原生版中实现。