2026-05-19-23-23-50 回滚简历PDF下载文件名

This commit is contained in:
2026-05-19 23:28:17 +08:00
parent d77954ba94
commit a3569a52e7
5 changed files with 155 additions and 4 deletions

View File

@@ -0,0 +1,44 @@
# 实现方案-2026-05-19-23-23-50
## 实现方案文档路径
`工程分析/实现方案-2026-05-19-23-23-50.md`
## 修改目标
回滚上一条错误指令,将 PDF 下载文件名恢复为 `ZhiboWang-Resume.pdf`
## 涉及路径
- `scripts/patch-reactive-resume-filename.sh`
- `工程分析/需求分析-2026-05-19-23-23-50.md`
- `工程分析/实现方案-2026-05-19-23-23-50.md`
- `工程分析/测试方案-2026-05-19-23-23-50.md`
- `工程分析/经验记录.md`
## 技术路线
1. 将脚本中的 `PDF_FILENAME` 恢复为 `ZhiboWang-Resume.pdf`
2. 将 Node 补丁逻辑中的 `pdfFilename` 恢复为 `ZhiboWang-Resume.pdf`
3.`CACHE_BUST``cacheBust` 恢复为 `rr-filename-20260519`
4. 执行 `sh -n` 做脚本语法检查。
5. 重新执行补丁脚本,更新运行中容器并等待 healthy。
6. 验证 HTTP 静态资源中包含旧文件名且不再包含中文文件名。
7. 创建回滚 commit并尝试推送 Gitea。
## 兼容性与回滚方案
- 本次不改数据库、简历 JSON、Compose 或上传文件。
- 如用户后续给出新的正确文件名,可再次改脚本变量并执行补丁脚本。
- 当前选择新增回滚提交,保留历史可追溯性。
## 预计文件变更
- 更新:`scripts/patch-reactive-resume-filename.sh`
- 新增:本次 `需求分析``实现方案``测试方案`
- 更新:`工程分析/经验记录.md`
## 提交与部署策略
- commit message 使用:`2026-05-19-23-23-50 回滚简历PDF下载文件名`
- 部署通过执行 `scripts/patch-reactive-resume-filename.sh reactive-resume-reactive-resume-1` 完成。

View File

@@ -0,0 +1,48 @@
# 测试方案-2026-05-19-23-23-50
## 测试方案文档路径
`工程分析/测试方案-2026-05-19-23-23-50.md`
## 静态检查
- 执行 `sh -n scripts/patch-reactive-resume-filename.sh`
- 搜索脚本确认包含 `ZhiboWang-Resume.pdf`
## 部署验证
- 执行 `./scripts/patch-reactive-resume-filename.sh reactive-resume-reactive-resume-1`
- 确认容器 `reactive-resume-reactive-resume-1``healthy`
## 业务验证
- 验证容器内 public JS 与 SSR 文件包含 `ZhiboWang-Resume.pdf`
- 验证 HTTP 静态资源 `/assets/file-D5WsIgJH.js` 包含 `ZhiboWang-Resume.pdf`
- 验证 HTTP 静态资源不再包含 `王志博-医工智能外科简历.pdf``王志博-医工智能外科-简历.pdf`
- 验证 `http://127.0.0.1:3003/api/health` 返回 healthy。
- 验证 `http://127.0.0.1:3003/audience/resume` 返回 200。
## Git/Gitea 备份验证
- 创建本地回滚 commit。
- 尝试 `git push origin main`
- 若 HTTP 凭据不可用,记录失败原因。
## 风险与回归关注点
- 浏览器缓存可能短暂保留旧中文 cache bust脚本恢复 `rr-filename-20260519` 后应重新更新 importer 与 manifest。
## 实际执行结果
- `sh -n scripts/patch-reactive-resume-filename.sh`:通过。
- 脚本搜索:`PDF_FILENAME``pdfFilename` 均恢复为 `ZhiboWang-Resume.pdf``CACHE_BUST``cacheBust` 均恢复为 `rr-filename-20260519`
- `./scripts/patch-reactive-resume-filename.sh reactive-resume-reactive-resume-1`:通过。
- 容器状态:`reactive-resume-reactive-resume-1``healthy`
- 容器内验证public JS 与 SSR 文件均包含 `ZhiboWang-Resume.pdf`
- 容器内中文残留验证public JS 与 SSR 文件未检出 `王志博-医工智能外科`
- HTTP 静态资源验证:`/assets/file-D5WsIgJH.js` 返回内容包含 `ZhiboWang-Resume.pdf`
- Cache bust 验证:业务页面 import 已恢复为 `file-D5WsIgJH.js?v=rr-filename-20260519`
- 服务健康验证:`curl http://127.0.0.1:3003/api/health` 返回 `status: healthy`
- 公开简历页验证:`curl -I http://127.0.0.1:3003/audience/resume` 返回 `HTTP/1.1 200 OK`
- Git 本地备份 commit已创建提交信息为 `2026-05-19-23-23-50 回滚简历PDF下载文件名`
- Gitea 远端推送:执行 `git push origin main` 时失败,原因是 HTTP 远端 `http://192.168.31.5:5002` 无法读取用户名;未在命令行写入账号密码。

