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

节文章核心内容
1.11.1 交易端的四条链路:浏览、下单、支付、售后交易端不是「商品页加一个购买按钮」,而是浏览、下单、支付、售后四条失败边界完全不同的链路。本节逐条说明每条链路需要哪…
1.21.2 trade-lab 的第一条约束:金额与订单状态归谁所有交易端的第一条约束不是选框架,而是给每个字段标注所有者:金额、库存、订单状态与支付结果归服务端,勾选与草稿归端上。本…
1.31.3 lab 的三条验证线:纯计算、进程内下单、真实回调交易端的测试最容易「全绿但线上出错」,因为很多问题只在进程边界与真实回调里出现。本节把 trade-lab 的验证分…

第 2 章 商品与库存展示

节文章核心内容
2.12.1 商详页的三份数据:价格、库存与时效商详页的价格、库存、时效常来自三个接口、三种新鲜度,端上拼页面时很容易拼出一个「不存在的商品」。本节用字段级来源标记…
2.22.2 SKU 选择与规格约束规格选择看起来只是几个按钮,实际是一组组合约束:哪些组合存在、哪些组合缺货、切换一个维度后哪些已选值必须失效。本节把…
2.32.3 库存展示:可售不等于有货库存展示的核心不是「有货/无货」两个状态,而是可售、锁定、预售、区域限制与数据降级五件事。本节把端上的库存判断写成纯…

第 3 章 购物车与价格计算

节文章核心内容
3.13.1 购物车归属:本地车、服务端车与合并游客购物车与服务端购物车合并,是交易端最容易被低估的一次状态冲突。本节把同 SKU 的数量策略、下架与删除的处理、时…
3.23.2 价格明细的端上重算边界价格明细不是五个孤立的数字,而是一份必须同版本的结算快照。本节拆开商品小计、优惠、运费、税费与实付五段,说明端上只能…
3.33.3 失效商品、限购与勾选状态购物车的全选、半选、失效商品与限购,最终都会落到一个数字上:结算金额。本节把勾选状态建模成可售行的三态汇总,明确失效…

第 4 章 下单与订单状态

节文章核心内容
4.14.1 提交防重:幂等键与按钮状态下单提交超时后,端上把「未知」当成「失败」就会诱导用户重复下单。本节用进入确认页生成的幂等键、五个内部状态与三种按钮…
4.24.2 订单状态机与端上映射服务端订单状态有八种,端上却要面对按钮、倒计时、浮层与列表刷新四类副作用。本节把状态映射写成纯函数,用未知状态的前向…
4.34.3 待支付超时与取消待支付倒计时不该由本地时长递减,而要以服务端 expiresAt 为准,并用服务端时间校正本地时钟。本节讨论切后台、…

第 5 章 支付流程与回调

节文章核心内容
5.15.1 支付渠道的端上编排:拉起、轮询与回跳支付编排不是把用户送去渠道就结束:拉起成功只说明参数被接收,回跳参数只是一句口信,真正结果必须由服务端查询确认。本节…
5.25.2 支付结果不确定时的状态机支付结果不是成功与失败两态:超时、回跳丢失与查询未决都会落入 unknown。本节用一个五态状态机表达 pendin…
5.35.3 回调、轮询与端上确认的时序竞争同一笔支付的结果会从回调、服务端推送、轮询和回跳四个方向同时到达,端上收到的顺序与事实发生的顺序无关。本节把事件写成…

第 6 章 支付对账与重复支付

节文章核心内容
6.16.1 端上如何避免重复支付重复支付通常来自重复点击、重复回跳与重复轮询三个入口,而不是用户手抖。本节用支付单号去重、显式的进行中状态与超时后先…
6.26.2 支付对账的数据口径端上无法直接看渠道账单,只能把订单状态、支付单状态与渠道流水号三路信号按 orderId、payId、channel…
6.36.3 退款与售后状态退款不是把订单状态改成已退款,而是挂在原支付单上的一组退款单:整单退与部分退、审核中与退款中、金额分摊与到账时间都各…

第 7 章 优惠券与营销规则

节文章核心内容
7.17.1 优惠券的可用性判定优惠券的「可用」不是布尔值,而是门槛、范围、有效期、领取状态与互斥关系共同裁决的结果。本节把判定顺序写成可测试的纯函…
7.27.2 叠加规则与端上预演会员价、活动、优惠券与积分同时出现时,叠加顺序、互斥组与舍入规则决定了用户最终付多少钱。本节把顺序固定为会员、活动、…
7.37.3 优惠展示的诚实性划线价、券后价与「预计省 X 元」不是三个装饰数字,而是三句可以被核验的事实陈述。本节给出划线价的展示条件、券后价与…

第 8 章 会员、积分与权益

节文章核心内容
8.18.1 会员状态与权益展示会员页最容易把等级、有效期与权益状态混成一个字段:用户看到五条权益,实际只有两条可用。本节把会员快照、权益状态与会员…
8.28.2 积分的加减与过期积分不是端上可以随便加减的余额,而是一本由发放、抵扣、退回、过期四类流水组成的账。本节说明为什么余额必须从流水重放、…
8.38.3 权益降级与到期提醒会员到期不是一瞬间的 UI 状态:权益会逐条失效,提醒要按节奏升级,已支付订单还要保住下单时的会员价。本节把降级拆成…

第 9 章 分享、拉新与增长链路

