docs(AGENTS): 补「返回首页要清 last_app」硬约定与踩坑

- §4.8:clearLastAppOnBackHome → DELETE,只认三种返回情形,禁止改成每次加载都清
- §5:修回被误合并的一行
This commit is contained in:
2026-09-22 11:57:37 +08:00
parent 2c55e6737e
commit d77b163b1a

View File

@@ -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. 踩坑