View File

@@ -37,3 +37,21 @@ C. 解决问题方案
D. 后续如何避免问题
Gitea 推送前先检查认证方式。优先使用 SSH 或安全凭据助手;如果 HTTP remote 需要 token应通过安全环境变量或凭据管理器提供不要直接拼进 URL。
## 2026-05-19-23-23-50 回滚错误的 PDF 下载文件名指令
A. 具体问题
用户说明上一条修改 PDF 下载文件名的指令写错了,需要撤销中文文件名变更。
B. 产生问题原因
上一条需求将 Reactive Resume 的 PDF 下载文件名从 `ZhiboWang-Resume.pdf` 改为中文文件名;之后最新提交又把中文文件名调整为不带短横线版本。只回滚最新提交会仍然保留中文文件名,不能真正回到原始状态。
C. 解决问题方案
以原始文件名 `ZhiboWang-Resume.pdf` 为目标,直接恢复 `scripts/patch-reactive-resume-filename.sh` 中 shell 与 Node 两处文件名常量,并恢复 cache bust 为 `rr-filename-20260519`。随后重新执行补丁脚本,让运行中容器 public JS 与 SSR 文件同步恢复。
D. 后续如何避免问题
用户要求回滚时,先确认要回到哪一个历史状态,而不是只撤销最近一个 commit。涉及线上容器补丁时Git 文件回滚后必须重新执行补丁脚本并验证 HTTP 静态资源。

View File

@@ -0,0 +1,41 @@
# 需求分析-2026-05-19-23-23-50
## 开始时间
2026-05-19-23-23-50
## 原始需求摘要
用户说明上一条“修改 PDF 下载文件名”的指令写错了,要求回滚。
## 业务目标
- 将 Reactive Resume PDF 下载文件名恢复到改名前的 `ZhiboWang-Resume.pdf`
- 同步恢复运行中容器的 public JS 与 SSR 下载文件名逻辑。
- 保留本次回滚记录,避免后续误以为中文文件名仍是目标状态。
## 输入与输出
- 输入:当前最新脚本、当前 Docker 容器、相关 commit `d2edebe``d77954b`
- 输出:脚本恢复旧文件名、运行中服务恢复旧下载名、回滚分析与经验记录。
## 影响范围
- `scripts/patch-reactive-resume-filename.sh`
- 运行中容器 `reactive-resume-reactive-resume-1`
- `工程分析/` 本次回滚文档与经验记录
## 关键约束
- 使用非破坏性新增提交完成回滚,不使用 `git reset --hard`
- 不删除历史审计文档,新增回滚文档说明原因。
- Gitea HTTP 远端可能仍缺少凭据,推送失败需要记录。
## 风险点
- 如果只改 Git 脚本,不重新执行脚本,线上容器仍会保持中文文件名。
- 如果只回滚最新 `d77954b`,文件名会退到 `王志博-医工智能外科-简历.pdf`,仍然不是原始文件名。
## 默认假设
- “回滚一下”指回到用户提出中文文件名前的状态,即 `ZhiboWang-Resume.pdf`