PanPanSo 技术展示

把一个能搜的页面,继续打磨成更完整的产品体验

这页不再只回答“PanPanSo 是什么”,而是集中说明我把它从可用状态继续往上打磨时,做过哪些优化、 补过哪些体验细节,以及为什么要这样设计。 重点会放在首屏调度、结果归并、状态补全、工程结构和隐藏彩蛋,让技术展示页既能说明系统能力,也能体现实现取舍。

首屏优先调度统一结果模型状态补全彩蛋系统

01 · 这次补了什么

展示页除了把系统讲清楚,我还把这 4 类内容补进来了

目标不是单纯介绍架构,而是让人能看出这个项目在性能感知、状态完整性、工程结构和趣味表达上都做过细化处理。

搜索体验

把等待拆成可以感知的阶段

插件按 3 个一组、频道按 6 个一组拆批,优先让首批结果先回来,再继续补全后续来源。

状态完整

不只处理成功态

搜索中、补搜中、空态、异常态和复制反馈都补齐,避免页面只在理想场景下成立。

工程结构

统一入口和统一结果模型

前端只面对同一种接口和结果结构,后续继续接来源时不需要重写整套展示逻辑。

彩蛋系统

把趣味性做成可控能力

彩蛋通过关键词触发背景、跳转和主题切换,不干扰主流程,也能随时恢复默认状态。

统一输入
分批调度
增量归并
平台化结果
说明

这一页想强调的不是“功能越来越多”,而是“搜索体验越来越完整”。 也就是让用户更早看到结果、让边界场景更稳、让结构更便于继续迭代,同时保留少量克制的记忆点。

02 · 核心优化

我优先打磨的是这 4 个真正影响体验和维护成本的点

这些优化既影响首屏感知,也决定后续接来源、调策略和继续维护时会不会越来越乱。

调度

首屏优先调度

快源先回、慢源后补,避免为了等齐所有来源把首屏体验一起拖慢。

分层

热池和冷池分开搜

Telegram 来源按热池和冷池拆开处理,先保证首批命中率,再在结果不足时继续补搜。

统一

结果归并只保留同一套输出

不同来源最后都会被归并到统一平台结构里,前端渲染层只需要处理一套结果模型。

兜底

缓存、超时和取消一起兜底

缓存减少重复搜索,超时避免慢源拖挂体验,请求取消则避免连续搜索时旧结果污染新结果。

插件来源

3

统一接口接入的站点数

热池频道

31

优先参与首屏返回

冷池频道

20

结果不足时继续补搜

隐藏入口

9

关键词彩蛋 + 日期口令

路由

搜索词可分享、可回放

结果页会把关键词同步到 q 参数,路由变化时还能自动重新搜索,方便直接分享特定查询。

交互

键盘、历史和默认词降低重复操作

支持快捷键聚焦、历史记录回填和趋势词兜底,移动端还额外处理了输入焦点和按钮触控区域。

排序

默认排序不只看时间

结果会综合 4K、原盘、标签密度和关键词命中位置加权,让更像目标资源的条目优先靠前。

03 · 体验细节

真正让页面显得成熟的,往往是这 3 段不显眼的处理

页面不只是把结果渲染出来,我还把搜索前、搜索中、搜索后的细节都补齐了,避免体验只在理想场景下成立。

01

搜索前

默认聚焦输入框,支持 / 聚焦、ESC 清空和趋势词兜底;解锁后还会切成模块入口。

02

搜索中

状态栏会实时显示站点和频道进度,首批结果一旦回来就立即展示,不等慢源全部完成。

03

搜索后

支持按平台筛选、复制链接、尝试拉起 App,并把关键词同步到 URL,方便回访和分享。

边界场景

关键词长度限制、请求取消、超时分类和结果不足时的冷池补搜都做了兜底。

移动端细节

输入框聚焦、按钮触控区域和安全区位置做了兼容,尽量避免 iOS 上的误触和缩放问题。

视觉克制

主题切换、状态提示和背景效果都尽量做轻,让页面有记忆点,但不盖过主流程内容。

04 · 彩蛋系统

这页也没打算一本正经到底,所以我偷偷塞了点好玩的东西

它们不是那种跳出来打断你的大彩蛋,而是更像“如果你刚好多按了一下,我就顺手给你一点回应”。

怎么触发

有些词搜着搜着,页面就突然开始整活了

试几个词,页面会有点小反应
- 搜“黑客”           -> 背景开始下代码雨
- 搜“蜘蛛侠”         -> 红色氛围直接拉满
- 搜“怪奇物语”       -> 你会知道什么叫逆世界
- 搜“神探夏洛克”     -> 页面突然变得有点英伦
- 搜“圣诞”           -> 这次不是背景,是直接进节目
- 搜“game”或“游戏”  -> 好,知道你是来摸鱼的

别慌

玩归玩,我还是给你留了后门和恢复键

顺手再告诉你几个小门
- 输入 0601          -> 会解锁一个额外入口
- 输入“恢复”或“reset”      -> 一键回到正常模式
- 彩蛋触发之后              -> 还能切成剧院模式单独看
- 如果你开着控制台          -> 还会看到我留的一句话
关键词彩蛋触发词 / 日期口令
效果背景切换 / 模块解锁 / 页面跳转
一句人话

我不想把这个页面做成“到处都是机关”的那种炫技现场,所以大多数彩蛋都只是轻轻冒个头。 真想回到正常模式也很简单,输一句“恢复”就行;如果你反而想认真看彩蛋,还可以切去剧院模式慢慢看。

05 · 项目复盘

如果要总结这次打磨,我最想留下这 3 个判断

把首屏等待拆小

通过分批调度和首屏优先策略,让用户更早进入“已经有结果”的感知状态。

把边界场景补齐

加载、补搜、空态、错误、复制反馈和移动端输入体验都做了完整处理。

把展示页做得有记忆点

彩蛋、剧院模式和隐藏入口保持克制存在,让项目除了能用之外还有自己的个性。

封面