---

## 🔧 隧道访问与视频播放修复 (11:00)

### 问题描述
在通过 FRP 隧道 (如 `http://8.148.x.x:3002`) 访问时发现：
1. **视频无法播放**：后端返回 404 (Not Found)。
2. **发布页账号列表为空**：后端返回 500 (Internal Server Error)。

### 解决方案

#### 1. 视频播放修复
- **后端 (`main.py`)**：这是根源问题。后端缺少 `uploads` 目录的挂载，导致静态资源无法访问。
  ```python
  app.mount("/uploads", StaticFiles(directory=str(settings.UPLOAD_DIR)), name="uploads")
  ```
- **前端 (`next.config.ts`)**：添加反向代理规则，将 `/outputs` 和 `/uploads` 转发到后端端口 8006。
  ```typescript
  {
    source: '/uploads/:path*',
    destination: 'http://localhost:8006/uploads/:path*',
  },
  {
    source: '/outputs/:path*',
    destination: 'http://localhost:8006/outputs/:path*',
  }
  ```

#### 2. 账号列表 500 错误修复
- **根源**：`backend/app/core/paths.py` 中的白名单缺少 `weixin` 和 `kuaishou`。
- **现象**：当 `PublishService` 遍历所有平台时，遇到未在白名单的平台直接抛出 `ValueError`，导致整个接口崩溃。
- **修复**：更新白名单。
  ```python
  VALID_PLATFORMS: Set[str] = {"bilibili", "douyin", "xiaohongshu", "weixin", "kuaishou"}
  ```

### 结果
- ✅ 视频预览和历史视频均可正常播放。
- ✅ 发布页账号列表恢复显示。

---

## 🚀 Nginx HTTPS 部署 (11:30)

### 需求
用户在阿里云服务器上配置了 SSL 证书，需要通过 HTTPS 访问应用。

### 解决方案
提供了 Nginx 配置文件 `nginx_vigent.conf`，配置了：
1. **HTTP -> HTTPS 重定向**。
2. **SSL 证书路径** (`/etc/letsencrypt/live/vigent.hbyrkj.top/...`)。
3. **反向代理** 到本地 FRP 端口 (3002)。
4. **WebSocket 支持** (用于 Next.js 热更和通信)。

### 结果
- ✅ 用户可通过 `https://vigent.hbyrkj.top` 安全访问。
- ✅ 代码自适应：前端 `API_BASE` 为空字符串，自动适配 HTTPS 协议，无需修改代码。

---

## 🎨 UI 细节优化 (11:45)

### 修改
- 修改 `frontend/src/app/layout.tsx` 中的 Metadata。
- 标题从 `Create Next App` 改为 `ViGent`。

### 结果
- ✅ 浏览器标签页名称已更新。

---

## 🚪 用户登录退出功能 (12:00)

### 需求
用户反馈没有退出的入口。

### 解决方案
- **UI 修改**：在首页和发布管理页面的顶部导航栏添加红色的“退出”按钮 (位于最右侧)。
- **逻辑实现**：
  ```javascript
  onClick={async () => {
    if (confirm('确定要退出登录吗？')) {
      await fetch(`${API_BASE}/api/auth/logout`, { method: 'POST' });
      window.location.href = '/login';
    }
  }}
  ```
- **部署**：已同步代码并重建前端。

---

## 🚢 Supabase 服务部署 (16:10)

### 需求
由于需要多用户隔离和更完善的权限管理，决定从纯本地文件存储迁移到 Supabase BaaS 架构。

### 实施步骤

1.  **Docker 部署 (Ubuntu)**
    - 使用官方 `docker-compose.yml`。
    - **端口冲突解决**：
        - `Moodist` 占用 4000 -> 迁移 Analytics 到 **4004**。
        - `code-server` 占用 8443 -> 迁移 Kong HTTPS 到 **8444**。
        - 自定义端口：Studio (**3003**), API (**8008**)。

2.  **安全加固 (Aliyun Nginx)**
    - **双域名策略**：
        - `supabase.hbyrkj.top` -> Studio (3003)
        - `api.hbyrkj.top` -> API (8008)
    - **SSL**：配置 Let's Encrypt 证书。
    - **访问控制**：为 Studio 域名添加 `auth_basic` (htpasswd)，防止未授权访问管理后台。
    - **WebSocket**：Nginx 配置 `Upgrade` 头支持 Realtime 功能。

3.  **数据库初始化**
    - 使用 `backend/database/schema.sql` 初始化了 `users`, `social_accounts` 等表结构。

### 下一步计划 (Storage Migration)
目前文件仍存储在本地磁盘，无法通过 RLS 进行隔离。
**计划改造 LatentSync 流程**：
1.  后端集成 Supabase Storage SDK。
2.  实现 `Download (Storage) -> Local Process (LatentSync) -> Upload (Storage)` 闭环。
3.  前端改为请求 Signed URL 进行播放。
