PR #294:用 @igng/ui/SiteHeader 终结十个站点十套页眉

虽然我们在 7 月份就已经合进了 Monorepo,但各个子站顶部的导航页眉(Header)一直沿用着合并前各自手写的组件:有的站点切深色模式按钮在左边,有的在右边;有的下拉菜单能切分站,有的又没有。

到了 2026 年 10 月 27 日(PR #294),我终于抽出手来把所有站点的旧页眉全部铲平,在 @igng/ui 里写了一个高度统一的 SiteHeader 组件。不管是主站、论坛还是文档站,顶部的应用切换器、登录头像、通知铃铛和地区切换开关全部长得一模一样。趁着这次改版,我还一口气重做了三个门面站点的首页:把主站改成了能实时预览各站动态的频道橱窗,把项目站做成了带多端设备外壳的交互展示台,把云服务推广站改成了直观的场景化优惠票根卡片。

region.mjs 唯一真源与日本节点的“48小时一日游”

当时国内不少玩家反馈直连主域名有时会遇到跨网晚高峰抖动。为了让大家在任何网络环境下都能秒开网页,我在 10 月 27 日至 28 日(PR #322 / #331)设计了一套多地域分站架构: 我写了一个全仓唯一的地域规则真源 region.mjs,并实现了渲染期链接自动本地化——当用户访问国内加速分站(-cn)或香港分站(-hk)时,页面上所有跳往其它子站的链接都会在渲染时自动改写成同地域的对应域名,不会点一下又跳回慢线路。

这期间还发生了一段挺有意思的小插曲:10 月 28 日 那天,我兴冲冲地多开了一个日本东京分站(-jp),本来想着物理距离近、延迟肯定低。结果上线跑了不到两天,实测发现那台东京网关到源站的国际链路经常莫名其妙丢包抽风,体验反而还不如直连。我没跟沉没成本较劲,在 10 月 30 日(PR #373)手起刀落直接砍掉了整个日本分站,把所有 -jp 流量全量 301 重定向回主站,只保留最稳的主站、国内站与香港站三套入口。

保加利亚 Sofia 大容量媒体源站上线

砍掉日本节点的同一天(10 月 30 日),为了彻底解决个人云盘和论坛高清大图越来越占硬盘的问题,我们把保加利亚 Sofia(索菲亚) 的一台大盘独立服务器正式接入为全站主媒体源站,前面套上 Cloudflare 全球边缘缓存。虽然保加利亚离国内有半个地球远,但靠着内容寻址(SHA256 不可变 URL)配合超长边缘缓存策略,图片只要被第一个人看过一次就会常驻在离用户最近的边缘节点上,既拿到了欧洲大盘鸡的海量空间,又保住了国内外的看图速度。