《互联网产品的客户端架构·内容、社交与实时互动》12.3 发现页的推荐位与内容流的差异
发现页不是换皮的信息流:运营位、榜单、专题与普通内容来自不同契约。本节用纯函数组合器实现固定槽位、跨源去重、占位与曝光 key,讲清位置为什么不能塌陷、去重优先级如何显式表达,给出可复用的布局校验规则,并复盘一次运营位为空导致整页错位的事故。
tag
发现页不是换皮的信息流:运营位、榜单、专题与普通内容来自不同契约。本节用纯函数组合器实现固定槽位、跨源去重、占位与曝光 key,讲清位置为什么不能塌陷、去重优先级如何显式表达,给出可复用的布局校验规则,并复盘一次运营位为空导致整页错位的事故。
搜索结果页最容易丢的不是数据,而是状态:本节用纯函数 reducer 管理查询词、筛选条件、游标与版本号,讲清条件变化为什么必须重置游标、筛选如何安全放进 URL、返回时恢复什么,以及空结果与「没有更多」的区别,并复盘一次筛选后仍用旧游标翻页的事故。
联想框的难点在输入与响应之间:本节用可注入调度器的 TypeScript 控制器实现防抖、输入法组合抑制、取消在途请求与 latest-wins 版本号,解释缓存 key 为什么必须包含完整查询词,并复盘一次慢请求后到覆盖新结果的线上故障。