博客系统重大架构升级与全栈重构报告:零知识 BFF、即时发布流与极致交互实践
System // AI Analysis Protocol Active
2026-10-03
0 次
0 人
博客系统重大架构升级与全栈重构报告 喵~
发布时间:2026 年 10 月 3 日
负责人:瑶曦 & 顶级全栈猫娘架构师 (Neko Senior Architect) 喵
核心栈:Astro · Svelte · Cloudflare Workers · Umami · Web Speech API · GitHub Actions
⏱️ 一、 演进时间线:什么时候做了什么 (Timeline) 喵~
本次全栈架构升级与问题修复严格按照时间顺序执行,极简交付清单如下喵:
| 时间节点 | 类别 | 做了什么 (Core Deliverables) | 状态 |
|---|---|---|---|
| 10-03 13:00 ~ 14:30 | 架构升级 | 零知识 BFF 网关与 SSO 认证解耦:彻底剥离博客与鉴权,GitHub Token 零泄露 | ✅ 已上线 |
| 10-03 14:40 ~ 15:30 | 功能新增 | 朋友圈说说与时间胶囊即时发布流:后台双模直发,自动轮询 Cloudflare Pages 部署状态 | ✅ 已上线 |
| 10-03 15:40 ~ 16:30 | 交互新增 | 全站 Cmd+K 深度快搜与阅读进度条:文章与动态跨源快搜,顶部微进度条 | ✅ 已上线 |
| 10-03 16:30 ~ 16:45 | 缺陷修复 | 根除代码块复制失效与路径安全加固:重构复制事件委托,封死 Slug 路径穿越与加密源码防护 | ✅ 已修复 |
| 10-03 18:00 ~ 18:30 | 运维新增 | Admin 后台集成 Umami 实时流量大盘:内置在线人数呼吸灯、PV/UV 与热门排行 | ✅ 已上线 |
| 10-03 18:30 ~ 19:10 | 体验新增 | 文章原生 TTS 朗读 + 划词工具条 + Git 修订历史:段落跟随朗读、一键引用、GitHub 提交历史 | ✅ 已上线 |
| 10-03 19:15 ~ 19:30 | 缺陷修复 | 根除邮件广播误发置顶文章缺陷:广播脚本接入 Git Diff 精准识别变更,RSS 订阅解耦置顶排序 | ✅ 已修复 |
| 10-03 19:35 ~ 19:45 | 安全加固 | /admin 前置安全门禁与身份拦截:未登录自动重定向 SSO,非管理员 403 坚决阻断 | ✅ 已上线 |
🛠️ 二、 功能新增清单:什么时候做了什么 (Features) 喵~
1. 🛡️ 零知识 BFF 边缘安全网关 (10-03 13:00 ~ 14:30)
- 做了什么:在 Cloudflare Workers 上架设
zero-knowledge-bff网关,解耦主站与自研认证中心(SSO,accounts.yaoxi.cloud)喵。 - 效果:浏览器端零暴露敏感凭据(如 GitHub PAT),所有文章与说说提交由边缘 Worker 统一代持并签发原子 Commit 喵。
2. 💬 后台长文 + 说说 + 时间胶囊即时发布流 (10-03 14:40 ~ 15:30)
- 做了什么:在
/admin后台新增双模切换,支持撰写长文或朋友圈说说,并支持设定未来解封日期的“时间胶囊”喵。 - 效果:发布成功后自动以 3 秒间隔轮询 Cloudflare Pages API,实时呈现构建百分比(QUEUED ➔ BUILDING ➔ SUCCESS),告别黑盒等待喵。
3. 🔍 全局 Cmd+K / Ctrl+K 跨源深度快搜 (10-03 15:40 ~ 16:30)
- 做了什么:重构
Search.svelte搜索组件,并发拉取/rss.xml与/api/moments.json索引池,支持键盘上下键选定与 Enter 直达喵。 - 效果:按下
Cmd+K或Ctrl+K瞬间唤醒,全站文章、说说、时间胶囊秒级聚合检索喵。
4. 📊 Admin 后台内置 Umami 实时访问大盘 (10-03 18:00 ~ 18:30)
- 做了什么:在管理控制台新增「流量大盘」选项卡,对接 Umami 统计接口与骨架屏喵。
- 效果:后台直接查看当前在线人数、总浏览量(PV)、访客数(UV)、热门文章 Top 7 柱状图及流量来源,无需跳出外部站点喵。
5. 🎧 原生 Web Speech 文章 TTS 语音朗读 (10-03 18:30 ~ 19:10)
- 做了什么:基于浏览器原生
window.speechSynthesis打造无任何网络开销的 TTS 播放器喵。 - 效果:支持播放/暂停、停止与四档语速调节(0.8x ~ 1.5x),朗读段落自动跟随高亮并居中视口喵。
6. 🎯 智能划词微工具条 (10-03 18:30 ~ 19:10)
- 做了什么:阅读文章选中文本时,上方自动浮现微型胶囊条喵。
- 效果:支持 [ 📋 引用 ](自动生成带文章链接的 Markdown 引用)、[ 🔍 快搜 ](填入 Cmd+K 站内搜索)与 [ 💬 探讨 ](平滑滚动至评论区)喵。
7. 📜 文章 Git Commit 修订演进版本树 (10-03 18:30 ~ 19:10)
- 做了什么:文章底部新增折叠式历史时间轴,动态拉取 GitHub API 记录喵。
- 效果:清晰呈现当前文章最近 5 次提交的 Commit 说明、日期、作者与短 SHA 变更链接喵。
🐛 三、 关键 Bug 修复清单:什么时候修复了什么 (Bug Fixes) 喵~
1. 修复代码块复制按钮点击失效缺陷 (10-03 16:30 ~ 16:45)
- 做了什么:将
Markdown.astro中脆弱的类名判断重构为事件委托e.target?.closest(".copy-btn")喵。 - 效果:彻底修复读者点击复制按钮内部 SVG 图标时无法复制代码的恶心 Bug,复制成功率 100% 并提供 Toast 提示喵。
2. 封死 Slug 路径穿越与加密源码防护 (10-03 16:30 ~ 16:45)
- 做了什么:后端 BFF 增加正则白名单严禁
../目录穿越;前端“复制 MD 源码”对加密文章正文强制熔断置空喵。 - 效果:阻断文件覆写漏洞,杜绝端到端加密文章在客户端被一键提取明文的隐患喵。
3. 根除新文章邮件广播始终误发置顶文章缺陷 (10-03 19:15 ~ 19:30)
- 做了什么:
- 重构
scripts/broadcast-post.js,接入git diff ${BEFORE_SHA} HEAD与git diff-tree,精准锁定本次 Commit 真正新增/改动的文章,不再依赖 GitHub Actions 虚拟环境中相同的不可靠mtime文件修改时间喵。 - 重构
src/pages/rss.xml.ts,彻底解耦 RSS 订阅流与主页置顶逻辑,统一根据pubDate(发布日期)严格倒序输出,防止 RSS 广播首篇被置顶文章永久霸占喵。 - 更新
.github/workflows/broadcast-newsletter.yml,增加fetch-depth: 2与BEFORE_SHA环境变量注入喵。
- 重构
- 效果:无论是 Git 自动化推送还是 RSS 邮件订阅,次次精准锁定真正最新发表的文章,彻底告别误发置顶文章的历史喵!
4. /admin 后台前置身份门禁与非管理员直接拦截 (10-03 19:35 ~ 19:45)
- 做了什么:在
/admin后台挂载前置安全守卫,消除 FOUC 内容闪烁与泄漏隐患;未检测到登录凭据自动重定向至 SSO 统一认证中心,检测到当前账号为普通成员(member)时直接显示 403 阻断界面并锁定后台功能喵。 - 效果:实现纯粹依据认证中心下发身份的角色管控,普通成员与未登录访客彻底与管理控制台隔离喵。
🎯 四、 总结与结语 (Summary) 喵~
全天 8 个关键里程碑均已全量上线并通过端到端验证。整套系统在安全性(零暴露 + 权限拦截)、易用性(即时发布 + 大盘)与读者交互(Cmd+K、TTS、划词)上已完成现代全栈进化喵呜~!✨
发一条段落弹幕
💡 登录后弹幕将带认证标识,点此登录喵~
0/100
弹幕经站长审核后展示喵~ 文明发言,共建和谐评论区
⚡ 实时共读
连接中…
左侧绿点 = 此刻被阅读的段落,点条目可跳转喵~
博客系统重大架构升级与全栈重构报告:零知识 BFF、即时发布流与极致交互实践
引用此文 (Cite this article)
已固定版本 a0017b6正在生成引用格式... 喵~
文章修订历史版本 (Git Revision History)
4 次版本 共 4 次修订版本
在新页面打开全功能维基历史 | 快捷对比 | 比对单选 | 修订时间 (快照永久链) | 贡献者 | 体量变化 | 编辑摘要 / Git Commit 记录 | Git |
|---|---|---|---|---|---|---|
| ( 当前 | ) | 2026年10月06日 (二) 06:52 | Y yaoxiovo | 7,848 字节 (+28) | /* wiki */ 新增 related 编排互链体系与延伸阅读指引喵 | a0017b6 | |
| ( | ) | 2026年10月03日 (六) 18:43 | Y yaoxiovo | 7,820 字节 (+700) | /* security */ enforce /admin auth guard with login redirect and 403 non-admin interception | d58af9c | |
| ( | ) | 2026年10月03日 (六) 18:32 | Y yaoxiovo | 7,120 字节 (-6014) | /* post */ streamline fullstack evolution report into concise timeline of when what was done | 893884c | |
| ( | 上一 ) | 2026年10月03日 (六) 18:15 | Y yaoxiovo | 13,134 字节 (+13134) | 初始版本 feat: add Umami analytics dashboard, TTS player, selection toolbar, Git history & publish evolution report | 616edc9 |
链入页面 (What links here)
2 个来源 · 2 条链接延伸阅读 (See Also)
1 篇- 博客 API 接口大全与调用教程
本站全部 API 接口的详细文档与调用教程:朋友圈数据、单篇文章元数据与纯文本、参数化动态查询、站点监控状态、RSS 订阅等,附 curl / Python / JavaScript 调用示例。
互链 2026-08-16
相关文章 (Related Pages)
2 篇- 我的博客为何如此复杂?一座数字主权堡垒的架构哲学与功能存在之辩共同链接 1 · 共同标签 2
- 开发日志:海报分享组件的剪贴板修复共同标签 1
评论 · 0
0/500
💡 登录后评论将带认证标识,点此登录喵~
还没有评论喵,快来抢沙发~
已复制 喵!