v26110805 首页孕期假数据与加载性能修复——接口未返回/失败时不再按默认预产期显示假孕周(显示正在加载/点击重试);去掉演示名小汤圆/小满妈妈,空昵称小名不提交,孕期未加载时禁止保存;预产期范围校验(今天-14天~+280天,仅改动时校验);「已连续记录42天」写死值改为「和宝宝一起走过N天」,去掉我的页设计稿占位;/profile+/pregnancy 改为脚本解析时预取(原来等 window load 约10秒后才发),birth-flow 复用、ugc 的 /config 合并;首页广场图改用缩略图(首页图片约4MB→1.9MB)。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,12 @@
|
||||
if (!sec || !Array.isArray(T) || !T.length) return;
|
||||
function init() {
|
||||
var esc = function (s) { return String(s == null ? '' : s).replace(/[&<>"]/g, function (c) { return { '&': '&', '<': '<', '>': '>', '"': '"' }[c]; }); };
|
||||
/* 11-08 首页只显示小图:原图 720×960、70~160KB,首页一屏就拉了 2MB+。改用 guangchang/img/{s,m}/ 同名缩略图
|
||||
(s 宽 200,m 宽 540;生成命令见 guangchang/img/SOURCES.txt)。缩略图缺了(新加的图还没生成)onerror 退回原图 */
|
||||
var thumb = function (src, sz) {
|
||||
var m = /^guangchang\/img\/([0-9a-f]{12})\.jpg$/.exec(src || '');
|
||||
return m ? 'src="guangchang/img/' + sz + '/' + m[1] + '.jpg" onerror="this.onerror=null;this.src=\'' + src + '\'"' : 'src="' + esc(src) + '"';
|
||||
};
|
||||
var kfmt = function (n) { return n >= 10000 ? (n / 10000).toFixed(1).replace(/\.0$/, '') + '万' : n >= 1000 ? (n / 1000).toFixed(1).replace(/\.0$/, '') + 'k' : String(n); };
|
||||
var ava = function (n) { return /:|^\//.test(n) && window.MB_AVA ? MB_AVA.src(n, '') : 'assets/img/mom/' + n + '.jpg'; }; /* 11-05 支持分配表编码 */
|
||||
var reduce = window.matchMedia && matchMedia('(prefers-reduced-motion: reduce)').matches;
|
||||
@@ -61,7 +67,7 @@
|
||||
function storyCard(n) {
|
||||
var tp = TOP[n.t] || {}, cat = tp.cat || 'family';
|
||||
return '<div class="g4-card st c-' + cat + '" data-t="' + esc(n.t) + '" data-n="' + esc(n.id) + '" role="button" tabindex="0">' +
|
||||
'<img class="g4-ph" src="' + esc(n.photo) + '" alt="" loading="lazy" decoding="async" draggable="false">' +
|
||||
'<img class="g4-ph" ' + thumb(n.photo, 'm') + ' alt="" loading="lazy" decoding="async" draggable="false">' +
|
||||
'<span class="g4-k">' + CAT_CN[cat] + '</span>' +
|
||||
'<span class="g4-bot"><b class="g4-tt">' + esc(n.title) + '</b>' +
|
||||
'<span class="g4-by"><img src="' + ava(n.av) + '" alt="" loading="lazy" draggable="false"><em>' + esc(n.author) + '</em><i>' + esc(n.stage) + '</i>' +
|
||||
|
||||
10
js/gch/v6.js
10
js/gch/v6.js
@@ -8,12 +8,18 @@
|
||||
if (!sec) return;
|
||||
var l = document.createElement('link'); l.rel = 'stylesheet'; l.href = 'js/gch/v4.css?v=26110464';
|
||||
document.head.appendChild(l);
|
||||
var s = document.createElement('script'); s.src = 'js/gch/v4.js?v=26110464';
|
||||
var s = document.createElement('script'); s.src = 'js/gch/v4.js?v=26110805';
|
||||
s.onload = function () { if (sec.querySelector('.g4-foot')) merge(); else sec.addEventListener('gc4-ready', merge, { once: true }); }; /* v4 要先拉 feed.js 才渲染 */
|
||||
document.body.appendChild(s);
|
||||
|
||||
var FIRE = '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12.6 2.5c.4 3-1.6 4.6-3 6.2C8 10.4 7 12 7 14.3A5 5 0 0012 19.5a5 5 0 005-5.2c0-2-1-3.6-1.9-4.6-.2 1.3-.9 2.2-1.9 2.6.6-3.4-.2-7-.6-9.8z" fill="currentColor"/><path d="M12 19.5a2.6 2.6 0 01-2.6-2.6c0-1.6 1.3-2.5 2-3.6.3 1 .9 1.6 1.6 1.9.9.4 1.6 1.2 1.6 2.1A2.6 2.6 0 0112 19.5z" fill="#FFD36B"/></svg>';
|
||||
var FIRE_W = '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12.6 2.5c.4 3-1.6 4.6-3 6.2C8 10.4 7 12 7 14.3A5 5 0 0012 19.5a5 5 0 005-5.2c0-2-1-3.6-1.9-4.6-.2 1.3-.9 2.2-1.9 2.6.6-3.4-.2-7-.6-9.8z" fill="#FFE07A"/></svg>';
|
||||
/* 11-08 首页只显示小图:原图 720×960、70~160KB,首页一屏就拉了 2MB+。改用 guangchang/img/{s,m}/ 同名缩略图
|
||||
(s 宽 200,m 宽 540;生成命令见 guangchang/img/SOURCES.txt)。缩略图缺了(新加的图还没生成)onerror 退回原图 */
|
||||
function thumb(src, sz) {
|
||||
var m = /^guangchang\/img\/([0-9a-f]{12})\.jpg$/.exec(src || '');
|
||||
return m ? 'src="guangchang/img/' + sz + '/' + m[1] + '.jpg" onerror="this.onerror=null;this.src=\'' + src + '\'"' : 'src="' + esc(src) + '"';
|
||||
}
|
||||
function esc(t) { return String(t == null ? '' : t).replace(/[&<>"]/g, function (c) { return { '&': '&', '<': '<', '>': '>', '"': '"' }[c]; }); }
|
||||
|
||||
function merge() {
|
||||
@@ -99,7 +105,7 @@
|
||||
var q = new URLSearchParams(location.search); q.set('n', x.id);
|
||||
return '<a class="ms-it ripple g6-nt" href="' + esc('guangchang/?' + q.toString() + location.hash) + '"><i class="ms-no">' + (i + 1) + '</i>' +
|
||||
'<span class="ms-m"><span class="ms-q">' + esc(x.title) + '</span>' + heat + '</span>' +
|
||||
(x.photo ? '<img class="g6-ph" src="' + esc(x.photo) + '" alt="" loading="lazy">' : '<i class="ms-go">›</i>') + '</a>';
|
||||
(x.photo ? '<img class="g6-ph" ' + thumb(x.photo, 's') + ' alt="" loading="lazy">' : '<i class="ms-go">›</i>') + '</a>';
|
||||
}).join('');
|
||||
all.textContent = '去广场看更多 ›';
|
||||
all.classList.remove('hide');
|
||||
|
||||
Reference in New Issue
Block a user