节文章核心内容
9.19.1 分享卡片的参数与归因分享链接不是拼几个查询参数,而是一份要穿过渠道、安装包和归因窗口的承诺。本节拆开渠道码、活动 id、邀请人、商品与时…
9.29.2 邀请关系与绑定时机邀请关系是一本「谁欠谁奖励」的账,绑定时机早一步会被刷、晚一步会被截胡。本节比较点击、注册、首单三个绑定时机,拆开唯…
9.39.3 拉新活动页的降级活动页的失败方式比商品页多得多:配置拉不到、活动未开始、已经结束、名额耗尽、运营暂停。本节把这些情况分成「配置问题」…

第 10 章 A/B 实验与远端配置

节文章核心内容
10.110.1 实验分流与曝光口径结算页改版上线后先涨后跌,问题往往不在实验结论,而在分流与曝光口径。本节用哈希加盐实现稳定分流、用分层隔离并行实验、…
10.210.2 实验配置的本地缓存与回退实验开关、活动文案和入口配置都走远端下发,但拉取失败、版本回退、冷启动无配置才是客户端真正要处理的场景。本节把版本、…
10.310.3 实验污染与互斥同一账号在两台手机、两个客户端版本上进入不同实验分组,是实验系统最难发现的一类污染。本节定义跨端漂移、跨版本残留、互…

第 11 章 客服、售后与工单

节文章核心内容
11.111.1 客服入口与上下文携带用户在订单页点客服,却还要第三次报订单号;问题不在客服系统,而在入口没有携带最小上下文。本节把订单号、支付单、页面来…
11.211.2 售后申请的状态与证据售后申请最常见的两个问题,是证据不齐导致来回补材料,和重复提交产生多张售后单。本节把申请、审核、通过或驳回、完成写成…
11.311.3 工单会话的离线与恢复客服工单最容易被低估的是「用户关掉 App 之后」。消息发没发出去、重连后会不会重复、会话关闭后历史还在不在,决定了…

第 12 章 数据埋点与增长分析

节文章核心内容
12.112.1 埋点模型与事件契约交易埋点最容易在「同名事件两个口径」上失真。本节把曝光、点击、加购、下单、支付、退款六类事件写成带 schema 版…
12.212.2 上报队列、离线缓存与去重上报队列不是「失败重发」四个字。本节给出一个内存加注入存储的端上队列:批量取件、指数退避、容量上限与三种丢弃策略、崩…
12.312.3 漏斗与归因的端上边界端上漏斗只能回答「用户在我这里走到哪一步」,不能替服务端宣布支付或退款成功。本节定义步骤、同会话同订单、归因窗口三个…

第 13 章 卷三收口:trade-lab 端到端

节文章核心内容
13.113.1 端到端:选品、下单、支付、退款前十二章分别验证了金额、库存、幂等、支付与退款,但真实事故往往发生在模块交界处。本节用五个窄端口把选品、加购、下单、…
13.213.2 故障注入:重复提交、支付超时、回调乱序正常主线只能证明系统会走路,故障注入才能证明它不会在摔倒时抓错东西。本节在进程内注入重复提交、支付超时、回调先成功后…
13.313.3 质量场景与风险清单:进入卷四收口不是把前十二章再讲一遍,而是把每条约束改写成可执行断言、证据要求与风险等级。本节给出 16 条覆盖第 1 到 1…

附录

篇文章核心内容
附录 A附录 A订单、支付、退款三套状态机、金额分段口径、禁止组合与展示文案速查。
附录 B附录 B按八类症状组织的交易排查手册:定性顺序、必查字段、证据留存与升级判据。
附录 C附录 C交易端评审清单:十组提问、通过标准、常见缺陷与「未验证」栏。

怎么读这一卷

与其他书稿的边界

代码与可复现性

全部文章 Books game Java Indie golang 客户端开发 Minigame Saas rust Python
books

《互联网产品的客户端架构·交易、增长与平台化》1.2 trade-lab 的第一条约束:金额与订单状态归谁所有

交易端的第一条约束不是选框架,而是给每个字段标注所有者:金额、库存、订单状态与支付结果归服务端,勾选与草稿归端上。本节把这条约束写成一个可测试的所有权模型,用 amountView 处理过期与预览、用 reconcileOrder 让服务端覆盖本地并记录差异,并复盘一次端上预演价覆盖服务端金额的事故。

7 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·交易、增长与平台化》1.1 交易端的四条链路:浏览、下单、支付、售后

交易端不是「商品页加一个购买按钮」,而是浏览、下单、支付、售后四条失败边界完全不同的链路。本节逐条说明每条链路需要哪些数据、哪些字段必须由服务端裁决、失败时用户能退到哪里,并给出一个把四条链路的依赖写成常量与校验函数的 TypeScript 模型,作为 trade-lab 的起点。

10 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·交易、增长与平台化》目录与学习路径

卷三《交易、增长与平台化》的完整目录与学习路径:13 章 39 节,从交易端四条链路与 trade-lab 开始,依次覆盖商品库存、购物车、下单、支付、对账、优惠、会员、增长、实验、客服、埋点,最后以端到端收口;附章节依赖、三条阅读路径与读完应能回答的六个问题。

9 分钟阅读
书稿 互联网产品 客户端架构
books

《互联网产品的客户端架构·交易、增长与平台化》序:从会动到可信

卷三的序:从卷一的结构、卷二的流动,走到交易端的「可信」。交代为什么交易不能沿用内容的容错策略,四条核心判断、判断之间的互相约束、贯穿案例「回声」的轻交易场景与一笔订单的完整路径,以及本卷边界、与十三章的关系和为什么把「不确定」当成一等状态。

11 分钟阅读
书稿 互联网产品 客户端架构