「我的」昵称与其他应用统一 (v26102502):脱敏手机号当空值,已授权没昵称显示「宝宝小名+妈妈 / 准妈妈」

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
deploy
2026-10-25 01:17:04 +00:00
parent 9125db295f
commit dcc8dc3b30
2 changed files with 9 additions and 6 deletions

View File

@@ -7,7 +7,7 @@
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<title>兜爸心选 · 孕育陪伴</title>
<!-- V:26102501 缓存版本标记:改 css/js 时同步 bump 该值(与 js/app.js 的 VER 同源),静态资源按 mtime 走 ETag 自动刷新 -->
<!-- V:26102502 缓存版本标记:改 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=26102501"></script>
<script src="js/birth-flow.js?v=26102502"></script>
<!-- 禁止下拉回弹(2026-10-11 统一规则,与孕期体重同一段):竖向拖动时从手指下往上找还能朝该方向滚的容器,找不到才拦;横滑、双指、可滚列表不受影响 -->
<script>

View File

@@ -3,7 +3,7 @@
(function () {
'use strict';
/* 页面版本号(YYMMDD+序号):显示在「关于兜爸心选」页底部;bump 时同步 head 注释与 ?v= */
var VER = '26102501';
var VER = '26102502';
const $ = (s, c) => (c || document).querySelector(s);
const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
@@ -3559,14 +3559,17 @@
/* 服务端是唯一事实源:新用户 babyName 为空也要覆盖内置演示名(小汤圆),
让全站称呼走 babyWord 的「宝宝」兜底 */
state.babyName = p.babyName || '';
state.userName = p.userName || '';
/* 2026-10-25 用户定:昵称和其他应用统一 —— 脱敏手机号(含 ****)当空值,不显示也不预填进编辑资料 */
var _un = (p.userName && p.userName.indexOf('****') < 0) ? p.userName : '';
state.userName = _un;
if (p.babySex && p.babySex !== 'unknown') state.babySex = p.babySex;
if (p.dueDate) { const d = parseDay(p.dueDate); if (d) state.due = d; }
/* 状态化「我的」页:未授权→占位+显示授权入口;已授权→资料+隐藏授权入口;已建档(B→C)由孕期信息卡引导 */
var _authorized = !!p.authorized || !!p.isAuthorized;
state.authorized = _authorized;
/* 方案A:显示看 authorized 而不是 userName —— 后端退出只置 authorized=false,昵称/头像仍在库里 */
var _n = $('#meName'); if (_n) _n.textContent = (_authorized && p.userName) || '未登录';
/* 已授权但没有可用昵称:别写「未登录」,和育儿首页一样按小名叫「兜兜妈妈」,没小名叫「准妈妈」 */
var _n = $('#meName'); if (_n) _n.textContent = _authorized ? (_un || (state.babyName ? state.babyName + '妈妈' : (state.postpartum ? '宝宝妈妈' : '准妈妈'))) : '未登录';
/* 2026-10-25:和其他应用同一套取值(见 /yunyu/ js/app.js 头像取值注释)——
商城默认头像(shop.douba.top/uploads/system/…)当空值,退到头像库 avatarPicker.defaultFor(openid),
否则「我的」显示商城灰头像、别的应用显示头像库图,同一个人两处不一样 */
@@ -3581,7 +3584,7 @@
var _box = $('#meAuthBox'); if (_box) _box.style.display = _authorized ? 'none' : '';
var _sv = $('#meSaved'); if (_sv) _sv.style.display = _authorized ? 'none' : '';
['#meLogoutCard', '#pfLogout'].forEach(function (sel) { var _lx = $(sel); if (_lx) _lx.style.display = _authorized ? '' : 'none'; });
if (!p.userName || !_authorized) {
if (!_authorized) { /* 昵称为空不再连带清头像:头像已有头像库兜底 */
var _ai2 = $('#meAvatarImg'), _aw2 = $('#meAvatar');
if (_ai2) _ai2.removeAttribute('src');
if (_aw2) _aw2.classList.remove('has-img');