AGENTS.md:首页地址改后台动态配置;新增硬约定 14 —— 返回首页一律 wxAuth.goHome()

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-09 17:13:09 +00:00
parent c911f63ee5
commit ae8324467c

View File

@@ -7,8 +7,9 @@
## 1. 这是什么
微信小程序里的**首页 H5**:小程序首页壳(`crmeb/pages/index/index.vue`)用 web-view 硬编码加载
`https://mp.yizhezhe.com/mama-box/`,用户看到的就是本站。它同时是 **H5 应用宫格**入口(30+ 第三方应用的门面)。
微信小程序里的**首页 H5**:小程序首页壳(`crmeb/pages/index/index.vue`)用 web-view 加载本站。
⚠️ 2026-10-09 起首页地址**由 box_app 后台动态配置**(`GET /api/mp/public/home/config` → `result.url`),
不再硬编码;当前指向 `https://mp.yizhezhe.com/mama-box-preview/`(用户确认),默认/兜底仍是 `/mama-box/`。它同时是 **H5 应用宫格**入口(30+ 第三方应用的门面)。
- 纯静态站点:**无框架、无构建、无测试**,`index.html` 一个页面用 `.screen` 切换多个屏。
- 仓库 `jone/mama-box`;本地 `/home/jone/workspace/mama-box`;生产 `/opt/app/mama-box`(nginx alias 托管,非 box_app 挂载)。
@@ -104,6 +105,17 @@ nginx:`root /opt/app` + `Cache-Control: no-cache` + `etag on` —— 缓存靠
- 历史:2026-10-09 一次补了 `chengzhang-dangan`、`muying-xiaoxiao`、`yinger-fang`、`doudou-duihuan` 四个(备份 `default.conf.bak.4proxy-20261009222036`),
首页这 4 个入口同日改为相对路径(v26100906)。例外:微信 JS SDK `res.wx.qq.com` 是官方脚本,不在此列。
14. **任何 H5 应用「返回首页」一律调 `wxAuth.goHome()`,禁止写死首页地址**(2026-10-09 用户定)
- 原因:首页地址是后台动态配置的(见第 1 节),写死 `https://mp.yizhezhe.com/mama-box/` 会把用户送回旧首页。
`goHome()`(`js/wx-auth.js` ⑦)先拉 `/api/mp/public/home/config` 再跳,自动续接 openid/unionid;1.5s 超时或接口坏 → 回退 `/mama-box/`。
- 写法:`if (window.wxAuth && typeof wxAuth.goHome === 'function') { wxAuth.goHome(); return; }`,
原来拼身份的写死地址只允许留作 **wxAuth 没加载时的兜底**。`wx-auth.js` 用绝对地址 `https://mp.yizhezhe.com/mama-box/js/wx-auth.js` 引入。
- 首页带 `return_url` 跳过去的应用(档案 / 婴儿房 / 商城)返回时回 `return_url` 即可(它就是当时的首页地址);**没带 `return_url` 时的兜底也要走 `goHome()`**,别 `history.back()`。
- 本仓库自己:首页内部不要用 `goHome()`(那是给别的应用回来用的);`wx-auth.js` 里 `DEFAULT_HOME` 是唯一允许写死首页的地方。
- 2026-10-09 普查(48 个目录):主返回写死 `/mama-box/`、已通知各自会话改的有 数胎动 taidong、孕检日历 chanjian-rili、待产清单 daichan-qingdan、
体重 yunqi-tizhong、血糖 yunqi-xuetang、数宫缩 gongsuo-pinlv;laixin、laixin/youju、yunqi-nengbuchi、shengao-tizhong 已先调 goHome(写死仅兜底)。
新接应用前照此检查:`curl -s https://mp.yizhezhe.com/<slug>/ | grep -n "mama-box/'\|goHome"`。
## 5. 踩坑
- **不要给别的应用追加 `#openid`**:部分应用自带 hash 路由(如 `/baobao-yingji`),追加 hash 会被当非法路由 → 页面未找到。身份一律走 query(`withIdentity()` 已封装)。