产后改回孕期 (v26103101):孕期档案保存未来预产期后,「宝宝已出生」卡立即消失、本机阶段键改回孕期、整页重载
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<title>兜爸心选 · 孕育陪伴</title>
|
||||
<!-- V:26102502 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
|
||||
<!-- V:26103101 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
|
||||
<link rel="stylesheet" href="mama-box.css">
|
||||
<link rel="stylesheet" href="night.css">
|
||||
<!-- 夜晚模式:首屏绘制前就按上次的选择加 class,避免先白后黑闪一下(开关在首页右上角 #nightBtn,逻辑见 app.js) -->
|
||||
@@ -2050,7 +2050,7 @@
|
||||
<!-- 2026-10-05 首页头图:宝宝时不时动一动小手小脚(独立文件,删掉这一行即下线) -->
|
||||
<script src="js/baby-limbs.js?v=26101201"></script>
|
||||
<script src="js/coach.js?v=26101211"></script>
|
||||
<script src="js/birth-flow.js?v=26102502"></script>
|
||||
<script src="js/birth-flow.js?v=26103101"></script>
|
||||
|
||||
<!-- 禁止下拉回弹(2026-10-11 统一规则,与孕期体重同一段):竖向拖动时从手指下往上找还能朝该方向滚的容器,找不到才拦;横滑、双指、可滚列表不受影响 -->
|
||||
<script>
|
||||
|
||||
13
js/app.js
13
js/app.js
@@ -3,7 +3,7 @@
|
||||
(function () {
|
||||
'use strict';
|
||||
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
|
||||
var VER = '26102502';
|
||||
var VER = '26103101';
|
||||
const $ = (s, c) => (c || document).querySelector(s);
|
||||
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
|
||||
|
||||
@@ -1998,7 +1998,9 @@
|
||||
};
|
||||
/* 预产期没改就不传:表单可能是几分钟前回填的,别的应用这期间改过的话会被旧值盖回去 */
|
||||
var _due = due ? toISO(due) : '';
|
||||
if (_due !== filledDue || _wasEmpty) body.dueDate = _due;
|
||||
/* 2026-10-31:登记过出生的人在这里保存孕周 = 回到孕期 → 预产期没改也要传,后台据此把账号翻回孕期 */
|
||||
var _wasPost = !!state.postpartum;
|
||||
if (_due !== filledDue || _wasEmpty || (_wasPost && _due)) body.dueDate = _due;
|
||||
if (!_unauth) body.userName = name;
|
||||
if (avatarUrl && !_unauth) body.avatar = avatarUrl;
|
||||
fetch('/api/mp/public/mama-box/profile?openid=' + encodeURIComponent(_oid), {
|
||||
@@ -2017,8 +2019,11 @@
|
||||
setBusy(false);
|
||||
if (avatarUrl && !_unauth) { syncSharedAvatar(avatarUrl); pickedAvatar = ''; }
|
||||
applyLocal(_unauth ? '' : avatarUrl);
|
||||
/* 新用户首次完善资料:重载页面 → pregnancy 出真实孕周 */
|
||||
if (_wasEmpty) setTimeout(bustReload, 700);
|
||||
/* birth-flow.js 听这个事件:回到孕期时把本机「已出生」阶段改回孕期,并重读首页卡片 */
|
||||
try { window.dispatchEvent(new CustomEvent('mmbox:profile-saved', { detail: { dueDate: body.dueDate || '', wasPostpartum: _wasPost } })); } catch (e) {}
|
||||
/* 新用户首次完善资料 / 产后改回孕期:重载页面 → pregnancy 出真实孕周(首页 hero、「宝宝已出生」卡一起换掉) */
|
||||
var _back = _wasPost && body.dueDate && body.dueDate >= toISO(new Date()); /* 预产期在未来才算回到孕期(和后台同一条规则) */
|
||||
if (_wasEmpty || _back) setTimeout(bustReload, 700);
|
||||
}).catch(function () { fail(); });
|
||||
}
|
||||
setBusy(true);
|
||||
|
||||
@@ -410,6 +410,21 @@
|
||||
mountCards(); maybeAsk();
|
||||
});
|
||||
}
|
||||
/* 2026-10-31 用户反馈:登记过出生的人在「孕期档案」保存了孕周,首页仍挂「宝宝已出生 · 去育儿首页」卡。
|
||||
后台已把账号翻回孕期;这里把本机两个阶段键也改成孕期(否则分流页 / 育儿首页读到 baby 会直接进育儿,
|
||||
育儿首页见 pending 还会把出生日期再交一次),再重读卡片。 */
|
||||
window.addEventListener('mmbox:profile-saved', function (e) {
|
||||
var d = (e && e.detail) || {};
|
||||
/* 预产期在未来才算回到孕期(和后台同一条规则);过去的日期 = 只是改了下档案,不动阶段 */
|
||||
if (DEMO || !d.dueDate || d.dueDate < iso(new Date()) || !(d.wasPostpartum || S.postpartum)) { if (!DEMO && openid) load(); return; }
|
||||
S.postpartum = false; S.birth = '';
|
||||
try {
|
||||
localStorage.setItem(ENTRY_KEY, JSON.stringify({ stage: 'preg', date: d.dueDate, name: S.babyName || '', at: Date.now() }));
|
||||
localStorage.setItem(YUNYU_KEY, JSON.stringify({ stage: 'preg', date: d.dueDate, name: S.babyName || '', pending: false }));
|
||||
} catch (x) {}
|
||||
mountCards();
|
||||
if (openid) load();
|
||||
});
|
||||
/* 回到前台重读一次(别的应用可能刚登记了出生 / 改了预产期) */
|
||||
document.addEventListener('visibilitychange', function () { if (!document.hidden && !DEMO && openid) load(); });
|
||||
|
||||
|
||||
Reference in New Issue
Block a user