孕期首页测试修复 (v26102201):档案入口 v10、隐私页去假开关、资料保存等接口成功再提示、头像上传失败提示、产后不显示孕 0 周、悄悄话页不被刷新关掉、出生登记小名性别保存失败可重试

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
deploy
2026-10-22 02:37:44 +00:00
parent b2ab8368e7
commit 1c32bce8bd
3 changed files with 82 additions and 61 deletions

View File

@@ -46,6 +46,7 @@
'.bf-card.born .bf-ic{background:#CFEEDC}.bf-card.born .bf-go{color:#2F8A5E;border-color:#2F8A5E}' +
'.bf-me{display:flex;align-items:center;gap:10px;width:100%;margin-top:12px;padding:14px 16px;border:0;border-radius:18px;background:#fff;text-align:left;font-size:15px;color:#2B2320;box-shadow:0 2px 10px rgba(80,40,20,.05)}' +
'.bf-me i{font-style:normal}.bf-me .bf-me-ic{flex:none;width:30px;height:30px;border-radius:10px;background:#FFE0D1;display:flex;align-items:center;justify-content:center}' +
'.bf-me.born .bf-me-ic{background:#D8EFE1}.bf-me.born .bf-me-v{color:#3A7A52}' +
'.bf-me .bf-me-t{flex:1}.bf-me .bf-me-v{font-size:12.5px;color:#9A8E86}.bf-me .bf-me-a{color:#C9BEB6}' +
'.bf-ov{position:fixed;inset:0;z-index:135;display:none;background:rgba(30,20,15,.45);font-family:inherit;color:#2B2320}' +
'.bf-ov.on{display:flex;align-items:flex-end}' +
@@ -259,7 +260,7 @@
if (d > t) { $('#bfErr').textContent = '出生日期不能晚于今天'; return; }
/* 不拿预产期卡出生日期:在分流页误选了「孕期」的育儿用户,预产期是随手填的,宝宝可能早就出生了(2026-10-21) */
var v = iso(d), btn = $('#bfSubmit');
btn.disabled = true; btn.textContent = '正在保存…';
btn.disabled = true; btn.textContent = '正在保存…'; $('#bfErr').textContent = '';
var put = function (body) {
return fetch(API + 'mama-box/profile?openid=' + encodeURIComponent(openid), {
method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body)
@@ -271,9 +272,19 @@
var extra = {};
if (name && name !== S.babyName) extra.babyName = name;
if (sex !== S.babySex) extra.babySex = sex;
return (Object.keys(extra).length ? put(extra) : Promise.resolve()).then(function () { return ok; });
/* 2026-10-22(测试会话 150e0991):第二次 PUT(小名 / 性别)原来不看结果,失败也照跳育儿首页 →
小名性别静默丢了。现在失败就停在登记页提示重试;重试会把出生日期再 PUT 一次(同值,幂等)。
出生日期本身没存上仍按原设计放行(pending,育儿首页会自动再交),但那份补交不含小名性别,所以这里必须拦。 */
if (!Object.keys(extra).length) return ok;
return put(extra).then(function (r2) {
if (r2 && r2.code === 200) return ok;
btn.disabled = false; btn.textContent = '重试保存';
$('#bfErr').textContent = (r2 && r2.message ? r2.message + ',' : '') + '宝宝小名和性别没保存上,请重试';
return null;
});
});
done.then(function (ok) {
if (ok === null) return; /* 小名 / 性别保存失败,已提示,留在登记页 */
if (!openid && !DEMO) { btn.disabled = false; btn.textContent = '完成,切换到育儿模式'; $('#bfErr').textContent = '没有拿到你的身份信息,请从小程序里重新打开再试'; return; }
/* 本机记下阶段:分流页下次直接送育儿首页;没存上服务器时 pending=true,育儿首页会自动再交 */
if (!DEMO) try {
@@ -344,8 +355,10 @@
var pc = $('#screen-me .preg-card'), me = $('#bfMe');
if (me) me.remove();
if (pc && !S.postpartum) pc.insertAdjacentHTML('afterend',
'<button class="bf-me ripple" id="bfMe" data-bf-open="reg"><span class="bf-me-ic">' + BABY('#F4593C', 18) + '</span><span class="bf-me-t">宝宝出生了?</span><span class="bf-me-v">切换到育儿模式</span><i class="bf-me-a">›</i></button>');
/* 2026-10-22(测试会话 150e0991):产后用户「我的」里原来什么入口都没有 → 换成「宝宝已出生 · 去育儿首页」,走同一个 goBaby() */
if (pc) pc.insertAdjacentHTML('afterend', S.postpartum
? '<button class="bf-me born ripple" id="bfMe" data-bf-open="baby"><span class="bf-me-ic">' + BABY('#2F8A5E', 18) + '</span><span class="bf-me-t">宝宝已出生</span><span class="bf-me-v">去育儿首页</span><i class="bf-me-a">›</i></button>'
: '<button class="bf-me ripple" id="bfMe" data-bf-open="reg"><span class="bf-me-ic">' + BABY('#F4593C', 18) + '</span><span class="bf-me-t">宝宝出生了?</span><span class="bf-me-v">切换到育儿模式</span><i class="bf-me-a">›</i></button>');
}
function maybeAsk() {