feat(盲盒): 价值感改造一期前端 —— 待解锁任务 / 宝宝周记 / 集齐奖励 / 下周预告 (v26100107)

- 待解锁:错过的周 + 三个工具任务(进度、去完成跳应用、解锁按钮),卡册格子 🔒
- 翻卡层加「宝宝周记」;卡册点开带周记与宝宝的话
- 卡册顶部集齐奖励:三段 + 全集,差 N 张 / 待发放 / 已发放 / 填收货信息
- 集齐庆祝弹层 + 收货信息表单(POST /blindbox/claim)
- 本周已开时显示下周卡片剪影 + 倒计时;横幅优先提示可解锁 / 离 XX 大奖还差 N 张

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-01 03:15:16 +00:00
parent ec87d36db2
commit 555012f248
3 changed files with 252 additions and 9 deletions

View File

@@ -2695,3 +2695,86 @@ a.skip:focus{left:16px;top:16px}
.pt-card b{font-size:14px}
.pt-card p{font-size:13px;line-height:1.6;margin-top:6px}
.pt-foot{font-size:11.5px}
/* ============ 孕期盲盒 · 价值感改造(2026-10-01):下周预告 / 待解锁任务 / 集齐奖励 / 宝宝周记 ============ */
/* 下周预告:卡片剪影(同一张插画压成纯色)+ 倒计时 */
.bx-next{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border-radius:20px;background:#fff;box-shadow:var(--sh)}
.bx-next.hide{display:none}
.bx-next-img{flex:none;width:46px;height:58px;border-radius:10px;overflow:hidden;background:#F4E9E3;display:grid;place-items:center}
.bx-next-img img{width:100%;height:100%;object-fit:cover;filter:brightness(0) opacity(.18)}
.bx-next-img .cf-fb{font-size:24px;filter:grayscale(1) opacity(.35)}
.bx-next-t{flex:1;min-width:0}
.bx-next-t b{display:block;font-size:14px;font-weight:800}
.bx-next-t span{display:block;margin-top:3px;font-size:12px;color:var(--muted)}
.bx-next-cd{flex:none;text-align:center;padding:6px 10px;border-radius:14px;background:#FFF0EA}
.bx-next-cd b{display:block;font-size:20px;line-height:1.1;font-weight:900;color:var(--brand);font-variant-numeric:tabular-nums}
.bx-next-cd span{font-size:10.5px;font-weight:700;color:#C4553E}
/* 待解锁 */
.bx-lock{margin-top:14px;padding:14px;border-radius:20px;background:#fff;box-shadow:var(--sh)}
.bx-lock.hide{display:none}
.bx-lock-h{display:flex;gap:10px;align-items:flex-start}
.bx-lock-ico{flex:none;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-size:17px;background:#F3EEFF}
.bx-lock-h b{font-size:14.5px;font-weight:800}
.bx-lock-h b em{font-style:normal;color:#7B61D9}
.bx-lock-h p{margin-top:2px;font-size:12px;color:var(--muted)}
.bx-chip.lk{color:#6A55B8;background:#F3EEFF}
.bx-chip.lk.on{color:#fff;background:linear-gradient(135deg,#9A85F0,#7B61D9);box-shadow:0 4px 10px rgba(123,97,217,.28)}
.bx-tasks{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.bx-tk{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 11px;border-radius:16px;background:#FAF6F3}
.bx-tk.is-ready{background:#FFF3EC;box-shadow:inset 0 0 0 1.5px #FFC9B5}
.bx-tk-i{flex:none;width:32px;height:32px;border-radius:11px;display:grid;place-items:center;font-size:16px;background:#fff}
.bx-tk-m{flex:1;min-width:0}
.bx-tk-m b{display:block;font-size:13.5px;font-weight:800}
.bx-tk-m>span{display:block;margin-top:2px;font-size:11.5px;color:var(--muted)}
.bx-tk-pr{display:flex;align-items:center;gap:6px;margin-top:5px}
.bx-tk-p{flex:1;max-width:110px;height:5px;border-radius:3px;background:#EEE3DC;overflow:hidden}
.bx-tk-p s{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#FFB08F,#F4593C)}
.bx-tk-pr em{font-style:normal;font-size:11px;font-weight:700;color:#C4553E}
.bx-tk-b{flex:none;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;color:#C4553E;background:#fff;box-shadow:inset 0 0 0 1.2px #FFC9B5}
.bx-tk-b.go{color:#fff;background:linear-gradient(135deg,#FF7A5C,#F4593C);box-shadow:0 4px 10px rgba(244,89,60,.28)}
.bx-tk-b.done{color:#B9A296;background:none;box-shadow:none}
.bx-tk-b:disabled{opacity:.6}
/* 卡册里的待解锁格子 */
.bx-t.lockd{background:#F6F2FF;border:1.5px dashed #CFC2F5}
.bx-t.lockd .li{font-size:17px;line-height:1}
.bx-t.lockd .wk{color:#7B61D9;background:none}
/* 集齐奖励 */
.bx-goal{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bx-goal:empty{display:none}
.bx-gl{padding:10px 11px;border-radius:14px;background:#FAF6F3}
.bx-gl.all{grid-column:1/-1;background:linear-gradient(135deg,#FFF6E2,#FFEBD9)}
.bx-gl.got{background:#FFF3EC}
.bx-gl-h{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px}
.bx-gl-h b{font-size:13px;font-weight:800}
.bx-gl-h em{font-style:normal;font-size:11.5px;font-weight:700;color:#C98A1E}
.bx-gl-l,.bx-gl-s{margin-left:auto;font-size:11.5px;color:var(--muted);white-space:nowrap}
.bx-gl-l b{color:var(--brand);font-size:13px}
.bx-gl-s{font-weight:800;color:#E07B2E}
.bx-gl-s.sent{color:#3EA27A}
.bx-gl-s.off{font-weight:600;color:#B9A296}
.bx-gl-b{margin-left:auto;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#FF7A5C,#F4593C)}
.bx-gl-bar{display:block;margin-top:7px;height:5px;border-radius:3px;background:rgba(0,0,0,.06);overflow:hidden}
.bx-gl-bar s{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#FFD36E,#F4593C);transition:width .6s var(--ease)}
/* 翻卡层里的宝宝周记 */
.bx-diary{width:100%;max-width:300px;margin-top:12px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.14);text-align:left;
opacity:0;transform:translateY(16px);transition:all .45s}
.bx-diary:empty{display:none}
.bx-reveal.is-done .bx-diary{opacity:1;transform:none;transition-delay:.22s}
.bx-dy-h{font-size:12px;font-weight:800;color:#FFE3A6;margin-bottom:4px}
.bx-diary p{font-size:13.5px;line-height:1.7;color:#fff;font-family:var(--font-kid)}
/* 集齐庆祝弹层 + 收货表单 */
.bx-prize{text-align:center}
.bx-prize-ico{font-size:46px;line-height:1;margin:6px 0 8px}
.bx-prize h3{font-size:18px;font-weight:900}
.bx-prize p{margin:8px 4px 4px;font-size:14px;line-height:1.7;color:var(--ink-2)}
.bx-addr-tip{margin:-2px 0 12px;font-size:13px;line-height:1.6;color:var(--ink-2)}
/* 集齐奖励:三段一排(每格窄,名称 / 奖励 / 状态竖排),全集独占一行横排 */
.bx-goal{grid-template-columns:repeat(3,1fr);gap:7px}
.bx-gl:not(.all) .bx-gl-h{flex-direction:column;align-items:flex-start;gap:2px}
.bx-gl:not(.all) .bx-gl-l,.bx-gl:not(.all) .bx-gl-s,.bx-gl:not(.all) .bx-gl-b{margin-left:0}
.bx-gl:not(.all){padding:9px 10px}