From d77b163b1a7efb23e3a6d6ba3aee3dc279bcb608 Mon Sep 17 00:00:00 2001 From: Karlcarlo Date: Tue, 22 Sep 2026 11:57:37 +0800 Subject: [PATCH] =?UTF-8?q?docs(AGENTS):=20=E8=A1=A5=E3=80=8C=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E9=A6=96=E9=A1=B5=E8=A6=81=E6=B8=85=20last=5Fapp?= =?UTF-8?q?=E3=80=8D=E7=A1=AC=E7=BA=A6=E5=AE=9A=E4=B8=8E=E8=B8=A9=E5=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - §4.8:clearLastAppOnBackHome → DELETE,只认三种返回情形,禁止改成每次加载都清 - §5:修回被误合并的一行 --- AGENTS.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index e240a72..160eb3c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -56,6 +56,11 @@ nginx:`root /opt/app` + `Cache-Control: no-cache` + `etag on` —— 缓存靠 所以要在**换页/跳转前**主动上报目标地址,宿主的分享卡片才能在分享那一刻拿到正确地址。 7. **换应用前上报 last_app**(`reportLastApp()`,`navigator.sendBeacon`):这是「退出小程序再进能回到上次应用」的 数据来源,新增任何跳应用的入口都要走 `jumpApp()` 以继承这个行为。 +8. **返回首页要清 last_app**(`clearLastAppOnBackHome()` → `DELETE /api/mp/public/last-app`): + 用户已经从 H5 应用退回首页,首页才是他最后待的地方 —— 不清的话下次冷启动又把他送回刚退出的应用。 + ⚠️ **只认「返回回到本页」三种情形**(bfcache 的 `pageshow.persisted`、后退重载的 + `navigation.type === 'back_forward'`、从应用页 `location.href` 回来的 `document.referrer`); + **绝不能改成「每次加载都清」** —— 宿主恢复会把本页当返回落点加载,误清会毁掉刚用上的记录。 ## 5. 踩坑