悄悄话置顶笔记:点开为笔记详情 + 留言区(先审后发)+ 100 条模拟祝福评论;去星空看看 → 首页星空页
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -68,7 +68,7 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
.qf:active{transform:scale(.985)}
|
||||
/* 11-07 置顶笔记「孕妈悄悄话」(用户:首页不放,在广场内容里发一条置顶笔记,点了进星空页):
|
||||
右列第一张,样子是一张笔记卡 —— 封面换成夜空(星星一闪一闪 + 偶尔一道流星)+ 本周话题大字 + 一句轮播的悄悄话 */
|
||||
.nc.pin .pcv{position:relative;height:calc(var(--cw, 175px) * 1.25);overflow:hidden;color:#fff;
|
||||
.nc.pin .pcv,.dcv .pcv{position:relative;height:calc(var(--cw, 175px) * 1.25);overflow:hidden;color:#fff;
|
||||
background:radial-gradient(120% 70% at 85% 0%,#5A3B72 0%,transparent 60%),radial-gradient(90% 60% at 0% 100%,#4A2C55 0%,transparent 70%),linear-gradient(180deg,#191634 0%,#241D44 55%,#2F2148 100%)}
|
||||
.pcv .psk{position:absolute;inset:0;pointer-events:none}
|
||||
.pcv .psk i{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;opacity:.85;filter:drop-shadow(0 0 2px rgba(255,255,255,.7));
|
||||
@@ -89,6 +89,16 @@ button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:poin
|
||||
.pcv .pq.out{opacity:0;transform:translateY(5px)}
|
||||
.nb .ntg.k-whs{background:#F0EBFA;color:#7A5BB8}
|
||||
.nc.pin .nf .pav{flex:none;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#3E2F5E,#6B4AA8);color:#FFE2B8;font-size:10px;font-style:normal}
|
||||
/* 置顶笔记详情页:夜空封面 + 「去星空看看」;不要点赞/收藏/关注(这篇是官方置顶,不是某个妈妈的帖子) */
|
||||
.dcv .pcv{height:min(78vw,340px)}
|
||||
.dcv .pcv .pbig{bottom:auto;top:30%}
|
||||
.dcv .pcv .pbig small{font-size:12px}
|
||||
.dcv .pcv .pbig b{font-size:28px}
|
||||
.dcv .pcv .pq{bottom:64px;font-size:13px}
|
||||
.dcv .pcv .ptop{left:14px;top:14px}
|
||||
.pstar{position:absolute;left:14px;bottom:16px;z-index:2;display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 16px;border:0;border-radius:99px;font:inherit;font-size:14px;font-weight:800;color:#4A2E1E;background:linear-gradient(120deg,#FFE2B8,#FFB98F);box-shadow:0 6px 16px -6px rgba(255,185,143,.8)}
|
||||
.pstar:active{transform:scale(.97)}
|
||||
#dt.is-pin #blk,#dt.is-pin #bfv,#dt.is-pin #dfo{display:none}
|
||||
.nc.pin .nf .pgo{margin-left:auto;flex:none;font-size:11px;font-weight:800;color:#7A5BB8}
|
||||
.qf-st{position:absolute;inset:0;pointer-events:none;opacity:.9;
|
||||
background-image:radial-gradient(1.4px 1.4px at 12% 20%,#fff,transparent),radial-gradient(1px 1px at 28% 70%,#fff,transparent),radial-gradient(1.2px 1.2px at 46% 14%,#FFE9B0,transparent),
|
||||
@@ -1030,7 +1040,7 @@ html.night .gtg button.on{background:#F2725B;border-color:#F2725B;color:#fff}
|
||||
var CMD = null, CMERR = false;
|
||||
/* 头像编码:数字 = av/NNNN.webp(旧代码头像);'av:c012' = av/c012.webp(卡通/可爱卡通);'/…' = 站内绝对路径(内置头像库 /_bridge/avatars/);其余 = assets/img/mom/xxx.jpg */
|
||||
var avP = function (a) { return typeof a === 'number' ? 'av/' + ('000' + a).slice(-4) + '.webp' : a.indexOf('av:') === 0 ? 'av/' + a.slice(3) + '.webp' : a.charAt(0) === '/' ? a : '../assets/img/mom/' + a + '.jpg'; };
|
||||
fetch('cm.json?v=26110487').then(function (r) { return r.json(); }).then(function (j) {
|
||||
fetch('cm.json?v=26110611').then(function (r) { return r.json(); }).then(function (j) {
|
||||
CMD = j; if (openId && NBY[openId]) { renderComments(NBY[openId]); syncBar(NBY[openId]); }
|
||||
}).catch(function () { CMERR = true; if (openId && NBY[openId]) renderComments(NBY[openId]); });
|
||||
function commentsOf(n) {
|
||||
@@ -1203,28 +1213,38 @@ html.night .gtg button.on{background:#F2725B;border-color:#F2725B;color:#fff}
|
||||
var PIN_WK = (function () { try { var g = JSON.parse(localStorage.getItem('mmbox.gcwk.v1') || 'null'); return g && !g.pp && g.w ? +g.w : 0; } catch (e) { return 0; } })();
|
||||
var PIN_ON = PIN_WK >= 4 && !(window.mbGate && window.mbGate.out);
|
||||
var WHD = null, whRi = 0, whT = null;
|
||||
/* 置顶笔记本身:按每周话题一篇(id = wh-话题起始日),留言走广场评论那套(先审后发,后台「评论审核」页签);
|
||||
模拟祝福评论在 cm.json 的 c['wh-20260928'](100 条,tools/whcm/,AGENTS.md 12c 扩展) */
|
||||
var PIN_TH = window.MB_WH_THEME ? window.MB_WH_THEME() : null;
|
||||
var PIN_ID = 'wh-' + (PIN_TH ? PIN_TH.from.replace(/-/g, '') : '0');
|
||||
var PIN = NBY[PIN_ID] = { id: PIN_ID, pin: 1, title: '孕妈悄悄话 · ' + (PIN_TH ? PIN_TH.name : ''), author: '孕妈悄悄话', stage: '', likes: 0 };
|
||||
function pinCoverHTML(th, l, sky, big) {
|
||||
return '<div class="pcv"><span class="psk" aria-hidden="true">' + sky + '<b class="pmt"></b><b class="pmt m2"></b></span><i class="ptop">置顶</i>' +
|
||||
'<div class="pbig"><small>' + (th ? '本周话题' : '孕妈悄悄话') + '</small><b>' + (th ? (th.lines || [th.name]).map(esc).join('<br>') : '说给宝宝听的悄悄话') + '</b></div>' +
|
||||
'<p class="pq" id="' + (big ? 'pinRl2' : 'pinRl') + '">' + (l.length ? '“' + esc(l[0].text) + '”' : '点一颗星星,听听她们说了什么') + '</p>' +
|
||||
(big ? '<button type="button" class="pstar" data-star="1">去星空看看<svg class="ic" style="width:14px;height:14px"><use href="#i-right"/></svg></button>' : '') + '</div>';
|
||||
}
|
||||
function pinHTML() {
|
||||
var th = (WHD && WHD.theme && WHD.theme.name) ? WHD.theme : (window.MB_WH_THEME ? window.MB_WH_THEME() : null);
|
||||
var l = WHD ? (WHD.list || []).filter(function (x) { return !x.mine; }) : [];
|
||||
var sky = [[14,14,0,-1.2,2.4],[38,8,0,-.3,2],[62,20,1,-2.4,2.8],[86,12,0,-3.1,2.2],[24,34,1,-3.7,2.6],[50,40,0,-1.6,3.2],[80,32,0,-2.2,2.6],[10,52,0,-.8,3],[70,50,1,-1.9,2.4],[90,58,0,-2.8,3]]
|
||||
.map(function (k) { return '<i' + (k[2] ? ' class="b"' : '') + ' style="left:' + k[0] + '%;top:' + k[1] + '%;animation-delay:' + k[3] + 's;animation-duration:' + k[4] + 's"></i>'; }).join('');
|
||||
return '<button type="button" class="nc pin" id="whPin" aria-label="置顶:孕妈悄悄话' + (th ? ',本周话题' + esc(th.name) : '') + '"><div class="cvw"><div class="pcv">' +
|
||||
'<span class="psk" aria-hidden="true">' + sky + '<b class="pmt"></b><b class="pmt m2"></b></span><i class="ptop">置顶</i>' +
|
||||
'<div class="pbig"><small>' + (th ? '本周话题' : '孕妈悄悄话') + '</small><b>' + (th ? (th.lines || [th.name]).map(esc).join('<br>') : '说给宝宝听的悄悄话') + '</b></div>' +
|
||||
'<p class="pq" id="pinRl">' + (l.length ? '“' + esc(l[0].text) + '”' : '点一颗星星,听听她们说了什么') + '</p></div></div>' +
|
||||
var sky = pinSky();
|
||||
return '<button type="button" class="nc pin" id="whPin" data-id="' + PIN_ID + '" aria-label="置顶:孕妈悄悄话' + (th ? ',本周话题' + esc(th.name) : '') + '"><div class="cvw">' + pinCoverHTML(th, l, sky) + '</div>' +
|
||||
'<div class="nb"><h3>每一颗星星,都是一位孕妈的一句话</h3><span class="ntg k-whs">#孕妈悄悄话</span>' +
|
||||
'<div class="nf"><i class="pav" aria-hidden="true"><svg viewBox="0 0 20 20" width="10" height="10"><path d="M10 .5C10.9 7.4 12.6 9.1 19.5 10 12.6 10.9 10.9 12.6 10 19.5 9.1 12.6 7.4 10.9.5 10 7.4 9.1 9.1 7.4 10 .5Z" fill="currentColor"/></svg></i><span class="nm">' + PIN_WK + '周孕妈悄悄话</span><span class="pgo">去看看 ›</span></div></div></button>';
|
||||
}
|
||||
var PIN_SKY = [[14,14,0,-1.2,2.4],[38,8,0,-.3,2],[62,20,1,-2.4,2.8],[86,12,0,-3.1,2.2],[24,34,1,-3.7,2.6],[50,40,0,-1.6,3.2],[80,32,0,-2.2,2.6],[10,52,0,-.8,3],[70,50,1,-1.9,2.4],[90,58,0,-2.8,3]];
|
||||
function pinSky() { return PIN_SKY.map(function (k) { return '<i' + (k[2] ? ' class="b"' : '') + ' style="left:' + k[0] + '%;top:' + k[1] + '%;animation-delay:' + k[3] + 's;animation-duration:' + k[4] + 's"></i>'; }).join(''); }
|
||||
function whRoll() {
|
||||
clearInterval(whT); whRi = 0;
|
||||
var el = document.getElementById('pinRl'), l = WHD ? (WHD.list || []).filter(function (x) { return !x.mine; }) : [];
|
||||
if (!el || !l.length) return;
|
||||
el.textContent = '“' + l[0].text + '”';
|
||||
var els = ['pinRl', 'pinRl2'].map(function (x) { return document.getElementById(x); }).filter(Boolean), l = WHD ? (WHD.list || []).filter(function (x) { return !x.mine; }) : [];
|
||||
if (!els.length || !l.length) return;
|
||||
els.forEach(function (el) { el.textContent = '“' + l[0].text + '”'; });
|
||||
if (l.length < 2) return;
|
||||
whT = setInterval(function () {
|
||||
var e2 = document.getElementById('pinRl'); if (!e2) { clearInterval(whT); return; } if (document.hidden) return;
|
||||
whRi = (whRi + 1) % l.length; e2.classList.add('out');
|
||||
setTimeout(function () { e2.textContent = '“' + l[whRi].text + '”'; e2.classList.remove('out'); }, 260);
|
||||
var es = ['pinRl', 'pinRl2'].map(function (x) { return document.getElementById(x); }).filter(Boolean);
|
||||
if (!es.length) { clearInterval(whT); return; } if (document.hidden) return;
|
||||
whRi = (whRi + 1) % l.length; es.forEach(function (e2) { e2.classList.add('out'); });
|
||||
setTimeout(function () { es.forEach(function (e2) { e2.textContent = '“' + l[whRi].text + '”'; e2.classList.remove('out'); }); }, 260);
|
||||
}, 4000);
|
||||
}
|
||||
if (PIN_ON) fetch('/api/mp/public/mama-box/whisper?openid=' + encodeURIComponent(OPENID || '') + '&week=' + PIN_WK)
|
||||
@@ -1948,7 +1968,6 @@ html.night .gtg button.on{background:#F2725B;border-color:#F2725B;color:#fff}
|
||||
}, true);
|
||||
$('#wf').addEventListener('click', function (e) {
|
||||
if (e.target.closest('[data-mine]')) { haptic(); location.href = mineURL(); return; }
|
||||
if (e.target.closest('#whPin')) { haptic(); var q = new URLSearchParams(location.search); ['t', 'n', 'c'].forEach(function (k) { q.delete(k); }); q.set('wh', '1'); location.href = '../?' + q + location.hash; return; }
|
||||
if (e.target.closest('[data-fav]')) { haptic(); openFav(false); return; }
|
||||
var ts = e.target.closest('[data-test]');
|
||||
if (ts) { haptic(); location.href = ceshiURL(ts.dataset.test, catF === 'ceshi'); return; }
|
||||
@@ -2007,6 +2026,8 @@ html.night .gtg button.on{background:#F2725B;border-color:#F2725B;color:#fff}
|
||||
}
|
||||
function openNote(id, push) {
|
||||
var n = NBY[id]; if (!n) return;
|
||||
if (n.pin) return openPin(n, push);
|
||||
$('#dt').classList.remove('is-pin');
|
||||
var t = TBY[n.t];
|
||||
openId = id;
|
||||
$('#dav').src = avOf(n);
|
||||
@@ -2032,6 +2053,31 @@ html.night .gtg button.on{background:#F2725B;border-color:#F2725B;color:#fff}
|
||||
if (push) { history.pushState({ gcNote: id }, '', setQuery(cur, id)); pushed = true; }
|
||||
else history.replaceState(history.state, '', setQuery(cur, id));
|
||||
}
|
||||
/* 11-07 置顶笔记「孕妈悄悄话」详情:夜空封面(点「去星空看看」进首页星空页)+ 说明 + 留言区(同普通笔记,先审后发) */
|
||||
var PIN_PH = '对宝宝说一句悄悄话…';
|
||||
function openPin(n, push) {
|
||||
openId = n.id;
|
||||
var th = PIN_TH, l = WHD ? (WHD.list || []).filter(function (x) { return !x.mine; }) : [];
|
||||
$('#dt').classList.add('is-pin');
|
||||
$('#dav').src = 'data:image/svg+xml,' + encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><linearGradient id="g" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#3E2F5E"/><stop offset="1" stop-color="#6B4AA8"/></linearGradient></defs><circle cx="20" cy="20" r="20" fill="url(#g)"/><path transform="translate(10 10)" d="M10 .5C10.9 7.4 12.6 9.1 19.5 10 12.6 10.9 10.9 12.6 10 19.5 9.1 12.6 7.4 10.9.5 10 7.4 9.1 9.1 7.4 10 .5Z" fill="#FFE2B8"/></svg>');
|
||||
$('#dnm').textContent = '孕妈悄悄话';
|
||||
$('#dst').textContent = th ? '本周话题 · ' + th.name : '';
|
||||
$('#dsc').innerHTML = '<div class="dcv">' + pinCoverHTML(th, l, pinSky(), true) + '</div>' +
|
||||
'<div class="dbody"><h2>每一颗星星,都是一位孕妈的一句话</h2><div class="tx">' +
|
||||
'<p>这周的话题是「' + esc(th ? th.name : '说给宝宝听的悄悄话') + '」。' + esc(th && th.tip ? th.tip + '。' : '') + '</p>' +
|
||||
'<p>在下面留言区写一句,审核通过后大家都能看到。点赞多的悄悄话会挂上星空,变成一颗星星,同孕周的妈妈点一下,就能看到它像流星一样划过。</p>' +
|
||||
'<p>一天最多说 3 句,每一句都会被认真对待。</p></div>' +
|
||||
'<div class="tm">孕妈悄悄话 · 置顶</div></div>' +
|
||||
'<div class="cm" id="cmw"><div class="cm-h" id="cmh"></div>' +
|
||||
'<div class="cm-in"><span class="me">我</span><button type="button" id="cmgo">' + PIN_PH + '</button></div>' +
|
||||
'<div id="cml"></div><div class="cm-end">— 没有更多悄悄话了 —</div></div>';
|
||||
renderComments(n); syncBar(n); loadRC(n); whRoll();
|
||||
$('#cin').value = ''; $('#cin').placeholder = PIN_PH; if (CP) CP.clear(); $('#bar').classList.remove('typing'); $('#csend').disabled = true;
|
||||
$('#dsc').scrollTop = 0; $('#dnav').classList.remove('on');
|
||||
var dt = $('#dt'); dt.classList.add('show'); dt.setAttribute('aria-hidden', 'false');
|
||||
if (push) { history.pushState({ gcNote: n.id }, '', setQuery(cur, n.id)); pushed = true; }
|
||||
else history.replaceState(history.state, '', setQuery(cur, n.id));
|
||||
}
|
||||
function hideNote() {
|
||||
var dt = $('#dt'); dt.classList.remove('show'); dt.setAttribute('aria-hidden', 'true');
|
||||
$('#cin').blur();
|
||||
@@ -2073,7 +2119,8 @@ html.night .gtg button.on{background:#F2725B;border-color:#F2725B;color:#fff}
|
||||
}
|
||||
var rr = e.target.closest('[data-rk]');
|
||||
if (rr) { REPLY = { k: rr.dataset.rk, n: rr.dataset.rn }; cin.placeholder = '回复 ' + REPLY.n + ':'; cin.focus(); return; }
|
||||
if (e.target.closest('#cmgo')) { REPLY = null; cin.placeholder = '说点什么…'; $('#cin').focus(); }
|
||||
if (e.target.closest('#cmgo')) { REPLY = null; cin.placeholder = (NBY[openId] || {}).pin ? PIN_PH : '说点什么…'; $('#cin').focus(); }
|
||||
if (e.target.closest('[data-star]')) { haptic(); var q = new URLSearchParams(location.search); ['t', 'n', 'c'].forEach(function (k) { q.delete(k); }); q.set('wh', '1'); location.href = '../?' + q + location.hash; }
|
||||
});
|
||||
$('#blk').addEventListener('click', function () {
|
||||
var n = NBY[openId]; if (!n) return;
|
||||
@@ -2096,7 +2143,7 @@ html.night .gtg button.on{background:#F2725B;border-color:#F2725B;color:#fff}
|
||||
if (CP) { $('#cemo').innerHTML = MBCmPics.EMO_ICON; $('#cemo').addEventListener('mousedown', function (e) { e.preventDefault(); }); $('#cemo').addEventListener('click', function (e) { e.preventDefault(); $('#bar').classList.add('typing'); CP.toggleEmo(); }); }
|
||||
else { $('#cpic').remove(); $('#cemo').remove(); }
|
||||
cin.addEventListener('focus', function () { $('#bar').classList.add('typing'); });
|
||||
cin.addEventListener('blur', function () { setTimeout(function () { if (!canSend() && !(CP && CP.emoOpen())) { $('#bar').classList.remove('typing'); REPLY = null; cin.placeholder = '说点什么…'; } }, 120); });
|
||||
cin.addEventListener('blur', function () { setTimeout(function () { if (!canSend() && !(CP && CP.emoOpen())) { $('#bar').classList.remove('typing'); REPLY = null; cin.placeholder = (NBY[openId] || {}).pin ? PIN_PH : '说点什么…'; } }, 120); });
|
||||
cin.addEventListener('input', function () { $('#csend').disabled = !canSend(); });
|
||||
cin.addEventListener('keydown', function (e) { if (e.key === 'Enter') { e.preventDefault(); send(); } });
|
||||
$('#csend').addEventListener('click', send);
|
||||
@@ -2115,7 +2162,7 @@ html.night .gtg button.on{background:#F2725B;border-color:#F2725B;color:#fff}
|
||||
send.busy = false;
|
||||
if (!j || j.code !== 200) { $('#csend').disabled = !canSend(); toast((j && j.message) || '没发出去,稍后再试'); return; }
|
||||
var rc = RC[n.id] || (RC[n.id] = { list: [], mine: [] }); rc.mine.unshift(j.result);
|
||||
var wasReply = !!REPLY; REPLY = null; cin.placeholder = '说点什么…';
|
||||
var wasReply = !!REPLY; REPLY = null; cin.placeholder = (NBY[openId] || {}).pin ? PIN_PH : '说点什么…';
|
||||
haptic();
|
||||
cin.value = ''; if (CP) CP.clear(); $('#csend').disabled = true; cin.blur(); $('#bar').classList.remove('typing');
|
||||
if (openId === n.id) { renderComments(n); syncBar(n); }
|
||||
@@ -2464,6 +2511,7 @@ html.night .gtg button.on{background:#F2725B;border-color:#F2725B;color:#fff}
|
||||
/* 11-04 微信转发图:跟着地址走 —— ?n= 笔记(g/<id>.jpg,真实投稿用广场图)、?t= 话题(g/t-<id>.jpg)、?c=ceshi 测试列表、其余广场首页;见 js/share-card.js */
|
||||
if (window.mbShareWatch) window.mbShareWatch(function () {
|
||||
var q = new URLSearchParams(location.search), n = NBY[q.get('n')], t = TBY[q.get('t')];
|
||||
if (n && n.pin) return ['../assets/share/g/home.jpg', '孕妈悄悄话|每一颗星星,都是一位孕妈对宝宝说的一句话']; /* 11-07 置顶笔记暂用广场首页图 */
|
||||
if (n) return n.real ? ['../assets/share/g/home.jpg', n.title] : ['../assets/share/g/' + n.id + '.jpg', n.title];
|
||||
if (t) return ['../assets/share/g/t-' + t.id + '.jpg', '#' + t.name + '#'];
|
||||
if (q.get('c') === 'ceshi') return ['../assets/share/g/ceshi.jpg', '趣味小测试|30 个孕育小测试,1 分钟测出你是哪种孕妈'];
|
||||
|
||||
27
tools/whcm/build.py
Normal file
27
tools/whcm/build.py
Normal file
@@ -0,0 +1,27 @@
|
||||
"""孕妈悄悄话置顶笔记的 100 条模拟祝福评论(11-07 用户:「评论里按正常评论放上 100 个」)。
|
||||
lines.txt 一行一条,「||」后面是楼中楼回复(其他孕妈/宝妈)。人设从 cm.json 的 1000 人里挑:主评论用孕期人设、回复混宝妈;
|
||||
尽量挑在别的帖子下出现少的人。确定性(固定种子),重跑结果不变;只追加/覆盖 c[TARGET],不动其他帖子。"""
|
||||
import json, random
|
||||
from collections import Counter
|
||||
TARGET = 'wh-20260928'
|
||||
P = 'guangchang/cm.json'
|
||||
d = json.load(open(P, encoding='utf-8'))
|
||||
used = Counter(c[0] for k, L in d['c'].items() if k != TARGET for c in L)
|
||||
rnd = random.Random(20261107)
|
||||
preg = sorted([i for i, p in enumerate(d['p']) if p[2].startswith('孕')], key=lambda i: (used[i], i))
|
||||
anyp = sorted(range(len(d['p'])), key=lambda i: (used[i], i))
|
||||
mains = preg[:200]; rnd.shuffle(mains)
|
||||
reps = anyp[:300]; rnd.shuffle(reps)
|
||||
lines = [l.strip() for l in open('tools/whcm/lines.txt', encoding='utf-8') if l.strip()]
|
||||
assert len(lines) == 100, len(lines)
|
||||
out, ri = [], 0
|
||||
for k, l in enumerate(lines):
|
||||
parts = l.split('||')
|
||||
likes = max(3, int(520 * (0.965 ** k)) + rnd.randint(-18, 18))
|
||||
rr = []
|
||||
for t in parts[1:]:
|
||||
rr.append([reps[ri], t]); ri += 1
|
||||
out.append([mains[k], parts[0], likes, rr])
|
||||
d['c'][TARGET] = out
|
||||
json.dump(d, open(P, 'w', encoding='utf-8'), ensure_ascii=False, separators=(',', ':'))
|
||||
print('ok', len(out), 'replies', ri)
|
||||
100
tools/whcm/lines.txt
Normal file
100
tools/whcm/lines.txt
Normal file
@@ -0,0 +1,100 @@
|
||||
豆豆,妈妈不求你多聪明,就希望你吃饭香、睡觉沉,别像我一样失眠
|
||||
宝宝你慢慢长,不着急,妈妈的肚子还能再撑撑||这句看哭了,我也想说不着急
|
||||
今天产检医生说你头朝下了,乖得很,就这样保持住哈
|
||||
你爸天天晚上对着肚子念三字经,你要是嫌吵就踢他一下,妈妈批准了||哈哈哈我家那位念的是英语单词||我家放的是相声
|
||||
小橘子,你出来以后先别哭,让妈妈好好看你一眼
|
||||
糖糖,等你来了,妈妈带你去看外婆家门口那棵柿子树,秋天可甜了
|
||||
今天你打嗝打了二十分钟,一跳一跳的,妈妈手放上去数着,数着数着就笑了
|
||||
不管你是男孩女孩,妈妈都已经把你的小衣服洗了三遍了||洗三遍太有画面了,我也是洗完又晒又叠
|
||||
希望你以后胆子大一点,敢举手回答问题,妈妈小时候一直不敢
|
||||
宝宝,谢谢你一直很稳,妈妈前三个月吐得昏天黑地也没怪过你
|
||||
你爸为了你戒烟了,这事他坚持了五个月,出来记得夸他
|
||||
小核桃,妈妈怕疼,但为了见你,不怕了
|
||||
等你会说话了,第一句叫爸爸也行,妈妈不跟他抢||嘴上说不抢,到时候肯定偷偷教叫妈妈哈哈
|
||||
每天晚上十点你准时开始动,跟上班打卡一样,以后作息也这么规律就好了
|
||||
宝宝,妈妈的预产期在冬天,你出来记得多穿点,咱家暖气不太好
|
||||
希望你健健康康的,别的都是附加题
|
||||
今天去买了一辆小推车,你爸推着在店里转了三圈,比你还兴奋
|
||||
你外婆已经给你织了第四件毛衣了,再不出来她要织到你上小学的了||外婆的爱都在毛衣里了
|
||||
宝宝,以后想哭就哭,妈妈不会说你不坚强
|
||||
安安,名字是你爸翻了一晚上字典定的,平平安安就够了
|
||||
今天B超看到你在吃手,小拳头塞嘴里,妈妈截图存了十几张
|
||||
妈妈以前挺爱熬夜的,为了你现在十一点前就睡了,你出来可别让我前功尽弃
|
||||
想跟你说,你来的时机刚刚好,不早也不晚
|
||||
等你长大了,想学什么就学什么,学钢琴学画画还是踢球,妈妈都送你去||踢球好,我家打算报游泳
|
||||
希望你遇到喜欢的人,也被人好好喜欢
|
||||
宝宝你最近踢得有点狠,妈妈的肋骨说它想请假
|
||||
小米粒,你是妈妈去年许的愿,今年就来了
|
||||
你在肚子里听到的第一首歌是妈妈跑调唱的小星星,出来别嫌弃||跑调的小星星最好听了
|
||||
今天孕检糖耐过了!为了你妈妈喝那瓶糖水差点吐出来
|
||||
不管以后成绩怎么样,回家都有热饭吃
|
||||
宝宝,妈妈和爸爸偶尔会吵架,但我们都很爱你,也很爱彼此
|
||||
等你出生的那天,爸爸说要请全公司喝奶茶
|
||||
希望你比妈妈勇敢一点,比爸爸细心一点
|
||||
妈妈第一次感觉到你动的时候,以为是肚子饿了,后来才知道是你在打招呼||哈哈我也是,还以为是肠子在动
|
||||
宝宝,你奶奶天天问你什么时候来,比我还急
|
||||
今天下雨,妈妈在窗边坐了一下午,摸着肚子跟你聊天,好像也不孤单了
|
||||
小名我们想了一个月,最后还是叫你团子,因为B超上你圆滚滚的
|
||||
以后不想上学的时候可以跟妈妈说,妈妈也不想上班,咱俩一起赖一天
|
||||
你爸给你装了个小床,装了拆拆了装,说是螺丝方向不对
|
||||
宝宝,愿你这辈子遇到的都是好人,遇到坏人也能全身而退
|
||||
妈妈怀你之前很怕疼,抽个血都要闭眼,现在一周扎两次手指测血糖都习惯了||控糖的姐妹抱一个,我也在扎
|
||||
希望你以后有一两个能聊到半夜的好朋友
|
||||
你外公说等你出来要教你下象棋,他已经把棋盘擦得锃亮了
|
||||
宝宝,妈妈腿肿得穿不进鞋了,但想到你就觉得挺值的
|
||||
你知道吗,妈妈怀上你那天,正好是爸爸生日
|
||||
慢慢来,妈妈等你,等多久都行
|
||||
宝宝,你今天特别安静,妈妈有点慌,喝了杯冰水你就动了,下次别这么吓我||冰水法我也试过,屡试不爽
|
||||
等你学会走路了,咱们去公园喂鸽子
|
||||
你爸说你像我,我说你像他,等你出来给我们评评理
|
||||
今天给你买了第一双袜子,比妈妈的大拇指还小
|
||||
希望你饿了就吃,困了就睡,不开心了就说
|
||||
宝宝,妈妈最近总是忍不住吃辣,你出来要是爱吃辣别怪我
|
||||
你是我们家第一个小孩,全家都排着队等你
|
||||
今天爸爸隔着肚子跟你说晚安,你踢了他脸一下,他高兴了一晚上||这个画面太好笑了,我家那位也被踢过
|
||||
小葡萄,你现在应该有一个芒果那么大了吧,妈妈每周都在查
|
||||
愿你以后不用为钱发愁,但也知道钱来得不容易
|
||||
宝宝,妈妈不是完美的妈妈,但会一直学
|
||||
今天产检排了三个小时队,你在肚子里一直翻身,好像也等得不耐烦了
|
||||
等你长大了,妈妈把这段时间写的日记给你看
|
||||
你奶奶说我肚子尖,是男孩;外婆说我爱吃酸,是女孩,你自己说吧||老人们的玄学哈哈,我家也吵过
|
||||
宝宝,妈妈希望你一生都能睡个好觉
|
||||
妈妈怀你的时候换了工作,新工作的同事都特别照顾我,你出来要谢谢阿姨们
|
||||
你的小衣服都是表姐家哥哥穿过的,旧是旧了点,但都是软的
|
||||
希望你以后善良,但别太好说话
|
||||
宝宝,妈妈今天又在网上看了两个小时的待产包清单,还是觉得没买全||待产包永远买不全,我已经放弃了
|
||||
等你来了,家里的猫要让位了,它还不知道
|
||||
你在肚子里的每一天,妈妈都觉得特别神奇
|
||||
今天你外婆打电话,第一句不问我,问你乖不乖
|
||||
宝宝,以后摔倒了自己先试试爬起来,爬不起来妈妈就在旁边
|
||||
希望你喜欢看书,妈妈已经给你攒了一书架的绘本
|
||||
你爸学了换尿布,拿玩偶练了好几天,手法比我还熟
|
||||
小土豆,你是妈妈这辈子收到的最好的礼物
|
||||
宝宝,等你出生正好赶上过年,红包妈妈先帮你收着||红包妈妈帮你保管这句我熟
|
||||
妈妈晚上翻身要分三步,你出来以后妈妈要睡一个大字
|
||||
希望你永远有退路,累了就回家
|
||||
今天去拍了孕妇照,摄影师说你在肚子里很配合
|
||||
宝宝,你会有一个很爱哭的爸爸,到时候产房外面他肯定第一个哭
|
||||
妈妈想让你知道,你不需要做任何事情来证明自己值得被爱
|
||||
你外婆说你出来以后她来带,你爸说他请陪产假,我看他们要打起来
|
||||
宝宝,以后别学妈妈挑食,青菜要吃
|
||||
希望你有自己的爱好,一辈子都不觉得无聊
|
||||
今天在电梯里一个阿姨摸着我肚子说是个有福气的宝宝,妈妈信了
|
||||
小星星,你每天晚上动的时候,妈妈就当你在跟我说悄悄话
|
||||
妈妈第一次听到你心跳的时候,在医院走廊里哭了||我听到的时候也是,像小火车一样
|
||||
宝宝,世界有时候不太温柔,但家里永远是
|
||||
你爸已经开始研究哪个学区好了,我说孩子还没出来呢
|
||||
希望你出生那天是个晴天
|
||||
宝宝,等你长大了,记得常回家吃饭,不用带东西
|
||||
今天你踢到妈妈的膀胱,妈妈一晚上跑了五趟厕所
|
||||
等你会跑了,妈妈陪你放风筝,妈妈小时候一直没放起来过
|
||||
你是妈妈的软肋,也是盔甲||这句好戳
|
||||
宝宝,妈妈已经在想你第一次叫妈妈是什么声音了
|
||||
希望你以后不管多大,都有人叫你宝宝
|
||||
今天又是数胎动的一天,十二次,达标,奖励自己一个鸡腿
|
||||
宝宝,你来了以后,妈妈就是妈妈了,但也还是我自己
|
||||
等你满月,我们一家三口拍张照片,挂在客厅最中间
|
||||
你知道吗,你还没出生,就已经有这么多人爱你了
|
||||
宝宝,妈妈手机相册里一半是你的B超单,另一半是给你看的小衣服
|
||||
今天爸爸第一次摸到你踢,他愣了好几秒,然后说你劲儿真大||男人第一次摸到胎动的表情真的绝了
|
||||
希望你以后也会遇到一个像你爸爸这样,半夜起来给妈妈揉腿的人
|
||||
Reference in New Issue
Block a user