From a52e2b92a48ae1cdd79c1bf3e97f972d87f68be5 Mon Sep 17 00:00:00 2001 From: cc Date: Mon, 29 Jun 2026 20:45:45 +0800 Subject: [PATCH] docs: stage special-folder video media notes --- docs/photo-wall.md | 7 +++++++ docs/superpowers/plans/2026-06-18-deploy.md | 18 ++++++++++++++++++ .../specs/2026-06-24-special-folders-design.md | 6 ++++++ 3 files changed, 31 insertions(+) diff --git a/docs/photo-wall.md b/docs/photo-wall.md index bad7ca8..a76a65e 100644 --- a/docs/photo-wall.md +++ b/docs/photo-wall.md @@ -72,6 +72,9 @@ - **背景**:软木板 / 黑板 / 白墙 / 牛皮纸,工具栏循环切换。 - **上传**:按钮选择 / 拖入画布 / 剪贴板粘贴(`FileReader` 读 Base64 → 传服务器); 满 10 张前端拦下、服务器 409 兜底。 +- **特殊文件夹视频(规划)**:特殊文件夹(`#<文件夹名>`)将支持上传图片或视频;视频上传后先显示 + 「AI 正在压缩视频...」占位卡,服务器用 `ffmpeg` 压缩成 3M 带宽友好的 MP4 后自动变为 + 播放器。个人 `#photo` 暂不开放视频上传。不提供视频下载按钮。 - **历史**:撤销/重做 Ctrl+Z / Ctrl+Y,最多 30 步。 - **持久化**:图片存服务器;**排版/装饰**操作后防抖 1s 自动写 `localStorage`,key `photo-wall-state`(`{ bgIndex, decorations, photoLayout }`,`photoLayout` 按服务器 @@ -94,3 +97,7 @@ (重编 Rust → 传二进制 → `restart_rust.sh` 重启),非 frontend-only。需在服务器 `weather.env` 配 `JWT_SECRET`;首次上传自动建 `photo-wall/<用户>/`。**因 token 格式 从旧的时间戳哈希变为 JWT,上线后用户需重新登录一次。** + +特殊文件夹视频媒体见 +[specs/2026-06-29-special-folder-video-media-design.md](superpowers/specs/2026-06-29-special-folder-video-media-design.md); +实现后依赖服务器安装 `ffmpeg`,后端改动需全量重部署。 diff --git a/docs/superpowers/plans/2026-06-18-deploy.md b/docs/superpowers/plans/2026-06-18-deploy.md index 79c2cbf..e40b41f 100644 --- a/docs/superpowers/plans/2026-06-18-deploy.md +++ b/docs/superpowers/plans/2026-06-18-deploy.md @@ -260,6 +260,24 @@ frontend-only):重编 Rust → 传二进制 → `restart_rust.sh` 重启。 - `PHOTO_DIR`(可选,默认 `photo-wall`,即 `/opt/internet-project/photo-wall/`)—— 图片按用户存到其下子目录,首次上传自动创建。 +**特殊文件夹视频媒体(规划,后端改动 + ffmpeg 运行时依赖):** +特殊文件夹支持视频上传后,服务器需要安装 `ffmpeg` 并确保 Rust 服务进程能在 `PATH` 中调用。 +这次改动会新增 `/api/web/folder/{name}/media*` 接口和 multipart 上传,需**全量重部署**: +重编 Rust → 传二进制和前端 `dist/*` → `restart_rust.sh` 重启。 + +服务器安装检查: +```bash +ssh root@8.130.143.54 "ffmpeg -version | head -1" +``` + +如未安装,按服务器系统包管理器安装,例如 Debian/Ubuntu: +```bash +ssh root@8.130.143.54 "apt-get update && apt-get install -y ffmpeg" +``` + +转码目标固定为 720p 档、24fps、视频约 900kbps、音频 96kbps、MP4 faststart, +用于适配 3M 带宽播放。不提供视频下载入口。 + **写博客(2026-06-27,后端改动):** 个人博客(登录后默认页,`#post/` 文章路由,详见 [blog.md](../../blog.md))引入了后端 改动(新增 `posts.rs` + 5 个 `/api/web/posts*` 接口、CORS 放行 PUT),需**全量重部署** diff --git a/docs/superpowers/specs/2026-06-24-special-folders-design.md b/docs/superpowers/specs/2026-06-24-special-folders-design.md index d4c6b8d..93aab0a 100644 --- a/docs/superpowers/specs/2026-06-24-special-folders-design.md +++ b/docs/superpowers/specs/2026-06-24-special-folders-design.md @@ -151,3 +151,9 @@ trip2026 cc,carol - 注册表文件解析的容错(坏行跳过、重复文件夹名取首条还是报错)。 - `totalBytes` 统计的性能(目录文件数大时遍历开销)——当前规模可接受,必要时缓存。 - 管理员常量的位置与日后可配置化的留口。 + +## 10. 后续扩展:视频媒体 + +特殊文件夹的视频上传、异步转码、媒体接口和 `mediaLayout` 兼容策略由 +[2026-06-29-special-folder-video-media-design.md](2026-06-29-special-folder-video-media-design.md) +接续设计。个人 `#photo` 不在该扩展范围内。