docs(AGENTS): 补 §4.3 —— 回到首页要清 last_app(首页壳 + mama-box 两侧互补)
- 表格列出三条返回路径分别由谁清、判定依据是什么 - 明确禁止「mama-box 每次加载都清」(会把恢复落点加载误清,毁掉记录) - 首页壳只在重载目标命中 /mama-box 时清
This commit is contained in:
16
AGENTS.md
16
AGENTS.md
@@ -70,6 +70,22 @@ CRMEB 商城小程序(uniapp,manifest `name=DoubaShop`),同时是**整
|
|||||||
否则 mama-box 的兜底恢复会绕开小程序判定又把用户送走。
|
否则 mama-box 的兜底恢复会绕开小程序判定又把用户送走。
|
||||||
- 反向:小程序**尝试恢复但取数失败/超时**时**不带** `norestore`,让 mama-box 兜底重试一次。
|
- 反向:小程序**尝试恢复但取数失败/超时**时**不带** `norestore`,让 mama-box 兜底重试一次。
|
||||||
|
|
||||||
|
### 4.3 回到首页要清 last_app(两侧互补,2026-09-22)
|
||||||
|
|
||||||
|
现象:进入 H5 应用 → **返回**回到 mama-box 首页 → 再冷启动进小程序,又被送回刚退出的应用。
|
||||||
|
记录的是「最后进入的 H5 应用」,人已经回到首页了 → 必须清掉。清除动作分两侧,互补覆盖:
|
||||||
|
|
||||||
|
| 路径 | 谁清 | 判定 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| H5 应用自己的返回(`history.back()` / 后退重载) | **mama-box** `clearLastAppOnBackHome()` | `pageshow.persisted` / `navigation.type === 'back_forward'` |
|
||||||
|
| H5 应用以 `location.href` 回 mama-box | **mama-box**(同上) | `document.referrer` 是 `https://mp.yizhezhe.com/<app>/` |
|
||||||
|
| 容器页**返回箭头**回首页(host 重载,不带 referrer) | **首页壳** `_clearLastApp()` | `onShow` 决定重载回 mama-box 时(`reloadBase` 命中 `/mama-box`) |
|
||||||
|
|
||||||
|
- 接口:`DELETE /api/mp/public/last-app?openid=`(幂等、fail-soft)。
|
||||||
|
- ⚠️ **绝不能改成「mama-box 每次加载都清」**:恢复流程会把 mama-box 当**返回落点**加载,
|
||||||
|
误清会毁掉刚用上的记录(实测:普通加载与 `#norestore=1` 落点加载都不清)。
|
||||||
|
- ⚠️ 首页壳只在**重载目标是 mama-box** 时清;重载目标是某个应用(`shareHref` 指向它)时不能清。
|
||||||
|
|
||||||
## 5. 本仓库状态提醒
|
## 5. 本仓库状态提醒
|
||||||
|
|
||||||
- ⚠️ `mixins/shareCard.js` **未被 git 跟踪**(untracked),但两个宿主页都 import 它 —— 提交时别漏,否则一旦丢工作区这份文件就没了。
|
- ⚠️ `mixins/shareCard.js` **未被 git 跟踪**(untracked),但两个宿主页都 import 它 —— 提交时别漏,否则一旦丢工作区这份文件就没了。
|
||||||
|
|||||||
Reference in New Issue
Block a user