posts
《互联网产品的客户端架构·交易、增长与平台化》 · 已发布章节索引(45 篇)
《互联网产品的客户端架构·交易、增长与平台化》全 45 篇:13 章覆盖交易四条链路、商品与库存、购物车与价格、下单与状态机、支付编排与回调、对账与退款、优惠券、会员权益、增长链路、实验配置、客服售后与埋点分析;附序、前言、目录与三篇附录,配可运行 TypeScript 实验工程。
全卷 45 篇:13 章正文 + 序、前言、目录 + 附录 A/B/C。每节配可运行的 TypeScript 代码,代码块用 // file: / // tier: / // verify: 标注,可在实验工程中逐字节还原。
本页是卷三的完整索引。可以从目录与学习路径
按顺序通读,也可以按问题跳读。
全书概览
| 项目 | 内容 |
|---|
| 书稿 | 《互联网产品的客户端架构》卷三 |
| 已发布篇数 | 45 篇(含目录与附录) |
| 主线语言 | TypeScript(Node 26 原生类型剥离,零第三方依赖) |
| 贯穿案例 | 内容社区「回声」长出的轻交易:周边、券、会员与活动 |
| 阅读方式 | 目录篇顺序通读,或按章节表跳读 |
| 上级专题 | 书稿专题 |
前置
| 篇 | 文章 | 核心内容 |
|---|
| 序 | 序 | 从承诺强度写起,交代交易、增长与平台化为什么单独成卷,本卷的四条判断与边界。 |
| 前言 | 前言 | 四卷分工、十三章结构、贯穿案例「回声」轻交易、trade-lab 与三级可运行性。 |
| 目录 | 目录 | 13 章 39 节的结构、章节依赖、三条阅读路径与读完应能回答的六个问题。 |
第 1 章 交易端架构与 trade-lab
第 2 章 商品与库存展示
第 3 章 购物车与价格计算
第 4 章 下单与订单状态
| 节 | 文章 | 核心内容 |
|---|
| 4.1 | 4.1 提交防重:幂等键与按钮状态 | 下单提交超时后,端上把「未知」当成「失败」就会诱导用户重复下单。本节用进入确认页生成的幂等键、五个内部状态与三种按钮… |
| 4.2 | 4.2 订单状态机与端上映射 | 服务端订单状态有八种,端上却要面对按钮、倒计时、浮层与列表刷新四类副作用。本节把状态映射写成纯函数,用未知状态的前向… |
| 4.3 | 4.3 待支付超时与取消 | 待支付倒计时不该由本地时长递减,而要以服务端 expiresAt 为准,并用服务端时间校正本地时钟。本节讨论切后台、… |
第 5 章 支付流程与回调
第 6 章 支付对账与重复支付
| 节 | 文章 | 核心内容 |
|---|
| 6.1 | 6.1 端上如何避免重复支付 | 重复支付通常来自重复点击、重复回跳与重复轮询三个入口,而不是用户手抖。本节用支付单号去重、显式的进行中状态与超时后先… |
| 6.2 | 6.2 支付对账的数据口径 | 端上无法直接看渠道账单,只能把订单状态、支付单状态与渠道流水号三路信号按 orderId、payId、channel… |
| 6.3 | 6.3 退款与售后状态 | 退款不是把订单状态改成已退款,而是挂在原支付单上的一组退款单:整单退与部分退、审核中与退款中、金额分摊与到账时间都各… |
第 7 章 优惠券与营销规则
| 节 | 文章 | 核心内容 |
|---|
| 7.1 | 7.1 优惠券的可用性判定 | 优惠券的「可用」不是布尔值,而是门槛、范围、有效期、领取状态与互斥关系共同裁决的结果。本节把判定顺序写成可测试的纯函… |
| 7.2 | 7.2 叠加规则与端上预演 | 会员价、活动、优惠券与积分同时出现时,叠加顺序、互斥组与舍入规则决定了用户最终付多少钱。本节把顺序固定为会员、活动、… |
| 7.3 | 7.3 优惠展示的诚实性 | 划线价、券后价与「预计省 X 元」不是三个装饰数字,而是三句可以被核验的事实陈述。本节给出划线价的展示条件、券后价与… |
第 8 章 会员、积分与权益
| 节 | 文章 | 核心内容 |
|---|
| 8.1 | 8.1 会员状态与权益展示 | 会员页最容易把等级、有效期与权益状态混成一个字段:用户看到五条权益,实际只有两条可用。本节把会员快照、权益状态与会员… |
| 8.2 | 8.2 积分的加减与过期 | 积分不是端上可以随便加减的余额,而是一本由发放、抵扣、退回、过期四类流水组成的账。本节说明为什么余额必须从流水重放、… |
| 8.3 | 8.3 权益降级与到期提醒 | 会员到期不是一瞬间的 UI 状态:权益会逐条失效,提醒要按节奏升级,已支付订单还要保住下单时的会员价。本节把降级拆成… |
第 9 章 分享、拉新与增长链路
| 节 | 文章 | 核心内容 |
|---|
| 9.1 | 9.1 分享卡片的参数与归因 | 分享链接不是拼几个查询参数,而是一份要穿过渠道、安装包和归因窗口的承诺。本节拆开渠道码、活动 id、邀请人、商品与时… |
| 9.2 | 9.2 邀请关系与绑定时机 | 邀请关系是一本「谁欠谁奖励」的账,绑定时机早一步会被刷、晚一步会被截胡。本节比较点击、注册、首单三个绑定时机,拆开唯… |
| 9.3 | 9.3 拉新活动页的降级 | 活动页的失败方式比商品页多得多:配置拉不到、活动未开始、已经结束、名额耗尽、运营暂停。本节把这些情况分成「配置问题」… |
第 10 章 A/B 实验与远端配置
| 节 | 文章 | 核心内容 |
|---|
| 10.1 | 10.1 实验分流与曝光口径 | 结算页改版上线后先涨后跌,问题往往不在实验结论,而在分流与曝光口径。本节用哈希加盐实现稳定分流、用分层隔离并行实验、… |
| 10.2 | 10.2 实验配置的本地缓存与回退 | 实验开关、活动文案和入口配置都走远端下发,但拉取失败、版本回退、冷启动无配置才是客户端真正要处理的场景。本节把版本、… |
| 10.3 | 10.3 实验污染与互斥 | 同一账号在两台手机、两个客户端版本上进入不同实验分组,是实验系统最难发现的一类污染。本节定义跨端漂移、跨版本残留、互… |
第 11 章 客服、售后与工单
| 节 | 文章 | 核心内容 |
|---|
| 11.1 | 11.1 客服入口与上下文携带 | 用户在订单页点客服,却还要第三次报订单号;问题不在客服系统,而在入口没有携带最小上下文。本节把订单号、支付单、页面来… |
| 11.2 | 11.2 售后申请的状态与证据 | 售后申请最常见的两个问题,是证据不齐导致来回补材料,和重复提交产生多张售后单。本节把申请、审核、通过或驳回、完成写成… |
| 11.3 | 11.3 工单会话的离线与恢复 | 客服工单最容易被低估的是「用户关掉 App 之后」。消息发没发出去、重连后会不会重复、会话关闭后历史还在不在,决定了… |
第 12 章 数据埋点与增长分析
| 节 | 文章 | 核心内容 |
|---|
| 12.1 | 12.1 埋点模型与事件契约 | 交易埋点最容易在「同名事件两个口径」上失真。本节把曝光、点击、加购、下单、支付、退款六类事件写成带 schema 版… |
| 12.2 | 12.2 上报队列、离线缓存与去重 | 上报队列不是「失败重发」四个字。本节给出一个内存加注入存储的端上队列:批量取件、指数退避、容量上限与三种丢弃策略、崩… |
| 12.3 | 12.3 漏斗与归因的端上边界 | 端上漏斗只能回答「用户在我这里走到哪一步」,不能替服务端宣布支付或退款成功。本节定义步骤、同会话同订单、归因窗口三个… |
第 13 章 卷三收口:trade-lab 端到端
附录
| 篇 | 文章 | 核心内容 |
|---|
| 附录 A | 附录 A | 订单、支付、退款三套状态机、金额分段口径、禁止组合与展示文案速查。 |
| 附录 B | 附录 B | 按八类症状组织的交易排查手册:定性顺序、必查字段、证据留存与升级判据。 |
| 附录 C | 附录 C | 交易端评审清单:十组提问、通过标准、常见缺陷与「未验证」栏。 |
怎么读这一卷
- 顺序读:从序
开始,按 1.1 到 13.3 推进;第 4 到 6 章建议连读,它们构成支付链路的三段。
- 按问题读:先看目录
里的三条路径,跳到对应章节,再回看第 1 章的所有权规则。
- 按角色读:产品与设计读第 1、4、5、7、9 章;客户端工程师顺序读;技术负责人读第 1、5、6、13 章与附录 C。
与其他书稿的边界
- 本书讲客户端交易架构判断,不教 TypeScript 语法;语言基础见站内 TypeScript 三部曲。
- 卷一讨论端形态、分层、状态、路由与渲染基础;卷二讨论内容、社交与实时;卷三假设前两卷的结构已成立,专注事实承诺。
- 支付渠道接入只讲端上编排与回调处理,不覆盖商户资质、清结算与合规申报。
代码与可复现性
- 实验工程为
trade-lab,使用 Node 26 原生类型剥离直接运行 .ts,node --test 为硬门禁。 - 可运行性分 L1 纯逻辑、L2 进程内加假时钟、L3 本地 HTTP 回调三级;支付链路必须有 L3。
- 正文代码块与工程文件逐字节一致,校验脚本反向抽取比对,避免“正文改了、代码没改”。