This commit is contained in:
Kevin Wong
2026-02-08 10:46:08 +08:00
parent 1e52346eb4
commit 1a291a03b8
49 changed files with 1032 additions and 736 deletions

View File

@@ -15,7 +15,7 @@ frontend/src/
│ └── ...
├── lib/ # 公共工具函数
│ ├── axios.ts # Axios 实例(含 401/403 拦截器)
│ ├── auth.ts # 认证相关函数
│ ├── auth.ts # 认证相关函数(统一使用 axios
│ └── media.ts # API Base / URL / 日期等通用工具
└── proxy.ts # 路由代理(原 middleware
```
@@ -256,6 +256,7 @@ import { formatDate } from '@/shared/lib/media';
- **恢复先于保存**:恢复完成前禁止写入(`isRestored` 保护)。
- 避免默认值覆盖用户选择(优先读取已保存值)。
- 优先使用 `useHomePersistence` 集中管理恢复/保存,页面内避免分散的 localStorage 读写。
- **禁止使用签名 URL 作为持久化标识**Supabase Storage 签名 URL 每次请求都变化,必须使用后端返回的稳定 `id` 字段。
- 如需新增持久化字段,必须加入恢复与保存逻辑,并更新本节。
---
@@ -273,7 +274,8 @@ import { formatDate } from '@/shared/lib/media';
## 发布页交互规则
- 发布按钮在未选择任何平台时禁用
- 仅保留立即发布,不再提供定时发布 UI/参数
- 仅保留"立即发布",不再提供定时发布 UI/参数
- **作品选择持久化**:使用 `video.id`(稳定标识)而非 `video.path`(签名 URL进行选择、比较和 localStorage 存储。发布时根据 `id` 查找对应 `path` 发送请求。
---